Skip to main content
Egypt ETA E-Receipt for POS — A build-to-order ERPNext application that submits Egyptian Tax Authority (ETA) e-receipts for B — 1/1Illustrative preview

A build-to-order ERPNext application that submits Egyptian Tax Authority (ETA) e-receipts for B2C point-of-sale

sales, stamping every receipt with a UUID and QR and reporting to the ETA e-receipt SDK in near real time.

ECOSIRE builds, installs, and supports it — it is not an instant download.

What is Egypt ETA E-Receipt for POS?

A build-to-order ERPNext application that submits Egyptian Tax Authority (ETA) e-receipts for B2C point-of-sale sales, stamping every receipt with a UUID and QR and reporting to the ETA e-receipt SDK in near real time. ECOSIRE builds, installs, and supports it — it is not an instant download. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

`ETA E-Receipt` DocType mirroring the Egyptian Tax Authority B2C receipt schema (header, seller/branch, optional buyer, lines, tax and payment breakdown)
`hooks.py` `doc_events` handler on `POS Invoice`/`Sales Invoice` submit that serializes, requests the UUID, and submits to the ETA e-receipt SDK
Per-device `ETA POS Device` DocType holding registration, activation code, and token lifecycle for each physical or virtual POS
Near-real-time submission with the receipt UUID and QR written back onto the source document so it prints at the counter
`ETA Item Code Map` resolving each ERPNext Item to its EGS or GS1 code and correct ETA tax type/sub-type
Frappe `scheduler_events` retry queue for receipts that fail immediate submission (offline device, token expiry, network drop), with capped back-off
Whitelisted REST methods for submit, re-submit, cancel, and status-check callable from ERPNext POS or an external POS UI
Full request/response audit log per receipt (payload, ETA UUID, submission UUID, status, error code) for tax review
Token/credential handling for the ETA e-receipt SDK with automatic re-authentication before expiry
Role profile (`ETA Receipt Manager` vs cashier) restricting device credentials, cancellation, and re-submission
Client scripts rendering the UUID, QR, and a success/queued/rejected badge in the POS and on the receipt print format
Tax rounding and total reconciliation aligned to ETA validation so submissions are not rejected on rounding mismatches
Cancellation/return handling that reports the corresponding ETA receipt state for refunds and voided sales
Multi-branch support so each branch's registered devices submit under the correct taxpayer/branch profile
Built and tested against Frappe/ERPNext v15 and v16 benches

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

ERPNext Compatibility
—
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
MariaDB 10.6+

About this Product

Egyptian retailers and restaurants under the ETA e-receipt mandate face a specific gap: ERPNext gives you a solid POS Invoice and Sales Invoice flow, but it has no concept of the Egyptian Tax Authority's e-receipt schema, its device/POS registration model, or the near-real-time submission the mandate expects for high-volume B2C sales. The ETA e-receipt system is deliberately different from the B2B e-invoice track — it works per registered POS device, expects each receipt UUID and cryptographic serialization, and issues the QR code your cashiers must print at the counter. Out of the box, ERPNext cannot produce any of that, so most shops end up re-keying every sale into a portal or a middleware they cannot see inside.

We build a proper Frappe application (ecosire_eta_ereceipt) installed onto your existing ERPNext v15/v16 bench — not a hosted black box. The app adds an ETA E-Receipt DocType that mirrors the Tax Authority's receipt document (header, seller/branch, buyer where present, line items, tax totals, and payment breakdown), plus an ETA POS Device DocType that holds the registration, activation code, and credentials for each physical or virtual POS your branches run. A hooks.py doc_events handler fires on POS Invoice submit to serialize the sale into the ETA e-receipt JSON, request the receipt UUID, sign/submit through the ETA e-receipt SDK endpoint, and write the returned UUID and status straight back onto the source document. Item and tax mapping is handled with a configurable ETA Item Code Map that resolves each ERPNext Item to its EGS or GS1 code and the correct ETA tax-type/sub-type, so cashiers never touch a tax code.

Submission is designed for the reality of a busy counter. The doc-event path attempts an immediate submit so the QR prints on the receipt; anything that fails to reach the ETA — network blips, token expiry, a device that dropped offline — is queued and retried by a Frappe scheduler_events background job, with each attempt and the ETA response logged against the receipt for audit. Whitelisted API methods expose submit, re-submit, and status-check so your own POS UI (or ERPNext POS) can call them via the Frappe REST API, and a role profile (ETA Receipt Manager / cashier) keeps device credentials and cancellation out of ordinary users' hands. Client scripts render the UUID and QR on the print format and surface a clear success/queued/rejected badge to the cashier.

Because every business codes items, branches, and tax differently, this is a build-to-order engagement, not a marketplace download. We start from a short scoping call, confirm your ETA registration profile (taxpayer/branch/device structure), your item and tax mapping, and your POS flow, then build and hand over a versioned app tailored to it. Typical delivery is one working week from confirmed scope. You receive the installable source, a git repository, UAT on a staging bench with a rollback plan, and a defined post-go-live support window so real ETA traffic is watched, not assumed.

What you get

  • Installable source code for your tailored version of the `ecosire_eta_ereceipt` Frappe app (pinned to your Frappe/ERPNext v15 or v16)
  • Installation and configuration on your bench: app install, ETA device registration, item/tax code mapping, and role setup
  • Technical documentation covering DocTypes, hooks, scheduler jobs, whitelisted API methods, and the ETA submission flow
  • User guide plus a live training session for cashiers and the ETA Receipt Manager role
  • UAT on a staging bench against the ETA test environment, with a documented rollback plan before production cutover
  • A defined post-go-live support window to monitor live ETA traffic, rejections, and retries
  • Handover of the git repository so your team owns and can extend the code
  • Configuration workbook mapping your branches, POS devices, item codes, and tax types to the ETA profile

