Skip to content

Order Statuses

One page with every status in the app. The flows themselves are in Order Lifecycle.

  1. DRAFT
  2. OPEN
  3. PARTIALLY_RECEIVED
  4. RECEIVED
  5. COMPLETED

PARTIALLY_RECEIVEDCLOSED_SHORT

Status Set when Edit Delete
DRAFT The order is created Yes Yes
OPEN The first delivery is created No No
PARTIALLY_RECEIVED A receive leaves at least one line short No No
RECEIVED Every line is fully received, and a delivery still waits for put-away No No
COMPLETED Every delivery is put away No No
CLOSED_SHORT Close Short on a partially received order with no delivery still in RECEIVING No No
Status Set when Next action
RECEIVING The delivery is created Receive
AWAITING_PUTAWAY The receive records what arrived Put Away
COMPLETED The stock reaches its storage bins

A delivery can be cancelled from the order’s delivery list while it is in RECEIVING and nothing is received against it.

No new delivery can be opened once the order reaches RECEIVED.

A put-away can be partial. The delivery holds AWAITING_PUTAWAY until every received line has a bin.

CLOSED_SHORT on the order is terminal for its deliveries too. A delivery still in AWAITING_PUTAWAY when the order closes short can no longer be put away.

  1. DRAFT
  2. OPEN
  3. PARTIALLY_DISPATCHED
  4. DISPATCHED

PARTIALLY_DISPATCHEDCLOSED_SHORT

Status Set when Edit Delete
DRAFT The order is created Yes Yes
OPEN The first shipment is created No No
PARTIALLY_DISPATCHED A confirmed dispatch leaves at least one line short No No
DISPATCHED Every line has shipped in full No No
CLOSED_SHORT Close Short on a partially dispatched order with no shipment still in RESERVING No No
Status Set when Next action
RESERVING The shipment is created Reserve
AWAITING_DISPATCH The reserve stages the stock in the dispatch bin Confirm Dispatch
COMPLETED The goods leave the warehouse

A shipment number is generated from the order number and a sequence.

A shipment cannot be cancelled or deleted from the screens, in any status.

A confirm covers every reserved line at once. A partial confirm is rejected.

CLOSED_SHORT on the order is terminal for its shipments too. A shipment still in AWAITING_DISPATCH when the order closes short can no longer be dispatched.

Status Set when Delete
DRAFT The order is created Yes
IN_TRANSIT Dispatch moves the stock into the transit bin No
COMPLETED Receive stores it at the destination No

Transfer order numbers are typed by hand. Dispatch, Receive, and Delete also run from the row menu of the list.

A receive against a destination warehouse that does not hold the item enrolls it there, with the same tracking type, and enrolls the lot with it.

Status Set when Delete
DRAFT The count is created and the quantities are snapshotted Yes
COUNTING Start counting No
COMPLETED Post adjustments No
CANCELLED Cancel count, from DRAFT or COUNTING. Nothing is posted. No

Each serial number or RFID tag read during a count is classified.

Outcome Meaning
MATCHED The unit is where the count expected it
MISSING The count expected the unit, and no read found it
WRONG_BIN The unit is registered somewhere else, or outside the scope of the count
UNREGISTERED The app has no record of this code
DUPLICATE The same code was read twice in one sweep. It counts once.
Decision Effect on stock
APPROVED The difference is posted when the count completes
REJECTED Nothing is posted. Serial and RFID units stay attached to their bin.
Type Written when
inbound_receive A delivery records what arrived
inbound_put_away The delivery moves that stock into storage
outbound_reserve A shipment stages stock in the dispatch bin
outbound_dispatch A shipment is confirmed and the goods leave
transfer_transit A transfer dispatches stock into the transit bin
transfer_receive The destination warehouse receives the transfer
stock_adjustment A count posts an approved difference

Each stock_adjustment row also carries the reason it was made. The reasons are cycle_count, stock_count, damaged, expired, found, lost, correction, disposal_transfer_out, and disposal_transfer_in. A count writes stock_count. The other reasons are available to the API only.