Work sample 13 / 17Clean-up & reconciliation

QuickBooks Online to Xero migration with every balance tied out at conversion

How I move a small business from QuickBooks Online to Xero so the opening balances are proven, not assumed.

Area
Clean-up & reconciliation
Tools
QuickBooks Online · Xero
Typical scope
US$2,000–4,000
Timeline
About 4 weeks · 4 fixed milestones

Work sample: realistic data, built to show how I approach this kind of project. Not a past client job.

01The problem

A ledger migration is only as good as the conversion balances. Open receivables and payables, bank balances and the trial balance all have to land in Xero exactly as they stood in QuickBooks Online on the conversion date, after any errors in the old file are found and corrected.

Common traps are receipts counted twice through Undeposited Funds, uncategorised lines, opening-balance equity that nobody can explain, and tax defaults that do not carry across.

Owners usually notice it as

  1. Undeposited Funds or Uncategorised accounts with balances
  2. Opening Balance Equity that has never been cleared
  3. Customers and suppliers duplicated under slightly different names
  4. A conversion date chosen, but no plan for open items

02Scope

A fixed scope agreed in writing before anything is built. The table shows what a project like this usually covers and what it leaves out.

Exhibit 1Scope: what a project like this covers
AreaIncluded
Chart of accountsQBO accounts mapped to a Xero chart, with tax defaults
ContactsCustomers and suppliers merged into one Xero contact list
Open itemsOpen receivables and payables imported at the conversion date
Clean-upProblems in the QBO file found and proposed as journals for the accountant
Tie-outXero trial balance rebuilt from the import files and compared account by account
Not includedBAS lodgement and tax advice: GST figures go to your BAS agent or accountant
Exhibit 2Typical data volumes for this kind of project (log scale)
General ledger lines reviewed3,900
Customer and supplier records480
Open AP items190
Open AR items135
Accounts mapped86

Typical volumes for a business of this size. The sample files are sized as described in section 05.

Exhibit 3Fixed milestones, each released when you sign off its deliverable
MilestoneDeliverableTimingShareWeeks 1–4
M1 File reviewQBO health check, conversion date, issues listWeek 125%
M2 Mapping and fixesAccount and contact maps, proposed journalsWeek 225%
M3 Import and tie-outImport files loaded, trial balance tie-outWeek 335%
M4 Sign-off and handoverAccountant review, bank feeds, SOPWeek 415%

Typical scope for this kind of project: US$2,000–4,000

About 4 weeks across 4 fixed milestones. The fixed quote follows a US$300 Systems Health Check, which confirms the volumes and the scope first. Your software subscriptions are billed to you by the vendors.

03What I fixed, and why

Exhibit 4How the work flows, from the first record to sign-off
φ = 1.61801QBOledger02REVIEWissues03MAPaccounts + contacts04IMPORTopen items05TIE-OUTtrial balance06XEROlive6 STAGES · ONE PASS FROM FIRST RECORD TO SIGN-OFFi. review the old file honestlyii. import open items, not historyiii. gate the switch01QBOledger02REVIEWissues03MAPaccounts + contacts04IMPORTopen items05TIE-OUTtrial balance06XEROlive

Construction drawing. Each stage has its own check before the next one starts.

  1. 01

    Review the old file honestly

    I look for what will break the conversion: Undeposited Funds, Uncategorised, opening-balance equity and tax defaults.

  2. 02

    Propose, don't post

    Corrections are written up as journals for the accountant to approve.

  3. 03

    Import open items, not history

    Open AR and AP go in at the conversion date through a clearing account that must be nil afterwards.

  4. 04

    Tie out every account

    The Xero trial balance is rebuilt from the import files and compared with the adjusted QBO balances.

  5. 05

    Gate the switch

    Ten gates, including accountant approval, before the business starts using Xero.

04Checks

Nothing goes live on trust. These checks run before sign-off and stay in the files, so they can be re-run after every change.

  1. Xero trial balance equals adjusted QBO on every account with a balance
  2. Conversion clearing account is nil after import
  3. Open AR and AP totals match the QBO ageing reports
  4. Every QBO contact maps to one Xero contact
  5. Bank balances equal the statements at conversion
