xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField SalesCRMRewardsClaimsInventoryProcurementWarehouse ManagementField ServiceServiceSupportTelephony & MessagingFinance & AccountingPayrollExpense ManagementCommercePortalsAnalytics & ReportingData StudioMobile AppSee all products →
PLATFORM
Platform overviewApp BuilderAutomationIntegrationsSecurity & GovernanceChange ManagementDevelopers
SENSE AI
Sense AI overviewSense AssistSense ControlSense VisionAI StudioTrust & governanceIn Claude & ChatGPTUse cases
SOLUTIONS
FMCG & DistributionManufacturing & Dealer NetworksAutomotive & DealershipsPharma & HealthcareConsumer DurablesAgri-InputsBuilding MaterialsService NetworksWarehousing & 3PLFinancial AccountingERP SoftwareIndia GST ComplianceUAE VAT & e-InvoicingSaudi ZATCA & VATAll solutions →
RESOURCES
Knowledge CenterDeveloper & CLIBlogGuidesWhat is xMatix?Company facts
COMPANY
AboutCareersPartnersEventsContactAuthorsLegal
Sign in Request demo
Home/Docs/Entity Reference/Inventory Cost Lot — entity reference
REFERENCE · Last reviewed

Inventory Cost Lot — entity reference

A persisted receipt cost layer for one (accounting book, item, branch, method) scope: how much arrived at what unit cost and how much of that layer is still unconsumed. FIFO, LIFO and Specific Identification produce one row per receipt; MovingAverage and WeightedAverage produce a single synthetic pool row whose remaining quantity is the entire on-hand balance. Only the company's primary accounting book persists layers (secondary books are derived by replay plus stored overlay deltas), and the sum of RemainingQuantity times EffectiveUnitCost is what the inventory valuation statement reports as inventory cost.

Fields

FieldLabelTypeRequiredWhat it does
AccountingBookIdAccounting BookLookup → AccountingBookThe book whose method produced this layer. Only the company's primary book actually has layers persisted; a secondary book's inventory value is derived by replaying the same movements and is stored as statement-line deltas, so querying layers for a secondary book returns nothing.
BranchIdBranchLookup → Branch
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
EffectiveUnitCostEffective Unit CostCurrencyIntended as unit cost plus capitalised landed cost, and it is the figure the valuation statement prefers over UnitCost. In practice the replay always assigns it the plain UnitCost, so today the two never differ.
IdIdGuidYes
ItemIdItemLookup → Item
ItemLotIdItem LotLookup → ItemLotDeclared as a soft reference to the lot or batch master but never assigned when the engine writes layers; lot identity travels in LotKey instead. Do not join on it to find batch-level cost.
LandedCostPerUnitLanded Cost Per UnitCurrencyPosting a landed-cost voucher books a general-ledger inventory uplift and stamps the per-line allocation on the voucher, but the documented follow-up to push that allocated charge into the cost layers is still outstanding, so engine cost of goods sold excludes freight and duty.
LotKeyLot KeyTextThe lot identity used by Specific Identification, sourced from the movement's ItemLotId; issues must name the same key to draw from this layer. The other methods leave it null.
MethodMethodTextThe cost-flow method this layer belongs to, written from the method the valuation policy resolved. Layers are keyed by it, so changing an item's policy makes the engine build a parallel set of rows under the new method name rather than converting the existing ones.
ModifiedByIdModified ByLookup → UserAccountYes
NameNameTextYesA generated identifier of the form ICL followed by the row's id. It carries no business meaning, is not a document number, and changes every time the scope is replayed.
OriginalQuantityOriginal QuantityCurrencyThe quantity the layer was created with, before any consumption. For MovingAverage and WeightedAverage this is the total quantity received across the whole replayed movement stream rather than a single receipt.
OwnerIdOwnerLookup → UserAccountYes
PartnerAccountIdPartner AccountLookup → AccountThe owning company or legal entity, following the finance convention where partner account means the company rather than a trading counterparty.
ReceiptDateReceipt DateDateThe movement date the layer was received on, and the key FIFO and LIFO consume in order of. For the average methods it holds the date of the first receipt in the replayed stream rather than a meaningful receipt date.
RecordTypeIdRecord TypeGuid, hidden
RemainingQuantityRemaining QuantityCurrencyThe quantity of this layer still unconsumed under the primary book's method, and the figure the inventory valuation statement multiplies by unit cost. For the average methods the single pool row's value here is the entire on-hand balance for the scope, not a per-receipt residue.
SequenceSequenceLargeNumberDeclared for ordering layers within a scope but never assigned when layers are written; it is the sibling opening-lot-state rows carried across a period boundary that actually get a sequence. Order layers by ReceiptDate instead.
SourceLedgerIdSource LedgerLookup → InventoryLedgerA deliberately unenforced reference (no foreign key) to the InventoryLedger inward row that created the layer, and the idempotency anchor that lets a replay rebuild identical rows. The average methods leave it null because their single pool row has no single originating receipt.
StorageLocationIdStorage LocationLookup → StorageLocationDeclared on the layer but never assigned by the engine, which keys a cost scope by book, item, branch and method only. Layers are therefore branch-level, not location-level, regardless of what a policy's CostingLevel says.
UIPropsUI PropsText
UnitCostUnit CostCurrencyThe receipt cost per unit, taken from the unit cost on the originating InventoryLedger inward row (for a goods receipt that is the purchase order line cost). For the average methods it holds the closing running or period average instead of a receipt price.
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
CloneCloneServerAction (Clone)Create a copy of this record
DeleteEntityDeleteDeleteDelete
DeleteHeaderDeleteDeleteDeleteHeader
DeleteRowDeleteDeleteDeleteRow
EditEntityEditEditEdit
EditInEditEditInlineEdit
EditInlineEditEditInlineEdit
EditRowEditEditEdit
NewHeaderNewNewNew