Skip to main content

Assemblies and Sub-Assemblies

Manually produce stock from your inventory by creating Assemblies and Sub-Assemblies.

Heather Worthington avatar
Written by Heather Worthington
Updated this week

Assemblies are internal transactions used to manage and track the use of component Stock On Hand (SOH) from your inventory to produce assembled SOH. Whilst an Assembly is in Parked status, the component quantity included will be counted as Allocated stock, and used to calculate the component product's available SOH. When the Assembly is then completed the component product's SOH is reduced and the assembled product's SOH increases, respectively.

kit-set-product.png

Depending upon your production processes, you can create single-layer Assemblies, also known as "Parent Assemblies", where the component stock required does not require any manufacturing, or you can create "Sub-Assemblies", which are Assemblies created to fulfil the component stock need to complete an existing Assembly.

Parent Assemblies can be created automatically, provided the product has a Bill of Materials (BOM), to automate the production process. Enable the "Can Auto Assemble" setting in the assembled product's BOM, and when the product is added to a Sales Order (SO), and it does not have enough SOH available to fulfil the order quantity at the time it's allocated, an Assembly, referred to as an Auto-Assembly, will be automatically created to fulfill the un-available quantity.

However, if you manufacture stock to store or only want to create production jobs when you choose, create Assemblies manually. The following article will provide you with guidance on how to manually create Assemblies and subsequently manage them to completion.

Prerequisites for creating Assemblies

For an Assembly to be created, either manually, automatically, or as a Sub-Assembly, the following conditions must be met:

  • Products being assembled must have the Type setting "Assembled Product" enabled in the product record's Details tab.

  • Products being included as components to an Assembly must have the Type setting "Component Product" enabled in the product record's Details tab.

  • Products that are added as By-Products to an Assembly must have either the Type setting "Assembled Product", "Component Product", or "Sellable" enabled in the product record's Details tab, and must have "Never Diminishing" disabled.

Assembly role permissions

To create and manage Assemblies, users will need the following role permissions granted in their respective roles:

  • Assembly Details

  • Assembly Durations

  • Assembly Import

  • View Assemblies


Tutorial Videos

Manufacturing: Adding an Assembly

How to track production By-Products


Create an Assembly

An Assembly can be manually created in one of the following ways:

If the product being assembled has a BOM, the new Assembly will automatically populate the component products and proportional quantities required to fulfill the Assembly's Assembled Quantity, based on the BOM's current setup. However, if the product does not have a BOM or if the BOM is obsolete, an empty Assembly, that you can manually add components and quantities to, will be created.

📌Note: If the "Recalculate Component quantities" setting is disabled in your Company > Settings, a change in an Assembly's Assembled Quantity will recalculate all component quantities accordingly.

Add Assembly

To create a new Assembly:

  1. From the main menu, go to Production > Assemblies > Add Assembly.

  2. Use the Product Code and Product Description fields to select the product that's being assembled. Or click on the magnifying glass icon to use the advanced Product Search.

  3. The Assembly will be created in Parked status and given an auto-generated Assembly Number.

Create an Assembly from a product record

To create an Assembly for a specific product, directly from its product record:

  1. Open the product's record.

  2. Click on the drop-down icon on the Product button in the top-right corner.

  3. Select Create Assembly.

  4. An Assembly for the product will be created in Parked status and given an auto-generated Assembly Number.

Add Assembly from a Bill of Materials

To create an Assembly for a product from its BOM:

  1. Open the product's BOM.

  2. Click on the drop-down icon on the Add button in the top-right corner.

  3. Select Add Assembly.

  4. An Assembly for the product will be created in Parked status and given an auto-generated Assembly Number.

Create an Assembly from the Order Line of a Sales Order

Important: To create an Assembly for a product from a Sales Order, the product must have a BOM.

