runbookify
← All plans
Order Management & Fulfillment / Invoicing & Billing

Monthly Customer Statement Builder

Build a tool that turns your open-invoices-and-payments data into clear per-customer statements with aging buckets, lets AR review and approve the run, then emails each customer their statement plus a PDF on one click.

BeginnerAn afternoonBuilds onNext.js (App Router) on VercelSupabase (Postgres, Storage, Auth + RLS)Resend (email + PDF delivery)
What you'll build

A private, login-protected web app where AR imports an AR export, reviews auto-built per-customer statements with standard aging buckets, approves the run behind a human gate, and emails every customer a clean statement and PDF — with a full audit trail and duplicate protection.

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 domain you can send from, or use Resend's test sender to start)
  • A CSV or Google Sheet of open invoices and payments per customer

The problem this kills

It's the third of the month and AR is stitching statements together by hand. Someone exports open invoices, pivots them in a spreadsheet, eyeballs which buckets each line falls into, copies a customer's lines into an email, attaches a PDF, and repeats — forty, eighty, two hundred times. By the time the run goes out it's late, a few customers got the wrong totals, and one statement went to a customer who already paid.

And then the favorite excuse arrives: "We never got a statement." Slow payment hides behind unclear paperwork. You can't chase a balance the customer claims they never saw.

This tool ends that. You import your AR data once, it builds every customer's statement with standard aging buckets automatically, AR reviews the whole run on one screen, and a single approval sends every statement and PDF. Clear paperwork, on time, every month — and the "we never got it" excuse is gone.

What you'll build

A small, private web app — only your team can log in — that does the monthly statement run end to end:

  • Import your open-invoices + payments export (CSV or Google Sheet) for the statement period.
  • Build per-customer statements automatically: every open invoice, every applied payment, a running balance, and standard aging buckets (0–30 / 31–60 / 61–90 / 90+ days).
  • Review the full run on one screen — totals per customer, per bucket, and a grand total — before anything leaves the building.
  • Approve behind a hard human gate: AR (not the AI) signs off on the run.
  • Send each customer their statement as a clean email plus an attached PDF, through Resend.
  • Export a CSV in your system's exact columns if you'd rather hand the run back to your ERP — the always-available fallback.

What's inside the Implementation Plan

  • It interviews you first. Before it builds a single thing, the plan has the AI agent interview you about your business — how you run statements today, what your AR export actually looks like, your real customer codes and invoice-number formats, your typical and peak customer counts, your aging rules and any house exceptions, and the messy edge cases (credit memos, partial payments, disputed lines, customers on hold). It reflects a short tailored spec back to you and waits for your thumbs-up. You get a tool shaped around how you actually work, not a generic template.
  • A step-by-step build, each step ending in a ready-to-paste prompt — no guessing what to type next.
  • The full data model for customers, invoices, payments, statement runs, and statement lines, tuned to your answers.
  • Automatic aging-bucket math you can sanity-check on screen.
  • A review-and-approve screen with the human gate baked in.
  • Resend wiring for the per-customer email + PDF, with a safe test-send before the real run.
  • The "No API yet?" fallback: import from Sheets/CSV and export a clean CSV in your system's columns, so you can ship this today with zero integration work.

The governance it includes (this is the point)

This isn't a script that blasts emails. Governance is built in from the first prompt:

  • Login required — only your team can open the tool.
  • Row-level security — people only ever see their own organization's data, enforced in the database.
  • A complete audit trail — who imported, who approved, who sent, and exactly when.
  • A hard human-in-the-loop gate — the tool drafts the statement run; a person reviews and approves before a single statement is emailed. The AI never sends on its own.
  • Duplicate guards — the dedupe key is customer + statement period, so the same customer can't be statemented twice for the same month even if you import twice or click send twice.

Who it's for

AR and collections teams who run monthly (or weekly) customer statements and are tired of doing it by hand in spreadsheets. If you can use a spreadsheet and follow steps, you can build this — no coding background needed. One afternoon, start to finish.

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.