...

From Spreadsheets to Odoo: A Migration Guide for Saudi Businesses

Every spreadsheet-run company has a version of the same story.


There is one file that matters more than the others. It has been open on someone’s screen for four years. It has tabs nobody remembers creating, formulas that reference a file that was moved in 2023, and a colour-coding system that only one person understands. When that person is on leave, certain questions cannot be answered.


The file is not the problem. The file is a symptom. The problem is that the business is running on data that only exists in one place, cannot be checked by anyone else, and does not connect to anything.


Moving to Odoo fixes that. But the migration itself is where most of the risk sits — not in the software, in the data. Here is how to do it without losing a quarter.

Why Businesses Finally Make the Move

Rarely one reason. Usually several arriving together:


Compliance forces it. This is increasingly the trigger in Saudi Arabia. ZATCA Phase 2 e-invoicing cannot be satisfied by a spreadsheet — it requires structured XML, cryptographic stamping and live integration with the Fatoora platform, as set out on the official ZATCA e-invoicing portal. With Wave 25 lowering the threshold to SAR 187,500 in VAT-subject revenue and a 1 February 2027 deadline, a large number of previously exempt businesses now need a real system. Our ZATCA Phase 2 compliance guide covers the requirement in full.


The reconciliation cost becomes visible. When someone calculates how many hours a month are spent making the sales sheet agree with the stock sheet and the accounting file, the ERP starts looking cheap.


Stock accuracy breaks. You sell something you do not have, or you carry inventory nobody knew was there. Both are expensive, and both are inevitable when stock is tracked manually.


Growth outpaces the workaround. Two warehouses instead of one. A second branch. An online store. Each addition multiplies the reconciliation burden rather than adding to it.


Key-person risk becomes uncomfortable. The business realises how much of its operational knowledge lives in one person’s files.

The Six Phases of a Migration

1. Scope Before You Touch Any Data

The most common failure is trying to migrate everything at once. A disciplined first phase — Accounting plus Inventory, or Sales plus Inventory — goes live faster, and the organisation learns the system on a smaller surface area before expanding.


Decide explicitly what is in scope, what is deliberately deferred, and what will not be migrated at all. That last category is bigger than people expect.

2. Audit and Clean the Data

This is the phase that decides your timeline, and it is almost always underestimated.


Spreadsheet data has predictable problems. The same customer appears three times with slightly different spellings. Product codes are inconsistent. Units of measure are mixed — some rows in pieces, some in cartons, with the conversion held in someone’s head. Arabic and English names are used interchangeably in the same column. Dates are stored in three formats. Stock quantities in the sheet do not match what is physically on the shelf.


None of this is fixable by software. It has to be cleaned by people who know the business, and it must be done before import — because migrating dirty data into a clean system just gives you a dirty system with better reporting.


Practical sequence:


  • Deduplicate customers and suppliers. Consolidate variants into single records with correct VAT registration numbers — you will need these for ZATCA-compliant invoicing.

  • Standardise the product catalogue. One code per product, consistent naming, defined units of measure, agreed categories.

  • Count the stock. Do a physical count. Your opening balances in Odoo should reflect reality, not the spreadsheet’s opinion of reality.

  • Reconcile the accounts. Agree opening balances with your accountant before they become the system’s starting point.

  • Fix the Arabic. Decide how bilingual names are handled and apply it consistently. Getting this wrong at import is painful to correct later — the principles of proper Arabic-first design apply to your master data as much as to your interfaces.

3. Configure Odoo to Match the Cleaned Structure

Chart of accounts, VAT configuration at 15%, warehouses and locations, product categories, pricelists, payment terms, user roles and permissions. For Saudi businesses this includes installing the Saudi fiscal localization that enables ZATCA compliance.


Configure the system to receive the data structure you just defined — not the structure you had.

4. Migrate in the Right Order

