CanopyDocs
Brand portal

Returns

Create and track RMAs through inspection and refund, and manage the reason codes customers pick from.

The Returns section is where you track reverse logistics end to end: each RMA as it moves through receiving and inspection to the refund that follows — plus the reason codes customers choose from.

Returns usually start with the customer: they request one in your connected store (e.g. Shopify), and it flows in here automatically as an RMA — tagged with a Shopify badge — for your 3PL to receive, inspect, and refund. You don't create RMAs in the portal; you watch them happen.

The RMA list

Returns lists every return authorization (RMA) and where it is in the process.

The RMA list

StatusMeaning
PendingCreated; awaiting the customer's shipment.
In TransitOn its way back.
ReceivedArrived at the warehouse.
InspectingBeing checked over.
CompletedDone — items dispositioned and refund resolved.
CancelledCancelled.

Once an RMA is Completed, a refund chip shows the outcome: Refunded, Refund pending, or Refund failed. RMAs that originated from a connected store (e.g. Shopify) carry a Shopify badge, and a return raised without a linked order shows as blind.

Tabs across the top filter by status, and you can search by RMA number, tracking number, or customer.

Following an RMA

Open an RMA for the full picture, across Details, Attachments, and Timeline:

  • Customer & reason — who's returning, and why.
  • Tracking & label — the return label, when one was generated.
  • Items — each returned line, its quantity, and its refund type (Refund, Store credit, Exchange, Replacement, Warranty).
  • Receipt log — once received, each unit's inspection result (Undamaged, Opened, Defective, Wrong item) and disposition (Restock, Quarantine, Dispose, Return to vendor).
  • Refund — for completed RMAs, the refund breakdown, including any deductions such as a restocking or return-shipping fee.

On a client account you track every RMA end to end. Returns are initiated by the customer in your store and processed — received, inspected, refunded — by your 3PL, so you won't see create or processing buttons, just the live status and the full history.

Return reason codes

Returns → Return Codes is the list of reasons a customer can pick when starting a return — and, crucially, who pays for the return label.

Return reason codes

Each code has a label policy:

PolicyWho pays / what happens
Return Paid By StoreYou cover the label; the warehouse generates it.
Flat Rate ShippingThe customer pays a set fee, deducted from their refund.
Return Paid By CustomerThe customer ships it back themselves.
Not ReturnableAn RMA can't be created with this reason.

Codes can map to a channel's native return reasons (e.g. a Shopify reason) for round-trip sync, and a disabled code is kept for history rather than deleted.

Configured with your 3PL

Reason codes and their label policies are set up with your 3PL — this page is your reference for what's in place and how each one behaves.

On this page