To issue UAE e-invoices from Odoo, you need three things: an Accredited Service Provider, a connector that sends Odoo invoices to it as PINT-AE data, and customer, tax and invoice data that passes validation. Standard Odoo provides none of the three today. Devvista is an official Odoo partner that integrates Odoo with UAE Accredited Service Providers, working remotely with UAE finance teams. Below: how the connection works, what changes in Odoo, the three connector options, versions, a timeline and a worked AED cost example.
Why Odoo cannot send a UAE e-invoice on its own
Odoo already knows how to calculate UAE VAT. The l10n_ae localisation sets up 5% standard-rated, zero-rated, exempt and reverse charge taxes, and l10n_ae_reports produces the VAT201 return and a corporate tax report (Odoo 19 UAE localisation). What it lacks is the last mile: turning a posted invoice into a PINT-AE file and handing it to an Accredited Service Provider.
Odoo's own Peppol feature lists eligible countries across Europe plus the UK and Turkey, and the UAE is not one of them (Odoo e-invoicing documentation). The Odoo 20 release notes (September 2026) say nothing on PINT-AE (Odoo 20 release notes). Odoo is also not on the Ministry of Finance ASP list.
Two things are often misread. First, an older accepted answer on the Odoo forum says the UAE is not a Peppol country (Odoo forum); that is out of date, because the UAE system runs on Peppol using the PINT-AE specification. Second, native support is coming: an answer on the Odoo forum says Odoo's team is developing UAE e-invoicing (Odoo forum), but no release date or version has been announced.
So the choice today is a connector now, or waiting for native support and hoping it lands before your phase date. For phase one businesses, waiting is not an option. Build the connector so it can be swapped for Odoo's own module later; the data clean-up carries over either way.
How Odoo connects to an Accredited Service Provider
The UAE uses a decentralised five-corner model on the Peppol network (Ministry of Finance FAQ). In Odoo terms it works like this (Fonoa summary of the model):
- Corner 1, you (Odoo). Your accountant posts an invoice or credit note in Odoo.
- Corner 2, your ASP. The connector sends the invoice data to your ASP, which validates every field against the UAE data dictionary, produces or checks the PINT-AE XML and passes it on.
- Corner 3, your customer's ASP receives and validates the document.
- Corner 4, your customer receives it in their own system.
- Corner 5, the FTA receives the tax data from the ASPs and returns a status confirming whether the data was exchanged and reported.
The same route runs in reverse for supplier bills: your ASP receives PINT-AE invoices addressed to you, and the connector should create vendor bills in Odoo from them. Recipients must appoint an ASP too (Deloitte).
What has to change inside your Odoo database
Tax IDs and party data
Your company record needs its 15-digit TRN and a Peppol participant identifier in the format your ASP gives you. Every B2B customer and supplier needs the same: a TRN in the tax ID field, not in a note, a structured address with the emirate, and the right country. Merge duplicate contacts for the same legal entity first.
Invoice fields and tax mapping
Each Odoo tax has to map to a UAE tax category: standard rate, zero-rated, exempt, out of scope or reverse charge. Document types matter too. Connector apps on the Odoo store map Odoo invoices to code 380, credit notes to 381 and out-of-scope documents to their own codes, with debit notes sent as invoices, because Peppol has no standalone debit note.
Credit notes instead of edits
Once an invoice is reported it cannot be cancelled; corrections go through a credit note (Fonoa). In Odoo that means switching off "reset to draft" for reported invoices and making sure every credit note references the original invoice. Credit notes not issued or sent as required carry the same AED 100 per document fine as invoices (EY).
Validation before posting
It is cheaper to stop a bad invoice in Odoo than to fix it after the ASP rejects it. Add checks that block posting when the customer TRN, address or tax category is missing.
Rejections and status tracking
Each invoice needs a visible status in Odoo (sent, accepted, rejected, reported) and the ASP or FTA message when something fails. The rejections we test for first: a missing or malformed TRN, an Odoo tax with no UAE category, and duplicate invoice numbers after a journal was re-sequenced. Rejected invoices should create an activity for the accountant, so nobody has to log into the ASP portal.
Timing
VAT-registered businesses must transmit in line with VAT time-of-supply rules, and non-registered businesses within 14 days (Deloitte).
Three ways to connect Odoo to your ASP, compared
The right choice depends on your Odoo version, hosting and how far your invoicing is from standard.
| Third-party Odoo app | Custom connector | ASP-provided connector | |
|---|---|---|---|
| What it is | A module from the Odoo Apps store, for example l10n_ae_einvoice (Odoo 18 and 19) or cap_uae_einvoicing (Odoo 19 and 20) | A module written for your database and your ASP's API | An integration your ASP builds and maintains for Odoo |
| Licence cost | Low: the apps we checked were listed at USD 44 to 197, about AED 160 to 725, in October 2026 | None, you pay for development | Usually bundled in the ASP fee; ask |
| Locks you to one ASP | Some do, some let you enter any ASP endpoint | No, if built to swap endpoints | Yes |
| Main risk | Vendor stops updating it, or it clashes with your customisations | Higher upfront effort; you own maintenance | Little control over fixes and timing |
| Best for | Clean, mostly standard Odoo 18 or 19 | Customised Odoo, multi-company, high volume | Small teams happy with that ASP |
Whichever you choose, the data clean-up and testing work is the same, and it is usually bigger than installing the connector.
Which Odoo versions and editions can be connected
Odoo supports its last three major versions (Odoo supported versions), and Odoo 20 was released in September 2026. That changes the picture for older databases.
| Version | Status (October 2026) | UAE e-invoicing route |
|---|---|---|
| Odoo 16 | Past end of support | A few apps still list it, such as pandora_uae_einvoice_base; plan an upgrade |
| Odoo 17 | At or past end of support | Some connectors cover it, for example Flexigo (17 to 19); upgrade soon |
| Odoo 18 | Supported | Widest choice of apps and custom options |
| Odoo 19 | Supported | Widest choice of apps and custom options |
| Odoo 20 | Newly released | Fewer apps so far; check before upgrading for e-invoicing |
Community or Enterprise: both can send e-invoices through a connector. Enterprise adds the full Accounting app and the UAE VAT and corporate tax reports, which most UAE finance teams want anyway. Hosting: Odoo Online (SaaS) does not accept custom code, and Odoo partners report that third-party apps generally cannot be installed there either ({a(FORUM_DEV, "Odoo forum")}). On Odoo Online your realistic routes are waiting for native support, an ASP that pulls invoices through Odoo's API, or moving to Odoo.sh. Confirm with Odoo before you buy an app.
Project steps and a realistic timeline
For one company on Odoo 18 or 19 with mostly standard invoicing, our planning estimate is four to eight weeks from kick-off to go-live. Add time for an upgrade or several legal entities.
- Week 1: scope and data audit. Export partners, taxes, journals and a month of invoices. List every field PINT-AE needs that is missing or wrong.
- Week 1 to 2: ASP contract. Get sandbox credentials and the ASP's API documentation. If you are in the AED 50 million band and have not appointed one, this comes first.
- Week 2 to 4: build or configure the connector, the tax mapping and the posting checks, in a copy of your database.
- Week 3 to 5: sandbox testing. Run a test matrix: standard, zero-rated and reverse charge invoices, credit notes, multi-currency, a customer without a TRN, and deliberately broken invoices to see rejections.
- Week 5 to 6: data clean-up in production and user training on the new credit note rules.
- Go-live and four weeks of close monitoring, with daily checks of rejected and unsent documents.
What drives the cost, with a worked example in days
There are three cost lines: the ASP subscription (set by the ASP, often per document or per volume tier, so get two or three quotes), any connector licence, and partner time. Partner time depends on:
- Odoo version, and whether an upgrade is needed first.
- Number of legal entities and TRNs.
- How many customers and suppliers need data fixing.
- Customisations that touch invoices: custom reports, progress billing, retention, intercompany.
- Inbound supplier invoices: automatic vendor bill creation adds work.
Worked example (illustration, not a quote). Assume a trading company on Odoo 18 with one TRN, 400 active customers, a third-party connector app and 12 days of partner work (3 days audit, 4 configuration and checks, 3 testing, 2 go-live support). Multiply those days by your partner's day rate to get the partner cost, then add the ASP subscription and any connector licence. The same company with three entities and a custom connector could need 25 to 35 days.
More on Odoo costs: Odoo pricing guide.
How to know your Odoo e-invoicing works after go-live
- First-time acceptance: accepted invoices divided by invoices sent, per week. Below about 95% after the first month means a data or mapping problem.
- Rejections open over 48 hours: should be zero.
- Posted but unsent documents: a saved filter in Odoo; check it daily.
Mistakes Odoo users make with UAE e-invoicing
- Treating it as an app install. The app is a day of work; the data clean-up is weeks.
- Testing only happy-path invoices. Credit notes, reverse charge and rejections are where go-lives fail.
- Forgetting the purchase side. You must receive e-invoices too, and your AP team needs a process for them.
Where Devvista fits
You can run this project in-house if you have an Odoo developer who knows your database and a finance lead with time to test. If you do not, Devvista is an official Odoo partner that connects Odoo to UAE Accredited Service Providers for PINT-AE e-invoicing, including data clean-up, tax mapping, credit note rules and rejection tracking. We work remotely, we are not an ASP, and we work with whichever ASP you choose.
If you are not yet on Odoo, read Odoo implementation for UAE businesses. If you are unsure of your date, start with the UAE e-invoicing deadline guide. For your own team, you can also hire Odoo developers from us. Back to the UAE hub.
Sources
- www.odoo.com/forum/help-1/uae-e-invoice-pint-ae-ubl-2-1-xml-318347
- www.odoo.com/forum/help-1/why-peppol-electronic-invoicing-does-not-appear-in-the-uae-lo...
- ibsintelligence.com/ibsi-news/tax-star-raises-1-75m-for-uae-e-invoicing-push/
- www.odoo.com/documentation/19.0/applications/finance/fiscal_localizations/united_arab_e...
- www.odoo.com/documentation/19.0/applications/finance/accounting/customer_invoices/elect...
- www.odoo.com/odoo-20-release-notes
- mof.gov.ae/en/about-us/initiatives/einvoicing/einvoicing-accredited-service-providers-asps/
- mof.gov.ae/?p=29493
- www.fonoa.com/resources/blog/uae-e-invoicing
- www.deloitte.com/middle-east/en/services/tax/perspectives/release-of-uae-einvoicing-leg...
- taxnews.ey.com/news/2025-2433
- www.odoo.com/documentation/18.0/administration/supported_versions.html
- apps.odoo.com/apps/modules/19.0/l10n_ae_einvoice
- apps.odoo.com/apps/modules/20.0/cap_uae_einvoicing
- apps.odoo.com/apps/modules/16.0/pandora_uae_einvoice_base
- apps.odoo.com/apps/modules/17.0/flexigo_uae_fta_e_invoicing_connector
- kpmg.com/us/en/taxnewsflash/news/2025/10/uae-framework-scope-implementation-e-invoicing...