Return authorizations (RMAs)
A Spree::ReturnAuthorization
allows you to authorize the return of any part of
a customer's order. A return authorization can only be created for shipments
that have already been shipped. For each item in a return authorization, a
Spree::ReturnItem
is created.
Return authorizations are also referred to as "return
merchandise authorizations" (RMAs) in the solidus_backend
.
After an order is shipped, administrators can approve the return of any part
of an order in the solidus_backend
(from the Orders -> Order -> RMA page).
Once an RMA has been created, store administrators can add any item listed in
the RMA to a new Spree::CustomerReturn
.
A Spree::ReturnAuthorization
object has the following attributes:
number
: The number assigned to the return authorization. It begins with anR
and is followed by ten-digits (RA338330715
).state
: The state of the return authorization. The state can beauthorized
orcancelled
.order_id
: The ID of theSpree::Order
associated with this return authorization.memo
: An administrative note regarding the authorization.stock_location_id
: TheSpree::StockLocation
associated with this return authorization.return_reason_id
: The ID for theSpree::ReturnReason
associated with this return authorization.
RMAs begin the larger customer return process. Note that there are many ways that the administrator could provide compensation to a customer.
Return authorization flow
The RMA creation process typically includes the following steps:
- The administrator presses the New RMA button (on the backend's Orders -> Order -> RMA page).
- They select the items on the order that are being returned.
- For each item selected, they choose the following optional values:
- They choose a reimbursement type (if applicable). For example: store credit.
- They choose an exchange item (if applicable).
- They choose a reason for the return authorization for the item (if applicable). For example: "Damaged/Defective".
- They choose a stock location that the return is authorized to be shipped to.
- They write a memo that documents why the return authorization is being created.
- Once the new RMA form is completed, they press the Create button and
generate a new
Spree::ReturnAuthorization
object.
After the customer has mailed their returns back, the administrator can mark the customer return as received (on the backend's Orders -> Order -> Customer Returns page).