Odoo

Odoo ETA E-Invoicing: What Your Accounting Team Needs to Prepare

By ETripleSoft7 min read

Odoo ETA e-invoicing connects Odoo Accounting to the Egyptian Tax Authority (ETA), so your team can prepare and submit invoices from the system it already uses. The connection is built into Odoo; the preparation is where teams lose time.

Before an accountant can issue a valid e-invoice, the company needs ETA credentials, correct codes, accurate customer and product data, and a signing USB key. This guide walks through the setup steps based on Odoo's official Egypt documentation and the ETA eInvoicing SDK.

The ETA references Ministerial Decision No. 188 of 2020 as the basis for applying the electronic tax invoice system. See the authority's e-invoicing FAQ for the original context.

Odoo ETA e-invoicing setup checklist for an Egyptian accounting team

What Odoo ETA E-Invoicing Changes for Your Accounting Team

Invoices become more than internal records. Each one must be digitally signed and validated by ETA, so the data behind every customer, product, and branch needs to be accurate before the invoice is confirmed.

Egyptian e-invoicing is available in Odoo from version 15.0. For accounting teams, three areas need extra attention:

  • Master data accuracy: Tax IDs, product codes, and branch details affect whether invoice data is valid.
  • Signing: Each authorized signer needs a specific USB key to sign invoices.
  • Testing: ETA provides a preproduction environment. Test there before issuing real invoices, and use the matching credentials for each environment.

ETA E-Invoicing Setup Checklist: What to Prepare Before Connecting Odoo

Follow these preparation steps before go-live:

  1. Register Odoo on the ETA portal. In the taxpayer profile, open Representatives and choose Register ERP. Keep the Client ID and client secrets returned by ETA, and request preproduction access.
  2. Enter the credentials in Odoo. In Accounting, open Configuration, Settings, and ETA E-Invoicing Settings. Complete the company address, country, and Tax ID as well.
  3. Prepare the required ETA codes. Confirm the branch ID (use 0 for a single branch), activity type, product codes matched to GS1 or EGS, and tax codes that reflect your company's taxes.
  4. Create a sales journal and branch contact for each branch. Set each branch contact as a Company and complete its address and Tax ID.
  5. Clean up customers and products. Customer records need the correct contact type, country, and Tax ID or National ID for individuals. Products need the appropriate type and, when Inventory uses units of measure, the correct unit. Add a GS1 or EGS barcode or the ETA item code.
  6. Get the signing USB key and prepare the bridge. Each person who signs invoices needs a key. Odoo's Windows virtual IoT connects the computer holding the key to an online Odoo database.
  7. Test in preproduction first. Preproduction and production credentials differ. Update the credentials in Odoo when switching environments.

For version-specific screens and field details, check Odoo's Egypt localization guide.

Odoo ETA Integration: Why the USB Key and Windows IoT Bridge Catch Teams Off Guard

Each person who signs invoices needs a specific USB key, and a Windows computer must connect that key to an online Odoo database. Odoo describes the Windows virtual IoT as the bridge between the computer and the hosted database.

After getting the keys from ETA or Egypt Trust, install Odoo's Windows virtual IoT and connect it to the Odoo database. In Accounting, open Configuration, then Thumb Drive. Enter the company, USB PIN, and access token, then select Get certificate.

Plan these practical points early:

  • Decide who is authorized to sign invoices.
  • Arrange a USB key for each signer.
  • Choose the Windows computer that will run the IoT bridge.
  • Allow time for the keys to arrive before your planned go-live date.

Key delivery and setup can affect a rollout schedule. See our guide to the Odoo implementation timeline for other planning factors.

After You Confirm an Invoice: What Happens Between Odoo and ETA

Odoo signs an invoice with the USB key and submits it to ETA. Submission and final acceptance are separate stages: ETA can accept a document for further processing first, then report its processing status through a status check or notification. The ETA SDK describes this asynchronous processing flow.

Confirm that ETA has accepted an invoice before treating it as final or sending it to the customer.

Common Odoo Accounting Egypt Setup Mistakes That Make E-Invoices Invalid

Review these details during setup and preproduction testing:

  • The branch contact is set as an Individual instead of a Company, or has no address or Tax ID.
  • A customer has no Tax ID or National ID, or has the wrong contact type.
  • A product has no GS1 or EGS code and no ETA item code.
  • Odoo tax codes do not match the company's actual taxes.
  • Preproduction credentials are used in production, or production credentials are used in preproduction.
  • Real invoices are issued before testing in the preproduction portal.

Decision Guide: How to Handle Egypt E-Invoicing in Odoo

The right approach depends on your Odoo edition and how your accounting team works:

  • Odoo Enterprise: Start with the official ETA connector included with Enterprise.
  • Odoo Community: Third-party ETA integration apps are available in the Odoo Apps store. Check support for your Odoo version and whether the app is actively maintained.
  • Low invoice volume: Entering each invoice separately outside the accounting system may be manageable for a while, but it adds duplicate work and opportunities for errors.
  • Several branches: Plan a sales journal for each branch, with its own branch ID and activity code.
  • Several signers: Arrange a personal USB key for every person who signs invoices.

Frequently asked questions

What do I need to connect Odoo to Egypt's e-invoicing system?

You need to register your ERP on the ETA portal to get API credentials, prepare the required ETA codes, configure customers and products, arrange a USB key for each signer, and connect the key through Odoo's Windows virtual IoT when using an online database.

Which Odoo versions support ETA e-invoicing?

Odoo's Egypt localization documentation says Egyptian e-invoicing is available from Odoo 15.0. Older databases need to be upgraded first.

Should I test before issuing real e-invoices?

Yes. Request access to the ETA preproduction portal and test there first. Preproduction and production credentials are different, so update them in Odoo when you switch environments.

Does every person who signs invoices need a USB key?

Yes. Each person who electronically signs invoices needs a specific USB key, which can be obtained from ETA or Egypt Trust.

How long does ETA e-invoicing setup take in Odoo?

Timing depends on the number of branches, the quality of customer and product data, and how quickly USB keys arrive. A project estimate needs to account for your actual setup.

How much does Odoo ETA e-invoicing setup cost?

Cost depends on the number of branches, the amount of data cleanup, and whether other modules are implemented alongside the connector. Request an estimate based on your project scope.

Conclusion

Odoo ETA e-invoicing runs more smoothly when preparation comes first: ETA credentials, clean customer and product data, correct codes, and a USB key for every signer. Treat these as part of the project plan to reduce avoidable delays and rejected invoices.

Let’s get started

Talk to us about your project

Tell us what you want to improve and we will help you frame the next step.

  • Free consultation
  • Tailored to your industry
  • No obligation, no pressure