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 BOM or sub-assembly. Two flavors: a Shopify-linked variant (inventory tracked in Shopify) or a virtual material (DO-side inventory only). Both kinds appear in the same component picker and are consumed identically when a BOM fires — except virtual materials never trigger a Shopify call. 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 BOMs. Define it once, include it in any BOM. At execution time, Assemblified expands the sub-assembly into its own components recursively. 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 execution log: 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:
- Bulk CSV upload — one file, a dry-run preview, then insert. Created BOMs arrive inactive.
- BOM Containers → Bulk operations — pick a template BOM and create N siblings whose recipe matches but whose finished-good variant differs (the 50-candle-scents case).
- Build BOMs via the API — for scripted migrations from an ERP or spreadsheet system of record.
-
Roll out in waves and watch.
Activate one product family at a time. After each wave, skim the execution logs for the first few real orders and spot-check a shared component’s stock. If numbers drift, Reconcile inventory is the repair tool.
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.