Assembly
Complete an assembly product
Completing an assembly takes its assigned components out of stock, optionally adds one finished unit, and records the build's cost. Learn how to complete an assembly and resolve completion errors.
Completing an assembly turns it into stock movements. Until then, assigning components only records their quantities against the assembly; nothing has left inventory.
There is no setting that makes stock leave earlier. Assigning a component reserves it on paper only; the stock-out is always recorded at completion.
Before you complete an assembly
The product must be In Progress and have at least one component before the Mark Complete button appears. If the product is a draft, start it first.
You also need the Manage Assembling Project permission. Without it, Mark Complete is not shown.
How to complete an assembly product
- Open Catalog in the top navigation bar.
- Choose Assembly.
- Select All Assembled Products in the sidebar.
- Open the assembly product you want to finish.
- Check the component list. Every component needs its full required quantity assigned.
- Choose Mark Complete. The Complete Product window opens.
- Leave Completion Date empty to use today, or pick an earlier date to backdate the build.
- If the product adds its finished unit to inventory, check Output Warehouse. It is already filled in with your default warehouse.
- Change Output Warehouse only if the finished unit goes somewhere else. Complete stays disabled while no warehouse is selected.
- Choose Complete.
- Wait for the window to finish. It shows the closing progress while it works.
What completion does to stock and costs
For every component, completion records an Assembly Out movement for the assigned quantity and takes that quantity out of inventory.
You do not choose which warehouse a component comes out of. Stock is taken from the warehouse holding the most of that product first, then split across further warehouses if the first does not hold enough.
Each component's cost per unit is calculated using your organisation's inventory method (FIFO, LIFO or average) as of the completion date and before anything is consumed. The cost reflects the batches actually being used up and is then fixed: later purchases or sales of the components do not change it.
If Add finished product to inventory on completion is switched on and a finished product is selected, completion also puts 1 unit of that product into the output warehouse as an Assembly In movement. Its unit cost is the total of every component consumed plus any additional costs recorded against the assembly.
Completion errors and date restrictions
Completion is refused with nothing consumed if the product or the project it belongs to is not In Progress, or if a component is not fully assigned. For example, the product may already have been completed.
Completion is also refused if a component no longer has enough stock. The message names the component and shows what was required against what is available. This can happen when another assembly or a manual stock-out took those units after the component was assigned.
Completion is also refused if the year of the completion date is locked in your settings. You cannot set a completion date in the future; the date picker does not allow anything past today.
For a backdated completion, the components must have been in stock on the selected date. Completion is also refused if dating the consumption back would have driven stock negative at any point between that date and now.
The whole completion runs as one transaction. If any part fails, nothing is consumed: you never end up with half the components taken out and the assembly still open. A completion that returns an error is safe to fix and retry.
After completion
The assembly page shows Total Cost instead of Est. Cost, which previously appeared with a ~, and adds the completion date. The Inventory page can take a moment to show the new stock figures.
Assembly movements cannot be deleted from Inventory, then Movements. Deletion is refused with a message telling you to use the Assembly module. If a completed assembly was wrong, use Unmark Complete on the assembly product instead of trying to remove its movements.