RMA Request & Approval Portal
Build an internal tool where customers request returns and the app checks each one against your return-window and eligibility rules before a coordinator approves it and issues an RMA - so unauthorized returns stop clogging the dock.
A login-protected returns portal: customers submit a return request, the app runs your return-window and eligibility checks, a coordinator reviews and approves or denies, and an approved request automatically gets an RMA number plus return instructions emailed - with a full audit trail, duplicate guards on order+item, and serial/lot capture.
Before you start
- A free Vercel account
- A free Supabase account
- A free Resend account (and a sender address you can use)
- An orders CSV (order number, item/SKU, quantity, ship date, customer email)
- Your return policy written down (return window, eligible/ineligible items, restock rules)
The problem this kills
A box shows up on your dock. No paperwork, no RMA number, sometimes not even a name you recognize. Was this return ever approved? Is it even inside the return window? Is the item one you actually take back, or is it final-sale? Did someone already process a return on this exact order line last month? Your team spends half its day playing detective on parcels that should never have been shipped back in the first place.
In most returns operations the "process" is a customer emailing or calling, someone eyeballing the order, and a yes/no given from memory or a sticky note. The return window gets fudged. Ineligible items slip through. The same order line gets returned twice. And when finance or a vendor asks "who authorized this RMA and on what basis?", the answer lives in someone's sent folder.
This tool replaces the guesswork with a clear request form, an automatic policy check, and an enforced human approval before any RMA exists - plus a clean record of every decision.
What you'll build
A small internal web app (with a customer-facing request form) that:
- Lets a customer submit a return request - order number, item/SKU, quantity, reason, and condition.
- Looks the order up against your orders data (CSV import, or your system later) and runs an automatic policy check: is it inside the return window, is the item eligible, is the quantity valid, and is this a duplicate of a return already in flight?
- Shows your returns coordinator a clean review queue with the policy check already done - green flags, red flags, and why.
- Requires the coordinator to approve or deny each request before anything is issued - the human gate.
- On approval, generates an RMA number, applies your restock / disposition rule, captures serial or lot numbers where required, and emails the customer the RMA number and return instructions via Resend. On denial, emails a clear reason.
- Dedupes on order + item so the same line can't be returned twice.
- Exports issued RMAs (in the exact columns your warehouse or ERP expects) plus a complete decision log.
What's inside the Implementation Plan
The plan is a single markdown file you paste into Claude Code (a free AI coding agent). It walks the agent through building the whole tool, step by step, each step ending with a ready-to-paste prompt.
The most important part: the plan opens by interviewing you about your business. Before it writes a single line, the agent asks how returns reach you today, what your exact return window and eligibility rules are, the real field names in your orders data, your typical and peak return volumes, your restock and serial/lot rules, and your messiest edge cases (gifts with no order number, partial returns, items past the window, warranty vs. change-of-mind). It reads a short tailored spec back to you, you confirm it, and only then does it build - so you get a portal shaped to your return policy, not a generic template you have to bend to fit.
Inside you'll find:
- The discovery interview and how the agent turns your answers into the data model and the policy-check rules.
- The full build: database, login, the customer request form, the order lookup + policy engine, the coordinator review queue, RMA issuance, and the email flow.
- The hard human approval gate - no RMA is ever issued without a coordinator's sign-off.
- Verification steps so you can prove it works, and the CSV-import / CSV-export fallback so it's fully usable even before you connect it to your order system.
The governance it includes (this is the point)
This isn't a toy. The plan builds in the controls a returns operation actually needs:
- Login so only your team can review and approve - the request form is the only public part.
- Row-level security so people only see the returns that belong to your organization.
- A complete audit trail - every submission, policy check, approval, denial, and RMA issued is logged with who and when.
- A hard human-in-the-loop gate - the app checks policy and drafts the decision, but a real coordinator must approve before any RMA number is created or emailed; nothing is auto-issued.
- Duplicate guards on order + item so the same line can't be returned twice.
Who it's for
Customer service reps, returns coordinators, and ops/BPM folks drowning in unauthorized returns and dock surprises - who want a real, auditable RMA process without hiring a developer or buying a heavyweight returns platform. Your customers submit; your team decides. You don't need to write code. You need your orders CSV, your return policy, and an afternoon-to-a-weekend.
You've got this - paste the first prompt and let the agent interview you.