Skip to content

Operating bill versions

A version is a saved copy of what a bill’s recipe looked like at one moment. A connected assistant can read that history, compare any two versions, and — with write access on the Enhanced plan — save a new one or put an earlier one back. It is the undo path for everything on Operating BOMs & assembly bills.

Versions work the same way for a bill 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 → and for an assembly billAssembly 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 assistant names the bill and says which of the two it is.

  • What it takes
  • Reading the history
  • Comparing
  • Saving a version
  • Restoring a version
  • What a restore never touches

Reading is open on every plan and needs no write access. A shop that has dropped off Enhanced still sees, compares and explains the history it recorded.

Saving and restoring need write access and the Enhanced plan. So does the preview of a restore, even though it writes nothing, because it only exists to precede one.

“When did the Oak Table recipe last change, and what changed?”

The assistant reads a page of a bill’s versions, newest first — up to 20 at a time. Each one carries the summary that was frozen onto it when it was saved: how many recipe fields, materials, per-location rules and overrides moved against the version before it, what triggered the save (you asked, the nightly snapshot ran, or a restore wrote one), and who saved it.

It can then open one version and read the whole frozen recipe.

Two comparisons are available, and they answer different questions:

  • Two versions against each other — “what would going back to March undo?” The assistant names which side is the before; it does not assume the older number is the before, so it can compare in either direction.
  • One version against the recipe as it stands today — “what has changed since this version?” This one also tells you whether the bill has unsaved changes since its most recent version.

Both label every change with the names that were captured at the time, so a material you have since deleted still reads as a name rather than an id.

With write access on Enhanced, the assistant can save a version of one bill, or of every bill a selection resolves to — the bills you named, or everything matching a search, resolved on the server so “all of them” means what the list shows you.

  • It works in pages of 25 bills. For a big selection the assistant re-sends until it is through; it should tell you it is doing that rather than claiming a 4,000-bill save finished in one call.
  • Each bill reports its own result. A bill whose recipe has not changed since its last version stores nothing and comes back as skipped, naming the version it still matches — that is not a failure, and it is why repeatedly asking for a snapshot does not fill the history with identical copies.
  • A bill that fails leaves its version unfinished, and the next save of that bill (or the nightly snapshot) picks it up.

A restore makes the bill say what the version said, and saves a new version of what it then says — so a restore is itself undoable. It is all or nothing: if it is refused, the bill is exactly as it was.

Ask for the preview first. It writes nothing and it answers the two things worth knowing before you agree:

  • Blockers — the raw materials, assembly bills and additional costs the version refers to that your shop no longer has. While there are any, the restore is refused. You can consent to going ahead without exactly those items, and then it proceeds; the assistant cannot make that call for you.
  • What it would replace — how many live rows in each part of the recipe the restore would overwrite, and the changes in the direction a restore would apply them.

A version is a recipe, not a state of the world. Restoring one therefore leaves alone:

  • the Shopify binding — product, variant, SKU, price and image;
  • pre-assembled stock and every stored cost;
  • “Only sell pre-assembled”, which is deliberately left at its current value with a warning saying so, because changing it moves stock and a saved document cannot supply the figures that would take.

Any switch the version carries that another setting now forbids is reported as a warning rather than applied quietly.

  • Versions — the same feature in the app, including the nightly snapshot.
  • Operating BOMs & assembly bills — the edits a version protects you from.
  • The version index is also readable over the REST API; the version body and the writes stay on the agent surface.