Commerce Returns
Process returns from request through approval and refund or exchange.
How It Works
- Locate the order by
order_idand validate return eligibility. - Create a return request with reason code and items to return.
- Approve or reject the return based on policy window and condition.
- Receive returned items and inspect condition.
- Trigger refund or exchange and update inventory accordingly.
Usage
- CLI:
stateset-returns ...orstateset-direct returns <action> - Writes require
--apply. - MCP tools:
list_returns,get_return,create_return,approve_return,reject_return,receive_return.
Permissions
- Read:
list_returns,get_return— no--applyneeded. - Write:
create_return,approve_return,reject_return,receive_return— requires--apply.
Examples
stateset returns list --status requested --limit 10
stateset returns create --order-id ord_456 --reason defective --items sku_001 --apply
stateset returns approve rma_123 --apply
stateset returns receive rma_123 --condition good --restock --apply
Status Flows
Return: Requested -> Approved -> Received -> Refunded/Exchanged (or Rejected)
Output
{"status":"approved","return_id":"rma_123","order_id":"ord_456","refund_amount":79.99,"reason":"defective"}
Present Results to User
- Return status, reason code, and refund or exchange details.
- Items returned and their condition assessment.
- Inventory adjustments made (restocked or written off).
- Customer-facing next steps (shipping label, refund timeline).
Troubleshooting
- Return not eligible: verify policy window, order status, and item condition.
- Refund mismatch: confirm line item totals, shipping fees, and restocking fees.
- Duplicate return: check for existing open return on the same
order_id. - Exchange unavailable: verify replacement SKU is in stock via commerce-inventory.
Error Codes
RETURN_NOT_ELIGIBLE: Order is outside the return policy window or ineligible.DUPLICATE_RETURN: An open return already exists for this order.EXCHANGE_UNAVAILABLE: Replacement SKU is out of stock.
Related Skills
- commerce-orders — order data referenced by return requests
- commerce-payments — refund processing for approved returns
- commerce-inventory — restocking returned items
- commerce-warranties — warranty claims that may trigger returns
References
- references/returns-flow.md
- /home/dom/stateset-icommerce/cli/.claude/skills/commerce-returns/SKILL.md
- /home/dom/stateset-icommerce/examples/workflows.md