ReturnMate logoReturnMate
RMA management

Every RMA tracked. Every decision logged.

A single system of record for every return, warranty claim, counter swap, and repair — with the audit trail your finance, compliance, and ops teams all need.

app.returnmate.io
RMA workflows with dangerous goods compliance built-in
§ 01

Twelve workflow types, one data model

ReturnMate models the full post-sale lifecycle as a set of configurable workflows, not a single "return" object. Standard returns, damaged-in-transit, wrong-item, warranty claims, counter swap, third-party repair, offline repair, remote resolve, replace-in-transit, multi-store transfer, customer pickup, and dispute management all share the same underlying RMA record — different states, different enforcement rules, same reporting surface.

  • DRAFT → SUBMITTED → APPROVED → LABEL_ISSUED → IN_TRANSIT → RECEIVED → INSPECTED → RESOLVED
  • Custom status codes per shop, with colour-coded labels in the admin list
  • Per-item resolution — line items can be resolved independently while the parent RMA stays open
  • Transitions emit timeline entries automatically; manual notes can be added at any step
§ 02

Decision guardrails your team actually follows

Auto-approval rules fire when the return matches defined conditions — reason, order age, order value, customer risk score, product tag. Everything else routes to a queue where a human approver sees the full history inline.

  • Rules evaluated at submission and again at inspection
  • Restocking fees calculated per condition (good, fair, damaged, unusable) with override support
  • Rejection reasons captured as structured codes for reporting
  • Disputes can be flagged on any RMA — SLA pauses, closure blocks until a manager resolves
§ 03

SLA, assignment, and queue views

Business-hour SLA calculation respects Australian public holidays. Staff see their assigned queue the moment they log in, and managers see at-risk and breached work across every shop.

  • Per-status SLA targets (e.g. "approve within 1 business day", "inspect within 2")
  • Breach and near-breach notifications via email and in-app
  • Saved views per user, shared with teammates, scoped to location or assignee
  • Bulk approve, bulk send label, bulk mark-received from any list
§ 04

Full audit log — finance-ready

Every status change, every admin note, every refund issued, every tag added to the Shopify order — all logged against the RMA with the staff member, timestamp, and before/after values. Export at any time for finance, compliance, or supplier warranty conversations.

  • AuditLog entry for every mutation (RMA_CREATED, RMA_APPROVED, REFUND_PROCESSED, etc.)
  • Timeline entries with user attribution for the merchant-visible audit trail
  • Webhook events pushed to external systems for real-time downstream sync
  • CSV export of any filtered list
FAQ

Questions about returns platform.

Can I customise the RMA status flow?

Yes. Default statuses cover most flows, but you can add custom status codes per shop (e.g. "AWAITING_SUPPLIER_CREDIT") with colour labels and SLA targets. Existing RMAs keep working through transitions.

Does per-item resolution mean one RMA can have mixed outcomes?

Exactly. You can refund item A, replace item B, and write off item C on the same RMA, each with its own disposition, with the parent RMA staying open until every item is resolved.

How are duplicate returns prevented?

Serial number uniqueness across active RMAs is enforced at the product level — a serial already in an open return cannot be submitted again. Customers without a serial can still submit, but flagged for staff review.

Get operational control — before it costs you more.

14-day free trial. No credit card required. Billed through Shopify.