QBO Rebuild vs. Cleanup vs. Catch-Up: When It's Actually a Rebuild
You already know the difference between a cleanup and a catch-up. There's a third shape that shows up often enough to name: the rebuild.
A rebuild is when the books don't exist yet. The client has a QBO file, and bank feeds are pulling transactions in, but nothing has been posted to the register. Every transaction is sitting in the For Review queue, waiting to be categorized. The Trial Balance is empty or close to it. The P&L shows zeros. There's nothing wrong with the data, because there isn't any data.
When you're looking at a rebuild, not a cleanup
Common shapes:
- New client. QBO got set up last month. Bank feeds are on. The owner hasn't touched anything, or tried to categorize and bailed.
- Migration from another platform. The client ran Xero (or Wave, Sage, FreshBooks, QuickBooks Desktop) for the past year. They've opened a QBO file, activated bank feeds, and pulled transactions back to January 1. They want to rebuild the year in QBO and close down the old platform.
- Stale takeover. Bank feeds have been running unattended for months or years. Thousands of items in the For Review queue. No bookkeeper has touched them, or the prior bookkeeper left without a handoff.
From a workflow perspective, all three look the same: a pile of transactions in the bank feed, no populated books, and a bookkeeper who needs to scope the work before quoting it.
Why it's not a cleanup
A cleanup assumes the data is wrong. A rebuild assumes the data isn't there. The diagnostic signals that drive cleanup scoping — chart-of-accounts mess, reconciliation gaps, P&L anomalies, duplicate transactions — don't apply. There's nothing to be wrong about.
Why it's not exactly a catch-up either
A catch-up is entering data that was never recorded: shoeboxes of receipts, sparse QBO data from a client who only recorded some things. A rebuild has the data in one place (the bank feed), it just hasn't been categorized yet. The work is systematic: accept, categorize, reconcile, verify. It's closer to data processing than to forensic accounting.
Scoping a rebuild
The useful inputs are:
- How many accounts? Each bank, credit card, and line of credit needs its own opening balance setup, its own rules, and its own reconciliation cadence. An 8-account rebuild is structurally different from a 2-account rebuild.
- How many transactions in the For Review queue? This is the core volume driver. Categorization is the bulk of the work.
- How far back does the data go? A full year of monthly reconciliations is different from the last two months.
- How recognizable are the payees? Raw bank memo text varies. A client whose bank feed has clean merchant names rebuilds faster than one where every POS charge shows up as
SQ *STORE NAME #12345.
Those four signals plus your knowledge of the client (responsiveness, data quality, business complexity) are what shape the quote. If you want structure, see the scoping post — most of the mechanics carry over.
A rough framework
For a rebuild project, the work breaks down roughly as:
- Setup and discovery: 3–8 hours fixed per engagement. Onboarding, client Q&A, chart-of-accounts review and tune.
- Bank rule creation: 1–3 hours fixed. Investment that pays back during categorization.
- Opening balances: 15–30 min per account. Opening-balance JEs from the prior platform's balance sheet (or from statement balances if starting from scratch).
- Categorization: 1–2 min per transaction. Slower than ongoing monthly QC because rules aren't trained yet.
- Monthly reconciliations: 10–20 min per account per month. Shorter than cleanup recons, because the bank feed data is clean and there are no ghosts to chase.
- Review and handoff: 2–4 hours fixed. Final QA, report generation, client walkthrough.
These are ranges, not quotes. Client responsiveness and data quality move you within, or outside, the ranges.
LedgerClean in rebuild mode
If you use LedgerClean, Rebuild / Migration is a first-class engagement type. You pick it at engagement creation, upload Bank Feed - For Review CSVs (QBO caps each export at 300 rows, so run multiple exports per account if needed), and the scan produces a per-account scoping summary: transaction count, date range, inflow/outflow totals, and a severity tag per account. No health score in rebuild mode, because there are no books to score. Once the categorization is done, switch the engagement type to Cleanup, upload the full report set, and run the standard diagnostic for quality assurance.
Practical walkthrough with screenshots: Rebuild Mode help article.
The broader point: if a prospect says "my books are a mess," listen past the shorthand. Sometimes they mean the data is wrong (cleanup). Sometimes they mean data is missing (catch-up). And sometimes they mean the data is sitting in the bank feed waiting to be accepted. That third case is a rebuild, and scoping it as anything else will burn you.
Written by the Founder
IRS Enrolled Agent and former Intuit QBO Live Lead Bookkeeper with 7+ years managing cleanup engagements. Built LedgerClean from real cleanup methodology, not theoretical best practices.
Try LedgerClean free — 14-day Solo trial, no credit card required to start.
Start Free TrialGet cleanup tips in your inbox
Practical guides for bookkeepers. No spam, unsubscribe anytime.
Subscribe on Substack