Skip to main content

Void Shipment

DELETE 

/api/sales-order-fulfillments/:salesOrderFulfillment

Voids a shipment (SalesOrderFulfillment) — a SOFT, reversible cancel that does NOT hard-delete the record (SKU-8019 'A1'). Voiding: reverses the shipment's inventory movements, reverts Fulfilled→Allocated allocations, restores the parent FulfillmentOrder budget and reopens the SAME FO to Open/Unsubmitted so it can be re-fulfilled, cancels the carrier order, and flips the SOF to status=canceled with voided_at/voided_by_user_id/void_reason set. The SOF + its lines are RETAINED for history; voided shipments are excluded from the active fulfillment tab (voided_at IS NULL filter).

Not voidable (returns 400): an already-shipped shipment (status fulfilled / fulfilled_awaiting_info — use a return/RMA), an already-voided shipment, or a multi-channel (MCF / merge-group) submission (void individual standalone shipments only).

Request body (optional):

  • void_reason (string, optional): reason recorded on the void + FO activity entry. Falls back to reason if absent.

Query params:

  • check-deletable (0|1, default 1): when 1, runs the carrier-side 'already shipped at provider' guard before voiding.

Authentication: Requires Bearer token.

Request

Responses

OK

Response Headers
    Content-Type