splitforms.com

Form template · Customer support

RMA Form Template

Every return starts with a decision: approve, deny, or ask for more info. The RMA form captures order ID, item, reason, and condition so ops can make that call without a back-and-forth email.

  • 500 free / mo
  • No PHP · no SDK
  • One POST endpoint
Live template preview

Pick your rma formone click to use it

Every template is free and fully editable in the drag-drop builder — swap fields, colors, and the button label before you publish.

Best match
Use this template
Use this template
Use this template

No backend code

No server, API route, or SDK — your RMA Form posts straight to one endpoint.

Straight to your inbox

Every submission is emailed to you and saved to a searchable dashboard — spam filtered before it reaches you.

Copy-paste ready

It's plain HTML you own — paste the RMA Form snippet, swap in your access key, and ship.

Copy and ship

Your RMA Form, ready to paste.

HTML by default — the same field set also renders as React, Next.js, PHP, and cURL in your dashboard. Every variant posts to the same /api/submit endpoint. Replace YOUR_ACCESS_KEY with the key from your dashboard; that's the only edit.

Use this template — free
form.html
<form action="https://splitforms.com/api/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
  <input type="hidden" name="subject" value="New support ticket">

  <label for="name">Your name *</label>
  <input id="name" type="text" name="name" placeholder="Jane Builder" required>
  <label for="email">Email *</label>
  <input id="email" type="email" name="email" placeholder="jane@example.com" required>
  <label for="phone">Phone (for urgent issues)</label>
  <input id="phone" type="tel" name="phone" placeholder="+1 415 555 0142">
  <label for="order_id">Order / account ID (optional)</label>
  <input id="order_id" type="text" name="order_id" placeholder="ORD-49281">
  <label for="severity">How urgent is this? *</label>
  <select id="severity" name="severity" required>
    <option value="">Choose…</option>
    <option>Critical — blocking us</option>
    <option>High — losing time</option>
    <option>Medium — annoying</option>
    <option>Low — heads-up</option>
  </select>
  <label for="description">What's wrong? *</label>
  <textarea id="description" name="description" placeholder="Steps to reproduce, error messages, screenshots if you have them." required></textarea>

  <!-- honeypot — bots fill every field -->
  <input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">

  <button type="submit">Send</button>
</form><p class="splitforms-attribution" style="margin-top:12px;font-size:11px;color:#888;text-align:right">
  Powered by <a href="https://splitforms.com" style="color:#888;text-decoration:none" target="_blank" rel="sponsored noopener">splitforms</a>
</p>

How to add it

How to add a RMA Form to your site.

To add a RMA Form to your site you need three things: a free splitforms access key, the HTML snippet above, and your key pasted into it. No backend, database, or CAPTCHA library — the form posts to one URL and every submission lands in your inbox and dashboard.

Capture order and item

Required: order number, SKU or item name, quantity to return, purchase date. If you run a logged-in storefront, pre-fill these from the customer's order history so they don't have to dig through emails.

Ask for reason and condition

Reason dropdown (defective / wrong item shipped / not as described / arrived late / changed mind / other), item condition (unopened / opened / used / damaged), and an optional description. Reason code drives the refund-versus-replace decision and feeds returns analytics.

Approve, deny, or request photos

Webhook the request into your help desk or returns tool (Loop, Returnly, Navidium, Gorgias). Ops approves with a prepaid label, denies with a reason, or asks for a photo if the condition field is ambiguous.

What's included

What's in this RMA Form template?

Returns are 20-30% of ecommerce order volume and the single biggest operational cost after shipping. Most stores still handle them via a generic contact email, which means ops staff spend the first reply just gathering the basics — order ID, which item, why. A dedicated RMA form captures those fields up front and lets the team approve, deny, or request photos in a single reply. The form is also where you capture the reason code (defective / wrong item / changed mind / late) that feeds your returns analytics and supplier chargebacks. Reason codes from the form feed returns analytics and supplier chargebacks — not just the refund queue.

  • Customer support — 6 ready-made fields
  • HTML, JS, React, PHP, and cURL outputs
  • One POST endpoint, no SDK — honeypot and classifier, no CAPTCHA