To create an Assembly for a product that has been allocated to a Sales Order, from the Sales Order itself:

  1. Open the Sales Order.

  2. In the Order Lines tab, tick the product's checkbox in the action cog icon column.

  3. Hover over the action cog icon in the column header of the Order Lines grid and select Create Assembly.

  4. A "Create Assemblies" pop-up window will show. Using the editable fields available, select the Source Warehouse, Destination Warehouse, and Assemble By date that will apply to the product's Assembly.

  5. Select Create Assembly.

  6. An Assembly for the product will be created in Parked status with an auto-generated Assembly Number, and the Assembled Quantity will be populated from the Sales Order's order quantity.

The Assembly that's been created from a Sales Order will be permanently linked to it. Whilst the Assembly is in Parked status, an orange exclamation point icon will be displayed in the Quantity field on the product's order line in the Sales Order. And when the Assembly is completed, the icon will update to a green tick. Click on the Assembly icon in the Sales Order's order line to open the Assembly.​

Create Assemblies from the Reorder Report.

Important: To create an Assembly for a product from the Reorder Report, the product must have a BOM.

To replenish your inventory's available SOH by creating Assemblies from the Reorder Report:

  1. From the main menu, go to Reports > Purchases > Reorder Report.

  2. In the Order Warehouse drop-down filter, select the Warehouse you want to assemble the SOH in, use any other available filters to refine the Reorder Report, and select Run. ​

  3. Using the checkboxes available in the Reorder Report's grid, tick to select the products you want to create an Assembly for.

  4. Hover over the action cog icon in the grid's column header and select Create Assembly.

  5. A "Create Assemblies" pop-up window will show. Using the editable fields available, set an Assemble Quantity, Source Warehouse, Destination Warehouse, and Assemble By date that will apply to each product's Assembly.​

  6. Select Create Assemblies, and an Assembly will be created for each selected product in Parked status. The pop-up window will update to advise the Assembly Number that's been auto-generated for each Assembly.


Manage an Assembly

When an Assembly is created, it will be saved in a Parked status, meaning the Assembly's details, components, quantities, and costs can be updated at any time until the Assembly is completed. Any changes made to an Assembly will not automatically change the product's original BOM.

Assembly details

At the top of an Assembly, you will find the data fields that outline the main parameters of the production job, such as the warehouses the component stock will come from and the assembled stock will be stored, how many units of stock are and can be assembled, and how long it is expected to take to complete the Assembly. The table below describes each Assembly detail field and how they are used.

Assembly detail fields

Description

Source Warehouse

The warehouse from which the component products' SOH is taken to build the assembled product. When the Assembly is completed, the component's SOH will decrease in this warehouse by the Assembly Line's quantity, plus the wastage quantity.

Destinations Warehouse

When the Assembly is completed, the warehouse where the assembled product's SOH will be added.

Assembled Quantity

The quantity being assembled. If the Assembled Quantity is changed, the component quantities in the Assembly Lines will recalculate accordingly.

Can Assembly Quantity (read-only)

Displays the total SOH that can be assembled, based on the component product quantities available in the Source Warehouse. The most constrained component product in the Assembly will determine the assembly's Can Assemble Quantity.

Can Assemble Quantity (All Levels), (read-only)

Displays the total SOH that can be assembled, based on the component and sub-component product quantities available in the Source Warehouse.

Total Cost (read-only)

Displays the current sum-total of all component total costs and Supplier Costs.

Assembly By

Choose the date by which the assembly needs to be completed. If an Expected Duration is provided, it will be used with the Assemble By date to calculate the Estimated Start Date.

Template

Use the drop-down menu to choose which Assemblies Doc Designer template will be used to generate a printed or emailed version of the Assembly.

Bill of Materials (read-only)

If the product being assembled has a BOM, its BOM Number will be displayed in this field. Click on the Bill of Materials field name to open the BOM.

If the product being assembled does not have a BOM, a blue plus icon will be displayed; click on the blue plus icon to create a BOM.

Expected Duration

