warehouseTransfersAdvance
Moves a transfer to its next status and returns it: Draft to Allocated, Allocated to In Transit, In Transit to Delivered, Delivered to In Receiving, In Receiving to Received, and Received to Closed.
Business Rules
- Allocating holds every line’s units at the origin building; it is refused when a SKU does not have enough available units there
- Shipping (In Transit) takes the held units out of the origin’s stock and counts them as incoming at the destination while the transfer is In Transit, Delivered, or In Receiving
- Receiving adds the received units to the destination’s stock
- Moving to Received writes off the units not received: they stop counting as incoming, and the transfer’s activity lists each short line with the units written off
statusDateis recorded as the ship date for In Transit, the arrival date for Delivered, and the received date for Received. It defaults to now. Other statuses do not record a date- The arrival date cannot be earlier than the ship date, and the received date cannot be earlier than either. The same day is allowed
expectedStatusis the status the caller saw. The request is refused when the transfer has moved since, so a repeated or stale request cannot move it one more step
Error Scenarios
- “Transfers are not enabled for this company”
- “Transfer not found.”
- “A Closed transfer cannot advance.”
- “This transfer is now In Transit. Reload it and try again.”
- “This transfer changed. Reload and try again.”
- “The arrival date can’t be earlier than the ship date (Oct 20, 2026).”
- A message naming the SKUs short at the origin when allocating
Permissions Required
warehouse:change_transfer_status
warehouseTransfersAdvance(
input: WarehouseTransfersAdvanceInput!
): WarehouseTransfer!
Arguments
warehouseTransfersAdvance.input ● WarehouseTransfersAdvanceInput! non-null input common
Parameters for WarehouseTransfersAdvance
Type
WarehouseTransfer object inventory
A movement of the company’s own inventory from one of its buildings to another.
Allocating holds the units at the origin. Shipping takes them out of the origin’s stock and counts them as incoming at the destination. Receiving adds them to the destination’s stock. Marking the transfer Received writes off the units not received: they stop counting as incoming.