runbookify
← All plans
Accounting & Finance / Expense Management

Expense Report Builder & Approval

Build an internal tool where employees upload receipts and build expense reports, the system checks every line against your policy and flags problems, and a manager approves before anything goes to AP for reimbursement.

IntermediateA weekendBuilds onNext.js (App Router) on VercelSupabase (Postgres, Storage, Auth + RLS)Resend (submission, approval, and reimbursement emails)
What you'll build

A login-protected expense tool: employees build reports and attach receipts, the app checks each line against your policy and flags missing receipts and over-limit spend, a manager approves or returns, and you export a reimbursement file plus coded GL entries for AP - with a hard rule that nothing reaches AP without a manager's sign-off.

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 free Vercel account
  • A free Supabase account
  • A free Resend account (and a sender address you can use)
  • Your expense policy (per-category limits + receipt-required thresholds)
  • An approver list (who approves whom)

The problem this kills

Expense reimbursement at a small company is a quiet mess. Someone emails a manager a photo of a crumpled receipt and a line in the email body: "lunch with client, $94." Was that over the meal limit? Is a receipt even required at that amount? Did they already submit this same receipt last month? The manager eyeballs it, replies "ok," and forwards it to whoever cuts the checks - who now has to figure out the GL code, re-key it into the accounting system, and hope nothing's a duplicate.

Multiply that by every employee, every month, and you get late reimbursements, policy limits nobody actually enforces, receipts that go missing the moment they're needed for an audit, and the occasional expense that gets paid twice. The "approval" is a one-word email reply with no record of what the manager actually saw.

This tool replaces the email-and-eyeball routine with a real process: employees build a proper report, the app checks every line against your written policy, a manager approves or returns it, and AP gets a clean, coded file - with a full record of who approved what and when.

What you'll build

A small internal web app, just for your team, that:

  • Lets an employee build an expense report: add line items (date, category, amount, merchant, business purpose) and upload a receipt for each.
  • Checks every line against your policy automatically - per-category limits, receipt-required thresholds, allowed categories - and flags anything that's over a limit or missing a required receipt.
  • Dedupes on a receipt fingerprint so the same receipt can't be submitted twice (this month or next).
  • Sends the report to the employee's manager, who sees the lines, the receipts, and every policy flag, and can approve the report or return it with a note.
  • Enforces a hard gate: nothing reaches AP until a manager has approved it.
  • Exports a reimbursement file (in the exact columns your payroll/AP system wants) plus coded GL entries, and notifies the employee that their report was approved and is being paid.
  • Stores every receipt securely with row-level security, and keeps a complete audit trail of submissions, flags, approvals, returns, and exports.

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 reimbursement works today, what your expense policy actually says (your categories, your per-category limits, your receipt-required threshold), who approves whom, the exact columns your payroll/AP system needs, your typical and peak volumes, and your messiest edge cases (mileage, per diems, split-with-a-personal-card, foreign currency, a missing receipt with a written explanation). It reads a short tailored spec back to you, you confirm it, and only then does it build - so you get a tool shaped to your 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 policy rules.
  • The full build: database, login, receipt upload to secure storage, the report builder, the policy-check engine, the manager approval screens, and the email flow.
  • The hard human approval gate, the duplicate guard on receipts, and the complete audit trail.
  • Verification steps so you can prove it works, and the CSV-export fallback so it's fully usable even before you connect it to your accounting system.

The governance it includes (this is the point)

This isn't a toy. The plan builds in the controls a finance team actually needs:

  • Login so only your team can see or touch anything.
  • Row-level security so employees only ever see their own reports and receipts, managers see only their team's, and AP sees what's approved - all scoped to your organization.
  • A complete audit trail - every submission, policy flag, approval, return, export, and reimbursement notice is logged with who and when.
  • A hard human-in-the-loop gate - the AI checks policy and drafts the GL coding, but a real manager must review and approve; nothing is ever auto-approved into AP.
  • Duplicate guards - a receipt fingerprint blocks the same receipt from being submitted twice.

Who it's for

Any team without a dedicated expense app: the employees who submit, the managers who approve, and the AP or bookkeeping person who pays. If your reimbursements currently live in email threads and a shared spreadsheet, and you want a real, auditable expense process without buying Concur or hiring a developer - this is for you. You don't need to write code. You need your expense policy, your approver list, and an afternoon-to-a-weekend.

You've got this - paste the first prompt and let the agent interview you.

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.