The time it is expected to take for the assembly to be completed, initially populated from the Expected Duration outlined in the product's BOM.

Actual Duration

Only populated when the Assembly is completed, the Actual Duration shows how long it took for the Assembly to be completed since it was initially created. The time is displayed in hours, minutes, seconds, or a combination e.g., 6h 15m.

Estimated Start Date (read-only)

Using the Assembly's Assemble By and Expected Duration, the Estimated Start Date recommends when production should start to complete the Assembly on time.

Comments

A free text field that will initially populate the Comments included in the product's BOM.

Duration Comments

A free text field that can be used to provide any notes regarding the time it's taken to complete the Assembly e.g., reasons for delays.

Assembly Lines

Below the Assembly's detail fields is an array of tabs that outline products, quantities, and costs that'll be used to complete the Assembly and calculate its final costs. The Assembly Lines tab displays a grid that lists all of the component products and quantities currently included on the Assembly, and is available to edit to align with any real-world adjustments needed for that Assembly, until it is completed.

To add a component product to an Assembly:

  1. Open the Assembly, and go to the Assembly Lines tab.

  2. Search and select the product being added in the Component Product field.

  3. Enter the total quantity required from the component product's SOH to fulfil the Assembled Quantity in the Quantity field.

  4. If any component SOH is expected to be wasted during production of the Assembly, enter that total quantity in the Wastage Qty field.

  5. Click Add.

The table below outlines the grid columns in the Assembly Lines tab, where added component products are listed, and describes how they can be used.

Assembly Lines grid column header

Description

Component Product

The code and description of the component product that is included for an Assembly, displayed in the format "[Product Code] Product Description". Click on the Component Product field for an overview of the product's inventory in the Source Warehouse.

Image (read-only)

Displays the component product's default image.

Quantity

The number of SOH units required of the component product to fulfil the Assembled Quantity. Click on the field to edit.

Wastage

The number of units from the component's SOH that will be wasted during the Assembly's production. Click on the field to edit.

Unit

The component product's base unit of measure.

Available

The component product's current available SOH quantity in the Source Warehouse.

Stock on Hand

The component product's SOH quantity in the Source Warehouse.

Unit Cost

The current cost of one unit of the component product, populated from the product's Average Landed Cost (ALC). If the product has no SOH, thus a zero ALC, the product's Last Cost will be populated instead. If the product is Never Diminishing, the product's Cost will initially populate, but it can be updated in the Assembly Line by clicking on the Unit Cost field.

Total Cost

The sum-total cost of the component product and wastage quantities included in the Assembly, calculated as Unit Cost x (Quantity + Wastage).

Serial

If the component product is serialized, click on the Serial field to allocate serial numbers to the quantity allocated from the component product's Source Warehouse.

Batch

If the component product is batch-tracked, click on the Batch field to allocate the batch numbers to the quantity allocated from the component product's Source Warehouse.

Actions

Hover over the action cog icon and select Delete to remove the component from the Assembly.

Using ​serial and batch-tracked component products

For serialized or batch-tracked component products in an Assembly, the total allocated quantity (including wastage) must be assigned serial numbers and batch numbers from the Source Warehouse's available stock.

The Serial or Batch column in the Assembly Line will display a fraction value to highlight how many units of the allocated component stock have been assigned a serial or batch number. If the fraction is incomplete and highlighted in red, the serial or batch numbers assigned need to be reviewed and updated. When the fraction is complete and highlighted in green, all required serial or batch-tracked stock for the component product are successfully assigned.

Using Never Diminishing Products in Assemblies

To account for intangible costs that are attributed to the assembly of a product, you can use Never Diminishing Products (NDP). NDPs can be added as an Assembly Line to be included in the calculation of the Assembly's total cost.

If your account is integrated with an accounting provider, such as Xero or Quickbooks, when an NDP is added to an Assembly, an additional column called "Expense Account" will be displayed. By default, the Expense Account selected in the NDP's product record will automatically populate, but you can use the drop-down menu available in its Assembly Line to select an alternative Expense Account for the NDP's cost to export to when the Assembly is completed.

