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
| Field | Label | Type | Required | What it does |
|---|---|---|---|---|
AccountId | Account | Lookup → Account | ||
AllocatedQuantity | Allocated Quantity | Calculated (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'. | |
AllocatedResourceId | Allocated By | Lookup → Resource | The warehouse user credited with allocating. | |
BranchId | Branch | Lookup → Branch | The 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. | |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
DocumentDate | Document Date | Date | Stamped 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. | |
ExternalId | External | Text | ||
Id | Id | Guid | Yes | |
IsAllocated | Allocated | Boolean | Judge progress from PendingAllocationQuantity or the allocation lines instead. | |
IsInJobQueue | In Job Queue | Boolean | Left over from an earlier background-processing design; nothing in the fulfilment pipeline reads or sets it. | |
IsPicked | Picked | Boolean | ||
JobQueueId | Job Queue | Lookup → InterfaceQueue | ||
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Document Number | Text | ||
OrderId | Order | Lookup → Order | The 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. | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | ||
PendingAllocationDelivery | Pending Allocation Delivery | Calculated (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. | |
PendingAllocationQuantity | Pending Allocation Quantity | Calculated (calculated) | ||
PendingDeliveryQuantity | Pending Delivery Quantity | Calculated (calculated) | ||
PendingPickedDelivery | Pending Picked Delivery | Calculated (calculated) | Undelivered quantity sitting on picked lines - what the PickedDelivery actions would turn into delivery orders. | |
PendingPickingQuantity | Pending Picking Quantity | Calculated (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. | |
PerformAllocation | Perform Allocation | Boolean | A 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. | |
PerformCancelAllocation | Perform Cancel Allocation | Boolean | ||
PerformCancelPicking | Perform Cancel Picking | Boolean | ||
PerformPicking | Perform Picking | Boolean | ||
PickedQuantity | Picked Quantity | Calculated (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. | |
RecordTypeId | Record Type | Guid, hidden | ||
ServiceOrderId | Service Order | Lookup → ServiceOrder | Service-order variant of the source document, for fulfilments raised against a ServiceOrder. | |
Status | Status | PickList | Values: Draft, Partially Allocated, Allocated. | |
UIProps | UI Props | Text | ||
UpdatedDateTime | Modified Date | DateAndTime | Yes |
Actions
| Action | Label | Type | What it does |
|---|---|---|---|
AllocationDelivery | Allocation Delivery | ServerAction (AllocationDelivery) | CreateAllocationDelivery |
BulkDelete | Delete | Delete | Delete the selected records. |
CancelAllocation | Cancel Allocation | ServerAction (CancelAllocation) | PerformCancelAllocation |
CancelPicking | Cancel Picking | ServerAction (CancelPicking) | PerformCancelPicking |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
ConfirmPicking | Confirm Picking | ServerAction (ConfirmPicking) | Confirm Picking |
Delete | Delete | Delete | Delete |
DeleteInList | Delete | Delete | Delete in a list page |
Edit | Edit | Edit | Edit |
EditInLine | Edit | EditInline | Edit in page. |
EditInList | Edit | Edit | Edit List Row |
EditListHeader | Edit | EditInline, inactive | EditListHeader |
New | New | New | New |
PerformAllocation | Perform Allocation | ServerAction (PerformAllocation) | This action creates allocationLines |
PerformPicking | Perform Picking | ServerAction (PerformPicking) | Creates picking line from allocation. |
PickedDelivery | Picked Delivery | ServerAction (PickedDelivery) | Create Delivery Order from picked items. |
SelectiveAllocation | Selective Allocation | ServerAction (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. |
SelectiveAllocationDelivery | Selective Allocation Delivery | ServerAction (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. |
SelectiveCancelAllocation | Selective Cancel Allocation | ServerAction (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. |
SelectiveCancelPicking | Selective Cancel Picking | ServerAction (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. |
SelectivePickedDelivery | Selective Picked Delivery | ServerAction (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. |
SelectivePicking | Selective Picking | ServerAction (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
| Filter | Lookup field | Notes |
|---|---|---|
| Branch For Partner Account | BranchId | |
| PartnerAccountFilter | PartnerAccountId |
Related entities
- Branch — looks up via
BranchId - UserAccount — looks up via
OwnerId - Resource — looks up via
AllocatedResourceId - UserAccount — looks up via
CreatedById - ServiceOrder — looks up via
ServiceOrderId - Account — looks up via
PartnerAccountId - Account — looks up via
AccountId - UserAccount — looks up via
ModifiedById - Order — looks up via
OrderId - InterfaceQueue — looks up via
JobQueueId - InventoryLedger — referenced by via
ParentRecordId - DeliveryOrder — referenced by via
InventoryFulfilmentId - InventoryFulfilmentOrderLine — referenced by via
InventoryFulfilmentId - InventoryFulfilmentAllocationLine — referenced by via
InventoryFulfilmentId - InventoryFulfilmentPickingLine — referenced by via
InventoryFulfilmentId - PurchaseOrder — referenced by via
InventoryFulfilmentId - Invoice — referenced by via
InventoryFulfilmentId
