All docs

Help article

Assemblies

An assembly is a recipe — a bigger thing you build out of the inventory items you already track. Tell the app what parts go into it and how many, and it works out how many you can build, what each one costs, and which part is holding you back.

Open your dashboard
The one-sentence version: an assembly doesn’t hold its own stock count — it’s a list of inventory items (the components) plus how many of each it needs. The app then calculates everything else for you from your live inventory.

Why assemblies exist

Most operations don’t just buy and sell single items — they combine them. A gift basket is made of products. A finished birdhouse is made of wood, screws and paint. A catering tray is made of ingredients. You don’t want to track the basket’s stock by hand and the stock of everything inside it — they’d drift out of sync immediately.

Assemblies solve that. You define the recipe once, and the app answers the questions that actually matter: “How many can I make right now?” and “What does one cost me to build?” — always based on the live counts of the underlying parts.

The mental model: assemblies sit on top of inventory

This is the part that trips people up, so it’s worth saying plainly: an assembly is not a new pile of stock. It has no count of its own. It is purely a calculation over the inventory items it’s built from. Change the stock of a part, and every assembly that uses that part updates automatically.

The columns you’ll see

In the Assemblies list and on each assembly, the app shows four calculated figures:

  • Calculated Cost — what one assembly costs to build, added up from its parts: for each component, (quantity needed × that item’s unit value), summed together.
  • Can Assemble — how many complete assemblies you could build right now from the Stock you have on hand.
  • Including Receiving — how many you could build if everything currently on order also arrived (Stock + on-order).
How “Can Assemble” is worked out: for each part, the app divides your stock of that part by the quantity the recipe needs, and rounds down. The smallest of those numbers wins — you can only build as many as your scarcest part allows. That part is your bottleneck.
The Assemblies list showing each assembly's Calculated Cost, Can Assemble and Including Receiving figures.
The Assemblies list — cost, how many you can build now, and how many once on-order parts arrive.

A worked example

Say you sell a Deluxe Gift Box assembly that contains:

  • 1 × Box — you have 40 in stock
  • 3 × Chocolate Bar — you have 50 in stock
  • 2 × Greeting Card — you have 12 in stock

The app does the math per part:

  • Box: 40 ÷ 1 = 40 possible
  • Chocolate Bar: 50 ÷ 3 = 16.6 → 16 possible
  • Greeting Card: 12 ÷ 2 = 6 possible

Can Assemble = 6, because the greeting cards run out first. If a card costs $0.50, a bar $1.00 and a box $2.00, the Calculated Cost of one box is (1×$2.00) + (3×$1.00) + (2×$0.50) = $6.00. That instantly tells you the bottleneck (buy more cards) and your build cost.

Building an assembly — step by step

  1. Make sure the parts already exist in Inventory. An assembly can only be built from items you already track.
  2. In the Assemblies section, click New Assembly, give it a name (e.g. “Deluxe Gift Box”), add notes if useful, and Save.
  3. Open the assembly and look at Assembly Items — this is the recipe.
  4. Click Sync Assembly Items. This pulls your inventory list into the recipe so every item appears as a row you can set a quantity on. (You only need to do this when you’ve added new inventory items you want available here.)
  5. For each part the recipe needs, click the number in the Assembly Contains column and set how many of that item one assembly uses.
  6. Click Remove Unused to clear out the rows you left at 0, keeping the recipe tidy.

As soon as quantities are set, Calculated Cost, Can Assemble and Including Receiving fill in automatically — and each component row also shows its own stock, on-order, and how many assemblies that part alone could support, so the bottleneck is easy to spot.

An assembly opened, showing Calculated Cost, Can Assemble, Including Receiving, and the Assembly Items recipe table with each component's quantity, stock and per-part capacity.
Inside an assembly: the recipe, with each component’s stock and how many assemblies it alone can support. Here the Arduino (Can Assemble 8) is the bottleneck.

“Make negative if it creates” — the powerful trick

The Assembly Contains column accepts negative numbers, and this is one of the most useful (and most overlooked) features. A normal, positive quantity means the assembly consumes that part. A negative quantity means building the assembly creates that item.

That lets you model processes that produce outputs or by-products, not just consume inputs. For example, a “Cut Plywood Sheet” assembly might consume 1 × Full Sheet (count 1) and produce 4 × Half Panel (count −4). When you complete it, the full sheet is deducted and the half panels are added — all in one step.

An assembly that breaks down a plywood sheet: the Plywood Half Panel component has a quantity of minus 4, meaning building the assembly creates four half panels.
A real negative-quantity recipe: completing “Break Down Plywood Sheet” consumes one full sheet and creates four half panels (count −4).

Completing an assembly (consuming the parts)

When you actually build some, open the assembly and click Complete Assembly Of X Units. Enter how many you built. The app then walks the recipe and adjusts your inventory in one go:

  • For each positive component, it subtracts (quantity × units built) from that item’s Stock.
  • For each negative component, it adds the created items to Stock instead.
  • Every adjustment is written to each item’s History, so the build is fully traceable.
Completing an assembly changes the real stock counts of the underlying items — it’s not just a label. Only complete the number you genuinely built, since the parts are deducted immediately. The assembly itself has no count to “undo”; to reverse a mistake, complete a negative quantity or adjust the affected items by hand.

Keeping an assembly accurate over time

  • Sync Assembly Items again after you add new inventory items you want to include in this recipe.
  • Remove Unused any time the component list gets cluttered with 0-quantity rows.
  • Costs update on their own — change a part’s unit value in Inventory and every assembly that uses it re-totals automatically.

Common questions

Can an assembly contain another assembly? Recipes are built from inventory items, not from other assemblies. If you have sub-builds, track the sub-build’s output as an inventory item (using the negative-quantity trick above), then use that item in the bigger recipe.

Why is “Can Assemble” lower than I expect? It’s capped by your scarcest part. Open the assembly and scan the per-component “Can Assemble” column to find the one part dragging the number down.

Why is a part not in the recipe? It either hasn’t been synced in yet (click Sync Assembly Items) or its quantity is 0. Set a quantity to include it.

Related: Inventory (the parts assemblies are built from) and Orders (what feeds the “Including Receiving” figure).

Other sections: Inventory · Inventory Snapshots · Orders · Team