| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Point of Sale (point_of_sale) • Discuss (mail) • Inventory (stock) |
| Lines of code | 1631 |
| Technical Name |
l10n_ug_efris_pos |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Point of Sale (point_of_sale) • Discuss (mail) • Inventory (stock) |
| Lines of code | 1631 |
| Technical Name |
l10n_ug_efris_pos |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
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
| Capability | Detail |
|---|---|
| Document | EFRIS T109 invoice/receipt JSON for retail B2C point of sale |
| Returns | FDN (invoiceNo), invoiceId, anti-fake verification code, QR code |
| Tax categories | Standard 18% (01), Zero-rated (02), Exempt (03) |
| Currency | Uganda Shilling (UGX) |
| Sealing | AES-256 content encryption + RSA-SHA256 signature (BYOK) |
| Payments | Cash, mobile money, card/POS, cheque, EFT, RTGS mapping |
| Connection | Sandbox / production gateway, device-key handshake (T104) |
| Validation | TIN check, line reconciliation, exempt-rate rules, totals |
| Automation | Optional cron fiscalisation + full transport log |
| Compatibility | Odoo 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.
Screenshots
Connections
Transport Log
Onboarding
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module