Established MMXXVRemote-first · Serving the US & CanadaConversions both directions
care@ezconvertbooks.com

September 2, 2026

Zoho Books: implementation vs migration — which one you actually need

Two projects, one quote

Moving to Zoho Books is two separate pieces of work, and most quotes price only one. Migration is getting your data in — accounts, contacts, items, balances, history. Implementation is making the software behave the way your business already runs — taxes, approvals, automation, templates, roles, portals, reports.

The clearest evidence for the split is Zoho's own documentation, which is thorough about the first and silent on the second — because the second cannot be imported at all. Every configuration layer is built by hand after the data lands. If a proposal quotes a data migration and calls it a Zoho Books project, that is the gap you meet in week three.

What actually imports

Zoho Books imports from CSV, TSV and XLS files only, but the module list is long: accounts, contacts, items, invoices, credit notes, expenses, bills, purchase orders, payments both ways, manual journals, fixed assets, projects, timesheets, inventory adjustments and bank statements. Two details surprise people in opposite directions. Recurring invoices and recurring journals do import, contradicting the usual assumption — but recurring bills and expenses do not, nor do sales receipts or budgets, and Zoho states plainly that it does not support importing deposits or fund transfers.

Then the constraint nobody plans for: import file-size caps are per module, not global. Expenses allow 25 MB and chart of accounts, invoices and quotes 10 MB — but bills, purchase orders, items, price lists, projects, timesheets and payments received are capped at 1 MB, so any real dataset means batching files and keeping the sequence straight across them. Scripting instead? The API allows 100 requests per minute per organisation, with a daily ceiling that rises by plan.

Zoho recommends opening balances, not full history

This is the expectation gap that causes the most friction. Zoho's QuickBooks Online migration guide names its preference in the heading itself — “Import Transactions of the Current Financial Year (Recommended)”. A full-history path exists, but the guide does not walk it, and the FreshBooks guide is blunter still: importing historical invoices will not be possible.

So the default shape of a go-live is a trial balance at your cutover date, contact opening balances carrying the open items, and forward transactions from there — cutting over at the start of a financial year, with the Trial Balance and Inventory Valuation Detail exported as at the last day of the prior year.

Order matters more than teams expect: bank accounts before opening balances, contacts before their balances, parent accounts before child accounts. Transactions dated on or before the migration date do not attach themselves to opening balances — they must be synced deliberately — and any imbalance posts silently to an Opening Balance Adjustment account, which is where a rushed migration hides its errors. Bank feeds fetch only the last 90 days; anything older comes in by file or not at all.

What has no import path — and therefore is the implementation

Here is the work that no data migration includes, whatever the quote says:

  • Automation and control. Workflow rules, bank and transaction rules, validation rules, custom buttons and approval flows have no import route. Every one is rebuilt by hand.
  • Taxes. Zoho auto-creates tax records from whatever appears in your files, so duplicate and junk codes surface in your returns rather than at import.
  • Attachments. No file column exists in a CSV. Documents move only through the API, one record at a time, against a daily call ceiling.
  • Audit trail. Generated, not imported. Your Zoho history begins at go-live, and its first entries are the migration itself.
  • Reconciliation status. Reconciled transactions arrive unreconciled, and the opening balance locks once anything is reconciled.
  • Inventory cost history. Zoho is FIFO and takes one blended opening stock rate per unit, so real cost layers only form from post-migration purchases and early margin reporting will not match your old system.
  • Budgets and FX history. Budgets have no import path. Per-transaction rates are mappable, but historical rate tables go in one date at a time — and for foreign-currency opening balances Zoho's guidance is to average rates over a period.

The decision you cannot undo: country and base currency

If you read nothing else here, read this. An organisation's country cannot be changed after it is set — to use a different one, Zoho says, you must create a new organisation. Base currency is hard-mapped to that country in most editions (India to INR, the UK to GBP, Australia to AUD, the UAE to AED, Saudi Arabia to SAR, Canada to CAD), and can be changed only in the Global edition, only after deleting every record, custom account and opening balance you have created.

And there is no bridge: Zoho states it is not possible to automatically transfer data between two organisations, and a Zoho Books backup cannot be imported into a new one. The recovery path from a wrong country choice is a manual re-import, module by module, into a fresh org. Only one cross-edition path is published at all — Global to France — and Zoho notes it is permanent.

The country also decides what you can file. The UAE edition is FTA accredited and files VAT with EmaraTax; India's is a recognised GST Suvidha Provider uploading to the IRP; the UK edition is HMRC-recognised for Making Tax Digital, with CIS on Professional and above; Saudi Arabia's is ZATCA Phase 2 approved. Australia and Canada differ — Zoho prepares the BAS or GST/HST return, but you lodge with the ATO or CRA and mark it filed. Yet the choice is made on the first setup screen, in under a minute, by whoever created the trial.

Edition gates that quietly break a migration

Things you may assume are baseline are plan-gated, and finding out mid-migration is expensive. Multi-currency needs Professional or above; custom fields need Standard, so the Free plan cannot accept non-standard columns at all; workflow rules start at Professional, and budgets, custom modules and validation rules at Premium. Invoices are also capped per year on every plan — 1,000 a year on Free up to 100,000 on the top tiers — so check that ceiling against real document counts first. Published limits vary by region too, so do not read one country's pricing page as global.

So which do you actually need?

You need a migration if the requirement is genuinely “the numbers, in the new system, tying to the old one” — clean books, one country, one currency, cutting over at the start of a financial year. You need an implementation, with the migration inside it, if any of these are true: more than one entity or country; foreign-currency balances; inventory you report margin on; approval workflows or automation you rely on today; or an existing system whose configuration, not whose data, is what you actually value.

The honest test: ask what happens on day one after go-live. If the answer is “we check the balances,” you are buying a migration. If it involves anyone asking how to get an approval, raise a recurring bill, or run the report they used to run — you needed an implementation, and it was not in the quote.

Related service: Zoho Books → QuickBooks · all conversion routes

Thinking about a conversion?

Send us your details for a free, fixed-price quote within one business day.