Skip to content

Only consume pre-assembled

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 → normally cascades: once its pre-assembledPre-Assembled InventoryStock of finished sub-assemblies and BOM items that have already been built and are sitting on the shelf. When a work order needs a sub-assembly, it draws from pre-assembled inventory first and only builds fresh ones if the shelf comes up short. Read more → shelf is exhausted, demand falls through into its materials and nested sub-assemblies. Only Consume Pre-Assembled turns that off for one assembly — sales demand stops at it.

When the flag is on, that sub-assembly contributes only its pre-assembled stock to anything sales-related. Orders draw from its shelf and nothing below it is ever consumed; availability is computed from its shelf alone. Deliberate builds (work orders, assembly builds) are unaffected — they still pull materials as before.

  • The flag, briefly
  • What “stops here” means
  • Max buildable vs. Sellable
  • When the shelf runs short (deficits)
  • Cancel & refund behavior
  • Multi-layer trees
  • How it differs from the BOM-level “only sell pre-assembled” setting
  • Common gotchas

Each sub-assembly has its own Only Consume Pre-Assembled toggle, in the Assemble Settings card on the assembly-bill detail page. It’s independent of the parent BOM and of every other sub-assembly.

  • On. Sales demand draws only from this sub-assembly’s pre-assembled stock — the materials below are never consumed, and availability is computed from the shelf alone.
  • Off. Demand beyond the pre-assembled stock cascades into this sub-assembly’s materials and nested sub-assemblies (the normal behavior).
  • Default: Off.
  • Subscription: Enhanced. The Switch renders disabled with an “Enhanced Plan” badge on the Free tier.

With the flag on, every sales/order/availability traversal that reaches this sub-assembly treats it as a leaf: it contributes its pre-assembled quantity and the walk does not descend into its components.

Concretely, for a flagged sub-assembly S that an order needs N of:

  • N is taken from S’s pre-assembled shelf.
  • S’s materials and nested sub-assemblies are not touched.
  • Availability calculations count only S’s shelf as S’s contribution — never the capacity its materials could build.

The decision is per-node. A layer-1 sub-assembly with the flag off still passes its remainder down; if a layer-2 sub-assembly underneath has the flag on, the cut happens there instead. Each node decides for itself.

Once a tree contains a flagged sub-assembly, “how many can I make?” has two different answers, so the UI shows both numbers wherever a BOM or assembly’s capacity is displayed — the detail pages, both list pages, and the nodes in the BOM tree view.

  • Max buildable — units you could physically build. Materials inside flagged assemblies still count here.
  • Sellable — what orders and availability actually use. A flagged assembly contributes only its pre-assembled stock; its materials are never counted.

Example. A sub-assembly is set to Only Consume Pre-Assembled and holds 5 pre-built units; its materials could build 50 more.

  • Max buildable = 55 (5 on the shelf + 50 from materials).
  • Sellable = 5 (only the shelf counts).

Hover the Max buildable N (Sellable M) label anywhere it appears for this same explanation inline.

If an order needs more than a flagged sub-assembly has on its shelf, demand does not fall through to materials — that’s the whole point. Instead the full demand is consumed from the pre-assembled shelf, which is allowed to go negative.

A negative shelf is an honest record of a deficit: “this many units were sold against this assembly beyond what was physically on the shelf.” It’s not clamped to zero, and it’s not hidden — the negative balance shows in the per-location pre-assembled values.

You resolve a deficit the same way you’d top up any shelf: build more and adjust the pre-assembled count up, which moves the balance back toward zero and beyond.

Restores are symmetric with consumption. When an order against a flagged sub-assembly is cancelled or refunded, the cascade halts at that sub-assembly (exactly like the keep-assembled halt): the full quantity is restored to its pre-assembled shelf, and nothing below is restored — because nothing below was consumed in the first place.

If the consumption had driven the shelf negative, a partial restore lifts it partway back (e.g. −5 then a +3 restore lands at −2, not clamped to 0), keeping the deficit math honest.

Because the decision is per-node, you can mix flagged and unflagged sub-assemblies in one tree:

BOM B
└── Sub-assembly S (flag OFF — cascades)
├── Raw R1
└── Sub-assembly T (flag ON — stops here)
└── Raw R2

For a sales order of B:

  • S has the flag off, so demand beyond S’s shelf passes down to R1 and T.
  • T has the flag on, so demand reaching T is taken from T’s shelf only — R2 is never consumed, and T’s contribution to “sellable” is T’s shelf alone.

Each flagged node is an independent cut; the walk continues normally everywhere else.

How this differs from the BOM-level setting

Section titled “How this differs from the BOM-level setting”

These two are easy to confuse — different scope, different effect:

Only sell pre-assembled quantitiesOnly Consume Pre-Assembled
Lives ona BOM (Assemble Settings)a sub-assembly (Assemble Settings)
Effectcaps the BOM’s own Shopify availability at the BOM’s pre-assembled shelfstops sales demand at this sub-assembly inside a tree — materials below are never consumed or counted
Documented inBOM settings → #6this page

They’re complementary and can be used together: a BOM can cap its own availability while a sub-assembly deeper in its tree independently refuses to cascade into its materials.

  • Sellable, not buildable, is what sells. When the flag is on somewhere in a tree, the storefront-facing number is the Sellable figure. The higher Max buildable number is informational — it’s the physical ceiling, not the offer.
  • Deficits are real, not errors. A negative pre-assembled balance on a flagged assembly means it sold beyond its shelf. That’s by design; top the shelf up to clear it.
  • Setting the flag late doesn’t rewrite history. Past orders processed with the flag off cascaded normally. Flipping it now affects future orders only.
  • Builds always consume materials. Don’t expect a work order or assemble-bench build to “respect” the flag — those are deliberate builds and always pull materials.