QuickBooks and Zoho Books

QuickBooks to Odoo Migration: What Transfers and What Does Not

Star Bit Solutions9 min read

Planning a QuickBooks to Odoo migration, or leaving Zoho Books? Start with what each product can export. This guide covers exports, mapping accounts, contacts, items and tax codes, open items versus history, attachments and the cut-over.

QuickBooks and Zoho Books export cards feeding accounts, contacts, items and VAT into an Odoo database, with a paperclip for attachments and a cut-over date
Scroll

Key takeaways

  • QuickBooks Online exports reports and lists to Excel; Zoho Books exports each module to CSV or Excel and offers full data and documents backups.
  • Move the opening trial balance, open invoices and bills, stock and fixed assets to Odoo, and keep closed history in the exports.
  • Map every QuickBooks or Zoho Books tax rate to an Odoo UAE tax, and record each customer's emirate so fiscal positions apply.
  • Import open items at the amount due against clearing accounts, without tax, and go live only when the clearing accounts are at zero.
  • Export everything, attachments included, before you cancel, even though both products offer read-only access afterwards.

QuickBooks and Zoho Books do their core job well: invoicing, bills, bank feeds and value added tax (VAT) returns for a small finance team. Businesses usually start looking at Odoo when the books are no longer the whole story, and stock, purchasing, manufacturing, projects or payroll need to share one database with accounting.

A QuickBooks to Odoo migration, or a move from Zoho Books, turns on two questions: what can you take out of the old product, and what should Odoo receive? Both products export more than people expect, but neither hands over a database Odoo can simply open. This guide covers the exports, the mapping, what to leave behind and how to cut over, with Odoo 19 as the target.

What QuickBooks and Zoho Books Let You Export

Check what your product and edition offer first, because it decides how much reshaping the migration needs.

QuickBooks Online

The Export data tool, under Settings, exports reports and lists to Excel in a single zip file. Intuit's help pages list the Profit and Loss, Balance Sheet, Trial Balance and General Ledger reports and the customer, vendor and employee lists, and the account list and products and services can be exported from their own screens. Attachments export separately, also as a zip file.

Intuit also says that after you cancel a paid subscription, you keep read-only access for one year and can still export. Treat that as a safety net, not a plan, and export everything before you cancel.

QuickBooks Desktop

Desktop exports lists, such as the chart of accounts, customers, vendors and items, to IIF (Intuit Interchange Format) files through File > Utilities > Export. Intuit states that transactions cannot be exported to IIF, so transaction detail leaves Desktop as reports exported to Excel.

Zoho Books

Each module, such as invoices, bills, contacts or items, exports from its list view to CSV, XLS or XLSX, up to the first 25,000 rows. Beyond that, the Data Backup feature under Settings produces one compressed file of CSV files across modules. Zoho's help pages add two timing rules: the download link expires 30 days after the backup, and another backup is not possible for 15 days. Attachments have their own Backup Documents tab, which covers documents added since the last documents backup.

ExportQuickBooks OnlineZoho Books
Lists and mastersExcel, through the Export data toolCSV, XLS or XLSX from each module
Transaction detailReports such as the General Ledger and Trial Balance, in ExcelModule exports up to 25,000 rows, or a full backup in CSV files
AttachmentsA separate zip fileBackup Documents, for files added since the last backup
After you cancelRead-only for one year, with exportRead-only

Mapping Accounts, Contacts, Items and Tax Codes

Exports arrive in QuickBooks or Zoho shapes. The real work is reshaping them for Odoo's import tool, which reads Excel and CSV files, offers templates and has a Test button, and loading them in dependency order: accounts and taxes, then contacts, then products, then open documents. Give every record an External ID built from its old code, so later files can refer to it without ambiguity.

Accounts

Map each account to the Odoo chart of accounts from the UAE localization, or create it with the right Odoo type, such as Current Assets, Fixed Assets, Income or Expenses. Odoo tracks who owes what through the partner on each journal item, so one receivable and one payable account normally cover all customers and suppliers. Classes and locations in QuickBooks, or reporting tags in Zoho Books, become analytic accounts.

Contacts

Bring the legal name, address, TRN (Tax Registration Number), payment terms and currency. Zoho Books stores a tax treatment, such as VAT Registered or GCC VAT Registered, and a place of supply on each contact. In Odoo, the emirate goes in the address state, where the UAE localization's fiscal positions pick it up, and customers abroad fall under the non-UAE position. Zoho's designated zone treatments have no ready-made fiscal position in Odoo's UAE localization, so model them deliberately with your tax adviser.

Items

Inventory items become Goods with Track Inventory switched on, non-inventory items become Goods without it, and services become Services. Bundles need a decision: a kit, built with a bill of materials of the Kit type from the Manufacturing app, or separate lines. Bring the cost, sales price, barcode, unit of measure and default taxes with each product.

Tax Codes

Odoo's UAE localization provides 5% sales taxes per emirate, because the VAT return reports standard-rated supplies emirate by emirate, plus zero-rated, export, exempt, import, reverse charge and out-of-scope taxes. Map each old rate separately for sales and purchases. For Zoho Books, the usual mapping is:

  • Standard Rate [5%]: Odoo's 5% purchase tax, and on sales the 5% tax for the customer's emirate, chosen by the fiscal position.
  • Zero Rate [0%]: the zero-rated tax, or the zero-rated export tax for exports.
  • Exempt: the exempt tax.
  • Out of Scope: on sales, the out-of-scope tax. Odoo's UAE localization has no out-of-scope purchase tax, so agree the purchase treatment with your tax adviser.

