Skip to main content
UAE VAT & E-Invoicing for POS (Peppol/FTA) — FTA-compliant UAE tax invoices and Peppol/PINT-AE-ready e-invoices emitted direc — 1/1Illustrative preview

FTA-compliant UAE tax invoices and Peppol/PINT-AE-ready e-invoices emitted directly from the ERPNext POS,

with bilingual Arabic/English receipts, TRN validation, and 5% VAT plus exemption handling. Built, installed, and supported by

ECOSIRE on your ERPNext v15/v16 instance.

What is UAE VAT & E-Invoicing for POS (Peppol/FTA)?

FTA-compliant UAE tax invoices and Peppol/PINT-AE-ready e-invoices emitted directly from the ERPNext POS, with bilingual Arabic/English receipts, TRN validation, and 5% VAT plus exemption handling. Built, installed, and supported by ECOSIRE on your ERPNext v15/v16 instance. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Dedicated Frappe app packaged as its own module, installed on your bench via `bench get-app`/`bench install-app` — no monkey-patched core files
FTA-compliant UAE tax invoice DocType (or extension of `POS Invoice`/`Sales Invoice`) with seller/buyer TRN, invoice type code, and credit-note reference chain
Peppol / PINT-AE UBL XML e-invoice generation produced on `on_submit` via a `doc_events` hook in `hooks.py`
TRN format and checksum validation on both seller and customer, enforced in the DocType `validate` hook and surfaced as a POS client script prompt
Per-item tax category handling — standard-rated 5%, zero-rated, exempt, and out-of-scope — with FTA-conformant line and total rounding
Bilingual Arabic/English tax-invoice print format with correct RTL layout for the customer receipt
Whitelisted `@frappe.whitelist()` methods plus Frappe REST API endpoints for e-invoice submission and status retrieval
Access Point / FTA channel transmission with clearance reference, acceptance status, and error payload stored back on the record
`scheduler_events` background jobs for automatic retry of failed transmissions and periodic reconciliation of pending invoices
POS-side client scripts for cashier TRN capture, live validation, and inline VAT breakdown without slowing the checkout flow
Role profiles and DocType permissions restricting who can void, re-issue, or resubmit a compliant invoice, with an auditable trail
Credit note / return handling that emits a compliant corrective e-invoice linked to the original document
Configurable seller identity, VAT registration, and Peppol participant ID stored in a single settings DocType rather than hardcoded
Built and tested against Frappe/ERPNext v15 and v16 on a staging clone before any production change

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

UAE retailers and restaurants running high-volume checkout on ERPNext hit a wall the moment the FTA's e-invoicing mandate and Peppol interoperability enter the picture. Stock ERPNext POS issues a simplified sales receipt and a generic print format — it does not produce a legally structured UAE tax invoice with mandatory TRN, bilingual Arabic/English fields, correct rounding, and a machine-readable Peppol/PINT-AE payload. Restaurants layering service charges, mixed 5%-VAT and zero-rated/exempt items, and split payments on a single ticket make this worse: the native tax templates and print formats simply were not designed for the FTA layout or for emitting a UBL-based e-invoice to an Access Point. Bolting this on with ad-hoc client scripts leaves you with fragile, unauditable receipts.

ECOSIRE builds a proper Frappe app — its own module with versioned DocTypes, hooks.py doc events, server scripts, whitelisted API methods, and print formats — installed on your bench alongside ERPNext. We model an E-Invoice (or extend POS Invoice / Sales Invoice) with the fields the FTA requires: seller and buyer TRN, invoice type code, line-level tax categories, and the reference chain for credit notes. A validate and on_submit hook wired through doc_events runs TRN format/checksum validation, computes 5% VAT against per-item tax categories (standard-rated, zero-rated, exempt, out-of-scope), applies FTA-conformant rounding, and generates the Peppol/PINT-AE UBL XML. The bilingual tax-invoice print format renders Arabic and English side by side for the customer receipt, and the POS flow is kept fast so cashiers see no lag at the till.

On the interoperability side, a whitelisted method (@frappe.whitelist()) and the Frappe REST API expose e-invoice submission and status, so the generated document can be transmitted to your chosen Peppol Access Point / FTA channel and the response (acceptance, clearance reference, errors) is stored back on the record and shown in the POS. Scheduler events (scheduler_events in hooks.py) handle ret/retry of failed transmissions and periodic reconciliation, and everything is guarded by ERPNext role profiles and permissions so only authorized roles can re-issue or void a compliant invoice. Client scripts add the cashier-facing TRN capture and validation prompts inside the POS UI. The app targets Frappe/ERPNext v15 and v16.

Because this is build-to-order, nothing ships until we agree on scope. We start with a short scoping call, confirm your exact FTA/Peppol channel, item tax structure, receipt language rules, and POS profiles, then build against a staging copy of your instance. You get UAT on staging with a rollback plan, installable source in a Git repo we hand over, install and configuration on your production bench, technical and user documentation, a training session, and a post-go-live support window. Typical delivery is one working week from confirmed scope.

What you get

  • Installable source code for your version of the app, delivered as a proper Frappe app
  • Installation and configuration on your ERPNext production bench (POS profiles, tax categories, settings DocType, Peppol/FTA channel)
  • Technical documentation covering DocType schema, hooks, whitelisted methods, and scheduler jobs
  • End-user guide for cashiers and finance staff plus a live training session
  • Post-go-live support window for defect fixes and configuration adjustments
  • UAT on a staging clone with a documented test plan and a rollback plan
  • Handover of the full Git repository with commit history and README

