Returns management

How returns are created, tracked through their lifecycle, and refunded

Returns can only be created from fulfilled orders, follow a lifecycle from draft to refunded, and can trigger a partial or full refund without cancelling the original order.

Return management system

Commerce Layer provides a return management system that allows you to manage returns across different statuses in one place. You can handle orders returned for any reason — faulty line items, long delivery times, and so on.

Returns can only be created from fulfilled orders. Multiple returns can be created from a single order. When a return request is submitted, it is either approved or not. SKUs that are successfully returned can be restocked to the inventory.

Return fulfillment

Returns are initially created in draft status. They become requested when a customer requests to return SKUs from a specific order. Requested returns can be approved or cancelled. An approved return becomes shipped once it leaves the origin address (customer address). Once shipped returns reach the specified return location (destination address), their status becomes either received (if the return process completed successfully) or rejected (e.g. the customer sent back the wrong items). Received returns can be refunded, in which case their status becomes refunded. Successfully returned SKUs can be restocked to an inventory location.

Refund from a return

Once returned items arrive at the destination address, a refund process can be initiated from the return itself.

The amount to be refunded must be specified manually — the API computes an estimate based on the price and quantity of the returned items, exposed in a return attribute. By default, the refund is applied to the most recent successful capture associated with the order. If there are multiple captures, you can specify a different one. Starting a refund from a return does not cancel the associated order.

Last updated