FulfillmentFulfillments

Revert Fulfillment

Completely reverts a fulfillment and all associated operations:

1. Shipping Label Management

  • Voids shipping label with the carrier if label exists

2. External Sales Channel Cancellation

  • Cancels remote fulfillment on connected sales channels (Shopify, BigCommerce, WooCommerce)

3. Billing & Charge Reversal

  • Unallocated charges (not in invoices): DELETED completely
  • Invoiced charges (already paid): Creates CREDIT charge using calculated_amount for refund
  • Pick charges: Decrements quantity or deletes if quantity reaches zero

4. Quantity Management

  • Increments remaining quantities on fulfillment order line items (so order can be fulfilled again)
  • Decrements deducted quantities to allow future deductions

5. Status Updates

  • Changes fulfillment status to CANCELLED
  • Updates package status to PENDING
  • For FULFILLMENT_ORDER packages: Updates fulfillment order status to IN_PROGRESS (so it can be fulfilled again)

6. Optional Inventory Restocking

  • FULFILLMENT_ORDER: CAN provide restock_items for automatic inventory management
  • STANDALONE: CANNOT provide restock_items (throws validation error - manual inventory management required)

Inventory Management

  • Default behavior: This endpoint does NOT modify inventory levels
  • FULFILLMENT_ORDER: Optionally provide restock_items to automatically restock inventory
  • STANDALONE: Manual inventory management required - handle restocking separately
  • Quantity limits: Cannot restock more than was originally deducted during fulfillment
POST
/shipos/fulfillments/{fulfillment_id}/revert
x-access-token<token>

In: header

Path Parameters

fulfillment_id*string

ID of the fulfillment to revert

Request Body

application/json

Optional restock items to process during revert

Optional restock items to process during revert

Response Body

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X POST "https://example.com/shipos/fulfillments/string/revert" \  -H "Content-Type: application/json" \  -d '{}'
Empty