BOM Aggregate Statement Posting

In this article

Overview

To enable BOM aggregate statement posting

To monitor and manage BOM aggregate staging

To automate BOM aggregate posting

Posted statement fields

See also

Hospitality operations that use recipes (Bills of Materials, or BOMs) generate a large number of ingredient-level item ledger entries when statements are posted. The BOM Aggregate Statement Posting feature reduces this volume by consolidating ingredient adjustments before they are committed to the item ledger.

Note: This is particularly useful when the same recipe ingredients are consumed across multiple POS terminals on the same day.

Overview

When Aggregate BOM at Statement Posting is enabled in Retail Setup, the statement posting process changes as follows:

  1. During statement posting, BOM ingredient journal lines (positive and negative adjustments originating from recipe explosion) are captured in a staging table (Aggregate BOM Staging) instead of being posted directly to the item ledger.
  2. A separate aggregation step reads the staging table, sums the quantities and amounts per item, variant, location, unit of measure, and dimension set, and posts a single item ledger entry per group.
  3. After the aggregation step is complete, the posted statement is marked with BOM Aggregate Posted.

Note: Only item journal lines that have a BO document number and an entry type of Positive Adjmt. or Negative Adjmt. are staged. All other lines, including sales and financial lines, are posted immediately during statement posting as before.

Note: If Prevent Negative Inventory is enabled in the inventory setup, enabling this feature may cause statement posting to fail if the staged quantities would result in a negative inventory balance. Review your inventory settings before enabling this feature in a live environment.

To enable BOM aggregate statement posting

  1. Click the icon, enter Retail Setup, and select the relevant link.
  2. On the Statement FastTab, enable Aggregate BOM at Statement Posting.
  3. If Prevent Negative Inventory is turned on in your inventory setup, the system displays a warning. Review the warning and decide whether to proceed.
  4. Close the page. The setting takes effect for all subsequent statement postings.

To monitor and manage BOM aggregate staging

The BOM Aggregate Dashboard page gives you an overview of all posted statements that have staging records pending aggregation. Use it to track which statements have been processed and to manually resolve any statements that cannot be aggregated automatically.

  1. Click the icon, enter BOM Aggregate Dashboard, and select the relevant link.
  2. The Summary section shows three counts:
  • Total Statements — total posted statements that have BOM staging records.
  • Total Statements Posted — statements for which the BOM aggregation has already been posted.
  • Total Statements Not Posted — statements still waiting for BOM aggregation.
  1. The Details section shows two subpages:
  • Posted Statements — lists the posted statements with staging records. Select a statement to filter the staging lines below.
  • BOM Staging Lines — shows the individual ingredient staging lines for the selected statement.
  1. To view the aggregated result for a statement before posting, select the statement in the Posted Statements list and choose View BOM Aggregate. The BOM Aggregate Query Results page opens and shows the quantities and amounts as they will be posted after aggregation.
  1. To manually mark a statement as aggregate-posted (for example, if its staging data is problematic and you want to exclude it from the automatic job), select the statement and choose Mark Statement As Aggregate BOM Posted.

To automate BOM aggregate posting

You can schedule the aggregation and posting step as a Scheduler job so that it runs automatically after statement posting is complete.

  1. Click the icon, enter Scheduler Job List, and select the relevant link.
  2. Create a new scheduler job.
  3. Set the Object ID to the codeunit LSC Aggregate BOM Post (object ID 10000843).
  4. Optionally, set the Integer parameter to limit the number of statements processed per job run. Set it to 0 to process all pending statements.
  5. Schedule the job to run after all stores have completed their statement posting for the day.

Note: The scheduler job processes all posted statements that have BOM staging records and are not yet marked as aggregate-posted. It marks each statement as BOM Aggregate Posted after successfully posting its aggregated item journal lines.

Posted statement fields

Two new fields appear on the Posted Statement card after this feature is enabled:

Field Description
BOM Aggregate Staging Specifies the number of staging records for BOM aggregation for the statement. A value greater than zero means the statement has ingredient lines waiting to be aggregated and posted.
BOM Aggregate Posted Specifies whether the BOM aggregation for the statement has been posted. When set to true, the statement will not be processed again by the aggregation scheduler job.

See also

Recipe BOM Methods

Recipes

Calculating and Posting Statements