Data has dependencies. Import in sequence:


  1. Chart of accounts

  2. Customers and suppliers (with VAT numbers and addresses)

  3. Product catalogue and categories

  4. Pricelists

  5. Opening stock quantities

  6. Opening account balances

  7. Open sales orders, purchase orders and unpaid invoices

  8. Historical transactions — only if genuinely needed


That last point deserves emphasis. Migrating years of transaction history is expensive, slows the project, and is often unnecessary. Most businesses need open items and opening balances in Odoo, with historical records retained in the old system or archived for reference. Ask what you would actually do with five years of imported history before paying to migrate it.


Run every import into a test database first. Always.

5. Validate Before Trusting

Check that the numbers agree: trial balance against your accountant’s figures, stock valuation against your count, customer balances against statements, open orders against the sheet. Have the people who use the data daily look at it — they will spot wrong records instantly in a way that a validation script will not.

6. Train, Go Live, and Support the First Close

Train by role, not by module — a warehouse team needs a different session from the finance team. Then choose a sensible go-live date (start of a month or quarter, never during your busiest week) and make sure someone is available through the first month-end close, which is when the real questions surface.


Some businesses run parallel for a short period. It is safer and it doubles the workload, so keep it short and set a firm end date.

How Long Does It Take?

Faster than the reputation of ERP projects suggests, when scope is disciplined. We documented an implementation that went from spreadsheets to a unified ERP in two weeks — possible because the scope was tight and the client made decisions quickly.


Realistic ranges:


  • Small business, core modules, clean-ish data: 2–4 weeks

  • Mid-sized business, several modules, multiple warehouses: 6–12 weeks

  • Multi-entity or heavily customized: 3–6 months


The variable is almost never the software. It is data quality and decision speed.

The Mistakes That Cost the Most

Migrating dirty data. Covered above, and worth repeating, because it is the single most common cause of a failed go-live.


Recreating the spreadsheet inside Odoo. If your process exists only because the spreadsheet forced it, do not carry it over. Migration is the cheapest moment you will ever have to fix a bad process. Distinguish honestly between processes that are genuinely yours and processes that are just habits — our guide to custom Odoo development covers where that line sits.


Skipping the physical stock count. Your opening inventory will be wrong, and you will spend months chasing discrepancies that were built in on day one.


No internal owner. Someone inside the business must own this project and be empowered to make decisions. Without that, every question becomes a delay.


Treating training as optional. Staff who do not understand the system will keep their spreadsheets running alongside it. Then you have both, and neither is trusted.

Where to Start

If you are still comparing platforms, our Odoo vs SAP vs Microsoft Dynamics comparison for Saudi SMEs and Odoo vs ERPNext are the practical versions. If you have chosen Odoo, our complete guide to Odoo ERP in Saudi Arabia covers the modules and deployment options — and the Odoo Inventory and Manufacturing guide is worth reading before you plan your stock migration.


H2Solutions is an Official Odoo Partner in Dammam. We have moved Saudi businesses off spreadsheets, QuickBooks and legacy accounting packages, and we do the unglamorous data work properly because that is what determines whether a go-live succeeds.


Book a free migration assessment — we will review your current data and tell you realistically what the move involves.

Partnering with H2 Solutions transformed our tech challenges into cutting- edge solutions. Their team's passion and professionalism helped us take our app from the concept stage to a market- ready product.

Other post

As the digital landscape continuously evolves, mastering Search Engine Optimization (SEO) becomes critical for businesses aiming to sustain and...

Every Saudi e-commerce operator eventually hits the same wall — and it’s rarely the storefront. The store looks fine....

In today's fast-paced digital landscape, creating a successful software product requires more than just lines of code. It demands...

In today’s digital era, having a robust and versatile website is crucial for businesses looking to enhance their online...

Managing finances is one of the most essential yet complex parts of running a successful business. In fact, financial...

In today’s fast-paced business world, small and medium enterprises (SMBs) face a constant struggle: efficiency vs. cost. Managing everything...