Skip to content

Operating BOMs & assembly bills

With write access, a connected assistant can do more than read your bills of materialsBill 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 → — it can build and maintain them: create finished goods, compose them from materials and assembly billsAssembly billThe recipe for an intermediate component you build and then use inside other bills — a lid, a wick assembly, a pre-wired harness. It keeps its own pre-assembled stock and can be a work order item in its own right. Read more → (the app’s newer name for sub-assemblies), adjust pre-assembled stock, set what a bill does at each location, and toggle a bill’s settings. This page explains what that covers and the guardrails around it.

  • What it takes
  • Building and composing BOMs
  • Working with assembly bills
  • Copying a bill
  • Editing many recipes at once
  • Attaching additional costs
  • Recording pre-assembled stock
  • Configuring a BOM’s behaviour
  • Per-location rules
  • Pushing a cost to Shopify
  • Saving and restoring a version
  • Doing it in bulk
  • Guardrails
  • Safety & audit

Write access is opt-in. The assistant needs either:

A read-only connection sees none of these actions — they aren’t even visible to it, and any attempt to use them fails. Existing connections keep the scope they were granted; to upgrade a chat, revoke it and reconnect with a read & write code.

The assistant can drive everything you’d do by hand on a BOM:

  • Create a bill of materials for a finished-good variant.
  • Edit its details, and delete a BOM you no longer need.
  • Add, remove, and re-quantify component materials.
  • Add and remove nested assembly bills.

When the assistant references a Shopify variant that isn’t a raw material yet — either as the finished good or as a component — Assemblified registers it as a raw material automatically, so the assistant doesn’t have to set that up as a separate step.

Assembly bills get the same treatment: the assistant can create, edit, duplicate and delete them, and add or remove the materials and nested assembly bills inside them — so a reusable component tree can be built up and reused across many finished goods.

The assistant can duplicate a bill onto a different Shopify variant in one step. Components, nested assembly bills, tags, additional costs, the automation link and the behaviour switches all come across; the copy is always created inactive and with zero pre-assembled stock, so it never starts selling or claiming stock by accident.

A bill belongs to one variant, so duplicating onto a variant that already has one is refused and the existing bill is named. Assembly bills can be duplicated the same way.

Beyond editing one bill, the assistant can apply one ordered list of composition edits to a whole selection of bills — either the bills you named or every bill matching a search. Four kinds of edit are available:

  • Add a component to every bill that lacks it — either at a fixed quantity, or “the same quantity as that component already has in each bill”, which is how “one cap per bolt” is expressed across bills with different batch sizes.
  • Remove a component.
  • Replace one component with another, keeping each bill’s own quantity or setting a new one.
  • Adjust a quantity, either to a fixed value or by a relative amount.

The edits apply in order, per bill, so a later edit sees the result of the earlier ones. A bill an edit does not apply to (the material is not on it, or is already there) is reported as skipped, not failed. There is a preview mode that validates the whole list against your real bills and writes nothing — worth using, because this is the one call that can touch hundreds of recipes at once.

The assistant can also manage your additional costs: create a labour or overhead rate in the shared catalogue, then attach or detach it on a BOM or assembly bill with the quantity consumed per one finished unit. Editing a rate re-prices every BOM that references it and never moves an existing work orderWork OrderA planned production run: pick materials, build the items, do QC, and complete — all tracked together. Use work orders when you're building stock ahead of demand or running a multi-day project. Read more → .

See Additional costs for agents and scripts for the calls and the one caveat about reading full cost.

When finished goods or assembly bills are physically assembled ahead of demand — or counted during a stock-take — the assistant can record that pre-assembledPre-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 → stock directly, per location, without creating a work order:

  • Add or subtract a quantity (a delta — “we just built 3 more”).
  • Set an exact quantity (an absolute count — the safe choice for a stock-take, because repeating it can’t double-count).

A BOM with Only sell pre-assembled enabled automatically re-anchors its Shopify availability to the new pre-assembled quantity, exactly as it does in the app.

