Migrating off QuickBooks in Cambodia: a step-by-step guide
Why QuickBooks hits the wall for Cambodian SMBs, what a migration off it actually covers, and how to land the cutover without breaking GDT compliance.
- QuickBooks Online has no Cambodia localization and produces no filing-ready figures for the monthly return, and multi-currency needs the Essentials tier or above. These become blockers as your business scales.
- A QuickBooks migration for a single-entity Cambodia SMB runs 8–13 weeks and $4,000–$9,000 fixed scope.
- The new system must produce the monthly return figures for the first period after cutover. Your accountant files them through GDT's E-Filing, as before.
Why Cambodian businesses migrate off QuickBooks
QuickBooks Online has no Cambodia localization and no KH chart of accounts, and multi-currency only appears on the Essentials tier and above. The riel is on Intuit's list of supported currencies, but QuickBooks downloads its exchange rates from a market data provider (Intuit names IHS Markit), not an NBC feed, so plan to enter the official rate by hand, and the home currency cannot be changed once multi-currency is switched on. In practice, Cambodia SMBs on QBO run USD books and reconcile KHR manually, which works until a government contract brings CamInvoice into scope (the rollout started May 2025) or until the business grows past the point where manual reconciliation is sustainable. QuickBooks Desktop is better on the multi-currency front but has no path to the Cambodia chart of accounts without custom workarounds. The pricing model constrains you too, though not the way it is usually described: QuickBooks Online is priced per company file, not per user, and each tier caps the number of seats. US list pricing from August 2026 runs $38 per month for Simple Start (1 user), $85 for Essentials (3 users, and the first tier to include multi-currency), $140 for Plus (5 users), and $340 for Advanced (25 users). Growth pushes you up a tier rather than adding a per-seat fee, and every additional legal entity needs its own subscription. These are US list prices, so check Intuit's pricing page for the edition sold where you are.
- No Cambodia localization and no KH chart of accounts; multi-currency needs the Essentials tier or above. KHR is a supported currency there, but with no NBC rate feed that we could find, most Cambodian deployments end up USD-only in practice.
- No GDT monthly return figures: the numbers for the monthly return are put together by manual re-entry, typically 2–3 staff-days per cycle.
- No Cambodia chart-of-accounts localization: WHT tax codes must be configured manually and are prone to error.
- Seat caps per subscription tier (1 user on Simple Start, 3 on Essentials, 5 on Plus, 25 on Advanced), and a separate subscription for every legal entity.
- No CamInvoice support: the GDDE B2G e-invoicing platform launched May 2025 has no QuickBooks adapter.
The triggering event for most migrations is one of three: a GDT audit that surfaces WHT misclassification or rounding discrepancies; a growth event (new entity, new business line, or new government contract) that the current system cannot handle; or a new hire finance manager who has used modern ERP and refuses to continue with manual workarounds. If the question is a wholesale system change rather than a like-for-like accounting replacement, our ERP in Cambodia guide frames that decision; businesses coming off Peachtree instead face a harder extraction problem, covered in our guide to migrating off Peachtree (Sage 50).
What does the new system have to do that QuickBooks does not?
Three things. It keeps the books in KHR at the official rate. It carries the Cambodian chart of accounts and tax codes. And it produces the monthly return figures and the sales and purchase lists, ready for your accountant to file through GDT's E-Filing. We call that last one filing-ready figures.
- Currency: a KHR journal and a USD journal, each linked to the correct bank account. For GDT filing, all amounts are reported in KHR.
- Chart of accounts: QuickBooks uses a flat account list. The ledgers we build use a structured chart with account groups, tax mappings, and currency assignments.
- Tax codes: VAT 10%, VAT 0% and VAT exempt, and a withholding tax code for each rate you incur, each linked to a ledger account.
What the system does not do is file. VAT, withholding tax, Tax on Salary and the 1% prepayment of income tax sit on one monthly return, and your accountant files it through GDT's E-Filing system or the GDT Taxpayer App: by the 25th of the following month when filed electronically, the 20th on paper.
Where else can you migrate to?
A system we build is one destination, not the only one. The other places a business leaving QuickBooks might go:
- SAP Business One: a mid-market ERP, at a higher cost.
- Zoho Books: an accounting tool, USD-centric, with limited KH localization.
- Xero: an accounting tool with no KH chart of accounts. Xero says it supports over 160 currencies, but we could not find the riel confirmed among them, so check with Xero before committing.
- A packaged ERP such as Odoo: open-source, and not something we implement.
Whichever you choose, a person still files the monthly return through GDT's E-Filing. Nothing files it for you.
Migration project shape
A QuickBooks migration runs in six sequential phases. The critical constraint: do not skip or compress the parallel-run phase. One full month-end cycle in parallel (both systems open, both reconciled, before cutover) is the minimum. Skipping parallel run is the single most common cause of post-cutover chaos.
- Discovery (1 week): audit the QuickBooks file, agree on a cut-off date, map stakeholders, and identify data gaps (missing TINs, unbounded rounding, unreconciled suspense accounts).
- COA mapping (1–2 weeks): map every QuickBooks account to its equivalent in the new system. Gap decisions made in writing: absorb, create, or close-out.
- New system setup (2–3 weeks): configure the Cambodian chart of accounts and tax codes, set up KHR and USD bank journals, set up the official exchange rate.
- Data migration (1–2 weeks): migrate opening balances, open AR/AP invoices, fixed-asset register, customer and vendor master (with TINs).
- Parallel run (2–3 weeks): both systems open. Month-end processed in both. Reconcile to riel and cent before cutover approval.
- Cutover (1–2 weeks): close QuickBooks as active system. The new system produces the monthly return figures for the first period after cutover, and your accountant files them through GDT's E-Filing as before. Archive QuickBooks for historical access.
Total: 8–13 weeks for a single-entity Cambodia SMB. Add 4–8 weeks per additional legal entity. See our accounting system solutions for the full migration context.
Cost
A fixed-scope QuickBooks migration for a single-entity Cambodia SMB runs $4,000–$9,000. Scope variables that move the number: how clean the QuickBooks data is (unreconciled suspense entries multiply remediation time), whether fixed assets are in QuickBooks or a separate register, and whether the COA mapping is straightforward or requires substantive restructuring.
- Discovery sprint: $500 (deducted from project fee if you proceed).
- Migration build: $3,500–$8,500 depending on scope.
- Licence: the books we build carry no per-user licence.
- Training: budgeted at 2–5 days per accounting user. Not included in migration quote.
Step-by-step migration plan
The eight operational steps below map onto the project phases above. Each step has a named owner, a clear deliverable, and a go/no-go gate before the next step starts.
- Export QuickBooks data: use QuickBooks's built-in IIF export for accounts, customers, vendors, and items. Export the trial balance as of the cut-off date. Export open invoices (AR) and open bills (AP) as of the cut-off date. Export the fixed-asset schedule from QuickBooks or the external register. Note: QuickBooks Desktop IIF exports are more complete than QBO CSV exports; if on QBO, use the QBO API or the accountant export tools to get structured data.
- COA mapping review: go through the exported account list line by line. Classify each account against the Cambodian chart of accounts in the new system. Flag accounts with no clear equivalent (typically old suspense or clearing accounts). Decision gate: are any accounts being retired at cut-off? What happens to their balances?
- Build and configure the new system: Cambodian chart of accounts first, then tax codes, bank journals, the official exchange rate, and customer/vendor master with TINs. Do not import any transaction data yet.
- Opening balances: post the trial balance as of the cut-off date as a single journal entry in the new system. Verify that the new balance sheet matches the QuickBooks trial balance at cut-off, to the riel. Any discrepancy here will compound through every subsequent reconciliation.
- Open AR/AP migration: import outstanding customer invoices and vendor bills as of the cut-off date. These are the invoices that were open in QuickBooks at cut-off and have not yet been paid. Verify ageing schedules match between QuickBooks and the new system for the cut-off date.
- Fixed-asset register: rebuild the fixed-asset register in the new system. For each asset: original cost, acquisition date, depreciation method, accumulated depreciation to cut-off date, and net book value. Verify the NBV total matches the balance sheet opening entry.
- Parallel run (one full month-end): both systems open. Process all invoices and payments in both. Close month-end in both. Compare: P&L, balance sheet, AR ageing, AP ageing, and the VAT return output. Reconcile every discrepancy before declaring the parallel run clean.
- Cutover: close QuickBooks as the active system. Switch all invoice processing and bank reconciliation to the new system. Confirm the first monthly return after cutover will be filed from the new system's figures. Archive QuickBooks with access documented for the finance team.
Data migration: what transfers cleanly, what does not
Not everything in QuickBooks migrates cleanly. Knowing what transfers automatically, what requires manual work, and what gets left behind shapes the migration budget and timeline.
- Transfers cleanly: customer and vendor master data (name, address, contact), open invoices (unpaid AR/AP as of cut-off), chart of accounts structure (after mapping), product and service list (name, price, tax code).
- Requires manual work: TINs on customer/vendor records (often missing in QB; must be collected before go-live), fixed-asset register (cost and accumulated depreciation must be entered asset-by-asset), bank reconciliation history (import statements into the new system; do not try to migrate the reconciliation itself).
- Does not migrate (stays in QB archive): closed historical invoices (invoices paid before cut-off), bank reconciliation history (pre-cut-off), memorized transactions and recurring entries (must be rebuilt in the new system), custom QuickBooks reports (must be rebuilt in the new system or a BI tool).
- Specifically complex: multi-currency historical invoices where the exchange rate used in QB differs from the NBC rate. Document the methodology; do not attempt to reconcile historical rates to NBC; accept the legacy variance and enforce NBC discipline from the cut-off date forward.
- Fixed-asset depreciation history: 80% of Cambodian QB files have a fixed-asset schedule that was tracked outside QuickBooks (in Excel) rather than inside it. The migration involves building the asset register from scratch using the external schedule; this is manual work, typically 2–5 days for a business with 20–100 assets.
Common pitfalls
These are the failure modes we see repeatedly across Cambodia QuickBooks migrations: not edge cases but recurring patterns.
- KHR rounding drift: QB invoices in USD converted to KHR at historical rates produce cent-level differences when reconciled in the new system at NBC daily rates. These accumulate into filing discrepancies. Accept the historical variance at cut-off; enforce NBC rates in the new system from day one. See the GDT e-VAT rounding rules.
- WHT code misclassification: QB does not enforce the Cambodian WHT rates (15% on services, royalties, and interest paid to residents, 10% on rental, 14% on payments to non-residents) by counterparty and payment type. When migrating vendor records, each vendor must be classified so the correct WHT rate applies in the new system at invoice posting. Businesses that skip this step get WHT misclassification notices from GDT, one of the silent failure modes catalogued in the GDT e-VAT pitfalls.
- VAT codes mapped to wrong accounts: QB uses 'GST' as its tax code in some locales; the Cambodian tax codes are VAT 10%, VAT 0% and VAT exempt. If these are mapped incorrectly during migration, the VAT return totals in the new system will be wrong from the first filing. Verify tax code mapping against a real test invoice before processing live transactions.
- Missing TINs: QB allows invoice creation without a buyer TIN. GDT does not. Customer TINs must be collected and entered before go-live, not during the first month of live operation.
- Year-end timing mismatch: if the migration cut-off date is mid-year, the opening balance in the new system reflects an in-year position, not a clean year-end close. The new system's P&L for the full year will only show the post-cut-off period; the pre-cut-off period stays in QB. This is expected and manageable, but must be clearly communicated to the auditor before year-end audit.
- Return figures left to the end: the new system has to produce the monthly return figures for the first period after cutover. If it cannot, the finance team is back to putting the figures together by hand, which is exactly the work the migration was supposed to remove. Configure tax codes and KHR handling in the setup phase and check the figures during the parallel run, not after go-live.
Should you migrate now or wait?
Use this decision framework. Migrate now if: you have more than 5 accounting users (past the seat cap on QuickBooks Online Plus); CamInvoice is in scope for your government contracts (no QB adapter exists); you have significant KHR exposure that requires NBC-rate discipline on every invoice; or a GDT audit has surfaced discrepancies in your current system. Defer if: you are below 5 users, USD-only, no government contracts, and putting the return figures together by hand is manageable at your filing volume. On timing, be honest about what is known: no B2B mandate date has been published, so anyone quoting you one is guessing. Plan on the business case rather than on a deadline, and treat a published B2B circular as the moment the queue for integration vendors forms.
FAQ
- Can we keep QuickBooks running as a read-only archive?
- Yes, and you should. QuickBooks remains accessible for historical reports and audit queries. The licence can be downgraded or cancelled for new transactions; some businesses keep an offline Desktop licence specifically for this purpose. Document the archive location and who has access before migration closes.
- Does the new system file our monthly return for us?
- No. Nothing files it for you. The system produces the monthly return figures and the sales and purchase lists, and your accountant files them through GDT's E-Filing. File from the QuickBooks figures until cutover and switch to the new system's figures the same day.
- How much training time do accounting staff need on the new system?
- Budget 2–5 days per accounting user for structured training, plus 30 days of supported live use post-go-live. What changes for them is the chart and the tax codes: QuickBooks uses a flat account list, and the ledgers we build use a structured chart with account groups, tax mappings, and currency assignments. Do not skimp on training; a confused accountant posting to the wrong journal in month 1 creates reconciliation problems that take months to unwind.
- Do we need to switch at year-end?
- No, but year-end is the cleanest cut-off. Mid-year migrations are common: agree on a month-end cut-off date, migrate the in-year opening balance, and run parallel through one month. The auditor needs to know the cut-off date and the methodology so they can reconstruct the full-year P&L from two systems.
- Can we keep QuickBooks for payroll and migrate only accounting?
- Possible but creates a data-flow problem: payroll journal entries from QB must be manually re-entered in the new system each pay cycle. Better to scope the full migration including payroll. Hybrid setups where one system handles payroll and another handles accounting are a recurring maintenance burden.
- What about ABA Bank / Wing / Bakong integration?
- Plan to reconcile bank statements in the new system from the cut-off date forward. A direct connection to ABA, Wing or Bakong is separate work. See our API integration practice for custom bank integration scope.
- What if we have custom forms in QuickBooks (custom invoice templates, custom reports)?
- Custom invoice templates must be rebuilt in the new system. Custom reports must be rebuilt in the new system or exported to a BI tool. These are typically scoped as separate deliverables after the core migration; do not include them in the migration budget unless specifically scoped.
- What if we want Xero or Zoho Books instead?
- Both are valid accounting tools. For very small businesses (under 5 users, USD-only, minimal GDT exposure), Xero or Zoho Books may be simpler to operate. Neither files the return for you, and how much Cambodian tax setup each ships is worth checking. For businesses with KHR complexity, government contracts, or ERP expansion plans, the books we build carry no per-user licence and extend into a full ERP if the business grows into inventory, manufacturing, or payroll.