IbnKhafagah for Development SINCE 2018
E‑Invoicing & FinTech

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.

  • Delivered 2026
  • Our role Building the system and the tax-authority integration from scratch

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

Laravel 11 PHP 8.2 MySQL Blade Livewire

Government Integration

ETA API Digital Signature Guzzle Queued Jobs

Data

Maatwebsite Excel mcamara/laravel-localization Sanctum