Inbox ledger · Always-on categorization

Every charge, on the right Schedule C line.Before you open the spreadsheet.

The Premiere E-mail Accountant that turns a noisy stream of receipts and renewal notices into a categorized ledger your accountant opens without re-keying a single row.

Why categorization breaks at scale

Most ledgers fall apart not because the math is wrong, but because the categorization never keeps up. A freelancer types a charge into the wrong "Other" bucket the first month, copies the same wrong label a dozen times, and by quarter-end the bucket has swallowed a quarter's worth of expenses — advertising, software, travel, meals, all lumped together because no one had time to file them correctly the day they arrived.

Vendor name drift makes it worse. Stripe charges as STRIPE*ACME INC one month and stripe acme inc the next; AWS charges as AWS and as AMAZON WEB SERVICES; a Notion workspace charges as Notion and as Notion AI. A human filing by hand eventually notices; a categorization rule that matches on the literal merchant name never does, and the audit falls apart on the first look.

The honest answer is that bookkeeping categorization is a job, not a feature — and most freelancers are doing it after hours, after the receipts have already piled up. That is the job Bookwren takes off your plate.

What Bookwren does

Bookwren reads Gmail for receipts, invoices, and subscription confirmations, extracts merchant, amount, and date off the email itself, and normalizes the merchant name against a master list — so STRIPE*ACME INC and stripe acme inc collapse to one canonical row. That normalization is the foundation; everything else is downstream.

Every normalized charge then routes through a Schedule C-aware chart of accounts. Advertising lands in Advertising, software in Software & Subscriptions, travel in Travel, meals in Meals (with the deductible 50% flagged automatically), and the long tail — bank fees, professional services, home office — into its own correctly named bucket. You can override a category once, and Bookwren remembers it for the next charge from the same merchant.

The result is a categorized ledger that exists the moment a charge hits your inbox, not three weeks later when you finally sit down to file it. The ledger is always current, and the current ledger is the one your accountant wants to see.

How categorization stays stable over time

A categorization system that breaks the first time a vendor renames itself is not a system. Bookwren treats merchant names as a normalization problem, not a string-match problem — substring overlap, case folding, and known rebrands are all part of the matcher. AWS and Amazon Web Services pair the same week; Notion and Notion AI surface as related but distinct rows so you can decide which one to keep.

Your overrides are first-class. Pin a category to a merchant and Bookwren applies it on every future charge from that merchant until you say otherwise. The override history is preserved — if you reclassify a charge, the reclassification is logged with a timestamp, so the audit trail shows both the original assignment and the correction.

That audit trail is what makes the ledger defensible. When your accountant asks why a charge landed where it did, the answer is not a guess — it is the merchant match, the chart-of-accounts rule that fired, and any override you applied, all visible from the charge row.

Where the categorized ledger lands

The categorized ledger is the foundation the rest of Bookwren sits on. With charges normalized and categorized the moment they arrive, the subscription audit can group them by merchant, the monthly close can bucket them by Schedule C line, and the PDF your accountant opens at the end of the month is already in the shape they expect to receive it.

The pricing page walks through which tier covers the categorized ledger on its own — Solo Free for the cautious freelancer who wants to see the agent catch receipts in their own inbox — and which tier bundles it with the subscription audit and the monthly close as a single monthly packet.

See also

Try it on your inbox

Sign in with the Gmail you want Bookwren to watch — the inbox is the integration.