Nothing can be assembled out of parts that are in another building.
That sentence is the whole article. A kit is buildable at a place, not in general, and the number you were reading may not have been about the place you are standing in.
When a build refuses, Mossery names the component that stopped it and what it found — something of the shape "need 40, have 12". Read that line first; it usually points straight at one of the checks below.
- Check 1: are the components at this location
- Check 2: does the kit contain sub-kits nobody has built
- Check 3: is the component stock already spoken for
- Check 4: has the assembly order been approved
- Check 5: does every line of the recipe point at a real product
Work through them in that order. The first two explain most cases.
Check 1: are the components at this location
The buildable figure on a product list is an org-wide estimate. The one an assembly order obeys is per location. They are different numbers, and the org-wide one is always the larger.
Here is why. A product list adds up every component everywhere and then works out how many kits that would make. That arithmetic will happily pair a lid held at one warehouse with a base held at another, and count a kit that can be assembled at neither.
| Component | Warehouse A | Retail 1 | Total |
|---|---|---|---|
| Base | 3 | 10 | 13 |
| Lid | 10 | 3 | 13 |
| Kits buildable | 3 | 3 | 6, not 13 |
The org-wide sum says 13. Warehouse A can build 3. Retail 1 can build 3. Nobody can build 13, and an assembly order at Warehouse A will stop at 3.
Fix it
- Open the product and find the Stock by location card. It gives the real per-location answer.
- Build the quantity that location can actually make.
- If you need more there, transfer the short component in first, then build.
Treat the org-wide figure as a planning hint, never as a promise for today.
Check 2: does the kit contain sub-kits nobody has built
A build consumes the recipe's direct components, from stock. It does not build their parts for you on the way down.
The buildable figure is more generous than that. When a kit is made of other kits, it counts each sub-kit's own build capacity as well as the finished sub-kits on the shelf — the assumption being that you could build the sub-kits first. That is genuinely useful for planning, and it is exactly the gap you fall into when you try to build today.
So a kit can honestly read "8 buildable" while the shelf holds 2 finished sub-kits and enough loose parts for 6 more. An assembly order for the parent will build 2 and stop, because the other 6 do not exist yet.
The fix is an order of operations, not a setting:
- Run an assembly order for the sub-kit first, at that location.
- Then run the assembly order for the parent kit.
If you had previously set a kit to build "from finished components only", that switch is gone. Sub-kit capacity now always counts towards the buildable figure, for every kit, because the old behaviour meant two kits could report different numbers for reasons nobody on the floor could see.
Check 3: is the component stock already spoken for
A component's availability is what is on hand minus what is already allocated to orders. Assembly only gets what is left.
Sixty units on the shelf with fifty allocated to open orders leaves ten for building. The shelf looks full and the build still refuses at ten, which is correct — those fifty belong to customers who have already bought them.
Read the failure message. It names the component and reports what it found, and that figure is the availability, not the shelf. If it says "have 10" while you can see 60, allocation is the difference.
If the build genuinely matters more than the open orders, someone has to resolve those orders first. Assembly will not quietly take stock out from under them, and that is the point.
Check 4: has the assembly order been approved
An assembly order has to be approved before it can be executed. A draft one cannot run, no matter how much stock is available.
If the message you got was about approval rather than about a component, this is the whole problem — and the fix is not yours. Approving assembly orders is a separate permission from executing them, on purpose: one person decides what gets built, another does the building.
Send the order reference to whoever approves assembly work and ask for it to be approved. Nothing about the stock needs to change.
Check 5: does every line of the recipe point at a real product
A recipe line that does not resolve to a product forces the buildable figure to zero.
This happens when a component was entered as a code that no product matches — a typo, a product code changed later, or a product removed while a recipe still referred to it. The app does not guess. It marks the line unresolved, reports the kit as buildable zero, and names that unresolved line as the thing holding it back.
Open the kit's bill of materials and look for a line flagged as unresolved. Fixing it means pointing that line at the right product, which needs whoever owns product data and their bill-of-materials permission — not the person doing the build.
Still refusing after all five?
Two quieter causes are worth ruling out before you escalate.
Wastage. A recipe line can carry a wastage allowance, which raises what each kit actually consumes. A line needing 10 with 5% wastage draws 10.5, so 100 on hand builds 9 kits, not 10. Small percentages produce exactly this kind of off-by-one argument.
"Always available". If every component in a recipe is made to order rather than stocked, the kit is reported as always available instead of as a number. That is not a bug and it is not a promise that a build will run — it means nothing in the recipe is being counted, so nothing is constraining it.
If none of that fits, capture four things and pass them on: the kit's product code, the location you were building at, the quantity you asked for, and the exact message including the component it named. Those four identify the problem without anyone having to reproduce it.
Explore
Running an assembly order. The normal path, from picking a quantity to recording what was actually consumed. Learn more →
The three numbers of a built product. Built, buildable, and available — why a kit needs three figures instead of one. Learn more →
Building a bill of materials. How a recipe is put together, including wastage and unresolved lines. Learn more →