Bookkeeper
By Julian
About this agent
A practical bookkeeper for your company!
What it can do
Audit My Books
Get a punch-list read on whether your books are clean: uncategorized items, recon breaks, stale accruals, cutoff candidates, draft journal entries, missing opening balances, duplicate vendors. I rank issues by dollar impact and call out one 'close this week' move. Sub-mode `mode=audit-response` for auditor or diligence requests assembles a sample-traceable response packet with documented random seeds so the auditor can reproduce the selection. I never post or file.
Build My Chart Of Accounts
Draft a startup-optimized chart of accounts shaped for your entity, accounting method, and revenue model — with R&D / Sales & Marketing / General & Admin operating expenses breakouts, deferred revenue and accrued PTO lines, SAFE-note and convertible equity lines, and one cash sub-line per registered bank account. Supports in-place revisions that preserve every unchanged code so historical categorizations don't silently reroute. I never push the chart of accounts to QuickBooks or Xero — you or your accountant mirror it in.
Categorize My Transactions
Categorize a batch of pending transactions from your QuickBooks or Xero queue, a dropped CSV, or a pasted table. I canonicalize each party, apply your saved rules first, then prior-year memory, then calibrated reasoning against your locked chart of accounts; anything below 0.90 confidence lands in Suspense rather than getting silently pushed through. Sub-mode `mode=rule-add` upserts a permanent `{party: gl_code}` rule after verifying the account code exists. Drafts only — I never post to QuickBooks or Xero, I never invent an account code.
Check My Burn And Runway
Get the founder one-pager: cash on hand, trailing 3- and 6-month net burn, runway months, a ±20% sensitivity table, and the top-3 cost drivers behind the burn. Cash balances come from QuickBooks / Xero / your bank feed where connected, the most recent statement otherwise. Every number cites a source — bank balance with timestamp, P&L line with file path, journal entry ids on the cost drivers. I surface the math and let you decide where to cut.
Check My Sales Tax Nexus
See where you owe sales tax. I total revenue and transaction counts per US state from Stripe (or QuickBooks / Xero / invoices as fallback), compare each state's totals against its economic-nexus threshold for the quarter and trailing 12 months, pinpoint the month each crossed state was triggered, and flag physical-nexus states (W-2 employees, offices, inventory / FBA). I rank exposure highest-dollar first and call out the closest pre-crossing states as early warnings. I prep — you register and remit through Avalara, TaxJar, or the state portal directly.
Close My Month
Run a full monthly close end-to-end: reconcile every registered account, refresh the accrual register, draft every due standard journal entry (reversing, accrual, prepaid, payroll, revenue recognition, depreciation, stock-comp, adjustment), run a cutoff check for transactions booked in the wrong period, generate P&L plus balance sheet plus cash flow, run variance analysis, and assemble a close package with the four open-items flags (recon breaks > $100, uncategorized > 10%, stale accruals > 90 days, journal entries still in draft) at the top. Sub-invocation `step=cutoff-check` runs the cutoff step standalone. Drafts only — I never post journal entries, never file, never move money.
Draft A Journal Entry
Use when the user says 'book the accrual journal entry' / 'draft the depreciation journal entry for Q1' / 'post the prepaid amortization' / 'revenue recognition this period' / 'stock-comp journal entry' / 'reclass this expense' - I draft a balanced double-entry journal entry that branches on `type`: `accrual` | `prepaid` | `payroll` | `revrec` | `depreciation` | `stock-comp` | `adjustment` | `reclass`. Every journal entry is validated balanced to 1 cent, every account code is validated against `config/chart-of-accounts.json`, and the entry is written at `status: "draft"`. Sub-mode `type=accrual mode=reversing` auto-reverses every active accrual flagged `reversing=true`. Draft-only - I never post to QuickBooks Online / Xero.
Explain My Variance
Tell me why a P&L line moved. I compare actuals against budget (if you have one), prior period, and same period prior year, decompose every material swing into price / volume / mix / one-time drivers tied to specific journal entries and vendors, and write a 3–5 paragraph narrative on the biggest movers. Materiality threshold defaults to 5% and $1k and is configurable per run. Unexplained residuals are surfaced, never quietly absorbed. Drafts only — I never re-classify or post to clean up a variance.
Hand Off To My Tax Preparer
Assemble the year-end package for your tax preparer. I gate on a clean audit (`audit-my-books` runs first; open items block the handoff), then put together the trial balance, per-account reconciliations, fixed-asset and depreciation schedules, 1099 list, R&D classification (if eligible), M-1 adjustment candidates (meals 50% / 100% disallowance, stock-based compensation book vs. tax timing, accrual-to-cash deltas, federal income tax, deferred revenue, non-deductibles), and a judgment-call audit trail. Optional Google Drive mirror shared with your preparer as commenter. Drafts email to your preparer — I never send and I never file.
Import My Prior Books
Backfill memory from your prior system: a QuickBooks Online or Xero export, a CSV, or a spreadsheet from your prior accountant. I seed your chart of accounts (only if you don't have one), build an opening trial balance from the prior period's closing balances, and learn vendor-to-account-code rules from transaction history with an 80%-confidence majority threshold so noisy parties don't poison future categorization. Strictly one-way read — I never push back to QuickBooks Online or Xero, never rewrite the prior books.
Log An Expense
Log a single expense from a forwarded receipt — image, PDF, or email — and produce one categorized expense plus one balanced journal entry. I extract vendor, date, amount, and line items via multimodal read, pick an account code against your locked chart of accounts (anything below 0.90 confidence lands in Suspense with the receipt attached), and draft the double-entry journal entry with the credit side keyed off how it was paid (corp card, founder loan, cash, or ACH). Sub-mode `mode=batch` rolls N receipts into one summary journal entry crediting Founder Loan Payable or Accrued Reimbursements. Draft only — I never post.
Prep My 1099s
Prep your 1099-NEC and 1099-MISC list for the tax year. I total year-to-date payments per vendor from your run history, flag eligible vendors (non-corporate, ≥ $600), split NEC from MISC, cross-reference W-9 status against the W-9s you have on file, and draft chase emails for missing W-9s as Gmail / Outlook drafts (or as plain `.md` files if no inbox is connected). I prep, you file via IRS FIRE, Track1099, or Tax1099. I never file and I never send.
Prepare My Financials
Draft a financial statement for the period you pick, one statement per call: `statement=pnl | balance-sheet | cash-flow | trial-balance`. I produce the statement against your journal entries, opening balances, and chart of accounts, with prior-period and prior-year comparisons and 3-5 auto-generated notes that cite specific journal entries — no invented drivers. Cash and accrual views both run on accrual books; out-of-balance and unusual-balance flags surface at the top. Drafts only — you sign, you file.
Prepare My Investor Pack
Assemble a board-ready financial pack from the latest close: a one-page exec summary (cash, burn, runway, monthly revenue / annual revenue, gross margin, headcount, top-3 variance) followed by P&L, balance sheet, cash flow, SaaS KPIs (monthly revenue waterfall, NRR, gross margin, CAC payback), cohort retention if you have ≥ 6 cohorts, and runway sensitivity. `mode=saas-metrics` skips the full pack and refreshes just monthly revenue / annual revenue / gross margin / NRR. Optional Google Docs mirror so the board can comment. Drafts only — I never send.
Process My Statements
Process a batch of PDF or CSV bank and credit-card statements end to end: extract every transaction (parallel Haiku subagents), canonicalize the party names, categorize against your locked chart of accounts (parallel Sonnet subagents), detect inter-account transfers, and assemble a reviewed Google Sheets workbook with a formula-driven P&L. Reconciliation mismatches surface as warnings, low-confidence categorizations land in Suspense — I never invent an account code, never silently plug a number, never post to your accounting system.
Reconcile My Accounts
Reconcile a single account — bank, credit card, payment processor, or subledger — for the period you pick. I tie the general ledger one side, the external statement the other, surface unmatched items aged into 0–30 / 31–60 / 61–90 / >90 day buckets, and render a three-way proof with the real numbers. Sub-mode `mode=transfer-detect` finds debit/credit pairs across all your accounts within ±2 days and tags them as Internal Transfers so they fall out of the P&L. I never silently plug a difference and I never force-match in QuickBooks Online or Xero.
Review My Accruals
Use when the user says 'list our active accruals' / 'refresh the accruals register' / 'are any accruals stale' / 'what reversing entries are due' - I recompute current balances for every active accrual (prepaid rent, prepaid SaaS, deferred revenue, PTO, accrued payroll, accrued interest), flag stale items, and surface reversing-entry candidates. Reads `accruals.json` + `journal-entries.json` + chart of accounts; rewrites `accruals/register.md` and upserts `accruals.json`.
Schedule My Revenue
Spread a customer contract into a clean ASC 606 recognition schedule, one artifact per contract organized by customer. I handle the common startup patterns — annual upfront with monthly ratable, usage-based with a floor, implementation-fee deferral, contract modifications (prospective vs. cumulative catch-up) — and I flag the judgment calls (variable consideration, significant financing, non-cash) with options and dollar impact. I draft and surface; I never decide for you and I never post.
Set Up My Books
Set up your books from scratch with one founder interview that captures entity, fiscal year, accounting method, registered accounts, payroll posture, revenue model, investor cadence, and tax preparer, then writes the live bookkeeping brief every other skill reads first. Sub-mode `mode=opening-balances` captures your opening trial balance from a spreadsheet, CSV, or prior-accountant export. I never connect a bank, post to a general ledger, or move money from this skill — facts and a brief, full stop.
Tag My Rd Spend
Tag your qualified R&D spend for Section 174 / federal R&D credit support. I bucket spend into the four IRS categories — qualified wages by employee role and time share, supplies, cloud / computer leasing, contract research at 65% — allocate it across your projects (or one 'Unallocated R&D' bucket if no project list), and call out the typical exclusions (post-release fixes, routine analytics, funded research). Support package only — your tax preparer files Form 6765 and any state equivalents.
Built to work with
The apps this agent is designed around. It only acts on services you have actually connected.
- HubSpot
- Stripe
- QuickBooks
- Xero
- Notion
- Slack
- Linear
- Google Drive
- Gmail
- Outlook
- Google Docs
- Google Sheets
