An Egyptian e-invoice is a document registered with the Egyptian Tax Authority's eInvoicing solution, as JSON or XML. Before submission, the content is serialised into a canonical form, hashed with SHA-256 and signed with CAdES-BES, so spacing does not affect it. Invoices, credit notes and debit notes each have a version 1.0 with signature checks. The same platform covers consumer receipts under eReceipt. Klarbon support is planned, not available yet.
What is in an Egyptian e-invoice?
| Property | Value |
|---|---|
| Data format | JSON or XML, one data structure |
| Document types | invoice (i), credit note, debit note |
| Versions | 1.0 with signature validation, 0.9 without |
| Issuer | with its tax activity code |
| Issue date and time | in UTC, not in the future |
| Signature | CAdES-BES over the SHA-256 hash of the canonical serialisation, Base64 in the document |
| Submission | several signed documents in one submission, through the API |
| Run by | Egyptian Tax Authority (ETA) |
The ETA SDK defines the invoice structure, the document types, the signature steps and the serialisation algorithm (invoice v1.0, document types, signature creation, serialisation).
Why the canonical serialisation matters
| Egyptian e-invoice | European signed invoice, such as XAdES | |
|---|---|---|
| What is signed | a serialisation of names and values, the same for JSON and XML apart from arrays | the XML itself, after XML canonicalisation |
| Signature format | CAdES-BES | XAdES |
| Effect of reformatting | spacing and newlines do not change the signature | depends on the canonicalisation used |
Values are taken exactly as written, so 0.0 cannot become 0 or 0.00 without breaking the signature.
What does Klarbon do with Egyptian e-invoices?
Opening it is planned, not available yet. Klarbon does not sign documents or submit them to the ETA, and a valid JSON or XML file is not the same as a registered e-invoice.
Related
- E-invoicing in Egypt
- Invoice and bank format glossary
- Help centre
- E-invoicing by country
- Klarbon home
Frequently asked questions
What is the Egyptian e-invoice?
A document a taxpayer registers with the eInvoicing solution of the Egyptian Tax Authority (ETA) for each invoice, credit note or debit note it issues. The ETA publishes the structure and API in its SDK.
Is it JSON or XML?
Either. The ETA defines one data structure and accepts it as JSON or XML; attribute names can differ between the two.
How is it signed?
The document is serialised into a canonical form, hashed with SHA-256, and the hash is signed with a CAdES-BES signature. The Base64 signature is added to the document before submission.
What is the difference between version 0.9 and 1.0?
The structure is the same. Version 0.9 has signature validation disabled; version 1.0 checks the signature.
Sources
- Egyptian Tax Authority, eInvoicing SDK, invoice v1.0 sdk.invoicing.eta.gov.eg
- Egyptian Tax Authority, eInvoicing SDK, document types sdk.invoicing.eta.gov.eg
- Egyptian Tax Authority, eInvoicing SDK, signature creation sdk.invoicing.eta.gov.eg
- Egyptian Tax Authority, eInvoicing SDK, document serialisation approach sdk.invoicing.eta.gov.eg