Serial and Batch Numbers

If the product being assembled is serialized or batch-tracked, a Serial Number or Batch Numbers tab will be displayed in the Assembly, respectively. Through the Serial or Batch Numbers tabs, you must create or assign the appropriate serial and batch numbers to the SOH being assembled.

Within the Serial or Batch Numbers tab headers, a fraction is shown to identify how many units of the assembling stock have a serial or batch number assigned. You can only complete the Assembly if the fraction in the header is complete and highlighted in green. If the fraction is incomplete or highlighted in red, the serial or batch numbers assigned need to be reviewed and updated.

To assign serial numbers to the SOH being assembled:

  1. Open the Assembly, select the Serial Numbers tab

  2. An "Add serial numbers" pop-up window will show; use the free text field to enter a serial number per unit of stock being assembled, separated by commas or a new line, then select Add Serial.

  3. Click Save.

To assign batch numbers to the SOH being assembled:

  1. Open the Assembly, select the Batch Numbers tab

  2. An "Add batch numbers" pop-up window will show; either select an existing batch number to add the assembling SOH to, or use the Batch Numbers, Expiry Date, and Quantity fields available and select Add Batch to create a new batch.

  3. Click Save.

By-Products

Some manufacturing processes, such as distilling, creating jewelry, and baking, combine several ingredients to form a finished product. These processes also result in leftover material or secondary products, called "By-Products" that can still be consumed, sold, or reused in production.​

In the By-Products tab, in an Assembly, you can identify the products and quantities produced as a result of the Assembly being completed, to update your inventory's SOH accordingly, with a cost that's calculated as a percentage of the assembled product's Total Cost. All By-Products added to an Assembly will be displayed in a grid on the By-Products tab, where you can update the quantity and Cost% per By-Product, as necessary. If the By-Product is serial or batch-tracked, use the Serial and Batch fields available in the grid to advise the serial and batch numbers to the SOH that is produced.

📌 Note: Products that are Never Diminishing cannot be added as a By-Product.

To add a product as a By-Product of an Assembly:

  1. Open the Assembly, and go to the By-Products tab.

  2. Search and select the product being added in the By-Product field.

  3. Enter the total quantity of the By-Product that is produced from the Assembly in the Quantity field.

  4. In the Assembly% field, enter the percentage of the Assembly's Total Cost that will be attributed to the total By-Product quantity that will be added to the product's SOH.

  5. Click Add.

Supplier Costs​

If any of the Assembly's production process incurs costs from a third-party supplier, such as an external laborer or manufacturer, you can include these costs in your Assembly's Total Cost via the Assembly's Supplier Costs tab.

To add costs from a supplier to an Assembly:

  1. Open the Assembly, and go to the Supplier Costs tab.

  2. Search and select the supplier where the costs are incurred in the Supplier field.

  3. Enter the total cost from the supplier, in your supplier's currency, in the Cost field.

  4. Use the Taxable checkbox to confirm whether the supplier's cost should be taxed. Tick the checkbox to add tax.

  5. If the supplier's currency differs from your account's base currency, use the Exchange Rate field to advise the currency rate that will be used to calculate the cost added to the Assembly's Total Cost.

  6. Enter a Cost Date, free text Reference, and any Comments for the supplier's cost in the remaining fields available.

  7. Click Add.

If you are integrated with an account provider, the Cost Date and Reference on the Supplier Cost will be used to generate the Bill to Pay journal that is created when the Assembly is completed. Each Supplier Cost will generate its own unique Bill to Pay, differentiated by the Supplier, Cost Dates, and References included on the Assembly.

Attachments

Add external documents relevant to the Assembly in the Attachments tab. You can either drag and drop files from your device into the upload tile in the Assembly's Attachments tab, select "browse local files" to search and select the files to attach from your device, or select "browse uploaded files" to attach files already uploaded to your account's File Library.