Who this is for

Egyptian retailer under the ETA e-receipt mandate

A supermarket, pharmacy, or multi-branch shop selling to walk-in consumers that must issue ETA-compliant e-receipts per registered POS device and needs the UUID and QR on every printed receipt without re-keying sales into a portal.

Restaurant or QSR operator

A restaurant, café, or quick-service chain running fast B2C counter sales that needs near-real-time e-receipt submission tied to each POS terminal, with an offline retry queue so a network blip never blocks a sale.

Finance or tax compliance manager

The person accountable to the Egyptian Tax Authority who needs an auditable log of every submission, correct EGS/GS1 item and tax mapping, and clean handling of returns and cancellations to survive an ETA review.

ERPNext administrator / IT lead

The internal owner of the ERPNext bench who wants a real Frappe app with DocTypes, hooks, and whitelisted APIs they can read and extend — plus the git repo — rather than an opaque hosted middleware.

How Egypt ETA E-Receipt for POS Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Delivery modelBuild-to-order Frappe app installed on your bench, one working week from confirmed scopeYour team builds it from scratch — hiring and ramp timeInstant download but generic, not fitted to your ETA profileNothing to deliver — no ETA e-receipt support exists
ETA e-receipt (B2C) submissionDedicated `ETA E-Receipt` DocType + doc-event submit to the ETA SDKPossible but you own the full schema and SDK integrationOften focused on B2B e-invoice, not the B2C receipt trackNo ETA schema, no submission, no UUID or QR
POS device registration`ETA POS Device` DocType with per-device registration and token lifecycleMust design device/credential model yourselfSometimes single-device or portal-boundNo concept of ETA device registration
Offline / retry handlingScheduler-driven retry queue with back-off and per-attempt loggingYou must build and test the queue and back-offVaries; often fails the sale if the ETA is unreachableNot applicable — no submission path
Item & tax code mapping`ETA Item Code Map` for EGS/GS1 codes and ETA tax typesHand-rolled mapping and maintenance burdenBasic or manual mapping, limited to common casesNo EGS/GS1 or ETA tax-type mapping
APIs & extensibilityWhitelisted REST methods + git repo handover you can extendFull control, full maintenance costClosed or thinly documented; limited hooksGeneric ERPNext APIs, nothing ETA-specific
Audit & compliance trailFull request/response log per receipt for ETA reviewYou design the audit trailPartial logging, often not receipt-levelNo ETA audit trail
Support & version fitPinned to your v15/v16 bench + post-go-live support windowYour team supports it indefinitelyVendor SLA, may lag ETA schema/SDK changesCommunity ERPNext support only

Frequently Asked Questions about Egypt ETA E-Receipt for POS

Is this an existing app I can download and install today?

No. It is build-to-order. ECOSIRE builds the `ecosire_eta_ereceipt` Frappe app around your specific ETA registration, branch/device structure, item and tax mapping, and POS flow, then installs it on your bench. There is no instant marketplace download.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The clock starts once we've agreed the requirements — your ETA taxpayer/branch/device profile, item and tax code mapping, POS flow, and target Frappe version — on the scoping call. Complex multi-branch or custom-POS integrations sit at the longer end.

Which Frappe/ERPNext versions are supported?

We build and test against Frappe/ERPNext v15 and v16. We pin the delivered app to your exact bench version so upgrades are predictable, and we confirm your version on the scoping call before any work begins.

How does submission work at a busy counter, and what happens if a device is offline?

On `POS Invoice` submit, a `hooks.py` doc event serializes the sale and submits to the ETA e-receipt SDK immediately so the UUID and QR print on the receipt. If the ETA is unreachable — offline device, token expiry, network drop — the receipt is queued and retried by a Frappe scheduler job with back-off, and every attempt is logged so nothing is silently lost.

Does it handle item codes, tax types, and returns correctly?

Yes. An `ETA Item Code Map` resolves each ERPNext Item to its EGS or GS1 code and the correct ETA tax type/sub-type, and tax totals are rounded to match ETA validation so submissions aren't rejected on rounding. Returns and cancellations report the corresponding ETA receipt state.

What about support and updates after go-live?

Every engagement includes a defined post-go-live support window during which we monitor live ETA traffic, rejections, and retries and fix issues traced to our code. Because you receive the git repository and installable source, your team can maintain it, and we offer an ongoing support/retainer arrangement for ETA schema or SDK changes if you'd prefer we keep it current.

Do we own the code, or is it locked to a hosted service?

You own it. This is a real Frappe app installed on your own bench — DocTypes, hooks, scheduler jobs, and whitelisted APIs you can read and extend — and we hand over the git repository. It is not an opaque hosted middleware you rent.

Request a quote

Egypt ETA E-Receipt for POS

A build-to-order ERPNext application that submits Egyptian Tax Authority (ETA) e-receipts for B2C point-of-sale sales, stamping every receipt with a UUID and QR and reporting to the ETA e-receipt SDK in near real time. ECOSIRE builds, installs, and supports it — it is not an instant download.

  • `ETA E-Receipt` DocType mirroring the Egyptian Tax Authority B2C receipt schema (header, seller/branch, optional buyer, lines, tax and payment breakdown)
  • `hooks.py` `doc_events` handler on `POS Invoice`/`Sales Invoice` submit that serializes, requests the UUID, and submits to the ETA e-receipt SDK
  • Per-device `ETA POS Device` DocType holding registration, activation code, and token lifecycle for each physical or virtual POS
  • Near-real-time submission with the receipt UUID and QR written back onto the source document so it prints at the counter

Request a Quotation

Tell us about your Egypt ETA E-Receipt for POS requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.