Test every mapping on real transactions from your last VAT period before loading anything else.

Open Items versus History

Move what is still open, and archive what is closed. For most businesses, Odoo should receive:

  • the opening trial balance at the cut-over date;
  • every open customer invoice and credit note, at the amount still due;
  • every open supplier bill and refund, at the amount still due;
  • stock quantities by product and location, at agreed costs;
  • the fixed asset register, with depreciation to date.

Odoo's own accounting documentation recommends importing each open invoice or bill with only the total amount due, posted to a clearing account, so tax accounts are not affected twice. In the opening trial balance, the receivable and payable lines are replaced with the same clearing accounts. Once both sides are loaded, the clearing accounts net to zero, and Odoo suggests changing their type to Off-Balance Sheet so they drop out of reports.

History stays in the exports and, while it lasts, in the old product's read-only access. Keep the exported reports for every closed year, because UAE law requires corporate tax records to be kept for seven years after each tax period. If you need last year's figures for comparison, load monthly totals per account rather than every transaction. Our guide to opening balances and cut-over covers the method in depth.

A Worked Example: One Zoho Books Customer

Say Zoho's receivables reports show a customer owing AED 18,900: two unpaid invoices of AED 12,600 and AED 7,350, and an unused credit note of AED 1,050. In Odoo, import two customer invoices with single lines of AED 12,600 and AED 7,350 against the receivable clearing account, with no tax, and one customer credit note of AED 1,050 against the same account. The customer owes AED 18,900 in Odoo too, and each document keeps its Zoho number as a reference and its original due date for follow-ups.

Have a question about this guide? Ask the engineers who wrote it.

Attachments and Documents

Attachments are the part teams forget until an auditor asks for a supplier invoice from two years ago. Export them while you still have full access: the QuickBooks Online attachments zip, or Zoho's Backup Documents, taken after the last documents are added.

Then decide how much linking you need. The simplest option is an archive: on Odoo Enterprise, upload the files to a dedicated folder in the Documents app, organized by year and document type, so finance can find them from Odoo. Attaching each old file to its migrated invoice or bill is possible, but it needs a script that matches files to records by number, so it is usually worth doing only for documents that are still open.

Planning the Cut-over for a QuickBooks to Odoo Migration

Odoo's documentation describes three transition points: the end of a fiscal year, which is easiest, the end of a tax period, or the middle of a tax period, which it does not recommend because the tax filing then combines two systems. In the UAE, that means aiming for the first day of a financial year or of a VAT period.

  1. Agree the cut-over date and the last day of entries in the old product.
  2. Finish reconciling every bank account there, and export the final reports.
  3. Freeze new customers, suppliers and items, or log them for re-entry.
  4. Count stock on the cut-over date if you hold inventory.
  5. Load and validate the opening trial balance, open items and stock in Odoo.
  6. Set each bank journal's opening statement to the balance before the first Odoo transaction, and delete any synchronized bank transactions dated before the cut-over.
  7. Check that the clearing accounts are at zero and that aging matches by customer and supplier, then lock the period.

Rehearse the whole sequence on a copy of the Odoo database first. On Odoo.sh or on-premise, our free SBS Data Remove module, tested on Odoo 19 Community, clears a company's test transactions in one all-or-nothing run while keeping master data, so a rehearsal database can be reset without rebuilding the configuration. Removal cannot be undone, so take a verified backup before every run.

Tip: take the final Zoho Books data backup after the last entries, close to the cut-over date. Each backup blocks the next for 15 days and its download link expires after 30 days, so one taken too early can leave you without a fresh one. Keep every documents backup too, because each covers only documents added since the previous one.

How Star Bit Solutions Can Help

Our OdooStar team runs QuickBooks and Zoho Books migrations as part of an Odoo implementation. We export and clean your data, map accounts, contacts, items and VAT codes, test-load everything on a copy and reconcile the opening balances with your finance team before go-live.

For most businesses leaving QuickBooks or Zoho Books, Odoo Enterprise is the natural target, with full Accounting, bank reconciliation and UAE VAT reporting next to the operational apps you are moving for. If Odoo Community fits, our free SBS Account Community module, for Odoo.sh or your own server, adds the trial balance, partner ledger and aged balances that Community leaves out, so the tie-out checks can still run. Coming from Tally instead? See our Tally to Odoo migration plan.

Send us your current product, edition and target go-live date through the contact page or on +971 55 973 4524, and we will outline a migration plan.

Star Bit Solutions logo
Written by the Star Bit Solutions team

Star Bit Solutions is a software company in Ajman, UAE, founded in 2014. We implement and customize Odoo Enterprise and Odoo Community, and build StarBiz (AI-driven ERP), StarHub (life super app), StarBot (conversational AI), StarLearn (adaptive learning) and StarSense (AI and IoT platform). About us

OdooStar by Star Bit Solutions

Leave QuickBooks or Zoho Books with Nothing Left behind.

Tell us your product, edition and target go-live date. We will plan the exports, map your data to Odoo and reconcile the opening balances with you.

Not Sure Which Solution Fits?

Tell us about your business and we will recommend the right starting point, free of charge.