Complete guide to implementing ETA-compliant e-invoicing in Egypt. Our platform handles digital signatures, document construction, and ETA submission, enabling seamless compliance with Egyptian tax authority requirements.
ETACompliant
CTCModel
B2BSupported
Real-timeValidation
Reporting Mandates
ETA eInvoicing
CTC Real-time Submission
Exchange Networks
ETA Portal
Supported Documents
Commercial Invoices
Export Invoices
Credit Notes
Debit Notes
Introduction to Egypt E-Invoicing
Egypt is the largest economy in North Africa and a major trade hub connecting Africa, the Middle East, and Europe. As part of its comprehensive Egypt Vision 2030 strategy, the government has prioritized digital transformation across all sectors, including tax administration. The Egyptian Tax Authority (ETA) launched a mandatory electronic invoicing system in 2020, making Egypt one of the first countries in the MENA region to implement a Continuous Transaction Controls (CTC) model for real-time invoice validation.
Key Authorities
Authority
Role
Responsibilities
Egyptian Tax Authority (ETA)
Primary regulatory body for e-invoicing
• Developing and publishing e-invoicing technical standards and specifications • Setting compliance requirements and enforcement timelines • Managing the phased rollout across taxpayer segments • Operating the ETA eInvoicing Portal for document submission and validation • Issuing taxpayer credentials and managing digital signatures
• Setting overall tax policy direction • Coordinating with ETA on VAT and e-invoicing regulations • Overseeing revenue collection and fiscal compliance
The e-invoicing mandate is a central component of Egypt's broader digital transformation goals:
Objective
Description
Digitization
Modernize tax administration and business processes through digital platforms
Revenue Protection
Strengthen VAT compliance and reduce the informal economy
Tax Compliance
Combat tax evasion through real-time transaction monitoring and validation
Ease of Business
Streamline invoicing processes and reduce reliance on paper-based documentation
Transparency
Enable data-driven government decision-making with real-time economic data
E-Invoicing Overview
Egypt's e-invoicing system was introduced by the ETA in a phased approach, beginning with the largest enterprises and progressively expanding to cover all registered taxpayers:
Pilot Phase (November 2020): A group of large enterprises were selected to pilot the e-invoicing system, testing integration with the ETA platform and validating the technical infrastructure.
Phase 1 (February 15, 2021): The first wave of mandatory adoption covering 134 large companies selected by the ETA. These companies were required to issue all B2B invoices electronically through the ETA portal.
Subsequent Phases (2021–2023): The mandate was progressively extended in multiple waves, covering an increasing number of taxpayers based on company size and revenue thresholds. By 2023, all registered taxpayers across Egypt were required to comply.
Full Coverage (2023+): All VAT-registered taxpayers in Egypt must now issue electronic invoices for B2B transactions. The ETA continues to expand the scope, including plans for B2C electronic receipts.
For official updates and detailed information, please refer to the ETA eInvoicing Portal.
Egypt E-Invoicing and Fiscalization Mandates
Egypt has implemented one of the most comprehensive e-invoicing mandates in the MENA region through the Egyptian Tax Authority's (ETA) electronic invoicing system. This section outlines the mandate requirements affecting businesses operating in Egypt.
ETA eInvoicing
The Egyptian Tax Authority introduced mandatory electronic invoicing in 2020, establishing a Continuous Transaction Controls (CTC) system where all invoices must be submitted to and validated by the ETA platform before being considered legally valid.
What is the ETA eInvoicing System?
The ETA eInvoicing system requires businesses to generate, digitally sign, and submit electronic invoices to the ETA portal in real time. Each invoice receives a unique identifier (UUID) and a QR code from the ETA upon successful validation. The system uses a custom JSON document format with CADES-BES digital signatures for document integrity and authenticity.
Regulatory Framework
Component
Details
Issuing Authority
Egyptian Tax Authority (ETA)
Program Name
ETA eInvoicing
Document Format
ETA JSON Schema
Signature Standard
CADES-BES (CMS Advanced Electronic Signatures)
Model
Continuous Transaction Controls (CTC)
Pilot Phase
November 2020
Full Mandate
Phased rollout from February 2021, all taxpayers by 2023
Who Must Comply?
Category
Scope
Business Type
All registered taxpayers in Egypt
Resident Entities
All resident taxable persons and entities subject to VAT
Transaction Types
B2B (Business-to-Business)
Foreign Entities
Foreign companies with a tax registration in Egypt
Rollout
Phased by company size — from largest enterprises (Phase 1) to all registered taxpayers
How It Works
All invoices are submitted to the ETA platform for validation in real time:
Transaction
Process
Flow
B2B
CTC Submission
Invoice is generated → digitally signed → submitted to ETA → validated → UUID and QR code returned
Every invoice must be digitally signed using a CADES-BES signature before submission to the ETA portal. The ETA validates the invoice structure, tax calculations, and signature, then returns a UUID and long ID that serve as proof of registration.
Document Types
The mandate covers six types of electronic documents — three for domestic transactions and three for exports:
Domestic Documents
Document Type
Code
Description
Invoice
i
Standard invoice for domestic taxable supplies
Credit Note
c
Adjusts or corrects a previously issued domestic invoice (reduces amount)
Debit Note
d
Adjusts a previously issued domestic invoice (increases amount)
Export Documents
Document Type
Code
Description
Export Invoice
ei
Invoice issued by an Egyptian taxpayer to a foreign company
Export Credit Note
ec
Adjusts or corrects a previously issued export invoice (reduces amount)
Export Debit Note
ed
Adjusts a previously issued export invoice (increases amount)
Issuer and Receiver Types
The ETA classifies parties involved in transactions:
Type Code
Description
B
Business registered in Egypt
P
Natural person (individual)
F
Foreigner (foreign entity)
Tax Types
Egypt supports multiple tax types that can be applied to invoice line items:
Code
Tax Type
Description
T1
Value Added Tax
Standard VAT at 14%
T2
Table Tax (percentage)
Percentage-based table tax on specific goods
T3
Table Tax (fixed amount)
Fixed amount table tax on specific goods
T4
Withholding Tax (WHT)
Tax withheld at source
T5
Stamping Tax (percentage)
Percentage-based stamp duty
T6
Stamping Tax (fixed amount)
Fixed amount stamp duty
T7
Entertainment Tax
Tax on entertainment services
T8
Resource Development Fee
Fee for resource development
T9
Service Charge
Service charge applicable to certain services
T10
Municipality Fee
Local municipality fee
T11
Medical Insurance Fee
Fee for medical insurance
T12
Other Fees
Other applicable fees
Item Coding
The ETA requires each item on an invoice to be coded using one of two systems:
Code System
Description
Example
GS1
Global Standards 1 — international barcode standard for goods
6221218058490
EGS
Egyptian General Standard — local coding for goods and services
EG-113317713-1234
Key Requirements
To comply with the ETA eInvoicing mandate, businesses must:
#
Requirement
Description
1
Tax Registration
Be registered with the ETA and have a valid tax registration number
2
Digital Signature
Obtain a CADES-BES signing certificate from an authorized Certificate Authority
3
ETA JSON Format
All invoices must conform to the ETA's prescribed JSON document structure
4
Real-time Submission
Invoices must be submitted to the ETA portal via API
5
Item Coding
All items must be coded using GS1 or EGS coding schemas
6
Activity Codes
Issuer must provide a valid ETA activity type code per invoice
Implementation
Businesses should take the following steps to comply with the ETA mandate:
Step
Action
Purpose
1. Register
Register with the ETA and obtain tax credentials
Establish taxpayer identity
2. Obtain Certificate
Get a CADES-BES digital signing certificate
Enable invoice signing
3. Code Items
Register items with GS1 or EGS coding
Comply with item classification requirements
4. Integrate
Connect to the ETA portal via API or through a provider like Flick
The Egyptian Tax Authority (ETA) requires all registered taxpayers to submit invoices electronically through the ETA portal, including digital signatures, item coding, and real-time validation. Flick simplifies this entire process through a single API.
How Flick Simplifies ETA Compliance
Flick handles the complexity of ETA integration so you don't have to:
Complexity
Without Flick
With Flick
Digital Signatures
Manage CADES-BES certificates, sign each document yourself
Flick handles all signing automatically
Document Structure
Build the full ETA JSON schema with nested elements, tax calculations, and hashes
Send a simplified payload — Flick constructs the ETA-compliant document
Submission
Integrate directly with the ETA portal API, handle authentication and retries
Single API call to Flick — we submit to ETA on your behalf
QR Codes
Generate and embed QR codes per ETA specifications
Returned automatically in the response
Tax Calculations
Compute totals, tax amounts, and validate against ETA rules
Flick validates and computes all amounts
No EGS Onboarding Required
Unlike Saudi Arabia (ZATCA), the Egypt ETA integration does not require device-level onboarding or compliance checks. The issuer information comes from the participant you have already onboarded with Flick. This means you can start generating invoices immediately after setting up your participant.
API Overview
The Flick Egypt ETA API provides three endpoints covering the complete invoice lifecycle:
Stage
Endpoint
Method
Purpose
1. Generate Invoice
/v1/einvoice/generate
POST
Create an invoice, sign it, and submit to ETA
2. Get Invoice
/v1/einvoice/{uuid}
GET
Retrieve invoice details, status, and the full ETA document
3. Cancel Invoice
/v1/einvoice/{uuid}
PUT
Cancel a previously generated invoice
Authentication
Every request to the Flick Egypt ETA API requires two headers:
Header
Description
x-flick-auth-key
Your Flick API key
participant_id
The ID of the participant (issuer) submitting the invoice
Environments
Environment
Base URL
Sandbox
https://sb-eg-api.einvoiceflick.com
Production
https://api-eg.flick.network
Use the sandbox environment for development and testing. Switch to production when you are ready to submit live invoices to the ETA.
Document Types
The API supports six document types — three for domestic transactions and three for exports:
Domestic
Code
Type
Description
i
Invoice
Standard invoice for domestic taxable supplies
c
Credit Note
Reduces the amount of a previously issued domestic invoice
d
Debit Note
Increases the amount of a previously issued domestic invoice
Export
Code
Type
Description
ei
Export Invoice
Invoice issued to a foreign company
ec
Export Credit Note
Reduces the amount of a previously issued export invoice
ed
Export Debit Note
Increases the amount of a previously issued export invoice
Invoice Statuses
Invoices returned by the API can have the following statuses:
Status
Description
draft
Invoice has been created but not yet submitted to ETA
submitted
Invoice has been submitted to ETA and is pending validation
valid
Invoice has been validated and accepted by ETA
invalid
Invoice was rejected by ETA due to validation errors
cancelled
Invoice has been cancelled
For detailed field definitions, refer to Invoice Datapoints. For the complete integration flow with request and response examples, see eInvoicing Lifecycle.
ETA Invoice Datapoints
These are the datapoints used in the ETA e-invoicing API for generating invoices in Egypt.
Top-Level Invoice Fields
document_identifier
Requirement: Mandatory Type: String
Unique internal document identifier used to link back to the ERP document number. This maps to the ETA's internalId field.
Regional API
JSON
{ "document_identifier": "INV-001"}
Rules:
Must be unique within your system
Can include alphanumeric characters and hyphens
Maximum 50 characters
document_type
Requirement: Mandatory Type: String
Specifies the type of document being issued.
Regional API
JSON
{ "document_type": "i"}
Allowed Values:
Domestic
Code
Description
i
Invoice — standard invoice for domestic taxable supplies
c
Credit Note — reduces amount of a previously issued domestic invoice
d
Debit Note — increases amount of a previously issued domestic invoice
Export
Code
Description
ei
Export Invoice — invoice issued to a foreign company
ec
Export Credit Note — reduces amount of a previously issued export invoice
ed
Export Debit Note — increases amount of a previously issued export invoice
issue_date
Requirement: Mandatory Type: Date (YYYY-MM-DD)
The date on which the invoice was issued.
Regional API
JSON
{ "issue_date": "2025-02-09"}
Rules:
Must be in ISO 8601 format: YYYY-MM-DD
Cannot be a future date
issue_time
Requirement: Mandatory Type: Time (HH:MM:SSZ)
The time at which the invoice was issued, in UTC timezone.
Regional API
JSON
{ "issue_time": "10:30:00Z"}
Rules:
Must be in 24-hour UTC format: HH:MM:SSZ
Cannot be a future time (when combined with issue_date)
tax_activity_code
Requirement: Mandatory Type: String
Tax activity code of the business issuing the document, representing the activity that caused it to be issued. Must be a valid ETA activity type code.
Regional API
JSON
{ "tax_activity_code": "4520"}
Rules:
Must be a valid activity type code as defined by the ETA
Represents the business activity category (e.g., 4520 for vehicle maintenance and repair)
document_currency
Requirement: Mandatory Type: String Default: EGP
The currency in which the invoice is issued, using ISO 4217 currency codes.
Regional API
JSON
{ "document_currency": "EGP"}
Rules:
Must be a valid ISO 4217 currency code
Default value is EGP (Egyptian Pound)
If currency is not EGP, currency_exchange_rate is required
currency_exchange_rate
Requirement: Conditional — required when document_currency is not EGP Type: Decimal
Exchange rate used to convert the foreign currency to EGP, based on the Egyptian bank rate on the day of invoicing. The system uses this to automatically compute amountEGP and amountSold for each invoice line in the ETA document.
Reference to a prior proforma invoice. Maps to the ETA's proformaInvoiceNumber field.
Regional API
JSON
{ "proforma_invoice_number": "PI-2025-050"}
service_delivery_date
Requirement: Conditional — required for export document types (ei, ec, ed) Type: Date (YYYY-MM-DD)
The date when the service was delivered or is planned to be delivered. Maps to the ETA's serviceDeliveryDate field.
Regional API
JSON
{ "service_delivery_date": "2025-02-08"}
Rules:
Required for export document types: ei, ec, ed
Must be in ISO 8601 format: YYYY-MM-DD
references
Requirement: Conditional — used for credit and debit notes (c, d, ec, ed) Type: Array of Strings
Array of UUIDs referencing prior documents. For credit notes, these are the invoices being reduced. For debit notes, these are the invoices being increased. Maps to the ETA's references field.
For GS1: must be a valid GS1 barcode (e.g., 6221218058490)
For EGS: must follow the format EG-{taxreg}-{itemid} (e.g., EG-113317713-1234)
unit_type
Requirement: Mandatory Type: String
Unit of measure code from the UN/ECE Recommendation 20 code list.
Regional API
JSON
{ "invoice_lines": [ { "unit_type": "KGM" } ]}
Common Values:
Code
Description
EA
Each (individual unit)
KGM
Kilogram
MTR
Metre
LTR
Litre
PCE
Piece
SET
Set
HR
Hour
DAY
Day
quantity
Requirement: Mandatory Type: Decimal
Number of units of the defined unit type being sold. Must be greater than 0. Supports up to 5 decimal places.
Regional API
JSON
{ "invoice_lines": [ { "quantity": 100 } ]}
price
Requirement: Mandatory Type: Decimal
The price of a single unit, exclusive of tax. Supports up to 5 decimal places.
Regional API
JSON
{ "invoice_lines": [ { "price": 100 } ]}
tax_type
Requirement: Mandatory Type: String
The type of tax applied to this line item.
Regional API
JSON
{ "invoice_lines": [ { "tax_type": "T1" } ]}
Allowed Values:
Code
Tax Type
Description
T1
Value Added Tax
Standard VAT at 14%
T2
Table Tax (percentage)
Percentage-based table tax on specific goods
T3
Table Tax (fixed amount)
Fixed amount table tax on specific goods
T4
Withholding Tax (WHT)
Tax withheld at source
T5
Stamping Tax (percentage)
Percentage-based stamp duty
T6
Stamping Tax (fixed amount)
Fixed amount stamp duty
T7
Entertainment Tax
Tax on entertainment services
T8
Resource Development Fee
Fee for resource development
T9
Service Charge
Service charge applicable to certain services
T10
Municipality Fee
Local municipality fee
T11
Medical Insurance Fee
Fee for medical insurance
T12
Other Fees
Other applicable fees
tax_subtype
Requirement: Optional Type: String
Tax subtype code for the applied tax type. Used to specify a particular rate or exemption within a tax type. Maps to the ETA's taxable item subType field.
This guide covers the complete lifecycle of e-invoicing in Egypt, from generating invoices through to retrieval and cancellation via the Flick API.
Overview
The ETA e-invoicing lifecycle follows three stages:
Stage
Endpoint
Method
Purpose
1. Generate Invoice
/v1/einvoice/generate
POST
Create an invoice, sign it, and submit to ETA
2. Get Invoice
/v1/einvoice/{uuid}
GET
Retrieve invoice details, status, and the full ETA document
3. Cancel Invoice
/v1/einvoice/{uuid}
PUT
Cancel a previously generated invoice
1. Generate Invoice
Create an e-invoice and submit it to the ETA for validation. Flick handles the digital signature, document construction, and ETA submission automatically.
Prerequisites
A Flick API account with the Egypt ETA mandate enabled
A participant onboarded with valid Egyptian tax registration details
An export invoice issued by an Egyptian taxpayer to a foreign company. Export invoices use document type ei and require the receiver type to be F (Foreigner) with a non-EG country code.
Key Features:
Document Type: ei (Export Invoice)
Receiver type must be F (Foreigner)
Receiver country must not be EG
currency_exchange_rate required when currency is not EGP
service_delivery_date required for export types
delivery and weight_unit_type/weight_quantity used for goods exports
A comprehensive invoice demonstrating all available optional fields: payment details, delivery information, document-level discount, purchase/sales order references, expanded address fields, and line-level discounts.
Key Features:
All optional document-level fields populated
Payment and delivery objects included
Line-level discount, items_discount, tax_subtype, and internal_code
Expanded address with governate, floor, room, landmark, additional_information
A domestic invoice issued in a foreign currency. When document_currency is not EGP, you must provide currency_exchange_rate. The system automatically computes amountEGP and amountSold for each line in the ETA document.
Key Features:
Currency: USD with exchange rate to EGP
currency_exchange_rate is required for non-EGP currencies