Customer returns

Once a return authorization has been created and marked as authorized, administrators can create a Spree::CustomerReturn for the authorized order.

A Spree::StockLocation should be assigned for each customer return. This stock location is where the customer return is to be received.

A Spree::CustomerReturn object has the following attributes:

  • number: A unique eleven-character return number starting with CR. For example: CR123456789.
  • stock_location_id: The ID for the Spree::StockLocation where the customer return should be received.

You may want to also see a list of the Spree::ReturnItems that are associated with a customer return with the return_items method:

# => <Spree::ReturnItem id: 1 ...>, <Spree::ReturnItem id: 2 ...>


User interface

Solidus does not include a customer-facing customer returns interface. Only store administrators can authorize and administrate returns from the solidus_backend interface.

Once a store administrator has created a customer return in the solidus_backend interface, each return item can be managed and reimbursements can be made.

For example, you can specify whether return items are resellable, whether your stock location has received each item, and what the reason for the return is. All of this information is stored in a Spree::ReturnItem object's attributes.

Once an item is marked as "Received", you can create a Spree::Reimbursement for it.


Solidus is an open source platform supported by the community. We encourage everyone using Solidus to contribute back to the documentation and the code.

If you’re interested in contributing to the docs, get started with the contributing guidelines. If you see something that needs fixing and can’t do it yourself, please send us an email.