All posts
7 min readEndri Hajno

How to Clean Up Messy Books Without Paying for a Full Cleanup

A CPA cleanup runs $150–$400 an hour and can stretch into days. Here is the same process, step by step, that you can run yourself in an afternoon.

bookkeeping-cleanupmessy-booksdiy-bookkeepingreconciliation

TL;DR: A CPA cleanup runs $150–$400 an hour and can take days. The actual process is five steps — kill duplicates, fix categories, clear the uncategorized bucket, reconcile to the bank, fix the balance sheet — and for simple books you can run it yourself in an afternoon.

You got a quote to "clean up your books" and it was $2,000. Maybe more. The number feels insane for what is, in your gut, a few hours of sorting.

Your gut is mostly right. Most of a cleanup is mechanical: finding duplicates, fixing obvious miscategorizations, matching things to the bank. A small slice needs real judgment. The trick is to do the mechanical 90% fast and spend your attention only on the slice that matters.

Here is the whole process, in the order a good bookkeeper would do it.

First: is this actually a cleanup?

Quick check, because it changes everything. Cleanup means your transactions are entered but wrong — miscategorized, duplicated, unreconciled. If transactions are simply missing because you fell behind, that is a catch-up problem, and the fix is different. We break the distinction down in Catch-Up vs Clean-Up Bookkeeping.

If you are both behind and messy: catch up first, then run this. There is no point fixing categories in a period you have not finished importing.

Assuming your data is all in but you do not trust it — let's clean it.


Step 1: Kill the duplicates first

Always do this before anything else. Duplicates throw off every other number you are about to check, so fixing categories or reconciling before you de-dupe means redoing the work.

Duplicates usually come from one of two places: you imported the same CSV twice, or you ran a bank feed alongside a manual import and both picked up the same charges.

How to find them

Sort your transaction list by amount, then scan for the same amount on the same date from the same merchant. Your $40 Notion bill showing up twice on the 3rd is a duplicate. Delete one of each pair.

Watch out for legitimate repeats — two $5.00 coffees on the same day are not duplicates. The tell is same amount and same merchant and same date.

Step 2: Fix the miscategorizations

Now the categories. You are looking for two kinds of error.

Wrong category. Your new laptop booked as "office supplies" instead of equipment. A client lunch under "groceries." A software subscription under "utilities." Re-code them.

Inconsistent category. This one is sneakier and matters more. Your contractor gets booked as "consulting" in March, "professional fees" in May, and "contractor" in July. None of them is wrong, exactly — but spread across three buckets, your numbers are meaningless. Pick one and make every instance match.

The fastest way through this is to group by merchant. Once you decide AWS is "software" or "hosting," apply it to every AWS charge at once instead of one at a time.

Step 3: Clear the uncategorized bucket

Every messy ledger has a junk drawer — "Uncategorized," "Ask My Accountant," "Other." These are transactions that got entered but never decided. For each one, ask three questions:

  1. Is this a real business expense? If yes, give it a proper category.
  2. Is this a personal charge that ran through the business account? Mark it as an owner's draw — it is not a business expense and should not reduce your taxable income.
  3. Is this a transfer between your own accounts? Match it to the other side. A transfer from checking to savings is not income and not an expense; booking it as either is one of the most common ways books go wrong.

That third one is where judgment actually lives. A transfer miscoded as revenue inflates your income and your tax bill. A loan deposit coded as revenue does the same. Slow down here.

Step 4: Reconcile every account to the bank

This is the step people skip, and it is the only one that proves the rest worked.

For each account — checking, every credit card, every payment processor — pull the closing balance from the bank statement and compare it to what your books show on that date.

  • Match: that account is clean. Move on.
  • Off by some amount: something is missing, duplicated, or miscoded. Hunt it down before you continue.

A difference that equals exactly one transaction you recognize is usually a missing entry or a leftover duplicate. A difference that is twice a transaction is usually a duplicate you missed in Step 1.

The Stripe and Mercury knot

If you take payments through Stripe and bank with Mercury, this is where it gets fiddly. Stripe deposits net of fees — a $1,000 sale lands as roughly $971 — but your books need to show $1,000 in revenue and $29 in fees separately. If you booked the deposit as $971 of revenue, your income is understated and your fees are invisible. Split every payout into gross revenue and processing fees, and confirm each payout maps to the matching bank deposit.

Step 5: Fix the balance sheet last

Once income and expenses are clean and accounts reconcile, look at the balance sheet. This is where the leftover errors hide:

  • Loan repayments booked as expenses (the principal is not an expense; only the interest is)
  • Owner contributions booked as revenue
  • Equipment expensed instead of recorded as an asset
  • Credit card balances that do not match the statement

If your balance sheet does not balance, one of these is the reason. Trace it. A balanced balance sheet plus reconciled accounts is the green light: your books are done.


DIY vs the $150–$400/hour cleanup

Here is the honest comparison.

The CPA route. A bookkeeper or CPA charges $150–$400 an hour. A year of genuinely tangled books — multiple accounts, lots of transactions, transfers everywhere — can be 8–20 hours of their time. That is $1,500 to $5,000, and you are still answering their questions about which charges were personal, because only you know that. (We unpack why the bill runs so high in Why Your CPA Charges So Much.)

The DIY route. The mechanical 90% — duplicates, obvious categories, reconciliation — is sorting, and software does sorting faster than a person billing by the hour. What is left is the judgment slice: which charges were personal, what those three odd transfers were. That part is genuinely yours either way, so you are not saving money by paying someone to ask you.

For simple books, DIY wins clearly. For multiple entities, payroll, or several years of history, the hourly cleanup may be worth it. That is a real tradeoff, not a sales pitch.

How auto-categorization collapses the work

The reason a cleanup feels like days of work is that the old model makes you touch every line. The exception-based model does not.

Prosper ($29/month, web app) imports your existing transactions — including straight from a QuickBooks export, categories intact — and auto-categorizes 80–90% of them from the merchant name, the amount, and your prior decisions. Connect Stripe and Mercury and it maps each payout to its deposit, splits out the fees, and flags anything that does not match. Then it surfaces only the exceptions: the duplicates, the low-confidence categories, the transfers that could go two ways.

So instead of scrolling 800 lines, you get the 80 that actually need a human. That is the afternoon — often under two hours — instead of the multi-day project. Connect your accounts and see what is left, or read how the exception-based approach works first.

It will not replace a CPA for tax strategy or a genuinely complex multi-entity untangling. But for getting messy books clean and keeping them that way, you do not need to pay by the hour.

FAQ

How much does it cost to clean up messy books? A CPA or bookkeeper typically charges $150–$400 per hour, and a cleanup of a year's tangled books can run 8–20 hours — so $1,500 to $5,000 is common. If your books are simple (one or two accounts, no payroll), you can do the same work yourself in an afternoon with a tool that auto-categorizes and flags what does not reconcile.

What does bookkeeping cleanup actually involve? Five things, in order: remove duplicate transactions, fix miscategorizations, clear the uncategorized bucket, reconcile every account to its bank statement, and correct the balance sheet. The reconciliation is the proof — when each account matches its statement, your data is trustworthy.

How do I know when my books are actually clean? Every account reconciles to its bank statement, the uncategorized bucket is empty, there are no duplicate charges, and your balance sheet balances. If all four are true, your books are clean and your tax numbers will hold up. Prosper surfaces unreconciled and low-confidence items so you can see exactly what is left.

Ready to try exception-based bookkeeping?

Start free and see how Prosper keeps your books calm, reviewable, and ready for your accountant.