📌 Note: ​The upload file size limit is 20 MB. Supported file formats are: .png, .gif, .jpg, .jpeg, .bmp, .webp, .csv, .pdf, .doc, .xls, .xlsx, .docx, .msg, .dwg, .stp, .dxf, .ppt, .pptx. webp images are not supported in Doc Designer.​

Delete Assemblies

If a Parked Assembly is no longer required, it can be deleted, returning the allocated component stock to your available inventory. Complete Assemblies cannot be deleted. Once an Assembly is deleted the transaction's number cannot be re-used, and you will no longer be able to view the deleted Assembly.

To delete an Assembly, you can either:

  • Open the Assembly and click on the red Delete button in the top right corner.

  • In View Assemblies, hover over the action cog icon in the Assembly's row and select Delete.

  • In View Assemblies, tick the checkbox for each Assembly being deleted, hover over the action cog icon in the grid's header and select Delete.

📌 Note: If a parent Assembly has been deleted, any Sub-Assemblies that were created from it will remain active and unchanged. If the Sub-Assemblies are no longer required, you must manually delete them too.


Sub-Assemblies

If any component products in your Assembly are themselves assembled items that you manufacture, you can create sub-assemblies to produce these components first. This ensures you have the required component stock to complete your main Assembly.

You can create Sub-Assemblies for a parent Assembly in two ways:

  • Individually: Create a sub-assembly, per Assembly Line, for each component that needs to be manufactured.

  • In bulk: Create multiple sub-assemblies at once for Assembly Line components that require manufacturing.

Prerequisites for creating Sub-Assemblies

  • The component product that can also be assembled must have the Type setting "Assembled Product" and "Component Product" enabled.

Create Sub-Assembly

To create an individual Sub-Assembly for a component that's required for a parent assembly:

  1. Open the parent Assembly.

  2. In the Assembly Lines tab, in the Component Product field of the assembling component product's row, click on the blue plus icon.

  3. Depending on the component product's setup:

    1. The Assembly Line's component product does not have a BOM - a Parked Sub-Assembly will be created with no Assembly Lines populated. You can edit and update the Sub-Assembly to fit your manufacturing requirements.

    2. The Assembly Line's component product does have a BOM - a pop-up window will show where you will set the Sub-Assembly's Source and Destination Warehouses, and Assembled Quantity, then click Create Sub-Assembly to confirm.

Create All Auto Sub-Assemblies

To create multiple Sub-Assemblies for the component stock of a parent Assembly:

  1. Open the parent Assembly.

  2. In the Assembly Lines tab, hover over the action cog icon in the Component Product's column header and select Create All Auto Sub Assemblies.

  3. Parked Sub-Assemblies will be created for each component. The Assembled Quantity for each Sub-Assembly will be auto-populated from the product's Assembly Line Quantity.

📌Note: Sub-Assemblies will only be created for component products that require assembly when "Create All Auto Sub Assemblies" is selected, if the component does not have a BOM, or if the setting "Can Auto Assemble" is enabled in the component's BOM. If the component product's BOM has the setting "Can Auto Assemble" disabled, a Sub-Assembly will not be created.

Manage Sub-Assemblies​

Once a Sub-Assembly has been created from a parent and has a Parked or custom Assembly Status, it is open to update and edit. Click on the orange exclamation point icon displayed in the assembling component product's Assembly Line to open the Sub-Assembly.

In the action cog icon, displayed on each row of an Assembly Line tab's grid, depending on the component product's setup, there are various functions available:

  • View Sub Assembly: Only available if a Sub-Assembly has been created for the component product, and will open that Sub-Assembly.

  • Complete Sub Assembly: Only available if a Sub-Assembly has been created for the component, and will update the Sub-Assembly to Complete status.

  • View BOM: Only available if the component has a BOM, and will open that product's BOM.

  • Delete: Will remove the component product from the Assembly. If the component product had a Parked Sub-Assembly, the Sub-Assembly will be deleted.

