Claude Code logo
Claude Code template
irs.govdocs.claude.com

Payroll Liability Reconciler

Ties gross-to-net per period and catches the employer-vs-employee coding errors that hide in a payroll liability balance. Not tax advice; never posts.

NewNew8.9 KB snapshotStarter VM
Claude Code logo

What's inside

Harness

Claude Code

Plan

Starter

vCPU

1

Memory

2 GiB

Snapshot

8.9 KB

How it works · ~3 minutes

  1. 01 · Fork

    New isolated microVM on your subdomain — creator state included.

  2. 02 · Your keys

    Log into Claude Code with your own model credentials (BYOK).

  3. 03 · Ask it to work

    Open the terminal and give it a real job. You keep what ships.

30-day money-back on your first purchase · no free trial · keys never leave the VM

About this template

The payroll liability balance nobody can explain

Somewhere the employer FICA share got booked as a liability instead of an expense, a state unemployment payment never matched, and a garnishment landed in the wrong account.

It's been like that for four months because nobody wants to open it.

The split is where the errors hide

This is the rule that catches real problems: employee withholding is a liability you hold and remit. The employer share is an expense. Confusing the two is the most common payroll coding error in a small business, and it's invisible in a balance total.

Four specific checks:

  1. FICA — employer matches employee. Unequal means one is mis-coded.
  2. Unemployment (FUTA/SUTA) — employer-only. Any employee-side amount is an error.
  3. Benefits — employer contribution is expense; the employee premium is a deduction, not an expense.
  4. Garnishments — always a liability, never an expense.

Findings name the account and the amount: employer FICA of $1,240 is coded to a liability account; employee FICA is $1,190; these should match and one is mis-coded.

Two tie-outs, both printed

gross − employee_taxes − employee_deductions = net_pay
total_cash_out = net_pay + tax_deposits + benefit_remittances + fees

If either doesn't hold, that's a finding with the exact amount. Never plug — a variance is reported with candidate causes (a misclassified employer share, an unmatched remittance, a period cut-off), never smoothed away.

Stale liabilities are a red flag

Every open liability gets aged against your deposit schedule. Anything older than one period means a deposit was missed or a payment never matched.

What you supply

Your own Claude Code login, plus two exports into ~/payroll/exports/ — a payroll register with the tax and deduction breakout, and your ledger's payroll liability accounts (QuickBooks: Payroll Liability Balances + Payroll Summary).

No API key. Exports are the input, which is also why nothing can post or file.

If your register lacks the employer/employee breakout the split checks can't run — and it says so rather than guessing.

Where this stops

NOT TAX ADVICE on line one. It does not post journal entries, file returns, or pay a liability.

It won't state deposit schedules or penalties as fact — it says "confirm your deposit schedule", because they vary by lookback and they change. Exempt/non-exempt questions and state requirements route to the For your CPA section.

Verified on build: the skill, the working tree, both guards, the split rule, all four checks and the never-plug rule are present on a fresh fork. Running it on your own books is yours to do.

Inside this fork

Forking copies this template into a brand-new, fully isolated microVM on your own subdomain. Here's exactly what lands in it.

  • Claude Code agent

    The upstream harness, pre-installed — same version the creator ran.

  • Starter VM

    1 vCPU · 2 GiB RAM · 10 GiB disk.

  • Creator's /persist data

    The captured persist volume is copied byte-for-byte into your fork.

  • BYOK — your keys, your VM

    Add your model API keys after forking; they live only inside your microVM.

What this agent can do

1 skill

  • payroll-reconciler

    Reconcile a payroll register against the ledger — gross-to-net tie-out, employer vs employee split checks, and aged open liabilities. Use…

What you'll configure after forking

Secrets are scrubbed from shared templates — these are the names you supply in your agent's terminal once it boots.

Environment variables

  • ANTHROPIC_API_KEY

Your turn

Your own Payroll Liability Reconciler, live in about 3 minutes.

Forking copies this Claude Codeagent into a brand-new, fully isolated microVM on your own subdomain — the creator's /persist state and all. Add your own keys after it boots; they never leave the box. Don't love it? Your first jurniti purchase comes with 30 days to get every cent back.

New paid VM · BYOK · 30-day money-back on your first purchase · ~3 min to provision

Starter · fork

$25/ mo

Needs 1 of your own API key