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 anRand is followed by ten-digits (RA338330715).state: The state of the return authorization. The state can beauthorizedorcancelled.order_id: The ID of theSpree::Orderassociated with this return authorization.memo: An administrative note regarding the authorization.stock_location_id: TheSpree::StockLocationassociated with this return authorization.return_reason_id: The ID for theSpree::ReturnReasonassociated 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::ReturnAuthorizationobject.
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).