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 Fulfilment — entity reference
REFERENCE · Last reviewed

Inventory Fulfilment — entity reference

The warehouse fulfilment header raised against one sales Order or ServiceOrder by the order-side actions PerformReleaseFulfilment / SelectiveFulfilment / PerformReleaseFulfilmentAndAllocate (or their service-order equivalents); it is never created by hand. It drives a three-stage chain: demand lines (InventoryFulfilmentOrderLine) are reserved against concrete stock (InventoryFulfilmentAllocationLine), optionally picked (InventoryFulfilmentPickingLine), then shipped as DeliveryOrder documents. Every quantity on the header is a metadata roll-up over those line collections, so the header stores no independent numbers.

Fields

FieldLabelTypeRequiredWhat it does
AccountIdAccountLookup → Account
AllocatedQuantityAllocated QuantityCalculated (calculated)Roll-up of the allocation lines' Quantity. Because cancellations are stored as negative allocation lines it nets itself down automatically, so it means 'currently reserved', not 'ever reserved'.
AllocatedResourceIdAllocated ByLookup → ResourceThe warehouse user credited with allocating.
BranchIdBranchLookup → BranchThe source warehouse copied from the order; allocation only considers lots and stock rows for this branch and partner, so a mismatch surfaces as 'Available stock not found for allocation' rather than as a location error.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
DocumentDateDocument DateDateStamped by the handler with the server's current time when the fulfilment row is inserted rather than inherited from the order, and blocked from later edits.
ExternalIdExternalText
IdIdGuidYes
IsAllocatedAllocatedBooleanJudge progress from PendingAllocationQuantity or the allocation lines instead.
IsInJobQueueIn Job QueueBooleanLeft over from an earlier background-processing design; nothing in the fulfilment pipeline reads or sets it.
IsPickedPickedBoolean
JobQueueIdJob QueueLookup → InterfaceQueue
ModifiedByIdModified ByLookup → UserAccountYes
NameDocument NumberText
OrderIdOrderLookup → OrderThe sales order being fulfilled; partner account, branch and account are source-populated from it and locked, and the order id itself is non-editable after creation.
OwnerIdOwnerLookup → UserAccountYes
PartnerAccountIdPartner AccountLookup → Account
PendingAllocationDeliveryPending Allocation DeliveryCalculated (calculated)Undelivered quantity still sitting at the allocation stage - the backlog the AllocationDelivery actions would turn into delivery orders, as opposed to pendingPickedDelivery for goods already picked.
PendingAllocationQuantityPending Allocation QuantityCalculated (calculated)
PendingDeliveryQuantityPending Delivery QuantityCalculated (calculated)
PendingPickedDeliveryPending Picked DeliveryCalculated (calculated)Undelivered quantity sitting on picked lines - what the PickedDelivery actions would turn into delivery orders.
PendingPickingQuantityPending Picking QuantityCalculated (calculated)Sum of the allocation lines' pending picking quantity — reserved stock that still has no picking line against it. The picking actions test the individual lines, not this total.
PerformAllocationPerform AllocationBooleanA leftover trigger flag from a design where saving a boolean started work; nothing reads or writes it. Reserving stock is done by the PerformAllocation or SelectiveAllocation server action.
PerformCancelAllocationPerform Cancel AllocationBoolean
PerformCancelPickingPerform Cancel PickingBoolean
PerformPickingPerform PickingBoolean
PickedQuantityPicked QuantityCalculated (calculated)Roll-up of the picking lines' Quantity, netted by negative cancellation picks. Quantity picked and then returned is reflected on each picking line's own calculated value, not here.
RecordTypeIdRecord TypeGuid, hidden
ServiceOrderIdService OrderLookup → ServiceOrderService-order variant of the source document, for fulfilments raised against a ServiceOrder.
StatusStatusPickListValues: Draft, Partially Allocated, Allocated.
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
AllocationDeliveryAllocation DeliveryServerAction (AllocationDelivery)CreateAllocationDelivery
BulkDeleteDeleteDeleteDelete the selected records.
CancelAllocationCancel AllocationServerAction (CancelAllocation)PerformCancelAllocation
CancelPickingCancel PickingServerAction (CancelPicking)PerformCancelPicking
CloneCloneServerAction (Clone)Create a copy of this record
ConfirmPickingConfirm PickingServerAction (ConfirmPicking)Confirm Picking
DeleteDeleteDeleteDelete
DeleteInListDeleteDeleteDelete in a list page
EditEditEditEdit
EditInLineEditEditInlineEdit in page.
EditInListEditEditEdit List Row
EditListHeaderEditEditInline, inactiveEditListHeader
NewNewNewNew
PerformAllocationPerform AllocationServerAction (PerformAllocation)This action creates allocationLines
PerformPickingPerform PickingServerAction (PerformPicking)Creates picking line from allocation.
PickedDeliveryPicked DeliveryServerAction (PickedDelivery)Create Delivery Order from picked items.
SelectiveAllocationSelective AllocationServerAction (SelectiveAllocation)Allocates stock for chosen fulfilment order lines only. Args carry InventoryFulfilmentOrderLines with requestedQuantity, validated per line against pendingAllocationQuantity; unlisted lines are untouched, and the action refuses when nothing selected has pending allocation.
SelectiveAllocationDeliverySelective Allocation DeliveryServerAction (SelectiveAllocationDelivery)Creates a delivery order from chosen allocation lines with pending delivery quantity. Lines already moved to picking are refused - those must be delivered via SelectivePickedDelivery against their picking lines.
SelectiveCancelAllocationSelective Cancel AllocationServerAction (SelectiveCancelAllocation)Cancels allocated quantity on the chosen allocation lines, handing it back to free stock. The requested quantity per line is validated against eligibleReturnQuantity, and the action refuses when the selected lines have nothing allocated.
SelectiveCancelPickingSelective Cancel PickingServerAction (SelectiveCancelPicking)Cancels picked quantity on chosen picking lines - only lines whose picking is confirmed can be cancelled - and posts reversing inventory-ledger entries for the cancelled quantity. Creates return lines linked to the originals rather than mutating them.
SelectivePickedDeliverySelective Picked DeliveryServerAction (SelectivePickedDelivery)Creates a delivery order from chosen picking lines with pending delivery quantity, passing a requested quantity per line; refuses when no selected picking line has anything pending delivery.
SelectivePickingSelective PickingServerAction (SelectivePicking)Creates picking lines for chosen allocation lines. Args carry InventoryFulfilmentAllocationLines with requestedQuantity validated against each line's pendingPickingQuantity; refuses when no selected line has pending picking quantity.

Lookup filters

FilterLookup fieldNotes
Branch For Partner AccountBranchId
PartnerAccountFilterPartnerAccountId