How M3's six-part balance identity (item / warehouse / location / lot / container / status) becomes a configurable set of D365 inventory dimensions, and what the consequences of dimension group design are for inventory close, costing, and warehouse operations.
Every stock position in M3 is identified by a six-part balance identity: item, warehouse, location, lot, container, and status. This is not a single record — it is a composite key that points to a specific physical quantity at a specific place with a specific traceability identity.
MITBAL is the aggregate: how much of item X is in warehouse Y in total. MITLOC is the detail: how much of item X is at location A-01-01 in warehouse Y in lot L2024-001. MITPOS records allocations — stock that has been reserved for a customer order line or production order but has not yet been physically moved.
D365's InventDim table holds a row for every unique combination of active inventory dimensions. The inventory transaction table (InventTrans) and the on-hand table (InventSum) reference an InventDimId foreign key rather than embedding dimension values directly.
M3 holds allocations in MITPOS: when a customer order line is confirmed, a quantity is allocated from MITBAL and recorded against the order line. This allocation gates what can be picked.
Stock transfers between warehouses in M3 are typically distribution orders with a formal shipment leg and receipt leg, creating in-transit inventory. D365's transfer order (InventTransferTable) mirrors this structure exactly: the order has a Ship status (reduces source warehouse balance, creates in-transit quantity) and a Receive status…
M3 runs periodic cost revaluation to update inventory values, particularly for items costed by weighted average. D365's equivalent process is inventory close (for FIFO/LIFO/weighted-average costing) and inventory recalculation (a mid-period adjustment that does not mark transactions as closed).
M3's six-part balance identity (item / warehouse / location / lot / container / status) maps directly onto D365's InventDim framework. The design difference is that D365's dimensions are configurable: the set of active dimensions is determined by storage and tracking dimension groups, assigned per product, and immutable once inventory…