Skip to main content
Have a project in mind? Let's talk
Book a call Tell us about your project Book a Call
SA
  Accounting and e-invoicing

Accounting and E-Invoicing Software in Saudi Arabia: Build, Odoo or Buy

What a ZATCA-ready accounting setup needs, which path fits your business, and when a ready-made product is enough. We quote by what you need.

اقرأ هذه الصفحة بالعربية

15%Standard VAT rate in Odoo
1 Feb 2027Wave 25 latest integration date
60 minOTP validity in Odoo onboarding

A ZATCA-ready accounting setup has to issue Arabic tax invoices and connect to ZATCA's Fatoora platform. You can get there by keeping your current system if the vendor confirms phase two in writing, moving to Odoo accounting, or building the connection into your own system. This page compares the three, shows what Odoo already includes and says plainly when a ready-made product is enough.

Devvista is a software development company and an official Odoo partner. Ready to talk? Contact us.

01

What a ZATCA-ready accounting setup has to do

ZATCA's roll-out page splits e-invoicing into two phases. Phase one, generation, has been enforceable since 4 December 2021: taxpayers must create and keep e-invoices and related notes with an electronic solution. Phase two, integration, has been enforceable since 1 January 2023 and is rolled out in waves by taxpayer group, so your accounting software must connect to ZATCA's systems, not just print a PDF. ZATCA says it notifies taxpayers of their wave at least six months in advance. Source: ZATCA roll-out phases.

For wave 25, ZATCA's notice of 24 July 2026 includes every taxpayer whose revenue subject to VAT exceeded SAR 187,500 in 2022, 2023, 2024 or 2025, and the integration date is no later than 1 February 2027 (ZATCA Wave 25 notice). Our own guides cover the date in detail: ZATCA Wave 25: what to do before 1 February 2027 and the Wave 25 checker.

In practice, a Saudi accounting system that is ready for phase two does five jobs. In the table, the first column is the job and the second is what to ask of any system, ours or anyone else's.

JobWhat to ask the system
Issue tax invoices and simplified invoicesDoes it produce both types, in Arabic, with the QR code?
Connect to FatooraIs there a module or integration that submits invoices to ZATCA, and from which date does your version support it?
Handle B2B and B2C differentlyOdoo's documentation describes B2B sales going through clearance and B2C sales being reported. Ask how your system treats each.
Deal with rejectionA rejected invoice is not legally valid. Who sees the rejection, and how is it corrected and resubmitted?
Credit and debit notesEach note needs a ZATCA-approved reason. Can the system record it and link the note to the original invoice?

Evidence label: the phases and dates are Fact (ZATCA pages above); the five jobs are our own summary of what those pages and Odoo's documentation describe.

02

Three ways to get there: existing system, Odoo, or a custom build

There is no single right answer, and we would rather say so than sell you a rebuild. Which path fits depends on what issues your invoices today and how much your process differs from a standard one.

PathFits whenWatch out for
Keep your current system and ask the vendor to confirm phase twoOne company, one or a few branches, standard invoicing, and the vendor confirms phase-two support and its date in writingA verbal "we are ready". Test with real invoices on a copy before the deadline. We do not recommend vendors by name here because we have not verified any of them
Move to Odoo accountingYou also want inventory, sales, purchasing and reporting in one system, or your current tool cannot connect to FatooraData migration and the per-journal onboarding. See Odoo ZATCA e-invoicing and Odoo implementation in Saudi Arabia
Build the connection into your own systemYou already have a custom or older system that fits your business, and replacing it would cost more than connecting itYou own the Fatoora connection: onboarding, rejection handling and ZATCA changes. See custom software in Saudi Arabia

Devvista is an official Odoo partner and a software development company. That is why the second and third rows are work we do. It is also why we say the first row can be the right answer: if your vendor is ready, you may not need us.

03

What Odoo already includes for Saudi accounting

Odoo's Saudi documentation (version 19) lists a set of localisation modules. Source: Odoo Saudi Arabia documentation.

