Skip to content

Refunds & returns

Diagram viewer: scroll horizontally to inspect the full flow.

A refund moves from the order page through the connected gateway to the buyer's original payment method, while restocking follows the selected disposition.
Gateway refunds are reconciled in the background. Inventory changes only when the chosen return/refund disposition says to restock it.

Sellerlane separates two things Shopify also keeps apart: a return is the physical/logistics record of goods coming back to you (with an RMA number, per-item reasons, and receivings), and a refund is the financial record of money going back to the buyer. You can do either on its own, or link a refund to a return. Both are managed from the order: open the order and use the Returns card and the Refunds card.

For the exact distinction between sales reversals and financial payouts, event dates, allocation sums, tender restoration, and profit, see Financial semantics.

Before you start

  • Publish a refund/return policy. Buyers (and disputes) reference it, and Sellerlane links your policy pages from checkout automatically. Set yours under Settings → Policies. Need one fast? Use the free refund policy generator.
  • Decide your return window (for example 7 or 30 days) and state it in the policy. The platform does not auto-block late returns — you accept or reject each one.
  • Have your locations set up if you sell physical goods, because returned stock is received into a specific location. See locations & inventory.

Issuing a refund

Open the order and, in the Refunds card, choose Create refund.

  1. Link a return (optional). If this refund is paying out an approved return, pick it under Return. Leave it on No linked return for a standalone refund (price adjustment, goodwill, fraud reversal, and so on).

  2. Choose a reason. Options are Return, Price adjustment, Shipping adjustment, Goodwill, Fraud, and Other. The reason feeds your reporting, so pick the closest match.

  3. Choose a settlement method. This is the most important field and it defaults to Manual external:

    • Original payment — refund back through the connected gateway to the card / UPI / netbanking the buyer used. You must select the original payment transaction; the platform routes the money for you and tracks it to completion.
    • Cash — you handed back cash (typical for COD/in-person). Records-only.
    • Bank transfer — you paid out by NEFT/IMPS/UPI yourself. Records-only.
    • Manual external — any other out-of-band settlement you handled yourself. Records-only and the default.

    Only Original payment moves money automatically through the gateway. The other three record that you settled it elsewhere — Sellerlane updates the order’s financial status but does not call the gateway.

  4. Set per-line quantities and amounts. Each refundable line shows a suggested unit-net amount; adjust the quantity and the unit net as needed. The Refund total updates live. Partial refunds are fine, and you can refund the same order multiple times up to the captured amount.

  5. Choose restock per line (non-return refunds only). For a fulfilled, physical line on a refund with no linked return, you get a Restock selector — see Restock behaviour below.

  6. Add a note (optional) and choose Create refund.

Refund states and gateway reconciliation

A refund moves through these states: pending → processing → partially_succeeded → succeeded, or failed, canceled, or requires_review.

For an Original payment refund, a background reconciliation sweep re-checks the connected provider on a backoff schedule (minutes, then hours) until it confirms the outcome — you do not need to watch it. If the gateway keeps a refund pending for an unusually long time, or returns an error, the allocation is flagged requires_review so you can look into it.

You can also drive a refund manually from the Refunds card with the Processing, Succeeded, Failed, and Cancel buttons. These are status-gated: Processing is available only while the refund is pending, and once a refund has succeeded or been canceled the other actions are disabled. Use Cancel to undo a refund — but only before it has settled; you cannot cancel a succeeded refund.

Refund caps and guards

  • You can never refund more than was captured — summed across every partial refund against the same payment. A refund that would exceed the captured amount is rejected.
  • Gift-card-funded amounts respect the card’s balance rules.
  • If a buyer is charged but no order is created (for example a dropped connection at the last step), the platform detects the unmatched payment and refunds it automatically. You don’t have to find these.

Refund reasons taxonomy

Pick the reason that matches why money is going back, because it drives reporting:

  • Return — paying out an approved RMA return.
  • Price adjustment — you lowered the price after the sale (price match, promo applied late).
  • Shipping adjustment — refunding shipping that was over-charged or not delivered as promised.
  • Goodwill — a gesture, not owed under policy.
  • Fraud — reversing a fraudulent or disputed charge.
  • Other — anything that doesn’t fit above.

Settlement to store credit or gift card

A refund’s payout is not limited to gateway/cash/bank/manual: the data model records store-credit and gift-card allocations on a refund as well, and posts them when the refund succeeds. If you want a refund to go back as store credit, issue it through the store-credit flow and link it to the order — see store credit and gift cards.

Refunding shipping separately

