Item Ledger Entries
GETTable: Item Ledger Entry
"Read-only item ledger. One row per inventory movement, with quantity, location and tracking, which is the perpetual stock transaction history behind every on-hand figure."
Quantity lives here, cost does not
Every receipt, shipment, adjustment, transfer and consumption is a row. quantity is in the item base unit and is negative for outbound movements.
Cost is on valueEntries, joined by entryNumber. That split is not an accident: one movement can be costed several times, at expected cost when goods arrive, at actual cost when the invoice does, then again by revaluation. There is no single cost column that could sit on this row honestly.
Open and remaining quantity
remainingQuantity is non-zero only while an inbound entry still has quantity left to apply against. It is how Business Central tracks which receipt an issue drew from, and it is not a stock figure. On-hand per item and location is the sum of quantity.
invoicedQuantity is the costing signal
Cost is only final once invoicedQuantity equals quantity. A movement received but not yet invoiced carries expected cost, which later changes. Margin reported over not-yet-invoiced shipments moves after the fact.
Volume
Among the largest tables in Business Central, reaching tens of millions of rows at a customer with real history. Bound the first load:
GET itemLedgerEntries?$filter=postingDate ge 2025-01-01&$orderby=entryNumberThen run incrementally on lastModifiedDateTime.