Skip to content

Assembly bills

An assembly bill (the older word for it, still used across this section and in the glossary, is 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 → ) is a reusable bundle of components. Define it once, drop it into any number of bills of materials. When a bill that contains the assembly executes, the assembly is recursively expanded into its own components.

Assembly bills sit between raw 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 are pure recipe.

  • When to use an assembly bill vs a flat bill of materials
  • How assembly bills relate to finished goods and raw materials
  • Pre-assembled stock at the assembly level
  • The Assembly Bills list, and what you can do from it
  • Capability snapshot: every page in this section

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 bill once and reference it in every finished good.
  • You build the bundle ahead of orders. An assembly bill can carry its own pre-assembled stockPre-Assembled InventoryStock of finished goods and assembly bills already built and on the shelf, counted per location. A work order draws assembly bills 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 bill does not have to map to a sellable product. It can represent any stage that you complete and stock separately.
  • The recipe is shared but the finished product varies. 20 candle scents share the same physical recipe but differ in one component. A “candle base” assembly bill plus a per-scent oil reduces duplication dramatically.

You do not need one when each finished good has unique components. Flat bills are fine.

Finished good (one sellable product)
├── Raw material X (qty 2)
├── Assembly bill Y (qty 1)
│ ├── Raw material A (qty 3)
│ ├── Raw material B (qty 5)
│ └── Assembly bill Z (qty 1) ← nesting
│ └── Raw material C (qty 1)
└── Raw material V (qty 1) ← a virtual material is possible too

When 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 Bills 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.

Click Assembly Bills in the app navigation and you get one table of every assembly bill in your shop, 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 Raw 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.

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.

  • Create — opens the Create an assembly bill dialog.
  • Export — exports the current list.
  • More actions → Import from CSV/XLSX — the spreadsheet importer, which creates many assembly bills at once. See Creating an assembly bill.
  • 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.

The row’s ⋯ menu has five entries: Quick assemble, Duplicate, Adjust pre-assembled, Add to group and Delete. Quick assemble opens the same dialog as the bulk bar’s Inventory → Quick assemble, for that one assembly bill. To have it one click away on every row, add the Assemble column to your view: in Display options it is listed under Inventory.

Tick rows and the bulk bar appears, with Export inline, then named dropdowns, then Delete as a standalone critical button at the end:

GroupEntries
EditEdit materials · Add to group
Assembly settingsKeep assembled on return (Enable / Disable) · Only consume pre-assembled (Enable / Disable)
InventoryQuick assemble · Adjust pre-assembled · Reservations (Create / Release)
CostAdd additional costs
MaintenanceSave version
(top level)Open structure · Configure alerts, when Alertified is connected

Versions keep the assembly’s recipe history, separately from the finished goods that use it.

Assembly bills have their own pre-assembled shelves, with per-location entries and a shop-wide total that always equals the sum of those entries. When a parent bill expands the assembly during execution:

  1. The assembly’s pre-assembled stock is consumed first.
  2. 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 raw materials are touched.

See Pre-assembled stock.

An assembly bill can also be told to sell only its pre-assembled stock and never cascade into its materials. See Only consume pre-assembled.

  • New to assembly bills? Read creating an assembly bill to walk through your first one.
  • Already have finished goods and want to factor out shared components? Build the assembly bill first, then update the finished goods to reference it.
  • Curious about cancel and refund behaviour? Jump to the keep-assembled cascade for the table.