Skip to Content

Uganda EFRIS POS

84.00 84.00

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions

Uganda EFRIS for Point of Sale

Fiscalise retail receipts with URA EFRIS - returns FDN, verification code and QR

Turn every Odoo point-of-sale receipt into a legally valid Uganda fiscal document. This app builds the URA EFRIS T109 invoice/receipt payload for each retail (B2C) sale, encrypts and signs it with your own keys, submits it to the Uganda Revenue Authority EFRIS gateway and stores the returned Fiscal Document Number (FDN), verification (anti-fake) code and QR code on the order. Compatible with Odoo 18 & 19 Community.

Real EFRIS T109 generator

Canonical EFRIS T109 JSON with every documented section: sellerDetails, basicInformation, buyerDetails, goodsDetails, taxDetails, summary and payWay. Retail sales are marked as a receipt (invoiceKind 2) to a consumer (buyerType 1).

FDN + verification code + QR

On acceptance the app stores the EFRIS FDN (invoiceNo), the invoiceId, the anti-fake verification code and renders the QR code a buyer scans to verify the receipt on the URA portal.

Bring-your-own-key sealing

The EFRIS gateway does not accept cleartext. The app AES-256 encrypts the content and attaches an RSA-SHA256 signature made with the private key whose certificate is registered with URA. The device AES key returned by the EFRIS key interface (T104) is RSA-unwrapped with your private key. Keys live only in your database.

Uganda VAT, done right

Lines are classified into the EFRIS tax categories - standard 18% (01), zero-rated (02) and exempt (03) - straight from the Odoo tax on each POS line, with the exempt rate emitted as the EFRIS "-" token.

Pre-submission validation

A layered rule set catches the mistakes EFRIS rejects - missing seller TIN, B2B buyer without a TIN, line math that does not reconcile, exempt lines carrying VAT, totals that do not equal the sum of the lines - before the round trip, with a clear code-tagged error report.

10-digit TIN validation

URA Taxpayer Identification Numbers are normalised and structurally validated (10 digits) on the company, partners and the onboarding wizard, so a bad TIN never reaches EFRIS.

One-step onboarding

A guided wizard captures the company TIN, EFRIS device number, BRN and signing key and creates the connection in a single step. A connection test runs the EFRIS device-key handshake.

Automation & audit

An optional scheduled action fiscalises pending receipts in the background, and a full transport log records every request and response for support and audit.

What this app does

CapabilityDetail
DocumentEFRIS T109 invoice/receipt JSON for retail B2C point of sale
ReturnsFDN (invoiceNo), invoiceId, anti-fake verification code, QR code
Tax categoriesStandard 18% (01), Zero-rated (02), Exempt (03)
CurrencyUganda Shilling (UGX)
SealingAES-256 content encryption + RSA-SHA256 signature (BYOK)
PaymentsCash, mobile money, card/POS, cheque, EFT, RTGS mapping
ConnectionSandbox / production gateway, device-key handshake (T104)
ValidationTIN check, line reconciliation, exempt-rate rules, totals
AutomationOptional cron fiscalisation + full transport log
CompatibilityOdoo 18 & 19 Community, Point of Sale

Bring-your-own-key boundary

This app is a format generator and BYOK transport. It produces the EFRIS-compliant payload and transmits it using your own EFRIS device credentials and signing key. It is not a certified device and does not impersonate one; the URA EFRIS platform validates the document and issues the FDN. Your credentials and keys never leave your database and are sent only to the URA endpoint you configure.

We are an independent Odoo software vendor, not a URA agent or accredited EFRIS integrator. Email support is included; if the connector does not work as described we offer a refund per the Odoo Apps Store policy.

Screenshots

Connections

Connections

Transport Log

Transport Log

Onboarding

Onboarding

Update date: 2026-07-02