Skip to content
Smart Ideal Technology
E-Invoice Egypt

Egypt E-Invoice (ETA) — Item Code Mapping Without Tears

GS1 vs EGS vs your internal SKU — how to map item codes correctly for the Egyptian Tax Authority (ETA) e-invoice. Pitfalls, shortcuts, and a free mapping worksheet.

Published 2026-05-08 · 8 min read

The Egyptian Tax Authority (ETA) e-invoice mandate has been live since 2020, but item code mapping is still where most projects burn weeks of effort. The mandate requires every invoice line to reference an official code — either GS1, EGS, or an alternative classification. Get it wrong and ETA rejects the invoice. Get it inconsistently and your monthly reconciliation becomes a guessing game.

Here is how we approach item code mapping on every Egypt e-invoice project.

What ETA actually requires

Every invoice line item must carry:

  1. An item code typeGS1 (global), EGS (Egyptian Goods and Services), or internal with an approved alternative.
  2. The item code value itself.
  3. The internal item description, unit, quantity, and VAT category.

ETA accepts any of the three code types but expects internal consistency. The same product cannot be a GS1 barcode on one invoice and an EGS code on another — you get rejected for "code type inconsistency" on the next invoice.

The three real strategies

Strategy A — Pure GS1. Use the barcode (EAN-13 / UPC-A) as the item code. Works perfectly for retail FMCG. Fails for services, custom-manufactured items, and anything without a barcode.

Strategy B — Pure EGS. Map every product to the Egyptian Goods and Services classification. Works for any product type. Painful upfront — EGS has thousands of codes and many products fit multiple. Best for B2B service businesses.

Strategy C — Hybrid (recommended for most retail). GS1 for barcoded products, EGS for services and non-barcoded items. Two code-type fields on every item record. Most retail and F&B operations land here.

The mapping process we actually run

Step 1 — Pull the product master. Export every item from your ERP/POS to a single sheet. Columns: internal ID, description, unit, VAT %, current barcode (if any), product category.

Step 2 — Decide the strategy per category. Food product? GS1. Imported electronics? GS1. Tailoring service? EGS. Spare part with no barcode? EGS. Document the rule per category — your future self will thank you.

Step 3 — Fetch the EGS catalog. ETA publishes it as Excel. We keep an indexed local mirror that we re-fetch quarterly. Don't try to look up codes in the ETA UI for 4,000 products — your sanity will not survive.

Step 4 — Auto-match where you can. A simple fuzzy match against the EGS catalog descriptions catches 40–60% of items. Spot-check the top of the confidence range and accept; review the bottom manually.

Step 5 — Build the unmapped queue. Everything that didn't auto-match goes into a triage UI. A team member picks the EGS code from a filtered list. We typically clear 200–400 items/day per reviewer.

Step 6 — Validate against a real sandbox invoice. Before approving the mapping, generate a sandbox invoice with each unique code. Rejection at this stage is cheap; rejection at month-end is expensive.

Common pitfalls — and how to dodge them

Pitfall: Mixing code types per product. A single SKU must always emit the same code type. Set a eta_code_type and eta_code_value on the item record and treat them as immutable once set.

Pitfall: Forgetting the unit of measure. ETA validates the unit code against an official list. "PCS" gets rejected; the code is PCE. Maintain a UOM mapping table.

Pitfall: VAT category drift. If your ERP says "5% VAT" but the EGS code implies "Zero-rated", ETA rejects. Cross-validate the VAT category against the code's expected category at sandbox time, not at production time.

Pitfall: Spaces or special characters in codes. ETA is strict. 1234-5678 and 1234 5678 are different codes. Trim, normalize, and validate at the field level before sending.

Pitfall: Late changes to descriptions. ETA accepts the code as authoritative, but Arabic-speaking auditors will reconcile against descriptions. Keep your descriptions stable; if you change a description, change it everywhere and log the change.

Free mapping worksheet

We use a 7-column worksheet on every Egypt e-invoice project:

| internal_id | description | category | eta_code_type | eta_code_value | uom_code | vat_pct | reviewer | approved_at |

If you want our annotated version with the auto-match formulas pre-built, contact us and we'll send the template.

The bigger picture

Item code mapping is the boring half of an Egypt e-invoice rollout, but it is the half that determines whether your finance team's monthly close goes smoothly or turns into a 3-day reconciliation marathon. Spend the time upfront.