ModuleWhat the documentation says it does
l10n_saDefault fiscal localisation package for Saudi Arabia with phase-one QR code support, with a chart of accounts aligned with Saudi regulations
l10n_sa_reportsAccounting reports
l10n_sa_ediEnables ZATCA phase-two API integration for e-invoicing compliance
l10n_sa_edi_pos / l10n_sa_posSimplified e-invoicing through the point of sale, and compliance fields for point-of-sale invoices
l10n_sa_withholding_taxWithholding tax on payments

The documentation also states that standard VAT is 15%, that the company needs a VAT number, that the currency must be SAR and that the company name is limited to 63 characters. Tax invoices, simplified tax invoices and their credit and debit notes must be issued in Arabic, and English can be added to make the invoice bilingual.

Three behaviours matter for planning. Each sales journal is onboarded separately, with a one-time password from the Fatoora portal that expires after 60 minutes. Invoices made in simulation (pre-production) mode are not legally valid. And once an invoice is submitted in production, the mode cannot be switched back to sandbox or simulation, so rehearsal on a copy of your database comes first.

04

Where a SaaS tool is enough, and where it is not

A ready-made accounting or invoicing product is the right choice for many small Saudi businesses, and we will say so on a first call. It is enough when all of these are true:

  • one legal entity and a handful of users;
  • your invoices are standard: no unusual numbering, approvals, multi-currency or project billing;
  • the vendor confirms phase-two support in writing, with the date it applies to your plan;
  • you do not need the accounts to talk to stock, delivery, payroll or an online store.

It stops being enough when invoices come from several systems (a point of sale, an online store and a spreadsheet at once), when branches each issue their own invoices, when you need approvals or rules a product will not bend to, or when ZATCA data has to flow into other software. Then the question is no longer which accounting product, but where invoices are born and how each source reaches Fatoora. That is the project we quote.

On 7 November 2026 a Google search in Saudi Arabia, in Arabic, for "برنامج محاسبة" showed only ready-made accounting products on the first page (Alostaz, Odoo, Wafeq, Qaema, Madara, Aliphia, Asl.sa and an app listing). That is a useful signal: if a product fits you, buy it; we write for the buyer whose case does not fit one.

05

A readiness checklist you can use today

Whichever path you take, these are the questions that decide the work. Answer them before you ask anyone for a quote, including us.

  • Which systems issue invoices today: an accounting product, an ERP, a point of sale, an online store, a spreadsheet?
  • How many branches, sales journals or tills issue invoices? In Odoo, each sales journal is onboarded on its own.
  • Are your customers' VAT numbers, names and addresses complete and correct? Odoo's documentation says all fields must be completed accurately to avoid rejection, and cleaning data takes time.
  • Do you issue invoices in Arabic, with English added where needed?
  • Who in your company holds the Fatoora portal login that produces the one-time password?
  • Which wave are you in, and what does the notice from ZATCA say? Only that notice decides your date.
  • Can you rehearse on a copy of your data before anything goes live?

Then run the Wave 25 checker to compare your revenue with ZATCA's published criterion. It is a Devvista tool, not an official one.

06

How we work on an accounting project

The process is the same whether the system is Odoo or your own. It is how we already work, not a package.

StepWhat happensWhat you see
1. Scoping callWe list the systems that issue invoices, branches, journals, versions and data problemsA written scope and an estimate
2. Staging copyWe work on a copy of your system or database, never on live invoices firstA staging site you can open
3. Configure or buildModules, onboarding, Arabic invoice layout, rules for credit and debit notes, rejection handlingA demo every week
4. Data clean-up and rehearsalMissing VAT numbers and names fixed; test invoices across B2B, B2C, credit notes and rejection casesA list of what was fixed and what still fails
5. Go live and hand overProduction switch with you present; documentation and code handed overDocumentation, access and the code that is yours

Tell us your case and we will say honestly whether we are the right fit.

07

What changes the cost

Each quote is written for the need after a short scoping call, so we do not publish packages. These are the drivers, in the order they usually matter:

