D365 Reference
InventDim
mainThe inventory dimension hub — one row per unique combination of site, warehouse, location, batch, and serial that every stock quantity hangs off by InventDimId
Module: InventoryCompany-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/ValidToeffectivity 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.
Used in the library
Dashboard patterns
D-01Inventory Health
Cross-ERP guides
Fields
25 fields · 1 key
25 fields.
| Key | Field | EDT | Description | Type | Length | Flags |
|---|---|---|---|---|---|---|
| Key | inventDimId | InventDimId | The key that identifies one unique combination of inventory dimensions; every stock quantity carries it | string | 25 | |
| InventSiteId | InventSiteId | Site (the highest inventory dimension) for the combination | string | 10 | ||
| InventLocationId | InventLocationId | Warehouse for the combination | string | 10 | ||
| wMSLocationId | Storage location (bin) within the warehouse | string | 25 | |||
| inventBatchId | Batch number for batch-tracked items | string | 20 | |||
| configId | Product configuration for the combination | string | 10 | |||
| inventSerialId | Serial number for serial-tracked items | string | ||||
| InventStatusId | Inventory status (available, blocked…) used by warehouse management | string | ||||
| LicensePlateId | License plate (pallet/container id) holding the stock, in WMS-enabled warehouses | string | ||||
| InventColorId | Color product dimension of the combination | string | ||||
| InventSizeId | Size product dimension of the combination | string | ||||
| InventStyleId | Style product dimension of the combination | string | ||||
| InventVersionId | Version product dimension of the combination | string | ||||
| InventDimension1 | Custom inventory dimension slot 1 (unused unless activated in the deployment) | string | ||||
| InventDimension2 | Custom inventory dimension slot 2 | string | ||||
| InventDimension3 | Custom inventory dimension slot 3 | string | ||||
| InventDimension4 | Custom inventory dimension slot 4 | string | ||||
| InventDimension5 | Custom inventory dimension slot 5 | string | ||||
| InventDimension6 | Custom inventory dimension slot 6 | string | ||||
| InventDimension7 | Custom inventory dimension slot 7 | string | ||||
| InventDimension8 | Custom inventory dimension slot 8 | string | ||||
| InventDimension9 | Custom inventory dimension slot 9 (the CDM schema types this slot as a date) | date | ||||
| InventDimension10 | Custom inventory dimension slot 10 (the CDM schema types this slot as a decimal) | real | ||||
| InventDimension11 | Custom inventory dimension slot 11 | string | ||||
| InventDimension12 | Custom inventory dimension slot 12 | string |
Field provenance: hand-curated.
Boilerplate SQL
Starting point for reading InventDim 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 : InventDim The inventory dimension hub — one row per unique combination of site, warehouse, location, batch, and serial that every stock quantity hangs off by InventDimId
-- Purpose: Column-selected read of InventDim — auto-generated from field metadata
-- Grain : One row per company (dataareaid) + inventDimId
-- 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
id.inventdimid AS "The key that identifies one unique combination of inventory dimensions; every stock quantity carries it",
id.inventsiteid AS "Site (the highest inventory dimension) for the combination",
id.inventlocationid AS "Warehouse for the combination",
id.wmslocationid AS "Storage location (bin) within the warehouse",
id.inventbatchid AS "Batch number for batch-tracked items",
id.configid AS "Product configuration for the combination",
id.inventserialid AS "Serial number for serial-tracked items",
id.inventstatusid AS "Inventory status (available, blocked…) used by warehouse management",
id.licenseplateid AS "License plate (pallet/container id) holding the stock, in WMS-enabled warehouses",
id.inventcolorid AS "Color product dimension of the combination",
id.inventsizeid AS "Size product dimension of the combination",
id.inventstyleid AS "Style product dimension of the combination",
id.inventversionid AS "Version product dimension of the combination",
id.inventdimension1 AS "Custom inventory dimension slot 1 (unused unless activated in the deployment)",
id.inventdimension2 AS "Custom inventory dimension slot 2",
id.inventdimension3 AS "Custom inventory dimension slot 3",
id.inventdimension4 AS "Custom inventory dimension slot 4",
id.inventdimension5 AS "Custom inventory dimension slot 5",
id.inventdimension6 AS "Custom inventory dimension slot 6",
id.inventdimension7 AS "Custom inventory dimension slot 7",
id.inventdimension8 AS "Custom inventory dimension slot 8",
id.inventdimension9 AS "Custom inventory dimension slot 9 (the CDM schema types this slot as a date)",
id.inventdimension10 AS "Custom inventory dimension slot 10 (the CDM schema types this slot as a decimal)",
id.inventdimension11 AS "Custom inventory dimension slot 11",
id.inventdimension12 AS "Custom inventory dimension slot 12"
FROM <catalog>.<schema>.inventdim id
WHERE
id.dataareaid = '<company>'
ORDER BY id.inventdimid;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
ON inventtrans.inventdimid = inventdim.inventdimid AND inventtrans.dataareaid = inventdim.dataareaidON inventsum.inventdimid = inventdim.inventdimid AND inventsum.dataareaid = inventdim.dataareaidON inventjournaltrans.inventdimid = inventdim.inventdimid AND inventjournaltrans.dataareaid = inventdim.dataareaidON inventdim.inventbatchid = inventbatch.inventbatchid AND inventdim.dataareaid = inventbatch.dataareaidON inventdim.wmslocationid = wmslocation.wmslocationid AND inventdim.dataareaid = wmslocation.dataareaidON inventitemprice.inventdimid = inventdim.inventdimid AND inventitemprice.dataareaid = inventdim.dataareaidON salesline.inventdimid = inventdim.inventdimid AND salesline.dataareaid = inventdim.dataareaidON custinvoicetrans.inventdimid = inventdim.inventdimid AND custinvoicetrans.dataareaid = inventdim.dataareaidON purchline.inventdimid = inventdim.inventdimid AND purchline.dataareaid = inventdim.dataareaidON vendinvoicetrans.inventdimid = inventdim.inventdimid AND vendinvoicetrans.dataareaid = inventdim.dataareaidON prodtable.inventdimid = inventdim.inventdimid AND prodtable.dataareaid = inventdim.dataareaidON prodbom.inventdimid = inventdim.inventdimid AND prodbom.dataareaid = inventdim.dataareaidON bom.inventdimid = inventdim.inventdimid AND bom.dataareaid = inventdim.dataareaidON bomversion.inventdimid = inventdim.inventdimid AND bomversion.dataareaid = inventdim.dataareaidON routeversion.inventdimid = inventdim.inventdimid AND routeversion.dataareaid = inventdim.dataareaidON forecastsales.inventdimid = inventdim.inventdimid AND forecastsales.dataareaid = inventdim.dataareaidON reqtrans.covinventdimid = inventdim.inventdimid AND reqtrans.dataareaid = inventdim.dataareaidON whsloadline.inventdimid = inventdim.inventdimid AND whsloadline.dataareaid = inventdim.dataareaidON whsworkline.inventdimid = inventdim.inventdimid AND whsworkline.dataareaid = inventdim.dataareaid
Data Entities That Expose This Table
No standard export entity — land the raw table; every stock quantity resolves through it.
More Inventory tables
- InventItemPriceItem price records — activated cost, purchase, and sales prices per item, costing version, and dimension; the source for standard-cost analysis
- InventJournalTableInventory journal header — one row per movement, adjustment, transfer, BOM, or counting journal, with its type, posting status, and line count
- InventJournalTransInventory journal line — one row per item movement in a journal, with quantity, cost, counted figures, and the dimension combination it posts against
- InventLocationWarehouse master — one row per warehouse (inventory location) with its site and type
- InventSiteSite master — one row per operational site, the top of the inventory dimension hierarchy that warehouses roll up to
- InventSumAggregated on-hand quantities by item and inventory dimension — physical, available, and posted balances