Odoo ERP implementation and ZATCA Phase 2 e-invoicing

    INVENXEN plans, configures and launches Odoo ERP for companies in Saudi Arabia, Australia, Pakistan and other markets. One project covers scoping, configuration, customization, data migration, training and support after go-live. For Saudi VAT payers, it includes ZATCA Phase 2 e-invoicing through Odoo's native Saudi localization.

    What does an Odoo ERP implementation include?

    An Odoo ERP implementation turns standard Odoo apps into a working system for your business: scope, design, configure, migrate data, test, train and go live. Odoo's Success Packs page (October 2026) describes a successful implementation as needs analysis, configuration, key-user training, data import and customization of business flows.

    • Scope document with process maps
    • Design workbook: accounts, taxes, companies, access rights
    • Data mapping sheets and import logs
    • Test scripts signed off by your key users
    • Training material for each role
    • Cutover plan and a post go-live issue log
    1. 01Discovery and scope. We map your processes, users, documents and data sources, then agree which apps, integrations and reports are in scope.
    2. 02Solution design. Chart of accounts, taxes, companies, branches, warehouses, approval rules and access rights are designed first. Each gap is marked as configuration, Odoo Studio or a custom module.
    3. 03Configuration. Apps, fiscal localization, users, document sequences, invoice layouts and email templates are set up in a test database.
    4. 04Customization and integrations. Custom modules, reports and connectors to e-commerce, banks, payment gateways or legacy systems are built and versioned.
    5. 05Data migration. Customers, vendors, products, opening balances and open documents are cleaned, mapped and imported in trial runs before the final load.
    6. 06Testing. Key users run real scenarios end to end. Saudi companies also test e-invoicing in ZATCA's sandbox and simulation environments.
    7. 07Training. Role-based sessions and short guides for each team, plus admin training for the people who will own the system.
    8. 08Go-live. Final data load, a cutover checklist, production onboarding of ZATCA journals where needed, and a switch date agreed in advance.
    9. 09Support after go-live. A hypercare period for fixes and adjustments, then ongoing support, new apps and version upgrades.

    Which Odoo apps should you roll out first?

    Start with finance and the sell, buy and stock flows: Accounting, Sales, Purchase and Inventory. Add CRM, Manufacturing, Point of Sale and HR or Payroll in later phases, where the business needs them.

    • Saudi payroll: Odoo's Saudi Arabia payroll localization covers salary structures, GOSI rates by nationality, IBAN bank details for WPS salary payments and end-of-service provisions (Odoo 19.0 documentation, October 2026).
    • Odoo maintains fiscal localization packages for Saudi Arabia, Australia and Pakistan, among many other countries (Odoo 19.0 documentation, October 2026).
    • Start with the apps that replace your highest-risk spreadsheets, then add the rest in phases.
    AppWhat it coversEdition (Odoo editions page, October 2026)
    AccountingGeneral ledger, bank reconciliation, analytic accounting, budgets, reports, localizationsEnterprise. Community includes Invoicing.
    InventoryStock levels, warehouses, transfers, replenishmentCommunity and Enterprise. Barcode is Enterprise.
    SalesQuotations, sales orders, pricelistsCommunity and Enterprise
    PurchaseRequests for quotation, purchase orders, vendor pricelistsCommunity and Enterprise
    ManufacturingBills of materials, manufacturing orders, work centersCommunity and Enterprise. Shop floor and scheduling are Enterprise.
    HR and PayrollEmployees, time off, recruitment, payslipsEmployees in both editions. Payroll is Enterprise.
    CRMLeads, pipeline stages, activitiesCommunity and Enterprise
    Point of SaleShop and restaurant checkout, sessions, receiptsCommunity and Enterprise

    What is ZATCA Phase 2?

    ZATCA Phase 2, the Integration Phase, requires Saudi VAT taxpayers to connect their e-invoicing system to ZATCA's Fatoora platform and to issue invoices in a set format with additional fields. It began on 1 January 2023 and, as of October 2026, still rolls out in waves by taxpayer group. Phase 1, the Generation Phase, has applied since 4 December 2021.

    • XML format: e-invoices follow ZATCA's XML Implementation Standard, which is built on UBL 2.1. They are stored as XML, or as PDF/A-3 with the XML embedded.
    • Cryptographic stamp: an electronic stamp that proves who issued the invoice and that its content has not changed.
    • QR code: invoices carry a QR code that buyers can scan with ZATCA's app for basic validation.
    • CSID: the Cryptographic Stamp Identifier ties each e-invoicing solution unit to a verified taxpayer. It is issued when you onboard that unit on the Fatoora portal with a one-time password.
    • Arabic: tax invoices and simplified tax invoices must be in Arabic. A second language such as English can sit alongside it.
    Invoice typeUsed forZATCA flowTiming
    Standard tax invoiceB2B and B2G salesClearance: ZATCA validates the invoice and applies its cryptographic stampBefore you share the invoice with the buyer
    Simplified tax invoiceB2C salesReporting: your system stamps the invoice and sends it to ZATCAWithin 24 hours of issue

    ZATCA integration waves as of October 2026

    As of October 2026, ZATCA has announced Wave 25: taxpayers whose VAT-subject revenue exceeded SAR 187,500 in 2022, 2023, 2024 or 2025 integrate with Fatoora starting 1 February 2027. ZATCA's English notice reads 'by no later than' that date, so confirm the date in your own ZATCA notification. The integration windows for Waves 23 and 24 closed on 31 March and 30 June 2026.

    • ZATCA's Arabic notice for Wave 25 and EY's summary of the Official Gazette decision both say integration starts from 1 February 2027. No end date for the Wave 25 window had been published by October 2026.
    • ZATCA notifies each targeted taxpayer directly, at least six months before its integration date.
    • Wave 25 is the first wave to count 2025 revenue, so a business that first crossed SAR 187,500 in 2025 can be in scope.
    • Wave 25's SAR 187,500 threshold equals ZATCA's voluntary VAT registration threshold. The mandatory registration threshold is SAR 375,000.
    • Missed an earlier deadline? Speak to your tax adviser first, then plan the system work.
    • This table reflects ZATCA announcements up to October 2026. Check zatca.gov.sa for later waves.
    WaveVAT-subject revenue aboveRevenue years checkedIntegration windowStatus in October 2026
    Wave 23SAR 750,0002022, 2023 or 20241 January to 31 March 2026Window closed on 31 March 2026
    Wave 24SAR 375,0002022, 2023 or 20241 April to 30 June 2026Window closed on 30 June 2026
    Wave 25SAR 187,5002022, 2023, 2024 or 2025From 1 February 2027 (end date not announced as of October 2026)Announced by ZATCA on 24 July 2026

    How does Odoo handle ZATCA Phase 2 e-invoicing?

    As of October 2026, Odoo ships a native Saudi localization, and its l10n_sa_edi module connects Odoo to ZATCA's API for Phase 2. Odoo documents the setup for its supported versions 18.0, 19.0 and 20.0. We start from the native module and add custom work only where your flows need it.

    • l10n_sa: Saudi chart of accounts, 15% VAT, zero-rated and exempt taxes, and Phase 1 QR codes.
    • l10n_sa_edi: Phase 2 API integration. B2B invoices go to clearance, and for B2C invoices Odoo generates a QR code and reports them.
    • l10n_sa_pos and l10n_sa_edi_pos: Point of Sale compliance and e-invoicing for receipts, with the Phase 2 QR code on printed and PDF receipts (Odoo 19.0 and 20.0 documentation, October 2026).
    • Odoo's ZATCA module has three API modes: Sandbox, Simulation (pre-production) and Production (Odoo 19.0 and 20.0 documentation, October 2026). Once Production is on and an invoice is submitted, the database cannot switch back.
    • Each sales journal is onboarded separately with a 6-digit OTP from the Fatoora portal. OTPs expire after 60 minutes.
    • Odoo 18.0 documentation notes that Odoo sends any unprocessed invoices to the portal at the end of each day.
    • After submission, Odoo attaches the UBL 2.1 XML and the invoice PDF to the record. Neither can be deleted.
    • Each invoice shows ZATCA's response: accepted, accepted with warnings, or rejected for correction and retry.
    • The module is published under the LGPL-3 licence in Odoo's public source code.
    • Version support: Odoo 17.0 standard support ended in September 2026. Odoo plans standard support for 18.0 until September 2027, 19.0 until September 2028 and 20.0 until September 2029 (Odoo support table, October 2026).
    1. 01Confirm your wave, your invoice types (standard, simplified or both) and every place invoices are issued: main entity, branches and Point of Sale.
    2. 02Complete the company and contact data ZATCA validates: a legal name of 63 characters or fewer, building number, district, commercial registration number and VAT number.
    3. 03Set up taxes, exemption reason codes for 0% lines, and ZATCA reasons for credit and debit notes.
    4. 04Test end to end in Sandbox, then in Simulation on a copy of your database, using real invoice scenarios.
    5. 05Onboard each sales journal and Point of Sale journal in Production with an OTP from the Fatoora portal.
    6. 06Go live, review ZATCA responses daily in the first weeks, and train staff to fix rejections and keep B2C reporting inside 24 hours.

    Arabic invoices, multi-company and multi-branch setups

    Saudi VAT rules require tax invoices and simplified tax invoices, with their credit and debit notes, to be in Arabic, and bilingual invoices are allowed. Odoo prints documents in each customer's language, and its GCC format option adds Arabic as a second language on invoices and receipts. Several companies and branches can run in one Odoo database.

    • Bilingual Arabic and English invoice layouts with right-to-left Arabic text, your logo, VAT numbers and the ZATCA QR code.
    • Arabic or Hindi numerals: ZATCA accepts either as Arabic in the human-readable invoice.
    • Customer-level language, so a buyer in Riyadh and a buyer in Sydney each read documents in their own language, while the GCC format keeps Arabic on Saudi tax invoices.
    • Multi-company: separate legal entities in one database, with shared or separated data and aggregated reports across companies. On Odoo's Standard plan, enabling multi-company moves the subscription to the Custom plan (Odoo pricing and documentation, October 2026).
    • Saudi branches: each branch uses the parent company's VAT number and its own commercial registration number. Invoicing can run through one central journal or one journal per branch.
    • Multi-currency: Odoo issues invoices, records bills and runs bank accounts in currencies other than the company's main currency.

    What drives Odoo implementation cost?

    Two things set the cost: the Odoo subscription, which Odoo prices per user per month by plan (Odoo pricing page, October 2026), and the implementation work, measured in hours. Users, apps, customization, data migration and integrations drive those hours. We price after scoping, and live rates for dedicated experts are on our pricing pages.

    • For scale, Odoo's own Success Packs run from 4 to 200 consultant hours, depending on apps, data import and customization (Odoo Success Packs page, October 2026).
    • Odoo publishes current subscription prices on odoo.com/pricing. The plan rules in this table reflect that page in October 2026.
    • Engagement options: a scoped Odoo project, or our three pricing models: Individual Experts, Expert-Made Packages and Custom Packages.
    Cost driverWhy it moves the cost
    UsersOdoo's paid plans are billed per user per month. More users also mean more roles, access rights and training.
    AppsEach app adds configuration, testing and training. Odoo's Standard and Custom plans include all apps for one fee.
    CustomizationOdoo Studio (Custom plan) covers fields, views and simple automations without code. Custom modules need development and must be updated before each Odoo version upgrade.
    Data migrationClean, structured data imports quickly. Years of history and inconsistent spreadsheets add cleanup and trial runs.
    IntegrationsEach connector to e-commerce, banks, payment gateways or legacy software adds build and test time. Software that calls Odoo's external API needs the Custom plan.
    Edition and hostingCommunity is open source and Enterprise is licensed. Running Enterprise on Odoo.sh or on-premise needs the Custom plan, and Odoo.sh hosting is billed separately. Community can be self-hosted without a subscription.
    Companies and branchesEach legal entity adds charts, taxes and journals. On the Standard plan, enabling multi-company moves you to the Custom plan.
    ComplianceZATCA onboarding, test cycles and Saudi payroll setup add scope for Saudi companies.

    How long does an Odoo implementation take?

    As of October 2026, published benchmarks from Odoo service-firm blogs put a standard rollout at 8 to 12 weeks, and heavily customized or multi-entity projects at 14 to 24 weeks. Scope, data quality and decision speed set where you land. These are third-party ranges, not our commitments, and you get a dated plan after scoping.

    • Odoo's own Success Packs page states that 80% of projects within its estimator's scope go into production in 200 hours or less (October 2026). Hours measure effort, not calendar time.
    • Both blogs are written by Odoo service firms, and Octura's ranges come from its own delivery data. Treat them as context, not as an independent study.
    • Causes of delay named in both blogs: scope added mid-project, data cleanup left until testing, integrations discovered late, and key users unavailable for testing and sign-off.
    • Saudi companies: allow time for ZATCA Sandbox and Simulation testing before your integration date.
    ScopePublished rangeSource (Odoo service-firm blog)
    Core apps, narrow scope, clean data8 to 12 weeksSilent Infotech, April 2026
    Extensive customization14 to 20 weeksSilent Infotech, April 2026
    Multi-entity or multi-currency16 to 24 weeksSilent Infotech, April 2026
    About 10 users6 to 8 weeksOctura Solutions, April 2026
    About 50 users12 to 16 weeksOctura Solutions, April 2026
    100 or more users20 to 30 weeksOctura Solutions, April 2026

    Odoo Community vs Enterprise: which edition fits?

    Odoo Community is open source and Odoo Enterprise is licensed, and Enterprise is built on the Community core. Enterprise adds full accounting, payroll, Odoo Studio, the mobile apps, hosting and version upgrades. As of October 2026, Odoo states that you can switch editions at any time.

    • Community suits teams with in-house developers and simpler finance needs.
    • Enterprise suits companies that need full accounting, payroll or Studio, or want Odoo to host and upgrade the system.
    • Saudi e-invoicing: Odoo's editions page lists full localizations under Enterprise accounting. The Saudi e-invoicing module itself (l10n_sa_edi, LGPL-3) is published in Odoo's open-source code. Full accounting and Saudi payroll sit in Enterprise.
    • Compare plans and current prices on odoo.com/pricing.
    CapabilityCommunityEnterprise
    Invoicing and paymentsYesYes
    Full accounting: bank reconciliation, budgets, reports, localizationsNoYes
    Sales, CRM, Purchase, Point of SaleYesYes
    Inventory and ManufacturingCore featuresCore plus barcode, shop floor and scheduling
    PayrollNoYes
    Odoo StudioNoYes
    Mobile apps for Android and iOSNoYes
    Hosting and version upgrades from OdooNoYes
    Unlimited functional support from OdooNoYes

    Migrating from QuickBooks, Excel or another ERP

    Data moves from QuickBooks, Excel or a legacy ERP into Odoo through export, cleanup, mapping and trial imports. Odoo's import tool accepts Excel (.xlsx) and CSV files for contacts, products, bank statements, journal entries and orders.

    • Keep the old system read-only for audit history.
    • Saudi companies: confirm customer VAT numbers and addresses during cleanup, since standard invoices carry buyer details that ZATCA checks.
    1. 01List every data source and agree the cutover date.
    2. 02Choose what moves: master data, open invoices and bills, opening balances, and how much transaction history.
    3. 03Export from the old system. QuickBooks Online exports reports and lists to Excel.
    4. 04Clean duplicates, fix codes and units, and map your old chart of accounts to the new one.
    5. 05Map columns to Odoo fields with Odoo's import templates, then run trial imports in a test database.
    6. 06Reconcile balances with your accountant, then run the final import at cutover.

    Why work with INVENXEN on Odoo

    INVENXEN is a software company founded in Lahore, Pakistan in 2020, serving clients in Saudi Arabia, Australia and other markets. Besides Odoo, we build custom software, web and mobile apps, dashboards and automation, so work beyond Odoo's standard apps stays with one company.

    • Engage us for a scoped Odoo project, or through our three pricing models: Individual Experts, Expert-Made Packages or Custom Packages.
    • We reply within one business day.
    • Start with a free 30-minute call to scope your rollout and, for Saudi companies, your ZATCA timeline.

    Questions, answered

    How much does Odoo implementation cost?

    Cost has two parts: the Odoo subscription, priced per user per month, and implementation hours. Odoo's own Success Packs range from 4 to 200 consultant hours (October 2026). Users, apps, customization, data migration and integrations set the hours. We quote after a scoping call, and live rates for dedicated experts are on our pricing page.

    How long does Odoo implementation take?

    As of October 2026, published benchmarks from Odoo service-firm blogs put a standard rollout at about 8 to 12 weeks. Heavy customization or several legal entities push that to roughly 14 to 24 weeks. Your timeline depends on scope, data quality and decision speed, and we share a dated plan after scoping.

    Is Odoo worth it?

    Odoo is worth it when you want finance, sales, inventory, purchasing and HR in one system instead of separate tools and spreadsheets. Its apps share one database, it has fiscal localizations for Saudi Arabia, Australia and Pakistan, and the Community edition is open source. It is a weaker fit when a process needs heavy custom code that you cannot maintain through version upgrades.

    How do you integrate Odoo with ZATCA?

    On a supported Odoo version (18.0, 19.0 or 20.0 as of October 2026), install the native Saudi e-invoicing module (l10n_sa_edi), complete the company data ZATCA validates, and test in Sandbox and Simulation modes. Then onboard each sales journal in Production with a one-time password from the Fatoora portal, which expires after 60 minutes. From there, Odoo sends standard invoices for clearance and reports simplified invoices.

    What is ZATCA Phase 2?

    As of October 2026, ZATCA Phase 2, the Integration Phase, connects a Saudi taxpayer's e-invoicing system to ZATCA's Fatoora platform. Standard B2B invoices are cleared by ZATCA before they reach the buyer, and simplified B2C invoices are reported within 24 hours. Invoices use an XML format built on UBL 2.1, a cryptographic stamp, a QR code and a CSID issued at onboarding.

    Should I choose Odoo Community or Enterprise?

    Choose Enterprise if you need full accounting, payroll, Odoo Studio, the mobile apps or upgrades handled by Odoo. Community is open source and covers invoicing, sales, CRM, purchase, inventory, manufacturing and Point of Sale, and it suits teams with developers to maintain it. As of October 2026, Odoo states that you can switch editions at any time.

    Can you migrate our data from QuickBooks or Excel?

    Yes. We export your data, clean it, map it to Odoo fields and run trial imports before the final load. As of October 2026, Odoo imports Excel and CSV files for contacts, products, bank statements, journal entries and orders, and QuickBooks Online exports reports and lists to Excel.

    Can Odoo print invoices in Arabic?

    Yes. As of October 2026, Odoo prints documents in each customer's language, and its GCC format option adds Arabic as a second language on invoices and Point of Sale receipts. Saudi VAT rules require tax invoices in Arabic, and bilingual Arabic and English invoices are allowed.

    Sources

    1. 1.Odoo 20.0 documentation: Saudi Arabia fiscal localization
    2. 2.Odoo 19.0 documentation: Saudi Arabia fiscal localization
    3. 3.Odoo 18.0 documentation: Saudi Arabia fiscal localization
    4. 4.Odoo 20.0 documentation: Standard and extended support
    5. 5.Odoo source code: l10n_sa_edi manifest (19.0 branch)
    6. 6.ZATCA: criteria for Wave 25 of the Integration Phase (English, 24 July 2026)
    7. 7.ZATCA: criteria for Wave 25 of the Integration Phase (Arabic, 24 July 2026)
    8. 8.EY Tax News: Saudi Arabia announces 25th wave of Phase 2 e-invoicing integration
    9. 9.ZATCA: criteria for Wave 23 of the Integration Phase (Arabic)
    10. 10.EY: Saudi Arabia announces 23rd wave of Phase 2 e-invoicing integration
    11. 11.EY Tax News: Saudi Arabia announces 24th wave of Phase 2 e-invoicing integration
    12. 12.KPMG Saudi Arabia: Tax flash on the 24th wave of e-invoicing Phase 2
    13. 13.ZATCA: E-invoicing roll-out phases
    14. 14.ZATCA: Detailed Guidelines for E-Invoicing, Version 2 (May 2023)
    15. 15.ZATCA: Simplified guide to e-invoicing requirements (June 2022)
    16. 16.ZATCA: Electronic Invoice XML Implementation Standard v1.2
    17. 17.ZATCA: VAT registration for individuals (thresholds)
    18. 18.Odoo pricing
    19. 19.Odoo Success Packs
    20. 20.Odoo Enterprise vs Community comparison
    21. 21.Odoo 19.0 documentation: Studio
    22. 22.Odoo 19.0 documentation: Multi-company
    23. 23.Odoo 19.0 documentation: Multi-currency system
    24. 24.Odoo 19.0 documentation: Saudi Arabia payroll localization
    25. 25.Odoo 19.0 documentation: Fiscal localizations
    26. 26.Odoo 19.0 documentation: Export and import data
    27. 27.Odoo 19.0 documentation: Upgrade
    28. 28.QuickBooks Help: Export reports, lists and more
    29. 29.Silent Infotech (Odoo service-firm blog): Is Odoo really implemented in 8 to 12 weeks? (3 April 2026)
    30. 30.Octura Solutions (Odoo service-firm blog): Odoo implementation timeline, realistic expectations (18 April 2026)

    Plan your Odoo rollout

    Share your apps, users and ZATCA status. We reply within one business day.