Catalogue

Browse and organise. Category changes stage like prices — nothing reaches WooCommerce until you push from Sync. Click a title to jump to its pricing.

Sync

Prices changed here but not yet on the site. Nothing below has touched WooCommerce — review the list, then push it in one go.

What needs a decision

Only things that crossed a threshold. Nothing here changes the live site until you approve it.

Suppliers

Help

Settings

Stored on the server. Secrets are encrypted at rest and never sent back here — a masked field means a value is set.

WooCommerce

WP admin, then WooCommerce, Settings, Advanced, REST API. Start with Read. Until the permission is Read/Write, PartWatch cannot change a price on the site.

The import is also what removes services deleted in the shop — delete a repair in WooCommerce, import here, and it disappears from the list.

Pricing model

A suggested price is the part plus a markup: a fixed amount and a share of the part's cost, set per kind of device and job. The figures were learned from the shop's own repairs since 2024, then tested on this year's jobs. Change any of them and the example prices follow as you type. All prices inc VAT.

Round prices up to the next £ under £100, £ from £100 to £299 and £ from £300.

Flag a shop price more than % away from the suggestion.

When a price holds

The verdict beside every price on the Pricing screen. Bench rate is what the repair leaves after the part, per hour it takes.

A price holds when the bench earns at least £/h and aims for £/h

After the part, at least % of the price must stay with us.

What Value and Premium mean

Our words are not the suppliers' words. No listing on earth says "Premium Screen"; they say soft OLED, hard OLED, in-cell, service pack. This is the dictionary between the two, and it is what decides which part a variant is priced from.

It also grows by itself: pinning a part with "Use this" files that title's technology words under the variant's tier. Teal means learned that way, grey means it came with the tool. This screen exists so nothing in it is a surprise.

Checks

Suppliers are checked every days

Wait s between requests to one supplier

The timer itself runs on the server; this is what PartWatch measures against, so keep the two the same. Data older than twice this counts as stale.

Alerts

Raise an alert when the part a repair is priced from moves by % or more

Delete resolved alerts after days

Open and snoozed alerts are never deleted.

Storage and safety

Keep the last checks of supplier data, about 8.5 MB each. Price history is kept for good.

Refuse an import that would remove more than % of the catalogue, and raise an alert instead.

Monitoring

Point an uptime monitor at this address. It reports a fault when the newest completed check is older than twice the schedule, or a supplier connection has failed twice running — which turns a dead timer into an email instead of a month of quietly stale prices. /healthz always answers healthy on purpose: a tool taken out of rotation is a tool you cannot open to see what is wrong.

/readyz

Maintenance

None of these touches a supplier or WooCommerce — they re-derive what is already here.

Assign parts chooses the best in-stock part for every service that has none. It runs by itself after every check; this is for right now.

Press Recalculate prices after changing the pricing model or the tier dictionary: the cost and margin figures — and the alerts — are derived from one matcher pass at the end of each check, so until it runs again a settings change has not reached them.

What the tool is holding

Read-only. The numbers worth knowing before changing a retention setting or wondering why a screen looks empty.

Removed from WooCommerce

Services the last imports found gone from the shop, and dropped here. Kept as a record — nothing on this list is monitored any more.

ServicePriceRemoved

Profile

A square crop from the middle of the picture, 256 pixels. PNG, JPEG or WebP.

Your account

Any change needs your current password. Changing the username signs you in again under the new name.

This browser

Users

Everyone here can do everything, including pushing prices; there are no roles yet. Someone who lost their password gets a one-time link from Reset password and chooses the new one themselves. Removing an account signs it out everywhere at once.

UsernameEmailLast signed inActions