Skip to main content

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
  • statusDate is 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
  • expectedStatus is 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.