Bad catalog data gets caught before it costs you a build.
Six checks run continuously against your live catalog — not just once at go-live — so a missing recipe or an orphaned blank turns up on a dashboard instead of on the shop floor.
Every check has a summary count and a drill-down list.
| Check | What it catches | Severity |
|---|---|---|
| No recipe | A sellable item has no BOM at all | Error |
| Empty recipe | A BOM exists but has zero lines in it | Error |
| Unused blank | An active blank isn't used in any BOM | Warning |
| Kit without components | A set/kit-named product's BOM has no finished-product lines | Error |
| Kit signal mismatch | A BOM is built from other finished products, but isn't named like a kit | Warning |
| Missing in Woo | A product removed from the storefront still has an active BOM | Warning |
A dashboard, a list, and a reverse-lookup.
Summary cards
The dedicated /catalog-health screen opens on six counts — one per check — so a manager can see at a glance whether anything needs attention, without reading a single row.
Drill down to the actual rows
Click a count and get the exact list — product, SKU, size, and a plain-English reason — filterable and searchable, so fixing it is a click away instead of a spreadsheet export.
"Where is this blank used"
Every blank variation has a reverse-lookup panel listing every BOM that consumes it — which finished products, which sizes, and how many units per build — so you know the real impact before discontinuing or running low on it.
Continuous, not a one-time audit
These checks run against live data every time the page loads — they're not a migration script you run once at go-live and forget. Catalog data drifts as products get added, discontinued, or re-BOM'd, and the checks drift right along with it.
The catalog health dashboard, in the app.
These checks are built directly on the same model everything else uses.
Building assembly-to-order on WooCommerce? We built this for you.
We're onboarding a first group of apparel brands before opening up broadly.