Migrate your catalog to BOMs
This guide walks through converting an existing Shopify catalog to BOMBill of MaterialsA bill of materials tells Assemblified how to build one unit of a finished good. When a customer orders the finished-good variant, Assemblified deducts the right component quantities from inventory automatically. Read more → -tracked inventory — without disrupting in-flight orders or losing inventory accuracy. The pattern works whether you have 5 SKUs or 5,000: the difference is only how much of it you do with bulk tooling.
The safety property the whole plan leans on: an inactive BOM does nothing. You can build and review recipes for your entire catalog while orders keep flowing exactly as before, and flip products live in waves.
-
Audit your catalog.
Split your SKUs into three buckets:
- Assembled goods — anything you build from parts. These become BOMs.
- Components — the parts. If they’re Shopify variants you also sell or purchase, they’ll be Shopify-linked raw materialsRaw materialThe atomic component of a bill of materials or an assembly bill. Two flavours: a Shopify-linked variant, whose inventory Shopify tracks, or a virtual material, which Assemblified tracks on its own and Shopify never sees. Both sit in the same component picker and are consumed the same way. Read more → ; if they’re not in Shopify (packaging, consumables, bulk stock), they become virtual materialsVirtual MaterialA material tracked entirely inside Assemblified — not a Shopify variant. Useful for shop-floor consumables (glue, packaging, labour units) where you need quantity tracking but don't want a Shopify product on your storefront. Read more → .
- Everything else — simple resale products. They don’t need BOMs; leave them alone.
While you’re at it, note shared components (the same jar in 40 candle SKUs) — getting their stock right matters more than anything else.
-
Prepare the components.
Create the virtual materials first, with correct units of measurement and opening stock (Virtual materials). Shopify-linked components don’t need preparation — they register automatically the first time a BOM references them.
-
Pilot with a small subset.
Pick 5–10 representative SKUs — ideally including one with a shared component and one with a sub-assemblySub-assemblyA reusable assembly block that composes into bigger bills: define it once, include it in any bill of materials, and Assemblified expands it into its own components at execution time. The app now calls it an assembly bill. Read more → -shaped recipe. Create their BOMs manually (Creating a BOM) and leave them inactive.
-
Validate the pilot.
Activate the pilot BOMs, then place a test order per BOM and read its run in Logs: right components, right quantities, right locations (Execution model). Cancel the test orders and confirm the reversal. If a recipe is wrong, fix it now — while it affects ten SKUs, not the catalog.
-
Build the rest in bulk.
For catalogs of similar recipes, skip the per-BOM clicking. Three options, in the order most merchants reach for them:
- Create BOMs in bulk — the builder on the Finished goods page, under More actions → Create in bulk. One grid: finished goods down the side, components across the top. It is the right tool when forty variants take the same handful of components — add the rows from a collection or a product, fill the grid, save the session, then press Create BOMs.
- Import from a spreadsheet — More actions → Import from CSV/XLSX on the same page. One row per component, a review step, then create. The right tool when the recipes already exist in a file.
- Build BOMs via the API — for scripted migrations from an ERP or spreadsheet system of record.
-
Review the recipe trees before you activate.
Open a finished good and use the Open action on its Structure card (or More actions → Open editor in the title bar) to see the whole recipe as a graph: the finished good at the top, its components below it, and every nested assembly billSub-assemblyA reusable assembly block that composes into bigger bills: define it once, include it in any bill of materials, and Assemblified expands it into its own components at execution time. The app now calls it an assembly bill. Read more → opened up to its own materials. You can also tick several rows on the list and choose Open structure in the bulk bar, which puts a whole product family on one canvas — the fastest way to spot the one recipe pointing at the wrong component before any order does. See Structure.
-
Roll out in waves and watch.
Activate one product family at a time. After each wave, skim Logs for the first few real orders and spot-check a shared component’s stock. If numbers drift, Reconcile inventory is the repair tool.
Activation only affects orders Shopify sends from now on. Orders of that family that are already open are not picked up: count the stock, activate, and then reserve those open orders straight away — Bring open orders under Assemblified after a stocktake.
Where to next
Section titled “Where to next”- Set up multi-location inventory — if your components live in more than one warehouse, configure this before the big rollout wave.
- Dynamic adjustment — once recipes are trustworthy, let buildable capacity drive the storefront’s sellable quantities.