Skip to content
D365 Reference

BOMTable

main

Bill of materials header — one row per BOM identifier, with its name, approval state, and production site; versions in BOMVersion decide which items use it and when

Module: Production ControlCompany-partitioned (DataAreaId)
What the badges mean
main
Table group: how F&O categorizes the table's role — main entity, group/header, transaction, worksheet header, worksheet line, reference, parameter, or framework.
Shared across companies
The table carries no DataAreaId— rows aren’t partitioned per company, so a query never needs (and can’t use) a company filter here (see the quirks guide).
Date-effective
The table carries a ValidFrom/ValidTo effectivity window — a join without a date filter multiplies every key by its history (see the quirks guide).
In field listings, K marks a key field.

Header & line

BOMTable is the header for its lines in BOM.

Fields

8 fields · 1 key

8 fields.

Table fields: key flag, field name, extended data type, description, data type, length, and quirk flags. 8 fields.
KeyFieldEDTDescriptionTypeLengthFlags
KeyBOMIdBOMIdThe BOM identifier — the natural key BOM lines and versions join onstring20
NameBOM namestring60
ItemGroupIdItem group used to filter and organize BOMsstring
SiteIdInventSiteIdProduction site the BOM applies to; blank means site-independentstring10
ApprovedWhether the BOM header is approved for useenum
ApproverRecIdRecId of the worker who approved the BOMint64
CheckBOMWhether circular-reference checking is enforced for this BOMenum
PmfBOMFormulaWhether the record is a discrete BOM or a process-manufacturing formulaenum

Field provenance: hand-curated.

Boilerplate SQL

Starting point for reading BOMTable on Databricks — enums are decoded, 1900-01-01 dates are wrapped to NULL, and the DataAreaId anchor is in place. Set your Unity Catalog location, company, and filter values below; they’re substituted into the SQL and the copy button.

Query parameters

3 parameters not filled: <catalog>, <schema>, <company>

-- ============================================================
-- Table  : BOMTable Bill of materials header — one row per BOM identifier, with its name, approval state, and production site; versions in BOMVersion decide which items use it and when
-- Purpose: Column-selected read of BOMTable — auto-generated from field metadata
-- Grain  : One row per company (dataareaid) + BOMId
-- Notes  : Auto-generated skeleton for Synapse Link / Fabric Link-landed F&O data (lowercase column names). Enums decoded inline where verified; datetimes stored in UTC; 1900-01-01 dates are sentinels mapped to NULL. System/audit columns omitted — see the quirks guide.
-- ============================================================
SELECT
  b.bomid AS "The BOM identifier — the natural key BOM lines and versions join on",
  b.name AS "BOM name",
  b.itemgroupid AS "Item group used to filter and organize BOMs",
  b.siteid AS "Production site the BOM applies to; blank means site-independent",
  b.approved AS "Whether the BOM header is approved for use",  -- enum: decode b.approved via GlobalOptionsetMetadata join — see quirks guide #enums
  b.approver AS "RecId of the worker who approved the BOM",
  b.checkbom AS "Whether circular-reference checking is enforced for this BOM",  -- enum: decode b.checkbom via GlobalOptionsetMetadata join — see quirks guide #enums
  b.pmfbomformula AS "Whether the record is a discrete BOM or a process-manufacturing formula"  -- enum: decode b.pmfbomformula via GlobalOptionsetMetadata join — see quirks guide #enums
FROM <catalog>.<schema>.bomtable b
WHERE
  b.dataareaid = '<company>'
ORDER BY b.bomid;

Verified September 2026

Relationships

Diagram of 1-hop neighbors — join details below. RecId and InventDim edges are highlighted; they’re the joins newcomers most often get wrong.

Join details

  • BOMTableBOMheader line · 1:N
    ON bomtable.bomid = bom.bomid AND bomtable.dataareaid = bom.dataareaid
  • ProdTableBOMTableforeign key · N:1
    ON prodtable.bomid = bomtable.bomid AND prodtable.dataareaid = bomtable.dataareaid
  • BOMVersionBOMTableforeign key · N:1
    ON bomversion.bomid = bomtable.bomid AND bomversion.dataareaid = bomtable.dataareaid

Data Entities That Expose This Table

More Production Control tables

Maintained by Summit Analytics, a supply chain analytics practice. The tools and references are free — the consulting is selective.

Part of the Summit Analytics reference library.

Work with the practice

Not affiliated with or endorsed by Microsoft. Microsoft, Dynamics 365, and Microsoft Fabric are trademarks of the Microsoft group of companies.