runbookify
← All plans
Accounting & Finance / Bookkeeping & Journal Entries

Inter-Account Transfer Logger

Log every move of money between your bank accounts, entities, or owners as a matched out/in pair so a transfer never sneaks into your books as income or an expense — with a reviewer confirming the pair and GL accounts before anything exports.

BeginnerAn afternoonBuilds onNext.jsSupabaseResend
What you'll build

A web tool where you log a transfer (from account, to account, amount, date, purpose) and AI drafts the two offsetting journal lines — money out of one account, money in to the other. A reviewer confirms the matched pair and the GL accounts, and only then does the tool export a balanced journal CSV plus a transfer register that always nets to zero. Single-sided or duplicate transfers are flagged before they ever post.

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)
  • Your chart of accounts (which GL account each bank/owner/entity maps to)
  • A way to list transfers — keyed in the app or a CSV/Google Sheet
  • Claude Code or any AI coding agent

The problem this kills

You move money between your own accounts all the time. Owner draws and contributions. Sweeping cash from operating to savings. Funding a second entity. Paying a company card from the checking account. None of it is income and none of it is an expense — it is the same dollars changing pockets. But when those moves land in your bookkeeping, they are dangerous: book the deposit side and forget the withdrawal side and you have just invented revenue. Categorize a transfer as an expense and you have understated your profit. Do it across two entities and you have a mess that takes hours to untangle at year end.

The classic failure mode is the single side. The money leaves account A and shows up in account B as two separate, unmatched transactions — and unless something forces them to be recognized as the same transfer, one of them gets mis-coded. The other classic failure is the double-count: the same transfer gets keyed twice, or imported from two bank feeds, and now your transfer register is off.

This is exactly the kind of rules-based, two-sided bookkeeping that a small internal tool does better than a spreadsheet — and you do not need to be a developer to build it.

What you'll build

A simple internal web tool for logging transfers. You enter a transfer once — from account, to account, amount, date, purpose — or import a batch from a Google Sheet. For each one, AI drafts the matched pair: a credit (money out) to the source account and a debit (money in) to the destination account, both tagged as a transfer so they are excluded from your profit and loss. The two lines always net to zero.

A reviewer opens the run, confirms each matched pair and the GL accounts the tool picked, fixes anything off, and clicks Approve. Only then does the tool export a balanced journal CSV in your accounting system's import columns, plus a transfer register that always sums to zero. Any transfer with only one side, a missing GL mapping, or a suspected duplicate is flagged for a human before it can post.

What's inside the Implementation Plan

The plan is a single file you paste into an AI coding agent. It opens by interviewing you about your business — your accounts and entities, how you name them, which GL account each one maps to, how you tell a real transfer from a payment, your typical and peak volumes, and your messiest edge cases like owner draws and cross-entity loans — and then tailors the data model, the matching logic, and every later step to your answers. This is a build shaped around how your money actually moves, not a generic template.

From there it walks the agent through the database schema, logging a transfer (keyed or imported), the engine that creates exactly two offsetting lines and flags any unmatched single side, the reviewer's confirm-and-approve screen, and the export of a balanced journal plus a transfer register that nets to zero. Every step ends with a ready-to-copy prompt. Because the whole thing runs on keyed entries or CSV in and GL-ready CSV out, you can build and use it this afternoon even with no connection to your bank or accounting system.

The governance it includes (this is the point)

This touches the general ledger, so it is built like it matters: login so only your team can use it, row-level security so you only ever see your own organization's data, and a complete audit trail of every transfer logged, edited, approved, and exported — who did what, and when. Nothing posts automatically: each transfer is a draft pair until the reviewer approves it, and approval is the hard human-in-the-loop gate before anything becomes a journal entry. A duplicate guard on from + to + amount + date means the same transfer can't be logged or imported twice, and the engine refuses to export any transfer that doesn't have exactly two balanced sides.

Who it's for

Bookkeepers and finance staff for multi-account or multi-entity small businesses — anyone who moves money between bank accounts, owners, or related companies and is tired of the transfer that quietly became income. If you can explain which account each move comes from and goes to, you can build this.

You've got this — open the plan, paste the first prompt, and let it interview you about how your money moves.

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.