Wait for Return, Then Ship Replacement
Use this when you want to verify the returned item before sending the replacement.
An Exchange (also called an RMA Exchange) allows customers to return a product and receive a replacement item instead of a refund. ShipEdge supports two types of exchanges to fit different business needs:
Exchanges help maintain customer satisfaction while ensuring inventory accuracy and proper product flow.
Quickly resolve product issues without forcing customers to repurchase or wait for refunds.
Track both the returned item and the replacement order in a single workflow.
Choose immediate shipment or wait for return based on your business policy.
Exchanges are automatically linked to the original return for complete audit trails.
Wait for Return, Then Ship Replacement
Use this when you want to verify the returned item before sending the replacement.
Best For:
How it works:
Warehouse Processing:
editxao = '1' (hold until processed)Ship Replacement Immediately
Use this for immediate customer satisfaction without waiting for the return.
Best For:
How it works:
Warehouse Processing:
editxao = '0' (ship immediately)Start from a Shipped Order
Navigate to Shipped Orders (/shipped_orders.php) and locate the order the customer wants to exchange. The order must be in SHIPPED status.
Initiate the Return
Click on the order to view details, then click “Initiate return”. This opens the return creation form.
Select Items to Return
Choose which SKUs the customer is returning. For each SKU:
Choose Exchange Type
In the Request Type field, select:
Configure the Replacement Order
The system automatically creates a replacement order based on the returned items:
_XCHG suffix (e.g., ORDER123_XCHG)Review and Edit the Exchange Order (Optional)
Click “Continue” to review the exchange order. You can modify:
Submit the Exchange
Click “Submit” or “Process Order” to finalize:
Optional: Generate Return Label
If you want to provide a prepaid return label, check “Generate label” before submitting. The system creates a return shipping label and can email it to the customer.
Access the exchanges list at /All_Orders_rs_list.php:
Page Title: “Exchanges”
What You See:
Search Filters:
Exchanges follow the standard order workflow with these key statuses:
| Status | Description | Next Action |
|---|---|---|
| HOLD (64) | Exchange on Received - waiting for return to be processed | Warehouse processes return |
| PENDING (5) | Exchange Now - ready for warehouse processing | Warehouse picks and packs |
| PROCESSING (8) | Warehouse is preparing the exchange | Warehouse ships order |
| SHIPPED (9) | Exchange has been sent to customer | Customer receives item |
| CANCELLED | Exchange was cancelled | No further action |
Every exchange is linked to its original return:
From the Return View (Retun_ordersview_seller.php):
editxao = 1) or shippedFrom the Exchange View (All_Orders_rs_list.php):
Situation: Customer ordered a jacket in size Medium but needs size Large. Your policy is to verify returns before sending replacements.
Process:
Timeline: Customer receives replacement 3-7 days after you receive their return.
Situation: Loyal customer received a defective product. You trust them and want to provide excellent service.
Process:
Timeline: Customer receives replacement 1-2 days after initiating the exchange.
Situation: Customer wants to exchange a blue shirt for a red shirt (different SKU).
Process:
Pre_orderedit.phpKey Point: You can modify exchange orders before finalizing to change products.
Document when you offer Exchange on Received vs. Exchange Now. Communicate this to customers upfront.
Confirm shipping address before processing—customer may have moved since original order.
Use the RMA link to monitor both the return and the replacement order status.
For Exchange on Received, process returns quickly so the replacement ships without delay.
Keep customers informed: “We’ve shipped your replacement” or “We’ll ship your replacement when we receive your return.”
If the return doesn’t match expectations (wrong item, damaged), contact the customer before releasing an Exchange on Received.
Exchange Order Stuck in HOLD Status
Cause: Exchange on Received is waiting for the return to be processed.
Solution:
Return_order_detail_Blist.phpeditxao to 0Can't Find the Exchange Order
Cause: Exchange might be in the wrong view or filtered out.
Solution:
_XCHG suffixNeed to Cancel an Exchange
Cause: Customer changed their mind or issue was resolved differently.
Solution:
Wrong Product in Exchange Order
Cause: Exchange was created with the original SKUs but customer wants different products.
Solution:
Pre_orderedit.phpExchange Shipped Before Return Received
Cause: Exchange Now was used instead of Exchange on Received, or warehouse error.
Solution:
| Field | Type | Description |
|---|---|---|
Request_Type | VARCHAR | ’Exchange_on_Received’ or ‘Exchange_Now’ |
editxao | INT | 1 = Hold until return processed, 0 = Ship immediately |
order_id_xchg | INT | The OrderID of the replacement order (stored in return_order table) |
IDReturn | INT | Link from exchange order back to original order (stored in orders table) |
OrderStatus | INT | Status of the exchange order (5=PENDING, 64=HOLD, 8=PROCESSING, 9=SHIPPED) |
orderNum | VARCHAR | Original order number with _XCHG suffix |
neworderrestocking($orderID, $flat, $rma_id): Creates the duplicate exchange order
_XCHG suffix to order numberorder_id_xchgcargar_edit_tabla($OrderID, $type): Prepares exchange for editing
$type = '1': Exchange Now (editxao = 0)$type = '2': Exchange on Received (editxao = 1)For automated exchange creation via API, see:
/api/v4/oms/returns/exchange/API/Returns/uReturns.phpNext Steps: After creating an exchange, monitor both the return and the replacement order. For Exchange on Received, process the return promptly to release the replacement. For Exchange Now, track the return to ensure it arrives as expected.