---
title: "Table 5870 BOM Buffer"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/table/5870-bom-buffer/
type: table
id: 5870
name: "BOM Buffer"
app: "Base Application"
namespace: Microsoft.Inventory.BOM
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/table/5870-bom-buffer/source/29/"
checked: 2026-09-20
subject: "Microsoft Dynamics 365 Business Central"
license: "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link."
---

# Table 5870 BOM Buffer

Jonas Paprotka, https://jonas-paprotka.de/ref/table/5870-bom-buffer/

| | |
| --- | --- |
| App | Base Application |
| Namespace | Microsoft.Inventory.BOM |
| Versions | 17-28 |
| Source file | Inventory/BOM/BOMBuffer.Table.al |

## Fields

| Id | Name | Type | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| 1 | Entry No. | Integer | 17-28 | - | - |
| 2 | Type | Enum BOM Type | 17-28 | - | - |
| 3 | No. | Code[20] | 17-28 | - | - |
| 5 | Description | Text[100] | 17-28 | - | - |
| 6 | Unit of Measure Code | Code[10] | 17-28 | - | - |
| 7 | Variant Code | Code[10] | 17-28 | - | - |
| 8 | Location Code | Code[10] | 17-28 | - | - |
| 9 | Replenishment System | Enum Replenishment System | 17-28 | - | - |
| 10 | Indentation | Integer | 17-28 | - | - |
| 11 | Is Leaf | Boolean | 17-28 | - | - |
| 13 | Bottleneck | Boolean | 17-28 | - | - |
| 15 | Routing No. | Code[20] | 17-26 | - | - |
| 16 | Production BOM No. | Code[20] | 17-26 | - | - |
| 20 | Lot Size | Decimal | 17-28 | - | - |
| 21 | Low-Level Code | Integer | 17-28 | - | - |
| 22 | Rounding Precision | Decimal | 17-28 | - | - |
| 30 | Qty. per Parent | Decimal | 17-28 | - | - |
| 31 | Qty. per Top Item | Decimal | 17-28 | - | - |
| 32 | Able to Make Top Item | Decimal | 17-28 | - | - |
| 33 | Able to Make Parent | Decimal | 17-28 | - | - |
| 35 | Available Quantity | Decimal | 17-28 | - | - |
| 36 | Gross Requirement | Decimal | 17-28 | - | - |
| 37 | Scheduled Receipts | Decimal | 17-28 | - | - |
| 38 | Unused Quantity | Decimal | 17-28 | - | - |
| 40 | Lead Time Calculation | DateFormula | 17-28 | - | - |
| 41 | Lead-Time Offset | DateFormula | 17-28 | - | - |
| 42 | Rolled-up Lead-Time Offset | Integer | 17-28 | - | - |
| 43 | Needed by Date | Date | 17-28 | - | - |
| 45 | Safety Lead Time | DateFormula | 17-28 | - | - |
| 50 | Unit Cost | Decimal | 17-28 | - | - |
| 52 | Indirect Cost % | Decimal | 17-28 | - | - |
| 54 | Overhead Rate | Decimal | 17-28 | - | - |
| 55 | Scrap % | Decimal | 17-28 | - | - |
| 56 | Scrap Qty. per Parent | Decimal | 17-28 | - | - |
| 57 | Scrap Qty. per Top Item | Decimal | 17-28 | - | - |
| 59 | Resource Usage Type | Option | 17-28 | - | - |
| 61 | Single-Level Material Cost | Decimal | 17-28 | - | - |
| 62 | Single-Level Capacity Cost | Decimal | 17-28 | - | - |
| 63 | Single-Level Subcontrd. Cost | Decimal | 17-28 | - | - |
| 64 | Single-Level Cap. Ovhd Cost | Decimal | 17-28 | - | - |
| 65 | Single-Level Mfg. Ovhd Cost | Decimal | 17-28 | - | - |
| 66 | Single-Level Scrap Cost | Decimal | 17-28 | - | - |
| 71 | Rolled-up Material Cost | Decimal | 17-28 | - | - |
| 72 | Rolled-up Capacity Cost | Decimal | 17-28 | - | - |
| 73 | Rolled-up Subcontracted Cost | Decimal | 17-28 | - | - |
| 74 | Rolled-up Capacity Ovhd. Cost | Decimal | 17-28 | - | - |
| 75 | Rolled-up Mfg. Ovhd Cost | Decimal | 17-28 | - | - |
| 76 | Rolled-up Scrap Cost | Decimal | 17-28 | - | - |
| 77 | Single-Lvl Mat. Non-Invt. Cost | Decimal | 26-28 | - | - |
| 78 | Rolled-up Mat. Non-Invt. Cost | Decimal | 26-28 | - | - |
| 81 | Total Cost | Decimal | 17-28 | - | - |
| 82 | BOM Unit of Measure Code | Code[10] | 17-28 | - | - |
| 83 | Qty. per BOM Line | Decimal | 17-28 | - | - |
| 84 | Inventoriable | Boolean | 17-28 | - | - |
| 85 | Calculation Formula | Enum Quantity Calculation Formula | 20-28 | - | - |