DriverWhy it moves the estimate
Number of journals, branches and tillsEach sales journal is onboarded and tested separately
Starting systemOur view: Odoo with native Saudi modules is mostly setup; an older or custom system needs the connection built
Data qualityOdoo's documentation says all fields must be completed accurately to avoid rejection, so incomplete customer and tax data can cause rejected invoices
Arabic layout and custom invoice rulesLayout, approvals and numbering rules need design and testing
Other systems that must feed or read invoicesEach integration is its own piece of work

Our published ranges are a fixed price from $500 to $100,000 depending on complexity, or $10 to $100 per hour depending on the developer's type and level, in US dollars. As an illustration only, at $40 an hour every 10 hours of work is $400. That is an estimate, not a quote. For the Odoo side of the budget see ERP implementation cost in Saudi Arabia.

08

Where Devvista fits

Devvista is a software development company and an official Odoo partner, working in English and Arabic. For the wider Odoo project see our Odoo ERP implementation page; for older and custom systems, software development in Saudi Arabia; and in English only, our global Odoo implementation service and work pages.

Ready to talk? Contact us with the system that issues your invoices and the number of journals. We will reply to you.

Contact Devvista

Our address, phone and opening hours.

Devvista

Amna Bint Wahb St, road, Jeddah 23622, Saudi Arabia

+966 58 372 5686

  • SundayOpen 24 hours
  • MondayOpen 24 hours
  • TuesdayOpen 24 hours
  • WednesdayOpen 24 hours
  • ThursdayOpen 24 hours
  • FridayClosed
  • SaturdayClosed
Get an Estimate

Tell us the system that issues your invoices and the number of journals and we will send an estimate. Get an estimate.

Straight Answers.

Still have a question?Send it over and we will answer personally.Send a Message

For phase two it must integrate with ZATCA's systems. ZATCA says phase two has been enforceable since 1 January 2023, is rolled out in waves, and that taxpayers are notified at least six months in advance. Odoo's documentation adds that tax invoices must be in Arabic.

ZATCA's notice of 24 July 2026 includes taxpayers whose VAT-subject revenue exceeded SAR 187,500 in 2022, 2023, 2024 or 2025. They must integrate by no later than 1 February 2027. Your own notice from ZATCA decides, and our Wave 25 checker only compares figures.

Yes, if you have one entity, standard invoicing, and written confirmation from the vendor that phase two is supported from a stated date. Test it with real invoices. We help when invoices come from several systems or the product does not fit.

Odoo's Saudi documentation lists a localisation with a chart of accounts and phase-one QR code, a phase-two e-invoicing module, point-of-sale modules, reports and withholding tax, and standard VAT at 15%. Setup, onboarding of each journal and testing are the project work.

According to Odoo's Saudi documentation, tax invoices, simplified tax invoices and their credit and debit notes must be issued in Arabic, and English can be added to make them bilingual.

In Odoo's documentation a rejected invoice remains in a Rejected state and is not legally valid. You fix the cause shown on the invoice and retry. Whoever owns the system needs to watch for rejections.

Often yes. If the system fits your business, the connection, onboarding and rejection handling can be built into it. We look at the code and data first and say honestly if replacing it would be cheaper.

We quote by need after a scoping call. Our published ranges are a fixed price from $500 to $100,000 depending on complexity, or $10 to $100 per hour depending on the developer, in US dollars. Journals, starting system and data quality move the estimate.

We do not show Saudi client references on this page, and Odoo projects are under NDA. What we offer instead is a written scope, a staging copy, weekly demos and a handover of the code. Tell us your case and we will say whether we are a fit.
Saudi Arabia

Tell us the system behind your invoices

Tell us what issues your invoices and how many journals or branches you have. We will say honestly whether you need us, and quote the work in writing.

  • 30-minute consultation
  • No commitment required
  • Response within 24 hours
  1. Book a call30 minutes with the team.
  2. Get a clear planSteps, timeline and a cost range for your setup.
  3. DecideGo ahead with us, or take the plan with you.
Chat on WhatsApp