+20 11 00 289 896|+966 53 646 4828|info@extramile-egy.com
← All articles

Egypt E-Invoice on Odoo: Connecting to the ETA Step by Step

Egypt E-Invoice on Odoo: Connecting to the ETA Step by Step

Short answer: To issue Egyptian e-invoices from Odoo you need four things: registration on the Egyptian Tax Authority (ETA) e-invoicing portal, your ERP registered there to get API credentials, an approved electronic signature (usually a USB token), and every item coded with a GS1 or EGS code. Odoo then signs each posted invoice, sends it to the ETA, and shows whether it was accepted or rejected directly on the invoice.

The ETA e-invoicing system has been rolled out in stages since 2020, and the number of companies obliged to use it keeps growing. You can check whether your company is named in an obligation decision on the ETA's inquiry page. This article explains the practical steps to connect Odoo and the problems we see most often.

E-invoice or e-receipt?

E-invoice or e-receipt
AspectE-invoiceE-receipt
Used forSales to companies and government (B2B, B2G)Sales to individuals (B2C), e.g. shops, pharmacies, restaurants
Issued fromYour ERP or accounting systemYour POS / cashier system
  • Separate registration: Yes, they are two systems with their own onboarding. Many businesses need both.

This article covers the e-invoice. We cover the e-receipt in a separate guide.

Step by step: connecting Odoo to the ETA

1. Register on the e-invoicing portal

The company registers on the ETA e-invoicing portal with its tax registration number and assigns the people who will manage it.

2. Register your ERP system

On the portal, register Odoo as an ERP system. This gives you a client ID and client secret that Odoo uses to connect to the ETA's API. Keep the pre-production (test) and production credentials separate.

3. Get an electronic signature

Each invoice must be signed with an approved electronic signature, usually a USB token issued by a licensed certification authority. The token is connected to a computer that Odoo uses to sign invoices.

4. Code your items

Each product or service must have a GS1 code or an internal EGS code registered on the portal. In Odoo, the code is stored on the product, so every invoice line carries it automatically.

5. Prepare customers and branches

Business customers need their tax registration numbers and addresses. Each issuing branch needs its ETA branch code.

6. Configure taxes in Odoo

VAT (14% standard rate), table tax and withholding taxes must map to the ETA tax types and subtypes.

7. Test in pre-production, then go live

Send real invoice scenarios to the ETA test environment: normal invoices, credit notes, debit notes, discounts, foreign currency. Fix every rejection, then switch to production.

What does daily work look like?

  • The accountant posts the invoice in Odoo as usual.
  • Odoo signs it and sends it to the ETA.
  • The ETA validates it and returns its ID and status, which appear on the invoice.
  • Rejected invoices show the reason, so the team can correct and resend.
  • The printed invoice carries the ETA identifier and QR code.

The most common rejections

  • Item code missing or not activated on the portal.
  • Customer tax number missing or wrong.
  • Tax types not mapped correctly.
  • Rounding differences between line totals and invoice totals.
  • Signature token not connected, expired, or with the wrong PIN.

How does Odoo connect to the ETA?

Odoo Enterprise includes an Egyptian e-invoicing module. For Odoo Community the same flow is delivered through a dedicated module configured or developed by your partner. In both cases the result is the same: e-invoicing becomes part of normal invoicing rather than a separate upload task.

Frequently asked questions

How do I know if my company must use the e-invoice?

Obligation is set by ETA decisions issued in phases. Check your tax registration number on the ETA's e-invoice inquiry page, and confirm with your tax advisor.

Can I issue an invoice without the token?

No. Every e-invoice must be signed. Keep a backup plan for the token, such as a second authorised signer.

Can I cancel a submitted invoice?

Cancellation and rejection are allowed only within limited windows set by the ETA. After that, corrections are made with credit or debit notes.

Connect Odoo to the ETA with ExtraMile

ExtraMile sets up Egyptian e-invoicing and e-receipts in Odoo, from portal registration to item coding, testing and go-live.

Request an e-invoicing setup or message us on WhatsApp: Egypt

Correct as of October 2026; confirm your obligations with the ETA or your tax advisor. Official sources are listed at the end of this article.

This article was drafted with AI assistance and reviewed and edited by the ExtraMile implementation team.

Sources

  1. Egyptian Tax Authority (ETA)
  2. ETA e-invoicing portal
  3. ETA e-invoicing and e-receipt SDK (technical documentation)

Last verified: