Overview

This article answers common questions about assembly and explains the messages you may see when working with BOMs and assembly orders.

Common messages and how to fix them

Message

Why it happens

What to do

Not enough stock to complete the assembly

One or more components don't have enough available stock (on hand − on hold) at the assembly location. The list shows the required, on hand, on hold and available quantities.

Receive more stock, transfer stock from another location, reduce the quantity to assemble, or change the assembly location.

Xero tracked items cannot be used in assemblies

The assembled product or a component is tracked in Xero.

Remove the product from the order or BOM. Assembly only supports products that are not tracked in Xero.

"Product" is serialised, the quantity must be a whole number

The assembled product is serialised and the quantity to assemble has decimals.

Enter a whole number.

"Product" is serialised, its quantity plus wastage must be a whole number

A serialised component would consume a fraction of a unit.

Adjust the line's quantity or wastage so they add up to a whole number.

Select n serial numbers / Selected batch quantity must equal n

The selected serial or batch numbers don't match the consumed quantity (or the quantity assembled, for the assembled product).

Select or enter the exact quantity.

This BOM creates a loop

One of the components is (directly or indirectly) assembled from the product itself.

Remove that component from the BOM.

At least one component product is required

The BOM or order only has service lines.

Add at least one product line.

Only draft assembly orders can be edited / deleted / completed

The order has already been completed.

Completed assemblies are locked. Use a stock adjustment if you need to correct stock.

This product cannot be deleted, it is used in the bill of materials of ...

The product is a component in another product's BOM.

Remove it from that BOM first, then delete the product.

Frequently asked questions

Can a product have more than one BOM?

No, each product has one BOM. If a particular build needs different materials, adjust the lines on that assembly order — the BOM itself stays unchanged.

If I change a BOM, are existing assembly orders updated?

No. Each assembly order keeps its own copy of the materials when it is created. Changes to the BOM only apply to new orders.

Does a draft assembly order reserve stock?

No. Stock is only checked and deducted when the assembly is completed. Stock reserved by approved sales orders (on hold) cannot be used for assembly.

Which cost is used for the components?

The component's average cost at the assembly location at the moment the assembly is completed. While the order is a draft, the costs shown are estimates and may change.

How is wastage costed?

Wastage is deducted from stock together with the quantity, and its cost is included in the cost of the assembled product. For example, if a unit needs 2 components plus 0.1 wastage, 2.1 components are deducted and costed for each unit assembled.

How do I include labour or other costs?

Create a service product (for example, "Assembly labour") with a cost, and add it to the BOM or the order as a service line. Its quantity × unit cost is added to the cost of the assembled product. For a one-off cost, you can also override the unit cost when completing the assembly.

Can I undo a completed assembly?

No. Completed assemblies are locked because the assembled product may already have been sold. To correct stock, use a stock adjustment.

Can I build sub-assemblies?

Yes. A component can itself be an assembled product with its own BOM. Complete the assembly for the sub-assembly first so it is in stock, then use it in the next assembly.

Does assembly sync to Xero?

No Xero documents are created by assemblies, which is why Xero tracked items are not supported. If you sync stock to Shopify, stock changes from assemblies are synced to Shopify automatically.

Who can use assembly?

Users with the "Manage bill of materials & assembly orders" permission. Admins have it by default; enable it for other roles in Settings > Roles.

Next...

Back to Assembly Overview