← All Workflows
How It Works

Bookkeeper
Agent

Snap a receipt, forward a bill, or let it sweep your inbox — the agent extracts every line item with Claude, categorizes the expense, and syncs it straight to QuickBooks. No spreadsheets, no shoeboxes.

< 10s
Receipt to Booked
99%
Extraction Accuracy
5+ hrs
Saved Per Week
$0
Manual Entry
📥
Step 1 — Ingest
Four Ways In — Pick Whatever's Easiest
Snap a photo, drag a PDF, upload a CSV bank statement, or let the agent sweep Gmail and Outlook on a schedule. Receipts that arrive as HTML emails (Stripe, Anthropic, LegalZoom) get parsed even without an attachment — full body extraction with Claude.
📱 Direct Upload Photos, PDFs, HEIC, scans — drag into the dashboard
📊 CSV Statement Upload a bank or credit-card export — bulk-imports as expenses
📬 Inbox Sweep Gmail + Outlook OAuth, scan every hour / 4h / daily
📨 HTML Body Parse Catches Stripe, SaaS, and Anthropic receipts with no PDF attached
🧠
Step 2 — Extract
Claude Reads the Document
The receipt is stored in a private Supabase bucket and handed to Claude with vision. The model pulls every structured field — vendor, total, tax, date, payment method, line items — even from crumpled gas-station receipts and dim-lit phone photos.
Vendor: Lowe's #2487 — Raleigh, NC
Date: 2026-04-26 | Total: $487.32 | Tax: $32.18
Payment: VISA ****4421
Line items: 14 (PVC pipe, fittings, primer, cleaner...)
Confidence: 0.98 | Model: claude-sonnet-4-6
🏷️
Step 3 — Categorize
Map to Your Chart of Accounts
The agent classifies the expense against your QuickBooks chart of accounts — "Materials & Supplies," "Vehicle Fuel," "Software Subscriptions," whatever you've set up. It learns from your past approvals so the same vendor always lands in the same bucket.
✅ Known Vendor Auto-categorized using prior approvals — 95%+ confidence
🤔 New Vendor Best-guess category flagged for one-tap confirmation
📋 Vendor Rules Custom rules (e.g. "all Shell gas → Vehicle Fuel") auto-apply
👀
Step 4 — Review
Approve in the Dashboard
Every expense lands in your review queue with the receipt image, extracted fields, and category side-by-side. Tap to approve, edit a field, or set a vendor rule. High-confidence matches with auto-approve rules can skip review entirely — perfect for recurring bills like utilities or SaaS subscriptions.
Queue: 8 receipts ready for review (avg 12s each)
Auto-approved today: 14 (rules-based)
Edits applied: vendor → "Lowe's Home Improvement"
Status: pending → approved → ready_to_sync
🔁
Step 5 — Sync
Push to QuickBooks (or Xero / Wave)
Approved expenses get pushed to QuickBooks Online via the official API as a Purchase, with the receipt image attached as a linked file. The pluggable adapter layer means Xero, Wave, and FreshBooks plug in the same way — your bookkeeper sees the entry exactly like you'd typed it manually.
QuickBooks Purchase #4218 created
Vendor: Lowe's Home Improvement | Account: Materials & Supplies
Amount: $487.32 | Tax: $32.18 | Date: 2026-04-26
Receipt: attached (lowes-2026-04-26.jpg)
Status: synced | QBO ID: 4218
📊
Step 6 — Report
Live Dashboard + Live Google Sheet
Month-to-date spend by category, top vendors, deductible totals, and "Spend by vendor" all on one screen. Every approved expense also writes to your private Google Sheet — formatted dates, currency columns, frozen header — so your accountant never logs into a portal. Resync is idempotent: the sheet only adds new rows, never duplicates.
MTD spend: $14,287 across 142 expenses
Top vendors: Lowe's ($2,340) · Anthropic ($840) · Shell ($612)
Deductible: $13,950 | Personal: $337
Sheet: 142 rows synced · 0 duplicates · auto-updated 12s ago

Powered By

Python
FastAPI
Claude Vision
QuickBooks API
Xero API
Gmail API
Microsoft Graph
Google Sheets
Supabase Storage