← All articles

QuickBooks & bookkeeping · June 21, 2026

How to Scope a QuickBooks Cleanup Before You Quote It

Quoting a cleanup blind is how bookkeepers end up working for free. The fix is a short, repeatable diagnostic you run before the number leaves your mouth: pull one export, count the data-quality issues, turn those counts into hours, and quote a range you can actually defend. Here's the whole sequence.

A prospect lands in your inbox: "Our QuickBooks is a mess, can you fix it and what would it cost?" The temptation is to glance at the file, feel the panic rise, and either throw out a scary-high number or a hopeful-low one. Both are guesses. The bookkeepers who price cleanups profitably do something different first. They run a quick diagnostic on the actual data, count what's broken, and only then put a price on it. This guide walks that scoping process end to end so your next cleanup quote is built on evidence instead of a gut feel.

Step 1: Get into the file and pull the Transaction List by Date

You can't scope what you can't see. Get accountant access to the client's QuickBooks Online company, or at minimum have them export the data for you. The single most useful export for scoping is the Transaction List by Date. Open Reports, search for it, set the date range to the full period that needs cleaning (often the current year plus the prior year), and export it to Excel.

Why this report? It gives you one flat row per transaction with the date, type, account, and payee. That's the raw material for everything that follows. You filter it, sort it, and count it. Pull two companions while you're in there: the Balance Sheet as of today, and a quick look at the Chart of Accounts. The balance sheet surfaces the accounts that quietly hold problems; the chart of accounts shows you how bloated or disorganized the structure is.

Step 2: Find the data-quality issues, and count them

Scoping is counting. Every cleanup is really a pile of small fixes, and the size of the pile is what determines the price. Open the export and hunt for these specific problems. The number next to each is what turns into hours.

While you're here, check whether the bank and credit card accounts have ever been reconciled, and how far back the last clean reconciliation goes. Unreconciled months are often the biggest single block of cleanup time, and they hide in plain sight.

Step 3: Turn the counts into an hour estimate

Now you convert findings into time. The honest way is per-issue: attach a rough minutes-per-fix to each category, multiply by your counts, then add reconciliation time separately. A simple framework:

Issue typeRough time eachWhy
Uncategorized / Ask My Accountant1–3 minFast once you know the business, slow at first
Duplicates3–8 minEach needs investigation before deleting
Opening Balance Equity / suspensemultiple hours totalRoot-cause work, not per-row
Bank reconciliation30–90 min per account per monthDepends on volume and how broken it is

Add the categories up, then do the thing most people skip: pad it. The first pass through messy books almost always uncovers a second layer you couldn't see from the export, things like miscategorized transactions that looked fine, or a payroll feed that never reconciled. A 20 to 40 percent buffer on your raw estimate keeps you from eating the surprise. If you want a deeper look at one of the most time-consuming root causes, our walkthrough on fixing Opening Balance Equity in QuickBooks covers why that balance shows up and how long it really takes to clear.

Step 4: Set a quote range, not a single number

A cleanup has unknowns you genuinely cannot price before you're inside the work. So quote a range. Take your padded hour estimate, multiply by your rate, and present a low-to-high band. Then tell the client, in plain language, what would push them toward the high end: "If the bank feeds turn out to have gaps before March, or there are more duplicates than the sample showed, we'd be closer to the top of this range."

Ranges do two things. They protect you from the surprise layer, and they make you look like a professional who has actually looked at the data rather than someone pulling a number from the air. Many bookkeepers also split the engagement: a flat diagnostic fee to do the scoping and produce a findings report, then the cleanup itself quoted from that report. The diagnostic fee gets you paid for the work you're already doing here, and it filters out tire-kickers.

Step 5: Get client sign-off before you touch anything

The last step is the one that saves the relationship. Put the findings and the range in writing and get the client to approve it before you start. A clean approval packet includes the issue counts you found, the estimated hour range, the price range tied to it, the assumptions behind it, and a clear statement of what's in and out of scope. When the client signs, you have a shared understanding. When the surprise layer shows up, you have a documented baseline to point back to instead of an awkward "this is taking longer than I thought" conversation.

