Design Details - Assembly Order Posting | Microsoft Docs

Assembly order posting is based on the same principles as when posting the similar activities of sales orders and production consumption/output. However, the principles are combined in that assembly orders have their own posting UI, like that for sales orders, while the actual entry posting happens in the background as direct item and resource journal postings, like that for production consumption, output, and capacity.

Similarly to production order posting, the consumed components and the used resources are converted and output as the assembly item when the assembly order is posted. For more information, see Design Details: Production Order Posting. However, the cost flow for assembly orders is less complex, especially because assembly cost posting only occurs once and therefore does not generate work-in-process inventory.

The following journal postings occur during assembly order posting:

The following diagram shows the structure of item and resource ledger entries that result from assembly order posting.

Item, resource, and capacity ledger entries resulting from assembly order posting


Machine and work centers are included to illustrate that capacity ledger entries are created from both production and assembly.

The following diagram shows how assembly data flows into ledger entries during posting:

Assembly-related entry flow during posting

Posting Sequence

The posting of an assembly order occurs in the following order:

  1. The assembly order lines are posted.
  2. The assembly order header is posted.

The following table outlines the sequence of actions.

Action Description
Initialize Posting 1. Make preliminary checks.
2. Add posting number and modify the assembly order header.
3. Release the assembly order.
  1. Create the posted assembly order header.
  2. Copy comment lines.
  3. Post assembly order lines (consumption):

    1. Create a status page to calculate assembly consumption.
    2. Get the remaining quantity on which the item journal line will be based.
    3. Reset the consumed and remaining quantities.
    4. For assembly order lines of type Item:

      1. Populate fields on the item journal line.
      2. Transfer reservations to the item journal line.
      3. Post the item journal line to create the item ledger entries.
      4. Create warehouse journal lines and post them.
    5. For assembly order lines of type Resource:

      1. Populate fields on the item journal line.
      2. Post the item journal line. This creates capacity ledger entries.
      3. Create and post resource journal line.
    6. Transfer field values from the assembly order line into a newly created posted assembly order line.
  4. Post the assembly order header (output):

    1. Populate fields on the item journal line.
    2. Transfer reservations to the item journal line.
    3. Post the item journal line to create the item ledger entries.
    4. Create warehouse journal lines and post them.
    5. Reset the assembly quantities and remaining quantities.

Unlike for production output, which is posted at expected cost, assembly output is posted at actual cost.

Cost Adjustment

Once an assembly order is posted, meaning that components (material) and resources are assembled into a new item, then it should be possible to determine the actual cost of that assembly item, and the actual inventory cost of the components involved. This is achieved by forwarding costs from the posted entries of the source (the components and resources) to the posted entries of the destination (the assembly item). The forwarding of costs is done by calculating and generating new entries, called adjustment entries that become associated with the destination entries.

The assembly costs to be forwarded are detected with the Order Level detection mechanism. For information about other adjustment detection mechanisms, see Design Details: Cost Adjustment.

Detecting the Adjustment

The order Level detection function is used in conversion scenarios, production and assembly. The function works as follows:

The following graphic shows the adjustment entry structure and how assembly costs are adjusted.

Assembly-related entry flow during cost adjustment

Performing the Adjustment

The spreading of detected adjustments from material and resource costs onto the assembly output entries is performed by the Adjust Cost – Item Entries batch job. It contains the Make Multilevel Adjustment function, which consists of the following two elements:

Summary of the cost adjustment algorithm for assembly posting


The Make WIP Adjustments element, in lines 7 and 8, is responsible for forwarding production material and capacity usage to the output of unfinished production orders. This is not used when adjusting assembly order costs as the concept of WIP does not apply to assembly.

For information about how costs from assembly and production are posted to the general ledger, see Design Details: Inventory Posting.

Assembly Costs are Always Actual

The concept of work in process (WIP) does not apply in assembly order posting. Assembly costs are only posted as actual cost, never as expected cost. For more information, see Design Details: Expected Cost Posting.

This is enabled by the following data structure.

In addition, posting group fields on the assembly order header and assembly order lines are populated by default as follows.

Entity Type Posting Group Gen. Prod. Posting Group
Assembly Order Header Item Inventory Posting Group Gen. Prod. Posting Group
Assembly Order Line Item Inventory Posting Group Gen. Prod. Posting Group
Assembly Order Line Resource Gen. Prod. Posting Group

Accordingly, only actual costs are posted to the general ledger, and no interim accounts are populated from assembly order posting. For more information, see Design Details: Accounts in the General Ledger

Assemble to Order

The item ledger entry that results from posting an assemble-to-order sale is fixed applied to the related item ledger entry for the assembly output. Accordingly, the cost of an assemble-to-order sale is derived from the assembly order that it was linked to.

Item ledger entries of type Sale that result from posting assemble-to-order quantities are marked with Yes in the Assemble to Order field.

Posting sales order lines where a part is inventory quantity and another part is assemble-to-order quantity results in separate item ledger entries, one for the inventory quantity and one for the assemble-to-order quantity.

See Also

Design Details: Inventory Costing
Design Details: Production Order Posting
Design Details: Costing Methods
Managing Inventory Costs
Working with Business Central

© 2019 Microsoft. All rights reserved.