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 Fulfillment Order Line — entity reference
REFERENCE · Last reviewed

Inventory Fulfillment Order Line — entity reference

The demand side of a fulfilment: one line per source OrderLine or ServiceOrderLine, carrying the quantity that still needs reserving. It is created only by the fulfilment release and consumed by allocation, which loops over eligible lots or stock rows until the line's PendingAllocationQuantity (Quantity minus AllocatedQuantity minus CancelledQuantity) reaches zero, so one demand line can spawn several allocation lines. Two naming traps: its label field is the lower-cased 'label', and the parent navigation is called Fulfilment rather than InventoryFulfilment.

Fields

FieldLabelTypeRequiredWhat it does
AllocatedQuantityAllocated QuantityNumberMaintained as the sum of this line's allocation lines' Quantity, so cancellation reversals reduce it; it is the middle term of PendingAllocationQuantity. Changing item, SKU or lot is blocked once it is non-zero.
BackOrderQuantityBack Order QuantityNumber
BranchIdBranchLookup → BranchDefaulted from the parent fulfilment rather than entered. The allocation engine reads the parent's value, not this copy, so editing it does not redirect allocation.
CancelledQuantityCancelled QuantityNumberSubtracted from the posting quantity by the inventory ledger engine, so a partially cancelled line posts its effective quantity rather than its raw one.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
EligibleBackOrderQuantityEligible Back Order QuantityCalculatedDeclared but written by no code path in the platform. Back-order visibility comes from BackOrderQuantity, which is the roll-up of the linked purchase-order lines.
IdIdGuidYes
InventoryFulfilmentIdInventory FulfillmentLookup → InventoryFulfilmentThe required parent key. Note the domain navigation for it is named Fulfilment, not InventoryFulfilment, which matters when writing relation paths in views, formulas or queries.
InventoryLedgerIdInventory LedgerLookup → InventoryLedgerAlways empty: demand lines have no seeded inventory-ledger rule, so nothing here ever posts to stock. Ledger activity starts at the allocation line.
InventoryStockIdStockLookup → InventoryStock
IsILPostedIL PostedBooleanYes
IsILPostingApprovedIL Posting ApprovedBooleanYes
ItemIdItemLookup → ItemYesThe item to reserve. Its TrackLots and TrackInventory flags decide the whole allocation strategy: lot-tracked items draw from ItemLot rows, non-lot inventory items from InventoryStock buckets, and an item that tracks neither produces no allocation line at all and no error.
ItemLotIdItem LotLookup → ItemLotWhen set it pins allocation to that one lot: the engine checks only that lot and does not fall back to others, so if it has no availability the demand is simply left unallocated.
ItemLotTypeIdItem Lot TypeLookup → ItemLotType
labellabelLongMultiLineTextThe display text for the line. Unlike every sibling line entity the field name is lower-cased, which trips up hand-written field paths; no logic depends on its value.
LimitExpiryDaysLimit Expiry DaysNumber
ModifiedByIdModified ByLookup → UserAccountYes
NameDocument NumberText
OrderLineIdSale Order LineLookup → OrderLineThe sales order line this fulfilment line mirrors (serviceOrderLineId is the service-order equivalent); allocation consumes the line's pending allocation quantity.
OwnerIdOwnerLookup → UserAccountYes
PartnerAccountIdPartner AccountLookup → Account
PendingAllocationQuantityPending Allocation QuantityCalculated (calculated)
QuantityQuantityNumberThe demand this line carries, copied at release from the source line's pending fulfilment quantity (or from the per-line requested quantity when the release was selective). It rolls up onto the source line's FulfilmentOrderQuantity and can never be reduced below what has already been allocated, cancelled or back-ordered.
RecordTypeIdRecord TypeGuid, hidden
RequestedQuantityRequested QuantityNumberNot stored demand — a per-line value carried in the selective action payload saying how much of the pending amount to allocate on this run; it is rejected if it exceeds PendingAllocationQuantity.
ServiceOrderLineIdWork Orde LineLookup → ServiceOrderLinePopulated instead of OrderLineId when the fulfilment was raised from a ServiceOrder; the quantity then rolls up onto ServiceOrderLine.FulfilmentOrderQuantity.
SKUIdSKULookup → SKU
StockAvailableStock AvailableCalculatedA column that exists in the schema but is populated by nothing — no formula and no code path writes it, so it reads zero. Read availability from the InventoryStock row instead.
StockInHandStock In HandCalculated
StorageLocationIdStorage LocationLookup → StorageLocation
UIPropsUI PropsText
UnitPriceUnit PriceCurrencyCopied from the source order line. For items that are not lot-tracked this value is written into the allocation line's UnitCost, so a zero price here produces zero-valued reservations.
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete the selected records.
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteBlocked once anything has been allocated against the demand line; cancel the reservations first.
DeleteInListDeleteDeleteDelete in a list page
EditEntityEditEditEdit
EditInLineEditEditInlineEdit in page.
EditlistEditEditInlineEdit
EditListRowEditEditEditListRow
HeaderEditHeader EditEditInlineEdit

Validations

ValidationApplies toError messageNotes
Quantity Allocated Rule ValidationAllocatedQuantity, ErrorAllocated Quantity should not be greater than QuantityAllocated Quantity should not be greater than Quantity
Quantity Cancelled ValidationCancelledQuantity, ErrorQuantity Cancelled should not be greater than Quantity.Quantity Cancelled should not be greater than Quantity.
Quantity Rule ValidationQuantity, ErrorQuantity can't be less than zero.Quantity can't be less than zero.
XM_RequestedQuantityValidationError, inactiveRequested Quantity Cannot be 0 or Less than 0Requested Quantity Cannot be 0 or Less than 0
Unit Cost Rule ValidationUnitPrice, ErrorUnit Price can't be less than zero.Unit Price can't be less than zero.