Wave 25 halved the threshold to SAR 187,500 and set the Fatoora deadline at 1 February 2027. Published per-user prices for Odoo and Dynamics 365 Business Central, what the localization actually leaves you to do, and the split that keeps compliance with the vendor.
ZATCA halved the e-invoicing threshold on 24 July 2026. Any business whose VAT-taxable revenue passed SAR 187,500 in 2022, 2023, 2024 or 2025 now falls into Wave 25 and has to connect its billing system to the Fatoora platform by 1 February 2027. That deadline, not a feature comparison, is what should decide whether you buy an ERP or build your own system. The honest answer for most Saudi companies is buy the finance core, build only the part that makes you money.
Most of the advice on this question argues flexibility against speed. That framing is wrong for Saudi Arabia in 2026, because it assumes buying an ERP buys you compliance. It does not.
What does ZATCA Wave 25 actually require from your system?
Phase 2 is an integration mandate, not a formatting one. Your system has to issue every invoice as UBL 2.1 XML, attach a UUID, apply a cryptographic stamp, embed a QR code, and chain each invoice to a hash of the one before it. B2B invoices need real-time clearance through Fatoora. B2C simplified invoices must be reported within 24 hours.
Read that list again. None of it is an accounting feature. It is a cryptography and API problem sitting inside your accounting software, which is why the buy-versus-build question is really a question about who owns that integration.
What are the key differences between a custom ERP system and Odoo?
Odoo gives you a finance core, an inventory module and a Saudi localization someone else maintains against ZATCA's evolving spec. You configure it. A custom system gives you exactly your workflow and no per-seat licence, and you own every regulatory change forever.
The difference that matters is not flexibility. It is who is responsible when ZATCA publishes a new version of the spec. With Odoo or Business Central, a vendor ships an update. With a custom build, that update is a ticket on your own backlog, and Wave 25 is not the last wave.
How much does each option cost per user?
Published list prices, billed yearly:
| Option | Per user / month | What you get |
|---|---|---|
| Odoo Standard | $7.79 | All apps, Odoo Online hosting only |
| Odoo Custom | $10.90 | Adds Odoo Studio, external API access, on-premise or Odoo.sh |
| Dynamics 365 Business Central Essentials | $80.00 | Full mid-market finance and supply chain |
| Dynamics 365 Business Central Premium | $110.00 | Adds manufacturing and service management |
| Dynamics 365 Team Members | $8.00 | Read and approve only, no transaction entry |
| Custom build | $0 | No licence, but you carry development and maintenance |
That is roughly a tenfold spread between Odoo and Business Central for the same seat. Note the Odoo line carefully: external API access sits on the Custom plan, not Standard. If your integration strategy depends on calling Odoo from another system, the cheap tier is not the tier you are buying.
The licence is rarely the real number anyway. Implementation is. Configuration, data migration from whatever you run now, chart-of-accounts mapping to Saudi requirements, certificate handling and user training all land on top, and for a mid-market rollout they routinely exceed the first year of licences.
When do I need a custom ERP instead of off-the-shelf software?
When your workflow is the product. A logistics operator whose routing logic is its margin, a contractor with progress-billing rules no package models, a marketplace reconciling three settlement streams: these break every off-the-shelf finance module, and forcing them into one costs more in workarounds than a build costs outright.
You do not need a custom ERP for general ledger, VAT at the standard 15% rate, payroll or standard inventory. Those are solved problems. Paying a team to rebuild them is paying to own a liability.
The pattern that works in practice is a split. Buy the finance core and let the vendor carry ZATCA. Build the operational layer that belongs to you alone, then integrate the two. We worked through the same architecture question for the neighbouring market in our UAE ERP comparison, and the conclusion holds across the Gulf.
How long does Fatoora onboarding take?
Longer than the demo implies. Odoo's own documentation describes the process: install three localization modules, then onboard each sales journal separately with a serial number and a one-time password pulled from the Fatoora portal. That OTP expires in an hour.
Then test. Odoo explicitly recommends running against ZATCA's simulation portal first, because anything submitted to the live portal is counted and can trigger penalties. Once you are live, only rejected invoices can be reset to draft and edited, so a misconfigured tax code is not something you quietly fix later.
Budget weeks, not an afternoon. If you have multiple branches or several sales journals, multiply accordingly. Starting in November for a 1 February deadline is tight but workable. Starting in January is not.
How do you avoid paying for the same system twice?
By deciding the integration boundary before you sign anything. Three mistakes account for most of the waste we see.
Buying seats for people who only approve. Business Central Team Members is $8 against $80 for Essentials, and most organisations license far more full seats than they need.
Building what the localization already covers. If your build duplicates VAT, e-invoicing and the general ledger, you have bought a vendor's finance core and then paid again to replace it.
Treating compliance as a project with an end date. Wave 24 closed at SAR 375,000. Wave 25 halved that to SAR 187,500. The threshold keeps falling and the spec keeps moving, so whoever owns the integration owns it permanently. Choose that owner deliberately.
Which path clears the deadline in Saudi Arabia?
For almost every business now entering scope through Wave 25, buying is the only path that clears 1 February 2027. A localization that already exists and is already maintained beats a build that has to be specified, written and certified in four months.
The exception is a company that already runs a custom system handling its operations well. There, the work is not replacement. It is adding an e-invoicing integration to what you have, either directly against Fatoora or through a certified provider, and that is usually a smaller project than a migration.
If you are choosing accounting software rather than a full ERP, the shortlist is different and mostly local. We compared it in Saudi Accounting Software 2026: Wafeq vs Qoyod vs Zoho.
What should you actually do this week?
Check your own numbers first. Pull VAT-taxable revenue for 2022, 2023, 2024 and 2025. If any single year cleared SAR 187,500, you are in Wave 25 and the date is 1 February 2027.
Then write down which parts of your operation are standard and which belong to you alone. Standard goes to a package. Yours gets built, but only after the compliance path is settled.
Last, book the integration work now rather than in December. Every Saudi implementer is facing the same deadline with the broadest wave in the programme's history, and capacity in January will be gone.
Sources
- ZATCA e-invoicing Wave 25 criteria, KPMG tax news flash
- Saudi Arabia announces 25th wave of Phase 2 e-invoicing integration, EY
- Odoo Saudi Arabia fiscal localization documentation
- Dynamics 365 Business Central pricing, Microsoft
Ready to decide before the deadline instead of after it?
Voxire maps which parts of your operation belong in a package and which need building, then delivers the Fatoora integration on either side of that line. We work with Saudi businesses on the split, the build and the ZATCA connection, so the 1 February date stops being a risk.
Enjoying this article?
Enter your email and get a clean, formatted PDF of this article: free, no spam.
Voxire
SaaS Products
Building and running SaaS: Go and PostgreSQL, distributed systems, multi-tenancy, billing, observability, and the production engineering behind RTYLR. Written from shipping our own product, not from reading about it.
Learn more