What's included with the RMA Form Template

Where submissions go

Where do your RMA Form submissions go?

Reply-to is wired to the visitor's email, so one tap on Reply answers them directly — while the built-in honeypot and spam classifier filter out bots before they reach you. Every submission is emailed to your inbox and can forward to a webhook or Slack the moment a visitor hits send.

  • Reply-to wired to the visitor's email — reply straight from your inbox
  • Honeypot and spam classifier filter bots, no CAPTCHA friction
  • Live dashboard, CSV export, and signed webhooks on paid plans
Spam-filtered submissions from the RMA Form Template

How SplitForms works

From form to workflow in 3 simple steps.

Connect your form, collect every submission, and send data where it needs to go — without building backend infrastructure.

A SplitForms contact form submission launching straight to your inbox

Add your endpoint

Point your form to your unique SplitForms endpoint. That's it.

HTML form pointing at a SplitForms submit endpoint

Receive submissions

We instantly capture and organize every submission in your inbox.

Submissions inbox with searchable leads and status pills

Route anywhere

Send data to email, spreadsheets, CRMs, webhooks, and 7,000+ apps.

Generic integration tiles for email, sheets, chat, CRM, automate, and webhook

No credit card required. Set up in under 60 seconds.

Connect & automate

Connect your favorite tools and automate everything

SplitForms works with the destinations you route to and the platforms you build on — from Slack and Sheets to WordPress, Shopify, and Next.js.

Connect your SplitForms form to Slack, Google Sheets, Mailchimp, Zapier and more

Trusted by indie teams and agencies shipping forms worldwide

PETAL/COKRAFT.DELINEAR-XBUILD.DEVSTUDIO 71MERIDIANFRAME&CO

Testimonials

Loved by developers shipping at every scale.

40 quotes on record — from indie hacks to agency migrations.

Questions

RMA Form questions.

View all FAQs
Should we require a photo with the RMA?

Only for damage or defective claims. A photo requirement on every return drops completion 30-40% and frustrates customers returning items in fine condition. Branch the form: photo upload appears only when the reason code is 'defective' or 'damaged in transit'.

Can we auto-approve low-risk returns?

Yes — webhook the submission to your returns tool with rules: items under a set value with reason 'changed mind' or 'wrong size' auto-approve and send a label. Higher-value or 'defective' claims route to human review. Most stores auto-approve 60-70% of returns this way.

How do we handle warranty vs return?

Add a 'return type' radio: return for refund / exchange for different size or colour / warranty claim. Warranty claims have a longer window and different approval rules — route them to the warranty team, not the returns queue.

What if the customer doesn't have the order number?

Make the order-number field required but offer an 'I can't find my order number' fallback that captures email and shipping zip so ops can look it up. Don't make the form impossible to submit — those customers will email or chargeback instead.

Does this work with Shopify, WooCommerce, BigCommerce?

Yes — the form posts to splitforms and webhooks into your returns tool or help desk. For Shopify-specific flows (Loop, Returnly), the webhook includes the order ID so the tool can pull line items automatically. No platform lock-in.

Simple pricing

Start free. Scale when you need more.

Choose a plan that fits your workflow — from a free form endpoint to full automations, exports, and higher submission limits.

Free

$0

Free forever

 
Best for testing

For side projects and indie devs.

  • 500 submissions / mo
  • Unlimited forms
  • Email notifications included
  • Honeypot spam filtering
  • Submissions dashboard
  • MCP setup stays free
  • No credit card required

3-Year

$59/ 36 months
was $99 · save 40% · new-user price

Pay $59. 3 years sorted.

  • 15,000 submissions / mo
  • Unlimited forms
  • Everything in Pro
  • Renews every 3 years
  • Long-term discount
  • Priority support included
  • Vote on the roadmap

No credit card required on Free • Cancel anytime