Uganda EFRIS Credit Note
Issue URA-compliant credit notes that reference the original fiscal document (FDN) — built for the Uganda Revenue Authority EFRIS
Format generation + BYOK transmission with your own registered EFRIS device credentials
What this module does
When a sale recorded on EFRIS has to be corrected — goods returned, an invoice issued by mistake, a price reduction or a partial quantity cancellation — the Uganda Revenue Authority (URA) requires a credit note application that references the original Fiscal Document Number (FDN) and is approved by URA before it takes effect. This module turns an Odoo customer credit note (refund) into a complete, validated EFRIS credit-note application, transmits it through your own registered EFRIS connection, and tracks the approval, the credit-note FDN and the verification QR returned by URA.
Key features
Original document referencing
Every credit note carries the original invoice's oriInvoiceNo (FDN)
and oriInvoiceId, the precise reference EFRIS keys the correction on.
EFRIS application JSON
Generates the canonical EFRIS credit-note document — basicInformation, goodsDetails, taxDetails and summary — with a deterministic SHA-256 content hash ready for signing.
Correction reasons (Section D)
Documented URA correction reasons: invoice cancelled by mistake, goods returned, partial-quantity cancellation, price reduction, damaged/wasted goods and other circumstances — with your own URA reason code.
Uganda VAT handling
Maps each line to the EFRIS tax category — standard rated 18%, zero rated, exempt or deemed — and reconciles the VAT against the published 18% standard rate.
BYOK transmission
Builds the EFRIS gateway envelope (T110 apply, T111 cancel, T112 query) and sends it using your registered device number, app id and optional RSA signing key. Your credentials never leave your database.
Approval tracking
Stores the credit-note FDN, EFRIS id and verification QR on approval; a scheduled poll keeps pending applications in sync. A full transport log records every call.
EFRIS credit-note lifecycle
| Step | EFRIS interface | Result |
|---|---|---|
| Validate the correction against EFRIS business rules | — | Blocks non-compliant data before submission |
| Generate the credit-note application JSON | — | Canonical payload + content hash |
| Submit referencing the original FDN | T110 | Application queued for URA approval |
| Query approval status | T112 | Approved / rejected, credit-note FDN + QR |
| Withdraw a pending application | T111 | Application cancelled |
Validation rules enforced
- Original fiscal document (FDN / EFRIS invoice id) must be referenced.
- Seller TIN structurally valid (10 digits); buyer TIN checked when present.
- Every line carries a recognised EFRIS tax category.
- Per-line VAT must match the category rate (18% standard, 0% zero/exempt/deemed).
- Line net + tax must equal the gross; the breakdown must reconcile to the summary.
- A reason for the correction (EFRIS Section D) is mandatory.
Scope & disclosure
This module performs format generation and bring-your-own-key (BYOK) transmission. The EFRIS endpoint URLs are pre-filled as editable defaults; the device number, app id and signing key are issued to your registered EFRIS account and are stored only in your database. The module is not a certified EFRIS device and does not impersonate one — it produces the credit-note application your registered EFRIS connection consumes and submits it on your behalf. No data is sent anywhere other than the EFRIS 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.
Compatibility
Odoo 18.0 and 19.0, Community and Enterprise. Built on the standard
account module — no Enterprise-only dependencies.
Screenshots
Connections
Credit Notes
Transport Log
Setup
Update date: 2026-07-02