Warehouses, on-hand, tracking dimensions, and the balance migration

How Epicor's Warehouse/Bin/PartBin inventory structure maps to D365 warehouses, locations, storage dimension groups, and tracking dimension groups — and how to land opening balances with quantities, values, and lot/serial identity intact.

What you will be able to do

Introduction

Epicor tracks inventory by Part × Site × Warehouse × Bin, with lot and serial numbers as additional identifiers on tracked parts. The on-hand quantity at any moment is the aggregate of PartBin records — one per combination of item, warehouse, and bin.

Warehouse and bin — the storage structure

The site dimension is always active in D365 — every inventory transaction must specify a site. The warehouse dimension is also mandatory in most configurations. Location (the bin equivalent) is optional and controlled by the storage dimension group.

The Advanced Warehouse Management decision

It is per-warehouse, not per-site or per-company. One site can have basic warehouses and advanced warehouses side by side. It is irreversible once transactions exist. A warehouse enabled for WHS cannot revert to basic warehousing after inventory transactions have been posted. It is not a configuration switch.

On-hand structure — PartBin to InventSum

Epicor aggregates on-hand inventory in the PartBin table: one row per item × warehouse × bin combination, carrying the current on-hand quantity. For lot-tracked parts, lot-level detail is held in related lot tables. For serial-tracked parts, individual serial records are linked to the on-hand position.

Inventory transactions and their GL consequences

Every inventory movement in D365 creates an InventTrans record. Each record carries a physical or financial update status, a quantity, a cost amount, and an InventDim reference.

Physical inventory and cycle counting

Epicor supports physical inventory counts and cycle counting at the bin level. D365's equivalent is the counting journal (InventJournalTable with journal type Counting):

Costing method — from per-part to inventory close

As covered in the Product Data chapter, Epicor assigns a costing method per part. D365 assigns it per item model group. But the difference extends beyond assignment mechanism — it changes how cost is resolved over time.

The opening-balance strategy

The inventory opening balance is loaded in Wave 4 of the eight-wave model, after the product master (Wave 2) and financial foundation (Wave 1) are in place. The strategy has five components:

Transaction history — the house position

The question arises on every programme: should we migrate inventory transaction history into D365?

Stock transfers and adjustments

Epicor supports intra-site stock movements (bin-to-bin or warehouse-to-warehouse within a site) and inter-site transfers. D365 distinguishes:

Knowledge check

Summary

Epicor's inventory model maps cleanly to D365 in concept — warehouse to warehouse, bin to location, lot to batch, serial to serial. The challenge is in the execution: getting the dimension groups right before the product load, making a deliberate Advanced Warehouse Management decision per warehouse, and landing the opening balance with…