Payroll GL Journal Builder
Turn your payroll register into a balanced, account-coded journal entry your controller approves before it ever touches the GL - so the payroll journal balances to the penny every run.
Import a payroll register + mapping, auto-classify every amount to GL accounts and cost centers, assemble a balanced journal entry, have the controller review and approve, and export a clean GL import CSV plus a register-to-GL tie-out.
Before you start
- Your most recent payroll register exported as CSV
- Your GL chart of accounts and cost-center list
- Your current mapping of payroll components to GL accounts (even if it lives in your head or a spreadsheet)
- Free Vercel, Supabase, and Resend accounts
The problem this kills
Every payroll run, someone hand-builds the journal entry. They open the payroll register, eyeball the gross wages, employer taxes, deductions and net pay, and start typing debits and credits into a spreadsheet - guessing which line goes to which GL account and cost center. Then the entry doesn't balance. Off by $3.41. Off by the rounding on one employee's deduction. So they hunt for the penny, find it twenty minutes later, fix it, and import the entry into the accounting system hoping nothing else is wrong.
It's slow, it's error-prone, and it's completely undocumented. If the auditor asks "why did wages hit this cost center?" the answer is a shrug. And the same register can get journalized twice if two people aren't talking.
This tool replaces that ritual with a repeatable, auditable pipeline: import the register, map it once, get a journal entry that is guaranteed to balance before anyone can export it.
What you'll build
A small, private web app for your accounting team that:
- Imports a payroll register CSV and your GL account / cost-center mapping.
- Classifies each component - gross wages, employer taxes, employee deductions, net pay, accrued taxes - to the right GL account and cost center using your mapping.
- Assembles a balanced journal entry (debits = credits) and blocks export if it's off by even a penny, showing you exactly where the imbalance is.
- Routes the draft entry to your controller for review and approval - the human gate.
- On approval, exports a GL journal import CSV in your accounting system's format, plus a register-to-GL tie-out report proving the entry matches the register.
- Guarantees one journal per payroll run - no accidental double-posting.
What's inside the Implementation Plan
- A copy-paste runbook you hand to an AI coding agent (Claude Code). You don't write code - you paste prompts and answer questions.
- It opens by interviewing you about your business - your payroll provider, your register's exact columns, your chart of accounts, how you split cost by department or cost center, how you handle accrued employer taxes and clearing accounts, your peak run sizes, and your messy exceptions. It tailors the data model and every build step to your answers instead of dropping a generic template on you.
- Step-by-step build instructions, each ending with a ready-to-paste prompt.
- A built-in "No API yet?" fallback so you can ship this today using a CSV/Google Sheet as the source and a clean CSV export - no integration with your payroll or accounting system required.
- A verification checklist so you know it actually works before you trust it on a live run.
The governance it includes (this is the point)
- Login so only your team can open the tool.
- Row-level security so each organization only ever sees its own payroll data.
- A complete audit trail - who imported, who approved, what changed, and when.
- A hard human-in-the-loop approval gate - the AI drafts the journal; the controller reviews that it balances and approves; only then can it be exported.
- A balance guard - export is blocked unless debits equal credits to the penny.
- Duplicate guards - one journal per payroll run, so the same register can't be posted twice.
Who it's for
Controllers and bookkeepers who hand-build the payroll journal entry every run and are tired of chasing the penny that won't balance. If you can use a spreadsheet and follow instructions, you can build this - no developer required.
You've got this - paste the first prompt and let the agent interview you.