Records a shipment against a fulfillment: what was sent, from which location, and the carrier and tracking details.
Each sent_items row adds to actual_quantity on the fulfillment's lines for that item, filling them in line order. Stock levels update for you, so don't adjust stock yourself as well.
Afterwards Smooth POS works out the fulfillment's status from its lines. A fulfillment is complete when every line has actual_quantity + returned_quantity of at least requested_quantity.
| Fulfillment | Complete | Not complete |
|---|---|---|
| Warehouse To Warehouse or Warehouse To Customer | Closed | In Progress |
| Store Pickup | Awaiting Pickup if anything was shipped, otherwise Closed | In Progress |
Inactive, Closed and Canceled fulfillments keep their status (the lines are still recorded). A fulfillment at Integrated Refund that still isn't complete stays at Integrated Refund. Shipping or returning never sets Integrated Refund: only Mark a fulfillment as Integrated Refund does.
The response, and the fulfillment_ship system hook, include fulfillment_status (the status after this shipment) and fulfillment (the updated fulfillment). When the status changes, fulfillment_status_change fires too.
Required permission (any one of these):
| Group | Permission |
|---|---|
| Fulfilment & Shipping | Generate picks and ship fulfilments (includes view) |
| Fulfilment & Shipping | Create, edit, pick, ship and return fulfilments |
