Return Authorization Form Generator

Issue a return authorization with an RMA number, reason codes and instructions, so returns come back in one predictable shape.

Describe the result you need. AI will set up the tool and ask for any missing details.

Configure with AI

Enter to submit · Shift + Enter for a new line

Sent to AI. Leave out passwords and private customer data.

Your details

From
Customer
days
Items

Reason codes: Wrong size, Changed mind, Defective / damaged, Wrong item shipped, Not as described, Other.

Return details

Printable return authorization form

RMA-1042-01.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>RMA RMA-1042-01</title>
<style>
  * { box-sizing: border-box; }
  body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; color: #111; margin: 0; padding: 32px; font-size: 13px; line-height: 1.5; background: #fff; }
  .doc { max-width: 760px; margin: 0 auto; }
  .row { display: flex; justify-content: space-between; gap: 24px; }
  .head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 28px; gap: 16px; }
  h1 { font-size: 22px; margin: 0 0 4px; letter-spacing: -0.02em; }
  h2 { font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin: 24px 0 8px; }
  table { width: 100%; border-collapse: collapse; margin-top: 8px; }
  th, td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #e3e3e3; font-size: 12.5px; }
  th { text-transform: uppercase; font-size: 10.5px; letter-spacing: 0.05em; color: #666; border-bottom: 2px solid #111; }
  td.num, th.num { text-align: right; }
  .totals { margin-top: 12px; width: 260px; margin-left: auto; }
  .totals div { display: flex; justify-content: space-between; padding: 4px 0; }
  .totals .grand { font-weight: 700; border-top: 2px solid #111; margin-top: 4px; padding-top: 8px; font-size: 15px; }
  .muted { color: #666; }
  .box { border: 1px solid #ddd; border-radius: 8px; padding: 12px 14px; }
  .sig { margin-top: 40px; display: flex; gap: 40px; }
  .sig div { flex: 1; border-top: 1px solid #111; padding-top: 6px; font-size: 11px; color: #666; }
  @media print { body { padding: 0; } }
</style>
</head>
<body>
<div class="doc">

    <div class="head">
      <div><h1>Return Authorization</h1><p class="muted">RMA RMA-1042-01 · Order #1042</p></div>
      <div class="box" style="text-align:right"><p><strong>Harbour &amp; Co</strong></p><p class="muted">hello@harbourco.com</p></div>
    </div>
    <div class="row">
      <div><h2>Customer</h2><p><strong>Priya Nair</strong></p><p class="muted">priya@example.com</p></div>
      <div style="text-align:right"><h2>This RMA expires</h2><p>Fri Oct 30 2026</p><p>Resolution requested: refund</p></div>
    </div>
    <table><thead><tr><th>SKU</th><th>Item</th><th class="num">Qty</th><th>Reason</th></tr></thead><tbody><tr><td>TEE-BLK-M</td><td>Classic Tee (Black M)</td><td class="num">1</td><td>Wrong size</td></tr></tbody></table>
    <h2>Return to</h2>
    <p class="muted" style="white-space:pre-line">Harbour &amp; Co Returns
48 Quay Street
Cork, Ireland</p>
    <h2>Instructions</h2>
    <p class="muted" style="white-space:pre-line">Pack items in their original condition. Write the RMA number on the outside of the box. Keep your tracking number until the refund is confirmed.</p>
  
</div>
</body>
</html>

Email this to the customer as a PDF, or print a copy to include with a pre-paid return label.

Live preview

Why give returns an RMA number

A Return Merchandise Authorization (RMA) number ties a returned box back to a specific order and reason, before it arrives. Asking for it on the outside of the box means whoever opens returns doesn't have to guess which order it belongs to.

Common reason codes: wrong size, changed mind, defective or damaged, wrong item shipped, not as described, other.

Setting it up

  1. 01

    Set an expiry

    Give the RMA a short validity window (7 to 30 days is typical) so return shipping labels don't sit unused for months.

  2. 02

    Match the resolution to your policy

    Refund, exchange or store credit should already be part of your published returns policy. Pick whichever the customer requested.

  3. 03

    Email it as a PDF

    Print the HTML file to PDF and attach it to the return confirmation email, alongside a prepaid label if you provide one.

Questions people ask

What is an RMA number?

A Return Merchandise Authorization number: a reference you issue before a return ships back, so it's identifiable and pre-approved when it arrives.

Do I need to authorize every return before it's sent?

Many stores do, since it lets you catch ineligible returns (past the window, used items) before shipping costs are spent. Some stores skip this step and rely on order number alone; it's a policy choice.

What reason codes should I use?

Wrong size, changed mind, defective or damaged, wrong item shipped, not as described, and other cover most returns. Tracking reason codes over time shows you where sizing, photos or descriptions need work.

Can this generate a return shipping label?

No, it's a paper authorization only. Generate the label through your carrier or shipping app separately.

Want this builtinto your store?

I'm Emmanuel, a Shopify and WooCommerce developer. If this tool pointed at something you'd rather have fixed for you (a faster store, cleaner product data, a migration, a custom feature), send me a note.

Emmanuel Asika

Emmanuel Asika

Shopify & WooCommerce developer, Dublin

I build and fix online stores: new builds, migrations, speed, SEO and the custom bits apps can't do.

hello@emmanuelasika.com

Last reviewed 30 September 2026.