Who this is for

UAE Retail Operations Manager

Runs multi-branch retail on ERPNext POS and needs every till to issue an FTA-compliant, bilingual tax invoice and a Peppol-ready e-invoice without slowing cashiers or creating reconciliation gaps.

Restaurant / F&B Owner

Handles mixed 5%-VAT, zero-rated, and exempt items, service charges, and split payments on a single ticket, and needs each receipt to be legally structured and transmittable to the FTA channel.

Finance & Tax Manager

Owns VAT filing and audit readiness; wants TRN validation, correct rounding, per-item tax categories, and a full audit trail of issued, cleared, and voided e-invoices inside ERPNext.

ERPNext System Administrator

Maintains the bench and needs a clean, versioned Frappe app with documented DocTypes, hooks, and permissions that installs on v15/v16 and can be upgraded without breaking core ERPNext.

How UAE VAT & E-Invoicing for POS (Peppol/FTA) Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
UAE FTA tax invoice layoutPurpose-built compliant bilingual print formatBuildable but you design it from scratchGeneric template, often KSA/EU-focusedSimplified receipt, not FTA-structured
Peppol / PINT-AE e-invoiceUBL XML generated and transmittedFeasible with significant dev effortSometimes, rarely UAE PINT-AE profileNot supported
TRN validationFormat + checksum, enforced at POSDepends on developer scopeBasic field capture if presentFree-text field, no validation
5% VAT + exemption handlingPer-item categories with FTA roundingManual tax templates to configureStandard-rate focused, limited exemptionsTax templates, no compliance layer
Bilingual Arabic/English receiptSide-by-side RTL layout includedCustom print format work requiredEnglish-first, partial ArabicEnglish default, manual edits
ERPNext v15/v16 fitBuilt and tested for your benchDepends on the team's ERPNext depthMay lag core versionsNative, but no e-invoicing
Source code ownershipFull Git repo handed overYou own what you pay to buildLicensed, usually closedCore code, not app-specific
Support and go-liveUAT, rollback plan, support windowWhatever you contract separatelyVendor ticket queueCommunity forums only

Frequently Asked Questions about UAE VAT & E-Invoicing for POS

Is this an existing app I can download and install right now?

No. This is a build-to-order engagement — ECOSIRE builds, installs, and supports the app for your specific FTA/Peppol channel, item tax structure, and POS profiles. There is no instant download. We scope it with you first, then build against a staging copy of your instance.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The timeline starts once we have agreed the exact requirements on the scoping call — your Peppol Access Point / FTA channel, receipt language rules, tax categories, and POS profiles — and depends on the complexity of your setup and how quickly staging access and test data are available.

How are updates and support handled after go-live?

Every engagement includes a post-go-live support window for defect fixes and configuration adjustments. Because you receive the full Git repository, your team can maintain it, or ECOSIRE can provide ongoing support and version upgrades under a separate arrangement. The app is built cleanly against v15/v16 so ERPNext upgrades don't force a rewrite.

Which ERPNext versions are supported?

The app is built and tested against Frappe/ERPNext v15 and v16. We confirm your exact bench version during scoping and target it specifically. It installs as a standard Frappe app via `bench get-app` and `bench install-app` — no core files are patched.

How does the Peppol / FTA e-invoice actually get transmitted?

On submit, a `doc_events` hook generates the Peppol/PINT-AE UBL XML. A whitelisted method transmits it to your chosen Access Point or FTA channel, and the response — clearance reference, acceptance status, or error payload — is stored back on the record and shown in the POS. Failed transmissions are retried automatically via a scheduler job.

Will it slow down my POS at the till?

No. The heavy work — UBL generation and transmission — runs on submit and through background scheduler jobs, not on every keystroke. The cashier-facing pieces are lightweight client scripts for TRN capture and validation, so checkout stays fast even at peak.

Do you handle credit notes and returns?

Yes. Returns and corrections emit a compliant corrective e-invoice linked back to the original document, preserving the reference chain the FTA requires. Void and re-issue actions are permission-gated by role profile and fully audit-logged inside ERPNext.

Request a quote

UAE VAT & E-Invoicing for POS

FTA-compliant UAE tax invoices and Peppol/PINT-AE-ready e-invoices emitted directly from the ERPNext POS, with bilingual Arabic/English receipts, TRN validation, and 5% VAT plus exemption handling. Built, installed, and supported by ECOSIRE on your ERPNext v15/v16 instance.

  • Dedicated Frappe app packaged as its own module, installed on your bench via `bench get-app`/`bench install-app` — no monkey-patched core files
  • FTA-compliant UAE tax invoice DocType (or extension of `POS Invoice`/`Sales Invoice`) with seller/buyer TRN, invoice type code, and credit-note reference chain
  • Peppol / PINT-AE UBL XML e-invoice generation produced on `on_submit` via a `doc_events` hook in `hooks.py`
  • TRN format and checksum validation on both seller and customer, enforced in the DocType `validate` hook and surfaced as a POS client script prompt

Request a Quotation

Tell us about your UAE VAT & E-Invoicing 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.