## Keys

| Name | Fields | Versions |
| --- | --- | --- |
| Key1, clustered | Entry No. | 17-28 |
| Key2 | Low-Level Code | 17-28 |
| Key3 | Type, No., Indentation | 17-28 |
| Key4 | Total Cost | 17-28 |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| TransferFromItem | (var Integer, Record Item, Date) | - | public | 17-28 | - | - |
| TransferFromAsmHeader | (var Integer, Record Assembly Header) | - | public | 17-26 | - | - |
| TransferFromAsmLine | (var Integer, Record Assembly Line) | - | public | 17-26 | - | - |
| TransferFromBOMComp | (var Integer, Record BOM Component, Integer, Decimal, Decimal, Date, Code[10]) | - | public | 17-28 | - | - |
| TransferFromProdComp | (var Integer, Record Production BOM Line, Integer, Decimal, Decimal, Decimal, Date, Code[10], Record Item, Decimal) | - | public | 17-26 | - | - |
| TransferFromProdOrderLine | (var Integer, Record Prod. Order Line) | - | public | 17-26 | - | - |
| TransferFromProdOrderComp | (var Integer, Record Prod. Order Component) | - | public | 17-26 | - | - |
| TransferFromProdRouting | (var Integer, Record Routing Line, Integer, Decimal, Date, Code[10]) | - | public | 17-26 | - | - |
| InitFromItem | (Record Item) | - | public | 17-28 | - | - |
| InitFromRes | (Record Resource) | - | public | 17-28 | - | - |
| InitFromMachineCenter | (Record Machine Center) | - | public | 17-26 | - | - |
| InitFromWorkCenter | (Record Work Center) | - | public | 17-26 | - | - |
| UpdateAbleToMake | (Decimal) | - | public | 17-28 | - | - |
| AddMaterialCost | (Decimal, Decimal) | - | public | 17-28 | - | - |
| AddCapacityCost | (Decimal, Decimal) | - | public | 17-28 | - | - |
| AddSubcontrdCost | (Decimal, Decimal) | - | public | 17-28 | - | - |
| AddCapOvhdCost | (Decimal, Decimal) | - | public | 17-28 | - | - |
| AddMfgOvhdCost | (Decimal, Decimal) | - | public | 17-28 | - | - |
| AddScrapCost | (Decimal, Decimal) | - | public | 17-28 | - | - |
| GetItemCosts | () | - | public | 17-28 | - | - |
| GetResCosts | () | - | public | 17-28 | - | - |
| RoundCosts | (Decimal) | - | public | 17-28 | - | - |
| CalcOvhdCost | () | - | public | 17-28 | - | - |
| CalcDirectCost | () | Decimal | public | 17-28 | - | - |
| CalcIndirectCost | () | Decimal | public | 17-28 | - | - |
| CalcUnitCost | () | - | public | 17-28 | - | - |
| IsLineOk | (Boolean, var Record BOM Warning Log) | Boolean | public | 17-28 | - | - |
| AreAllLinesOk | (var Record BOM Warning Log) | Boolean | public | 17-28 | - | - |
| SetLocationVariantFiltersFrom | (var Record Item) | - | public | 17-28 | - | - |
| GetItemUnitCost | () | - | public | 24-28 | - | - |
| AddNonInvMaterialCost | (Decimal, Decimal) | - | public | 26-28 | - | - |
| RoundUnitAmt | (Decimal, Decimal) | Decimal | public | 27-28 | - | - |
| SetItemWarningLog | (var Record BOM Warning Log, var Record Item, Text) | - | public | 27-28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnAfterInitFromItem | (var Record BOM Buffer, Record Item) | 17-22 | - | - |
| Integration event | OnAfterInitFromRes | (var Record BOM Buffer, Record Resource) | 17-28 | - | - |
| Integration event | OnAfterInitFromMachineCenter | (var Record BOM Buffer, Record Machine Center) | 17-26 | - | - |
| Integration event | OnAfterInitFromWorkCenter | (var Record BOM Buffer, Record Work Center) | 17-26 | - | - |
| Integration event | OnBeforeInitFromItem | (var Record BOM Buffer, Record Item, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeInitFromRes | (var Record BOM Buffer, Record Resource, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeInitFromMachineCenter | (var Record BOM Buffer, Record Machine Center, var Boolean) | 17-26 | - | - |
| Integration event | OnbeforeInitFromWorkCenter | (var Record BOM Buffer, Record Work Center, var Boolean) | 17-26 | - | - |
| Integration event | OnTransferFromItemCopyFields | (var Record BOM Buffer, Record Item) | 17-28 | - | - |
| Integration event | OnTransferFromAsmHeaderCopyFields | (var Record BOM Buffer, Record Assembly Header) | 17-26 | - | - |
| Integration event | OnTransferFromAsmLineCopyFields | (var Record BOM Buffer, Record Assembly Line) | 17-26 | - | - |
| Integration event | OnTransferFromBOMCompCopyFields | (var Record BOM Buffer, Record BOM Component) | 17-28 | - | - |
| Integration event | OnTransferFromProdCompCopyFields | (var Record BOM Buffer, Record Production BOM Line, Record Item, Decimal) | 17-22 | - | - |
| Integration event | OnTransferFromProdOrderLineCopyFields | (var Record BOM Buffer, Record Prod. Order Line) | 17-26 | - | - |
| Integration event | OnTransferFromProdOrderCompCopyFields | (var Record BOM Buffer, Record Prod. Order Component) | 17-26 | - | - |
| Integration event | OnTransferFromProdRoutingCopyFields | (var Record BOM Buffer, Record Routing Line) | 17-26 | - | - |
| Integration event | OnAfterGetItemCosts | (var Record BOM Buffer, Record Item) | 18-28 | - | - |
| Integration event | OnAfterIsLineOk | (var Record BOM Buffer, Boolean, var Record BOM Warning Log, var Boolean) | 18-28 | - | - |
| Integration event | OnAfterRoundCosts | (var Record BOM Buffer, Decimal) | 18-28 | - | - |
| Integration event | OnAfterTransferFromProdComp | (var Record BOM Buffer, Record Production BOM Line, Record Item, var Integer) | 18-26 | - | - |
| Integration event | OnGetItemCostsOnBeforeRoundCosts | (var Record BOM Buffer) | 18-26 | - | - |
| Integration event | OnAfterCalcUnitCost | (Record BOM Buffer) | 21-22 | - | - |
| Integration event | OnBeforeCalcOvhdCost | (var Record BOM Buffer, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeIsBOMOk | (var Record BOM Buffer, var Boolean, var Boolean) | 21-23 | - | - |
| Integration event | OnBeforeIsLowLevelOk | (var Record BOM Buffer, var Boolean, var Boolean) | 21-23 | - | - |
| Integration event | OnBeforeTransferFromProdComp | (var Integer, Record Production BOM Line, Integer, Decimal, Decimal, Decimal, Date, Code[10], Record Item, Decimal, var Boolean) | 21-26 | - | - |
| Integration event | OnBeforeUpdateAbleToMake | (var Record BOM Buffer, var Decimal, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeIsQtyPerOk | (var Record BOM Buffer, var Record BOM Warning Log, Boolean, var Boolean, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeIsReplenishmentOk | (var Record BOM Buffer, var Record BOM Warning Log, Boolean, var Boolean, var Boolean) | 21-28 | - | - |
| Integration event | OnAfterCalcUnitCost | (var Record BOM Buffer) | 23-28 | - | - |
| Integration event | OnAfterInitFromItem | (var Record BOM Buffer, Record Item, Record Stockkeeping Unit) | 23-28 | - | - |
| Integration event | OnTransferFromProdCompCopyFields | (var Record BOM Buffer, Record Production BOM Line, Record Item, Decimal, Decimal) | 23-26 | - | - |
| Integration event | OnBeforeRoundUnitAmt | (Decimal, Decimal, var Boolean, var Decimal) | 23-28 | - | - |
| Integration event | OnBeforeIsBOMOk | (var Record BOM Buffer, var Boolean, var Boolean, var Boolean, var Record BOM Warning Log) | 24-28 | - | - |
| Integration event | OnBeforeIsLowLevelOk | (var Record BOM Buffer, var Boolean, var Boolean, var Boolean, var Record BOM Warning Log) | 24-28 | - | - |
| Integration event | OnGetItemCostsOnBeforeRoundCosts | (var Record BOM Buffer, var Record Item) | 27-28 | - | - |
| Integration event | OnAfterCalcDirectCost | (var Record BOM Buffer, var Decimal) | 27-28 | - | - |
| Integration event | OnAfterCalcIndirectCost | (var Record BOM Buffer, var Decimal) | 27-28 | - | - |
| Integration event | OnAfterCalcOvhdCost | (var Record BOM Buffer, Decimal) | 27-28 | - | - |
| Integration event | OnAfterGetUnitCost | (var Record BOM Buffer, var Record Item) | 27-28 | - | - |
| Integration event | OnIsQtyPerOKOnAfterCheckItemAssemblyBOM | (Record Item, var Record BOM Warning Log) | 27-28 | - | - |
| Integration event | OnInitFromItemOnAfterSetReplenishmentSystem | (var Record BOM Buffer, Record Item, Record Stockkeeping Unit) | 27-28 | - | - |
| Integration event | OnAfterSetLocationVariantFiltersFrom | (var Record BOM Buffer, var Record Item) | 27-28 | - | - |

## Source

Symbols: Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972, https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json, highest build per major on 2026-09-20.
AL source 29: https://github.com/microsoft/BCApps, MIT, releases/29.x at a66254c3b8b5bb1cea290dc8f9d097aec4381153.

Jonas Paprotka, 2026-09-20.