This sign-off step is also where a lot of cleanups quietly turn into recurring monthly clients. Once a client sees a written, numbered picture of how bad things were, the value of keeping the books clean every month becomes obvious without you having to sell it.

Counting all of this by hand in a spreadsheet works, but it's slow and easy to miss things. CleanupLedger runs this exact diagnostic from your QuickBooks export, counting uncategorized transactions, duplicates, Opening Balance Equity, missing payees, and Ask My Accountant in one pass, and produces a client approval packet you can attach straight to your proposal. You can run your first diagnostics free, no card required.

Common scoping mistakes and how to avoid them

Quoting before you've seen the data

The client's description of "a little behind" and the actual export rarely match. Never put a number on a cleanup you haven't looked at. If they won't give you access or an export, that's your answer about how the engagement will go.

Pricing by gut instead of by count

"This feels like a $1,500 job" is how you end up working for $20 an hour. Pull the counts. A file with 80 uncategorized transactions and clean reconciliations is a very different job from one with 800 uncategorized, three years unreconciled, and a balance stuck in Opening Balance Equity, even if both clients say the same thing.

Forgetting the buffer

The export shows you the visible mess. It does not show you the transactions that look categorized but are wrong, or the payroll that never tied out. Build in a buffer every time. The cleanup that comes in exactly at estimate is the rare one.

Starting work on a verbal yes

A nod on a call is not sign-off. Get the range and the scope in writing and confirmed before the first transaction gets touched. It protects both sides and it's what separates a business from a favor.

The scoping workflow, in one line

Pull the Transaction List by Date, count the data-quality issues, convert the counts to padded hours, quote a defensible range, and get written sign-off before you start. Do that every time and you stop guessing at cleanup prices, and you stop losing money on the ones that go sideways. The counting is the unglamorous part, and it's exactly the part that makes the quote trustworthy, which is what wins the engagement in the first place.

FAQ

What report do I pull to scope a QuickBooks cleanup?

Start with the Transaction List by Date for the full period in scope, then export it to Excel. It gives you every transaction, the account it hit, and the payee in one flat file you can filter and count. Pair it with the Balance Sheet and a quick look at the Chart of Accounts so you can see Opening Balance Equity, suspense, and any accounts that should not have a balance.

How do I estimate hours for a bookkeeping cleanup?

Count the issues first, then attach a rough time-per-issue rate. Uncategorized and Ask My Accountant transactions take a minute or two each once you know the business; duplicates and Opening Balance Equity are slower because each one needs investigation. Total the counts, multiply by your per-issue minutes, add reconciliation time per account per month, then pad the estimate because the first pass always uncovers more.

Should I give a fixed price or a range for a cleanup?

Quote a range until the diagnostic is done, then narrow it. A cleanup has unknowns you cannot see from the outside, so a single fixed number before you have looked at the data is a gamble. Present a low-to-high range tied to the issue counts you found, explain what would push it to the high end, and get written sign-off on the range before you start.

What are the main data-quality issues to look for in QuickBooks Online?

The usual suspects are uncategorized transactions, transactions parked in Ask My Accountant, duplicates, a balance sitting in Opening Balance Equity, anything in a suspense or undeposited funds account, and transactions with no payee. Each one is a count you can pull from the export, and together they are the backbone of an honest cleanup estimate.

Can CleanupLedger connect directly to QuickBooks?

Direct QuickBooks connect is coming soon. For now CleanupLedger works from the export you already pull. You upload the Transaction List or a standard QuickBooks export and it runs the diagnostic, counts the data-quality issues, and produces a client approval packet you can attach to your proposal.

Related reading

Scope the cleanup in a minute, not an afternoon

Upload a QuickBooks export and CleanupLedger gives you a free preview of the books-health score and top data-quality issues. Unlock the full diagnostic and a client approval packet you can quote from, per file ($29 full, $49 packet).

One-time diagnostic to scope a file · Firm Monitor (beta) to watch recurring client books monthly.