Exhibit 5Controls in the sample files: 36 of 36 pass
CheckWhat it catchesStatus
GL balances: debits = credits (all lines)The ledger export is completePASS
30 Sep TB export: debits = creditsThe TB export is completePASS
TB roll-forward: accounts that differ30 Jun + Jul-Sep = 30 Sep for every accountPASS
Every QBO account has a valid Xero codeNothing falls off the chartPASS
Mapped account type fits the QBO typeNo balance sheet account lands in P&L or the other way roundPASS
Every GL line has a Xero codeMapping covers every linePASS
Every QBO record maps to a Xero contact that existsNo orphan records after the mergePASS
Xero contacts: QBO records coveredEach record lands on exactly one contactPASS
Items: sales codes validItems import without errorsPASS
Open AR total = QBO A/R control at 30 SepAged receivables tie to the ledgerPASS
Show all 36 checks
CheckWhat it catchesStatus
Open AP total = QBO A/P control at 30 SepAged payables tie to the ledgerPASS
Open items whose contact matches the mapInvoices on duplicate records follow the mergePASS
Bank: book - statement - unreconciled (all accounts)Every bank difference is explained by a listed itemPASS
Undeposited Funds left after J1 = recent payments not yet bankedOnly real, recent receipts carry overPASS
J1 reverses income equal to the receipts counted twice (ex GST)Income is not overstated in XeroPASS
Pre-cutover journals balanceJournals are completePASS
Adjusted TB balancesStill balanced after the journalsPASS
Uncategorised Expense after J2 = owner itemsOnly unidentified spend stays in SuspensePASS
Opening Balance Equity after J3No QBO-only equity account reaches XeroPASS
Conversion balances total 0Xero accepts the conversion balancesPASS
Bank conversion balances = statement balancesThe first Xero reconciliation starts from the statementPASS
Xero TB vs adjusted QBO: accounts that differEvery Xero balance equals QBOPASS
Xero TB vs engine: accounts that differWorkbook and engine agreePASS
Conversion clearing (855) after importThe clearing method nets outPASS
Historical Adjustment (840) after importNothing left unexplainedPASS
Xero AR (610) = open receivablesAged receivables in Xero tie on day onePASS
Xero AP (800) = open payablesAged payables in Xero tie on day onePASS
Xero GST (820) = adjusted QBO GSTGST control carries over for your BAS agent or accountantPASS
Net assets: Xero = adjusted QBOBalance sheet agreesPASS
Year-to-date profit: Xero = adjusted QBOP&L for Jul-Sep agreesPASS
Exceptions: one per receipt counted twiceEvery clean-up item is on the registerPASS
History: comparative journals that do not balanceEvery monthly journal nets to 0PASS
History: 840 after the 30 Jun 2026 clearComparatives leave the conversion balance sheet unchangedPASS
History: journal P&L lines = QBO P&L Oct 2024 to Jun 2026Nothing lost between the report and the journalsPASS
History: Jul-Sep 2026 columns = GL movements (accounts x months that differ)The report export agrees with the ledgerPASS
Engine regression: account mappings that disagree with the answer keyRules map every account correctlyPASS

Status read from the sample workbook. Each check is a formula, not a typed value.

05Handover

Everything is handed over in editable files you own, with the steps written down so your team is not dependent on me.

In this work sample

A joinery business: 3,937 GL lines, 480 contact records, 135 open AR and 190 open AP items, in a 27-tab workbook with 36 controls.

  1. Xero file with the conversion balances loaded
  2. Mapping workbook and import files
  3. Proposed journals with the evidence for each
  4. Tie-out report for the accountant
  5. A short guide to the first month in Xero

06Files in this work sample

Screens from the sample files. Select one to open it full size.

Dashboard tab: accounts, contacts, open items, clean-up findings, bank items, tie-out and gates, every figure a formula
Exhibit 6Dashboard tab: accounts, contacts, open items, clean-up findings, bank items, tie-out and gates, every figure a formula

QBO-to-Xero-Migration.xlsx › Dashboard

Account Map tab: each QBO account with its Xero code, the rule that mapped it, a type check and its balance
Exhibit 7Account Map tab: each QBO account with its Xero code, the rule that mapped it, a type check and its balance

QBO-to-Xero-Migration.xlsx › Account map

Undeposited Funds tab: receipts never grouped into a deposit, matched to bank-feed income of the same customer and amount
Exhibit 8Undeposited Funds tab: receipts never grouped into a deposit, matched to bank-feed income of the same customer and amount

QBO-to-Xero-Migration.xlsx › Undeposited funds

Xero TB Check tab: the adjusted QBO balance against Xero rebuilt from the import files, account by account, with the difference
Exhibit 9Xero TB Check tab: the adjusted QBO balance against Xero rebuilt from the import files, account by account, with the difference

QBO-to-Xero-Migration.xlsx › Tb check

Cutover Checklist tab: ten go-live gates and the steps from locking QBO to the first Xero month end
Exhibit 10Cutover Checklist tab: ten go-live gates and the steps from locking QBO to the first Xero month end

QBO-to-Xero-Migration.xlsx › Cutover

Controls tab: 36 formula controls, all PASS
Exhibit 11Controls tab: 36 formula controls, all PASS

QBO-to-Xero-Migration.xlsx › Controls

History Journals tab: one comparative journal per month from October 2024, offset to 840 and cleared to Retained Earnings at each 30 June
Exhibit 12History Journals tab: one comparative journal per month from October 2024, offset to 840 and cleared to Retained Earnings at each 30 June

QBO-to-Xero-Migration.xlsx › History journals

Report page: the conversion method, with open items and bank items through a clearing account that ends at nil
Exhibit 13Report page: the conversion method, with open items and bank items through a clearing account that ends at nil

QBO-to-Xero-Report.pdf

Overview of the QBO to Xero work sample: Xero balances checked against QBO, open receivables and payables, contacts and the clean-up findings
Exhibit 14Overview of the QBO to Xero work sample: Xero balances checked against QBO, open receivables and payables, contacts and the clean-up findings

PREVIEW.png · one-page overview

FilesDownload the work sample
FileWhat it isSize
QBO-to-Xero-Migration.xlsxWorkbook: data profile, QBO GL, TB roll-forward, account map, Xero chart, tax review, contacts, items, open AR and AP, bank rec, Undeposited Funds, Uncategorised, clean-up journals, adjusted TB, conversion balances, Xero TB check, 24-month P&L by month, comparative journals, cutover checklist, exceptions, controls and test log438.3 KB
QBO-to-Xero-Report.pdfReport (17 pages): data profile, findings, options, chart and contact mapping, clean-up journals, conversion method, two years of comparatives, tie-out, gates, controls, tests, risks699.5 KB
Executive-Summary.pdfOne-page executive summary133.8 KB

Tell me what’s bugging you and I’ll tell you where I’d look first.

Send a short note on Upwork about what is slowing the business down. I’ll reply with where I’d start, and whether the US$300 Systems Health Check is the right first step.