The assistant can flip the same per-BOM switches you control in the app:

  • Active / inactive status.
  • Dynamic adjustment — whether the BOM re-checks stock as orders come in.
  • Maintain same inventory level.
  • Keep assembled on return.
  • Auto-generate material list — building a BOM’s component list automatically. This one requires the Enhanced plan.
  • Only sell pre-assembled — whether the finished good sells only the units you have already built. This one requires the Enhanced plan, and it is the one switch with immediate stock consequences, so it is treated carefully: see below.

Turning on dynamic adjustment arms the order-time behaviour but doesn’t push anything to Shopify at the moment it’s toggled — the effect happens when orders arrive, just as in the app.

Turning this on changes what Shopify shows as available, so the assistant has to say which number wins: either adopt Shopify’s current availability as the bill’s pre-assembled stock, or push the pre-assembled numbers the app already holds. There is no default — asked to “turn it on” with no direction, the assistant should ask you which.

Two consequences worth knowing:

  • Switching it on clears dynamic adjustment and “maintain same inventory level” on that bill. The three are mutually exclusive.
  • The Shopify re-anchor is queued, not immediate. The answer reports that the setting was written; the availability in Shopify follows shortly after. A bill with no usable Shopify inventory record is refused rather than half-flagged.

If a bill is built differently at different locations, the assistant can maintain those rules too — for bills and assembly bills alike:

  • Read the rules configured on a bill: the execution mode at each location (follow the base bill, pre-assembled only, made to order, or not built there at all) and the material changes that location carries.
  • Read the bill as seen from a location — the recipe with that location’s rule already applied. This is a separate, computed read: a bill switched off at a location comes back with an empty material list and a note saying it is disabled there, which is not the same thing as “no materials”.
  • Set one location’s rule, including the materials added, changed or removed there. The materials you send are the whole intent for that location — anything you leave out is removed.
  • Remove one location’s rule, or every location’s rule at once. The bill itself is untouched; the location simply goes back to the base recipe.
  • Switch many bills at a location in one call — for example, turning a whole list of bills off at a warehouse. The bulk form changes only the mode and leaves each bill’s material overrides in place.

The assistant can compare what Assemblified computes a finished good costs against the cost per item Shopify currently holds, and then write yours to Shopify. It is deliberately a two-step job:

  1. Preview — one row per bill: what Shopify holds today, the materials-only cost, and the additional-costs figure separately, so you decide whether labour and overhead are part of the number you push. Rows that cannot be pushed at all (no Shopify variant, or a variant that no longer exists) are named as such. Nothing is written.
  2. Push — writes the cost you chose for up to 250 finished goods in one call. A row whose cost already matches is skipped and never sent, and each row reports its own outcome with Shopify’s own message when Shopify refuses.

Every push is recorded before it is sent. If that record cannot be written, the whole call is refused and nothing is pushed.

A bill’s recipe has a history, and the assistant can use it as the undo path for everything on this page: save a version before a risky edit, compare two versions, and restore one. Reading the history is open on every plan; saving and restoring need Enhanced.

See Operating bill versions for what a version does and does not capture.

Bulk work is first-class, so an assistant can build out a whole catalog in a few calls instead of hundreds:

  • Create many BOMs, assembly bills, or their materials in one request.
  • Delete many at once.
  • Adjust pre-assembled stock for many BOMs or assembly bills in one pass — ideal for a full stock-take.

Every bulk call reports a per-item result, so a single bad row doesn’t sink the batch — the assistant sees exactly which items succeeded, which were skipped as duplicates, and which failed, and can resend just the failures. Bulk calls also offer a preview mode that validates everything and writes nothing, so the assistant can check a plan before committing it.

Write access follows the same rules as the app:

  • In-use materials are protected. A raw material, assembly bill, or cost factor that’s still referenced by a BOM can’t be silently deleted — the attempt fails per item with a clear reason.
  • Duplicates are caught. Bulk creates can skip items that already exist (matched by SKU, then by name), so re-running a build is safe.
  • Every refusal is guidance. When an action is blocked, the assistant is told exactly why and what to do instead, so a capable assistant self-corrects without your involvement.

Every call the assistant makes is tied to the API key or connection it used, and access can be revoked at any time — see Managing access & security. Write access is scoped to your single store, and a connection can never reach anything beyond the scope its key or connection was granted. That scope is wider than this one page: the full list of write surfaces is the operating pages index.