When viewing a Sub-Assembly, an extra field called "Parent Assembly" will be displayed in the Assembly's details. It will display the reference number of the parent Assembly it was created from, and you can click on the Parent Assembly header to open it.

Complete Sub-Assembles

For a parent Assembly to complete, any Sub-Assemblies that have been created from it will also need to be completed. When a Sub-Assembly is completed, the orange exclamation point icon displayed in the parent Assembly for it will update to show a green tick icon. To complete a Sub-Assembly, you can either:

  • Hover over the action cog icon in the parent Assembly's Assembly Line and select "Complete Sub Assembly".

  • Open the Sub-Assembly and select Complete.

  • Find the Sub-Assembly in View Assemblies and hover over the individual or bulk actions available, and select Complete.

Completing a Sub-Assembly will not trigger the parent Assembly to complete. Similarly, attempting to complete a parent assembly will not trigger the Sub-Assembly to complete. The Sub-Assembly must be manually completed first, and then the parent Assembly can be completed.


Complete Assemblies

An Assembly can only be completed if there is enough component stock on hand in the source warehouse to fulfill the required component quantities. When completed, the Assembly will remove the component products' quantity from the Source Warehouse's SOH, and the Destination Warehouse's SOH will increase for the assembled product's Assembled Quantity.

📌Note: Once an Assembly is in Complete status, it cannot be edited, reversed, or deleted.

To complete an Assembly, you can either:

  • Open the Assembly and select Complete in the top right corner.

  • Find the Assembly in View Assemblies and hover over the individual or bulk actions available, and select Complete.

  • If the Assembly was generated from a Sales Order, open the Sales Order, tick the checkbox in the assembling product's Order Lines, hover over the action cog icon in the Order Lines grid header, and select Complete Assembly.


Frequently asked questions

If a component can be assembled and has a BOM with the setting "Can Auto Assemble" enabled, will a Sub-Assembly be automatically created when the parent Assembly is created?

No, a component that can also be assembled will not automatically create a Sub-Assembly when it's included in a parent Assembly, even if the component product's BOM is enabled for Can Auto Assemble. Auto-Assemblies are only created from a Sales Order. Sub-Assemblies must always be created manually from the parent Assembly.

Can components be sourced from multiple warehouses for a single assembly?

To complete an Assembly, all the required component quantities must be on hand and available in the assembly's "Source Warehouse". It is not possible to source the component stock from alternative warehouses within an Assembly directly. Instead, Warehouse Transfer the component stock to your Assembly's "Source Warehouse", then you can complete the Assembly.

Why can't I complete an Assembly with receipted stock?

You can be prevented from completing Assemblies using component products that are included on receipted Purchase Orders, because Assembly costs are calculated using each component's Average Landed Cost (ALC). When a Purchase Order is only receipted, its stock's final ALC isn't yet determined since additional costs might still be added before the PO is completed. If you need to use receipted stock in Assemblies before the Purchase Order is completed, you can enable the "Use Receipted Stock In Assemblies" setting in your account.

Why won't a parent assembly complete?

If you’re unable to complete a parent assembly, this could be due to its sub-assemblies not being in a completed status. An error message will identify the sub-assemblies that need to be manually completed before the parent assembly can be.

If the parent assembly's "Assemble Quantity" changes, does it's sub-assembly "Assembly Quantity" change?

The "Assembly Quantity" of any sub-assemblies will not automatically change if their parent assembly's "Assembly Quantity" is updated. You will need to manage each sub-assembly manually.

Why can't I make an Assembly for a product?

For an Assembly to be created, the product being assembled must be saved as an "Assembled Product". Go to the product's record, and in the Details tab, under "Type", ensure the "Assembled Product" setting is toggled on, then save the record. The product will then populate in a new assembly's "Product Code" field.

Did this answer your question?