runbookify
← All plans
Order Management & Fulfillment / Returns & Exchanges

Return Receiving & Disposition: Stop Returns Piling Up Undecided

Receive returns against their RMA, record inspection and grade with photos, and get an inspector's sign-off on the disposition — restock, repair, scrap, or return-to-vendor — before any inventory or credit moves.

IntermediateA weekendBuilds onNext.jsSupabaseResend
What you'll build

An internal web tool where your returns and QC team receives goods against their RMA, records condition, grade, and photos, and an inspector approves the disposition — restock, repair, scrap, or return-to-vendor — before any inventory or credit action is committed and a clean action file is exported.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.

Before you start

  • A Supabase account (free)
  • A Vercel account (free)
  • A Resend account (free) for return-received and disposition-ready emails
  • An expected-returns (RMA) CSV you can export
  • Your inspection criteria and grade scale
  • Claude Code or any AI coding agent

The problem this kills

A box shows up on the dock. Maybe it has an RMA number scrawled on it, maybe it doesn't. Someone opens it, eyeballs the contents, and sets it on a shelf "to deal with later." Multiply that by every return that comes back in a week and you get the thing every returns and warehouse team knows too well: a corner of the building filling up with cartons nobody has decided about. Is that item resaleable? Does it go back to the vendor? Is it scrap? Until someone makes the call, it's not inventory, it's not a credit, it's not anything — it's clutter that ties up cash and floor space.

And when decisions finally do get made, they get made inconsistently. One person restocks a scuffed unit that should have been graded "B." Another scraps something the vendor would have taken back. A credit gets issued before anyone confirmed the item actually came back in the condition the customer claimed. There's rarely a clean record of who inspected what, what grade they gave it, or why the disposition was chosen — so when finance or a vendor asks, nobody can prove it.

You don't need a warehouse management system overhaul to fix this. You can build the receiving-and-disposition tool yourself, this weekend.

What you'll build

An internal web tool your returns and QC team logs into. You import your expected returns — the open RMAs (return merchandise authorizations) — so the tool knows what's supposed to come back. When a box arrives, a receiver pulls up its RMA, confirms which lines and quantities actually showed up, and snaps photos of the condition. QC inspects each received line, records a grade against your criteria, and proposes a disposition: restock, repair, scrap, or return-to-vendor.

Then the important part: nothing moves until an inspector approves. The tool drafts the disposition and shows the evidence — the photos, the grade, the reason — and a person with authority signs off. Only on approval does the tool generate the inventory and credit actions and let you export a clean action file in the exact columns your system of record expects. It matches every receipt back to its RMA, warns you when a box arrives with no RMA or more than was authorized, and blocks the same RMA line from being received twice.

What's inside the Implementation Plan

The downloadable plan is a single markdown file you paste into an AI coding agent. It opens by interviewing you about your own returns process — your RMA field names, how a receipt links back to an RMA line, your grade scale and inspection criteria, your disposition rules, who is allowed to approve, and your messiest edge cases — and then it reads a short spec back for your thumbs-up before it builds anything. That's the difference between a tool shaped to your returns flow and a generic template you have to fight.

From there it walks the agent through the data model (RMAs, expected lines, receipts, inspections, dispositions, and the resulting actions), the RMA importer, the receive-against-RMA screen with photo capture to Storage, the inspection-and-grade step, the inspector approval gate, and the inventory/credit action export. Every step ends with a ready-to-copy prompt. There's a full "No API yet?" path: import RMAs from a Google Sheet or CSV, store photos in Supabase Storage, and export clean inventory and credit CSVs in the exact columns your system expects — no integration required to ship.

The governance it includes (this is the point)

Returns are where inventory accuracy and credit dollars leak, so the controls are the product. The plan builds them in: a login so only your team can use it; row-level security so each organization only ever sees its own returns; a complete audit trail of who received, inspected, graded, approved, and exported, and when; a hard human-approval gate so no inventory or credit action exists until an inspector signs off on the disposition; and a duplicate guard keyed on RMA plus received line so the same return can't be processed twice. The grade and the photos are attached to the decision, so when a vendor disputes a return-to-vendor or finance questions a credit, the evidence is right there.

Who it's for

Returns coordinators, warehouse receiving teams, and QC inspectors who own returned goods from the dock to the decision and are tired of the undecided pile. If you can explain to a new hire how a return gets received, graded, and dispositioned in your shop, you can build this — no developer required.

You've got this — open the plan, paste the first prompt, answer a few questions about how your returns actually flow, and you'll watch your first box get received, graded, and dispositioned with a clean record behind it.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.