You don’t have to refund items to give back shipping. A refund supports its own shipping allocations, so you can return a shipping over-charge (use the Shipping adjustment reason) without touching any line item.

Returns (RMA workflow)

A return is a first-class record with an RMA number, per-item reasons, and a status ladder. Only fulfilled quantities can be returned. Manage returns in the Returns card on the order.

Return status ladder

requested → approved → in_transit → partially_received → received → closed. A return can also be rejected or canceled, and a closed/finished return can be reopened.

Create a return

  1. In the Returns card, choose Create return.

  2. For each fulfilled line you want back, set the Qty (capped at the returnable quantity) and pick a Reason: Damaged, Defective, Not as described, Ordered wrong item, Changed mind, or Other. You can add a Reason note per item.

  3. Optionally add an overall Return note, then choose Create return.

The return is created with an RMA number and status requested.

Approve, reject, or edit a return

  1. Approve — open Approve and set the approved quantity per item (it can be less than requested). Optionally set an approved-at time and note. The return moves to approved.

  2. Reject — choose Reject, give a rejected reason (required), and it moves to rejected.

  3. Edit item quantities — adjust the requested quantities on a return before it is fully received.

  4. Close / Cancel / ReopenClose a finished return, Cancel one that won’t proceed (reason required), or Reopen a closed return back to approved.

Receive returned goods (receivings)

Approving a return doesn’t move stock — that happens when goods physically arrive, recorded as one or more receivings (one per shipment).

  1. On an approved return, choose Create receiving. Pick the receiving location (required), optionally add carrier name/code, tracking number, tracking URL, and an in-transit time, then set the planned quantity per item. This marks the goods in transit.

  2. When the parcel arrives, open the receiving and choose Receive. For each item, enter the Received quantity, then split it across dispositions: Restock, Damaged, Quality check, and Discard.

  3. The disposition quantities for an item must add up to the received quantity for that item — the form will warn you otherwise.

  4. Tick Close receiving when complete to finish, then save.

A return becomes partially_received as goods arrive and received once everything approved has been received.

Restock behaviour

Whether and where returned stock becomes sellable again depends on the path — there is no single blanket rule.

  • Non-return refund (per line). On a refund with no linked return, each fulfilled physical line offers a Restock selector: Restock to inventory (default — pick a location), Damaged, Quality control, Discard (no restock), or Don’t restock (customer keeps). Only Restock to inventory returns sellable stock; Damaged/Quality control/ Discard do not.
  • Return-linked refund. Restock happens at receiving, via the dispositions above — not in the refund modal. The refund modal hides the per-line restock selector once a return is linked.
  • Unfulfilled stock. Quantities that were never fulfilled are released automatically server-side when you refund — you don’t restock them by hand.

In short: Restock writes the units back to the chosen location and inventory bucket as sellable; Damaged, Quality control, and Discard keep the units out of sellable inventory.

Where to see status

  • Refunds card on the order — every refund record, its status badge, reason, amount, and the manual lifecycle actions.
  • Returns card on the order — each return’s RMA, status, items, and receivings.
  • Timeline card on the order — a chronological log of return and refund events.

Buyer-initiated requests

Buyers can resolve some things themselves via self-service — event reschedules/cancellations, digital re-downloads and re-deliveries, gift-card resends, and order cancellation requests — under rules you control. These appear inline on the order for you to Review / Approve / Decline. Self-service does not let buyers refund themselves; you still issue the refund.

To cancel unfulfilled quantities rather than refund paid value, use the cancel flow on the order — see orders & fulfillment.

Troubleshooting

  • Refund failed at the gateway. For an Original payment refund the reconciliation sweep retries automatically; if it can’t confirm, the allocation is flagged requires_review. Check the Refunds card status badge and the Timeline.
  • “Refund exceeds captured amount.” You’ve hit the cap — the sum of all refunds against that payment can’t exceed what was captured. Reduce the amount.
  • An item didn’t restock. Either you chose Damaged, Quality control, or Discard (none of those restock), or the refund was return-linked, in which case stock comes back at receiving, not in the refund modal.
  • I selected the wrong original payment. The original payment transaction is required only for Original payment settlement; for cash/bank/manual it’s ignored.
  • Can I undo a refund? Use Cancel in the Refunds card — but only before it settles. A succeeded refund can’t be canceled.
  • Disposition warning when receiving. The Restock + Damaged + Quality check
    • Discard quantities must equal the Received quantity for that item.

Next steps

Returns deep-dive

The full RMA lifecycle with examples in returns.

Self-service

Let buyers raise their own requests in self-service.