E‑Invoicing — Egyptian Tax Authority (ETA)
An e-invoicing system wired into the Egyptian Tax Authority platform: it issues invoices and receipts, signs them, submits them, and tracks each document’s state through to acceptance or rejection — with bulk import from the files existing systems already produce.
Overview
Our own e‑invoicing platform integrated with the Egyptian Tax Authority: issuing, signing and submitting documents, status tracking, credit and debit notes, and tax reporting — deployed for six‑plus clients.
01The challenge
E-invoicing is not "send an invoice". The document must be built in exactly the structure the authority accepts: activity codes, item codes, unit types, tax types, unique identifiers and a link to the previous document. One wrong field means a rejection that does not always explain itself.
Harder still, companies do not want to leave their existing systems. The invoice is created in an accounting system or a POS and then has to reach the authority — a solution that requires retyping invoices simply does not get used.
And submission can fail for reasons outside the system — a dropped connection, a temporary rejection, an expired session — and the invoice must not vanish when it does.
02What we built
We modelled the document exactly as the authority does: invoice lines, totals and taxes as separate entities, with reference tables for activity codes, unit types, tax types and non-taxable categories — so validation happens before submission rather than after rejection.
Every document moves through an explicit state path: draft, signed, submitted, then the authority’s final verdict — with the submission UUID and submission ID stored, so any document can be traced to exactly where it stopped. A failure deletes nothing; it leaves the document in its state to be resubmitted.
Because companies do not abandon their systems, we built bulk import from Excel for both invoices and receipts: read, matched against the reference codes, and submitted in one batch. The system also runs several companies on one installation, each with its own API settings and certificates.
03The outcome
A company complies with e-invoicing without changing its accounting system: invoices are exported where they are created and submitted from here.
Every document’s state is visible — accepted, rejected and pending each in its own list with its reason and identifier — so compliance tracking became a screen instead of a manual tracker.
What the system does
The modules that were delivered and put into daily use.
-
01
Issuing, signing and submitting invoices and receipts to the Egyptian Tax Authority platform.
-
02
An explicit per-document state path — draft, signed, submitted, authority verdict — with the submission UUID stored.
-
03
Complete reference tables: activity codes, item codes, unit types, tax types and non-taxable categories.
-
04
Bulk Excel import for invoices and receipts, matched against the reference codes.
-
05
Multiple companies on one installation, each with its own API settings and issuer data.
-
06
Management of submitted documents: search and filter by state, resubmission of failures, and saved drafts.
-
07
A product, customer and category catalogue mapped to authority codes, with an Arabic/English interface.
-
08
Livewire-driven live screens that follow submission without reloading the page.
Technologies used
What this system is actually built on — not a generic list.
Core
Government Integration
Data
Inside the system
Real screens from the running build.