Requires: X-Cart 5.6.0.17 or later. If your store is on X-Cart 5.6.0.16 or earlier, see About order returns in the "Order Returns (X-Cart 5.6.0.16 and earlier)" collection instead.
Returns are a fact of life in e-commerce — and the way you handle them directly affects whether a customer buys from you again.
In X-Cart 5.6, the Order Returns add-on was substantially rewritten around an item-level returns workflow. Customers can request returns right from their account, and you process every request from a single place in your store Admin area — approving items, printing packing slips, tracking inbound packages, and restocking inventory as returns arrive.
Order Returns key features for X-Cart 5.6.0.17 and later
Item-level returns — customers and admins return specific items and quantities, not entire orders.
Return requests and RMAs — a clear two-step process that separates the customer’s request from the physical shipment.
Split returns — items heading to different warehouses are automatically grouped into separate RMAs.
A self-service Returns section in the customer account with real-time status tracking.
Auto-generated PDF packing slips with a cut-out shipping label.
Per-product and per-location return controls, including Warehouse Distributor (drop-shipping) support.
REST API endpoints for WMS, ERP, and third-party returns platforms.
What’s new in the Order Returns add-on for X-Cart 5.6.0.17
If you are upgrading from an earlier version that used the Order Returns add-on, here is what has changed.
Returns are now per item, not per order. In earlier versions, a customer filed a single claim for return against an order. In X-Cart 5.6.0.17 and later, every return request lists specific items and quantities. A customer can return one item from a five-item order today and another item next week, as long as the return window is still open.
Return requests and RMAs are separate things. A return request is what the customer submits; an RMA (Return Merchandise Authorization) is created only after you approve items and tells the customer where to ship them. If approved items ship back to different warehouses, X-Cart automatically splits them into separate RMAs.
Return Actions are gone. Customers no longer choose a desired resolution (Refund / Replace / Repair) when submitting a request. Every submission is simply a return request; you decide on the compensation — refund, store credit, or replacement — outside the system, according to your store policy. On upgraded stores, actions attached to old claims remain visible as read-only text. (See Return actions in the "Order Returns (X-Cart 5.6.0.16 and earlier)" collection for how this worked before the rewrite.)
Return eligibility is now based on shipment status, not order status. The “Allow customer to return” option that used to live on each fulfillment status has been removed. Instead, you pick eligible shipment statuses (for example, Delivered) and a return window on a single settings page. During the upgrade, X-Cart turns self-served returns on if at least one of your old fulfillment statuses allowed returns.
New controls for what can be returned and where. Each product now has a Returnable toggle, and each location has an Accepts returns toggle. Non-returnable items are labeled in the storefront, and you can require the customer’s acknowledgment at checkout.
A new Returns section in the customer account. Customers see all their return requests with a progress bar, per-item statuses, and — while an RMA awaits the package — a Download packing slip button.
Old return statuses are replaced. The Issued / Completed / Declined claim statuses that were used in the older versions of the addon are replaced by a richer status model described below.
How returns work: return requests and RMAs
The returns system operates with two entities:
Return request — a numbered request (for example, R-100500-01) created the moment a customer or an admin submits a return. The number includes the order ID and a sequence number, so repeated requests for the same order are easy to tell apart.
RMA (Return Merchandise Authorization) — created only after items are approved. An RMA groups approved items that ship back to the same warehouse and is the number the customer puts on the return package. One return request can produce several RMAs if items go to different warehouses — this is called a split return.
A return request moves through the following statuses:
NEW — the request has just been submitted; no items have been reviewed yet.
PROCESSING — some items have been approved or declined, but at least one item still awaits a decision.
APPROVED — all items have been approved and converted into RMAs.
PARTIALLY APPROVED — some items were approved, the rest were declined.
PARTIALLY COMPLETED — some RMAs have been received and completed; others are still on their way.
CLOSED — every item has reached a final state — completed or declined.
Individual items within a return request have statuses of their own:
PENDING — awaiting your decision.
AWAITING RETURN — approved and included in an RMA; the package is on its way.
DECLINED — not approved for return.
COMPLETED — received and processed.
CANCELLED — the RMA it belonged to was voided.
RMAs use a subset of the same statuses, since an RMA only exists once items have been approved — there’s no PENDING or DECLINED state for an RMA itself:
AWAITING RETURN — issued, package on its way.
COMPLETED — received and processed.
CANCELLED — voided by the admin.
Note that X-Cart does not process payments for returns. The Requested Value (Est.) shown in the Admin area is based on item prices only; the final refund amount must be calculated manually during processing to include any applicable fees or deductions, and issued through your payment provider according to your store policy.
Common scenarios
Here is how the returns system handles typical situations:
Full return. The customer selects every item in the order, you approve them all, one RMA is issued (or several, if the order shipped from multiple warehouses), and the request closes once the packages arrive and you complete the RMAs.
Partial return. The customer returns two units out of five, or one item out of three. The rest of the order stays untouched and remains available for future returns.
Repeat returns on one order. A customer returns one item today and files a second request for another item next week — each gets its own return number (R-100500-01, R-100500-02) within the same order.
Mixed decision. You approve two items and decline the third with a reason. The request becomes PARTIALLY APPROVED, and the customer sees exactly which items were declined and why.
Split return. Approved items shipped from different warehouses return to different destinations — X-Cart automatically issues a separate RMA and packing slip for each warehouse.
Damaged item arrives back. During Complete & Restock you set the restock quantity for a damaged unit to 0 — the return completes, but the unit doesn’t re-enter your sellable stock.
Customer never ships the package. Cancel the RMA with a reason; the items become eligible for a new return request if the customer changes their mind within the window.
Return after the window expired. The customer can no longer use self-service, but you can create the return from the Admin area as a goodwill exception.
Non-returnable goods. Final-sale and digital items are labeled in the storefront, excluded from self-service, and — with consent enabled — the customer explicitly acknowledges the policy at checkout.
Drop-shipped item goes back to the supplier. The distributor issues their RMA number, you enter it as the External RMA #, and the customer’s packing slip directs the package straight to the supplier’s warehouse.
Refund, replacement, or store credit. The system intentionally leaves compensation to you: review the completed return and process a refund, send a replacement, or issue store credit through your usual channels, per your store policy.
Can't find answers you're looking for?
Email us at support@x-cart.com. We will be happy to help!
Related articles
