Assembly BOMs
An assembly BOM is the reusable bill of materials for a subassemblySubassemblyA 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. Its definition is an assembly BOM. Read more → : an intermediate component made from materials or other subassemblies. Define it once, then add the subassembly to any number of bills of materials. When a bill that contains the subassembly executes, the subassembly is recursively expanded into its own components.
Subassemblies sit between materials (the leaves) and finished goods (the products you sell). They have no Shopify variant of their own, so they never appear in your storefront. They can still hold their own pre-assembled stock.
On this page
Section titled “On this page”- When to use an assembly BOM vs a flat bill of materials
- How assembly BOMs relate to finished goods and materials
- Pre-assembled stock at the assembly level
- The assembly BOMs list, and what you can do from it
- Capability snapshot: every page in this section
When to use an assembly BOM
Section titled “When to use an assembly BOM”Reach for one when:
- Several finished goods share the same component group. If 20 of your candle bills all use the same wick + wax + jar, define a “Candle base” assembly BOM once and reference it in every finished good.
- You build the subassembly ahead of orders. An assembly BOM can carry its own pre-assembled stockPre-assembled stockStock of finished goods and subassemblies already built and on the shelf, counted per location. For Shopify-linked finished goods, these units are part of the applicable on-hand balance, not extra stock to add to it. A work order draws subassemblies from the shelf first, building fresh only if it runs short; an order consumes a finished good's shelf before its components. Read more → . Builds you finish ahead of time go on the shelf; the next bill that needs the assembly draws from the shelf first.
- You want to model a step in your assembly process. An assembly BOM does not have to map to a sellable product. It can represent any stage that you complete and stock separately.
- The BOM is shared but the finished good varies. 20 candle scents share the same base components but differ in one component. A “candle base” assembly BOM plus a per-scent oil reduces duplication dramatically.
You do not need one when each finished good has unique components. Flat bills are fine.
How assembly BOMs fit in
Section titled “How assembly BOMs fit in”Finished good (one sellable product) ├── Material X (qty 2) ├── Subassembly Y (qty 1) │ ├── Material A (qty 3) │ ├── Material B (qty 5) │ └── Subassembly Z (qty 1) ← nesting │ └── Material C (qty 1) └── Material V (qty 1) ← a virtual material is possible tooWhen the finished good’s bill executes, this whole tree is walked, multiplying the parent quantity through each layer.
You can see that tree drawn rather than typed. On the Assembly BOMs list, tick the bills you want and choose Open structure: every ticked assembly becomes a root of one canvas, with materials they share pooled into a single node. Up to 50 bills at a time; select more and the page says so rather than drawing part of your selection. See Structure panel.
The assembly BOMs list
Section titled “The assembly BOMs list”Click Assembly BOMs in the app navigation and you get one table of every assembly BOM in your store, with a row of views along the top. Two are built in:
- All — name, SKU, what could be built, pre-assembled stock, live cost, what it is made of, what uses it, and the bottleneck.
- Inventory — the shelf-facing cut: pre-assembled stock, buildable, bottleneck and whether the bill consumes pre-assembled units only.
The list has the same search, filter, sort and saved-view controls as Finished goods and Materials. Search for a bill, combine filters to narrow the list, sort it, then use Display options to show, hide and reorder columns. Save the setup as a named view and it comes back exactly that way; you can rename your views and choose a default. The selected location scope is saved with the view.
One of your saved views can be set as your default, and that is the one the page opens on whenever you come back. It is marked with a star in the row of views, and the same menu offers Remove as default to go back to opening All. The two built-in views cannot be changed, renamed or deleted.
What the buildable column shows
Section titled “What the buildable column shows”The buildable figure is computed live from the tree and current component availability. Where a nested assembly is set to only consume pre-assembled stock, part of the tree is held back from sale, so the sellable figure differs from the buildable one. The column still shows one number, and puts the other in a tooltip that reads “N of them sellable”. Open the cell’s disclosure to see the figure broken down per location.
Actions in the title bar
Section titled “Actions in the title bar”- Create — opens the Create an assembly BOM dialog.
- Export — exports the current list.
- More actions → Import from CSV/XLSX — the spreadsheet importer, which creates many assembly BOMs at once. See Creating an assembly BOM.
- More actions → Manage groups — the group catalogue. Groups are a way to file bills together, and rows can be added to one from the row menu or the bulk bar.
Actions on a row
Section titled “Actions on a row”The row’s ⋯ menu has five entries: Quick build, Duplicate, Adjust pre-assembled, Add to group
and Delete. Quick build opens the same dialog as the bulk bar’s Inventory → Quick build, for that
one assembly BOM. To have it one click away on every row, add the Build column to your view: in Display
options it is listed under Inventory.
Actions on a selection
Section titled “Actions on a selection”Tick rows and the bulk bar appears, with Export inline, then named dropdowns, then Delete as a standalone critical button at the end:
| Group | Entries |
|---|---|
| Edit | Edit materials · Add to group |
| Assembly settings | Keep assembled on return (Enable / Disable) · Only consume pre-assembled (Enable / Disable) |
| Inventory | Quick build · Adjust pre-assembled · Reservations (Create / Release) |
| Cost | Add additional costs |
| Maintenance | Save version |
| (top level) | Open structure · Configure alerts, when Alertified is connected |
Versions keep the assembly’s BOM history, separately from the finished goods that use it.
Pre-assembled at the assembly level
Section titled “Pre-assembled at the assembly level”Assembly BOMs have their own pre-assembled shelves, with per-location entries and a store-wide total that always equals the sum of those entries. When a parent bill expands the assembly during execution:
- The assembly’s pre-assembled stock is consumed first.
- Only the remainder pulls the assembly’s own components.
This drawdown is per layer, recursively. A finished good with two layers of nested assemblies has two opportunities for pre-assembled stock to absorb the requirement before materials are touched.
See Pre-assembled stock.
An assembly BOM can also be told to sell only its pre-assembled stock and never cascade into its materials. See Only consume pre-assembled.
What you can do with one
Section titled “What you can do with one”Where to next
Section titled “Where to next”- New to assembly BOMs? Read creating an assembly BOM to walk through your first one.
- Already have finished goods and want to factor out shared components? Build the assembly BOM first, then update the finished goods to reference it.
- Curious about cancel and refund behaviour? Jump to the keep-assembled cascade for the table.