- होम
- Apps
- SaaS Tools
- Uganda EFRIS Compliance
उदाहरणात्मक पूर्वावलोकनA build-to-order AL extension that registers your Business Central sales invoices and credit memos with the
Uganda Revenue Authority EFRIS service and returns the FDN, verification code and QR back onto the posted document.
ECOSIRE scopes, builds, installs and supports it — it is not an AppSource download.
Uganda EFRIS Compliance क्या है?
A build-to-order AL extension that registers your Business Central sales invoices and credit memos with the Uganda Revenue Authority EFRIS service and returns the FDN, verification code and QR back onto the posted document. ECOSIRE scopes, builds, installs and supports it — it is not an AppSource download. Built to order by ECOSIRE for Dynamics 365 BC (build-to-order) — indicative price from $999.00 USD; request a quote for a scoped proposal.
प्रमुख सुविधाएँ
ऑर्डर पर निर्मित, पूरी तरह आपके लिए तैयार
स्वयं सेटअप की ज़रूरत नहीं — ECOSIRE द्वारा निर्मित, इंस्टॉल और समर्थित एक कार्यशील ऐप।
- 1
आप ऑर्डर करते हैं
एक बार के निर्माण मूल्य से शुरू करें। किकऑफ़ पर हम आपके साथ मिलकर दायरा तय करते हैं।
- 2
हम बनाते और इंस्टॉल करते हैं
ECOSIRE इसे आपके Dynamics 365 Business Central पर बनाता, कॉन्फ़िगर और इंस्टॉल करता है।
- 3
लाइव + समर्थन
आप लगभग एक कार्य सप्ताह में लाइव हो जाते हैं, गो-लाइव के बाद दो सप्ताह के समर्थन के साथ। हमारे द्वारा दिए गए कोड की खामियाँ निःशुल्क ठीक की जाती हैं।
इस उत्पाद के बारे में
Finance teams invoicing in Uganda face a hard split between where the sale actually happens and where it becomes legal. The revenue is recognised in Dynamics 365 Business Central, but the fiscal document only exists once the Uganda Revenue Authority EFRIS service has accepted it and issued a Fiscal Document Number, a verification code and a QR payload. The usual workaround is the EFRIS web portal or an offline client: an accountant re-keys the customer TIN, the line items, the commodity codes and the tax categories a second time, pastes the FDN back into a spreadsheet, and hopes nobody edits the invoice in between. Every re-key is a chance for the posted Sales Invoice Header in Business Central and the fiscal record at URA to disagree — and the disagreement is only discovered at audit, when the two sets of numbers are compared.
Business Central out of the box has no concept of any of this. Its VAT posting setup, VAT statements and electronic-document framework are built around EU/UK-style reporting and the generic e-document connectors; there is no EFRIS T-code client, no AES/RSA envelope handling, no goods-and-services registration against the URA commodity dictionary, no credit-note approval state, and nothing on the invoice page to hold an FDN. You can post a perfectly correct invoice in Business Central and still be non-compliant, because compliance in Uganda is defined by what URA has on file, not by what your ledger says.
What ECOSIRE builds is an AL extension that closes that gap inside the system you already run. Table and page extensions add the fiscal fields — FDN, verification code, invoice issuing status, URA reference, QR data and the raw response envelope — to the sales invoice and credit memo, posted and unposted, plus an EFRIS Setup page holding the taxpayer TIN, device number, environment endpoint and key material in Isolated Storage rather than in a plain setup table. A dedicated communication codeunit assembles the EFRIS T-code payloads (login/session, goods and services upload, invoice upload, invoice query, credit note application and approval query), applies the AES content encryption and RSA signature the service expects, and posts over HttpClient. Event subscribers on the posting routines create the fiscal request the moment a document is posted, so nobody has to remember a second step, and a Job Queue Entry drains the queue with bounded retries — an EFRIS timeout never blocks the posting transaction or leaves a half-posted document behind. Mapping is driven from your existing master data: item and G/L account mapping to URA commodity codes and unit-of-measure codes, VAT posting groups to EFRIS tax categories, and customer TIN/NIN validation on the Customer card, so the payload is derived from records your team already maintains rather than a parallel list.
Rejections are treated as a first-class workflow, not an error log. Every attempt is written to an EFRIS Transaction Log with the request, the response, the URA return code and a human-readable reason, and a rejected document lands in a correction queue with the offending field identified — a missing commodity code, a TIN that fails validation, a rounding difference on tax. The user corrects and resubmits from the document page; nothing is silently retried into a duplicate registration, because submissions are keyed idempotently on the posted document number. Credit memos follow the two-step reality of EFRIS: the application is filed, the document sits in a pending state, and a background query promotes it once URA approves or surfaces the rejection reason. Both the human-readable output (the invoice report layout carries the FDN, verification code and QR image so the printed or emailed document is the compliant one) and the machine format (the archived signed envelope) come from the same posting — you never generate two versions that can drift. Archived envelopes and log entries are retained with a defined retention policy, exposed through an API page (REST API v2.0 / OData v4) so an auditor request, a Power BI reconciliation or a Power Automate flow can read the fiscal state without a developer.
This is a build-to-order engagement, not an instant download. We start with a scoping call, confirm your Business Central deployment (SaaS online or on-premises), your release wave, whether you need a per-tenant extension or an AppSource-track app, your EFRIS taxpayer and device registration status, and the specific document flows in scope — standard sales, POS-style receipts, credit notes, exports and exempt supplies each carry different tax categories. From confirmed scope, typical delivery is one working week: we build against your sandbox, run UAT with your finance team on the EFRIS test environment, then install into production with a rollback plan and a support window. You receive the AL source, the git repository, technical and user documentation and a training session — the extension is yours, on your tenant, and it can be extended later by us or by your own team.
What you get
- Complete AL source for the extension, built and tested against your specific Business Central release wave and deployment type (SaaS online or on-premises)
- Installation and configuration on your environment — sandbox first, then production — including EFRIS Setup, key installation, permission set assignment and job queue configuration
- Technical documentation: object ranges, table/page extension schema, event subscriber map, codeunit responsibilities, API page contract, and the EFRIS T-code payload mapping
- User guide covering day-to-day submission, reading the transaction log, handling a rejection, the credit-note approval cycle and the offline backlog, plus a live training session for your finance team
- UAT on a staging/sandbox environment against the EFRIS test service with your own document scenarios signed off before any production install, and a documented rollback plan
- Master-data mapping workshop and initial load: item/commodity code mapping, unit-of-measure mapping and VAT posting group to tax category mapping
- Post-go-live support window covering defect fixes, URA response-code questions and configuration adjustments
- Handover of the private git repository with full commit history, build pipeline configuration and app packaging, so your own AL developers can maintain or extend it
Who this is for
Financial Controller / Head of Finance (Uganda entity)
Owns the VAT return and the audit relationship with URA. Needs every posted sales invoice in Business Central to have a matching, accepted EFRIS record with an FDN, and needs to be able to prove it at any point without exporting spreadsheets. Cares most about the reconciliation view, the rejection queue never silently accumulating, and the archived envelopes.
Accounts Receivable / Billing Team Lead
Runs the daily invoicing cycle and currently re-keys documents into the EFRIS portal. Needs registration to happen automatically at posting, the FDN and QR to appear on the document that is emailed to the customer, and a clear, self-serve way to fix a rejected invoice without raising a ticket.
ERP Manager / Business Central Administrator
Responsible for the tenant, extensions and upgrade path. Needs a per-tenant extension that survives release-wave updates, uses supported event subscribers rather than base-app modification, keeps credentials out of setup tables, and ships with permission sets and job queue configuration they can actually administer.
Group CFO or Regional Finance Director (multi-country)
Runs Uganda alongside other jurisdictions and wants Uganda's compliance handled inside the same Business Central instance and the same close process as everywhere else, with a consistent audit trail and no country-specific side system or standalone portal for one entity.
How Uganda EFRIS Compliance Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Dynamics 365 Business Central नेटिव |
|---|---|---|---|---|
| EFRIS invoice registration | Automatic at posting via event subscriber; FDN, verification code and QR written back onto the posted document | Achievable, but you build and maintain the T-code client, encryption and write-back yourself | Usually supported, though write-back scope and which document types are covered vary by vendor | Not present — Business Central has no EFRIS client or fiscal document concept |
| Fit to your master data | Mapping workshop plus initial commodity code, UoM and VAT category load as part of delivery | Whatever your team has time to model; usually the part that slips | Generic mapping tables you populate yourself after purchase | VAT posting setup only; no URA commodity or tax-category concept |
| Rejection handling | Logged with URA return code, correction queue with the offending field flagged, idempotent resubmit | Typically an error log; the correction workflow is the piece most in-house builds skip | Commonly a status field and a retry button; correction guidance depends on the vendor | Not applicable |
| Credit notes | Two-phase application and approval, pending state tracked, reconciled by background query | Requires deliberate state modelling; easy to build as a one-shot call and get stuck | Generally covered, but approval-state visibility differs between products | Posts a credit memo with no fiscal linkage |
| Upgrade and release-wave path | Extension-only design; recompiled and tested against your target wave, handled under support | You own the regression testing on every wave | Vendor-controlled; you follow their release calendar and their support window | Upgrades cleanly — because it does nothing for EFRIS |
| Source code and ownership | Full AL source and private git repository handed over; your team can extend it | You own it entirely, along with all of its maintenance | Closed source; changes require a vendor request and their prioritisation | Microsoft base application; not modifiable |
| Audit and archiving | Signed envelopes archived with retention policy, full transaction log, exposed via API page for Power BI or Power Automate | Depends how much of the audit surface got budgeted | Log screens are standard; programmatic API access is not always exposed | Standard document history only; no fiscal envelope to archive |
| Cost and delivery model | Fixed quote from confirmed scope, typically one working week, includes UAT, training and a support window | Developer time plus an open-ended specification-tracking commitment | Fast to license, then per-user or per-company subscription plus your own configuration effort | No extra cost, and no compliance |
Frequently Asked Questions about Uganda EFRIS Compliance
How long does delivery take?
This is build-to-order: typical delivery is one working week from confirmed scope. The clock starts once we have agreed the document flows in scope, your Business Central version and deployment type, and your EFRIS taxpayer and device registration details — not at the moment of enquiry. The scoping call itself is short (about 30 minutes). Complex scope, such as POS receipt flows, multi-branch device registration or a heavy master-data mapping backlog, can extend that, and we tell you before you commit rather than afterwards.
Is this an existing app I can download from Microsoft AppSource?
No. Nothing is downloadable today. We build the extension for your environment, against your Business Central release wave, and install it for you. That is deliberate: EFRIS behaviour depends on your taxpayer registration, your device configuration, the document types you actually issue and how your item and VAT master data is set up. By default we deliver a per-tenant extension; if you need an AppSource-track app for your own distribution, say so at scoping and we build to that packaging instead.
What happens when URA rejects a document, or the EFRIS service is down?
Rejections are a workflow, not a silent failure. The submission is logged with the URA return code and a plain-language reason, the document lands in a correction queue with the offending field flagged, and a user corrects and resubmits from the document page. Nothing is silently retried into a duplicate registration — submissions are idempotent on the posted document number. If the service is unreachable, documents queue and drain automatically on recovery, with the backlog count visible; the job queue retry has bounded backoff so a URA outage never blocks posting or fills your logs.
Does it work on Business Central SaaS online, or only on-premises?
Both. We build against your current release wave and target either cloud or on-premises. The design is cloud-safe throughout — supported event subscribers instead of base application modification, `HttpClient` for outbound calls, `Isolated Storage` for key material, and job queue entries for background work — so the same codebase runs online. On-premises installations additionally need outbound network access to the URA endpoints from the service tier, which we confirm during scoping.
What support and updates do I get after go-live?
Every engagement includes a post-go-live support window agreed at scoping, covering defect fixes, URA response-code questions and configuration adjustments. Beyond that we offer an ongoing support and maintenance agreement that keeps the extension current with Business Central release waves and with EFRIS specification changes — URA does revise T-code payloads and validation rules, and that is exactly the kind of change you want handled before it fails in production. You also receive the source and the git repository, so your own AL developers can maintain it if you prefer.
Will this survive the next Business Central release wave upgrade?
That is the point of building it as a proper AL extension. We use table and page extensions, event subscribers on documented publishers, and no base-application modification, which is what makes an extension upgradeable. We test the app against your target release before you move, and under a support agreement we handle the recompile and any breaking-change remediation as part of your upgrade cycle rather than leaving you to discover it at cutover.
How does it use our existing item and VAT setup?
It reads from it rather than duplicating it. Items, resources and G/L accounts are mapped once to URA commodity codes and unit-of-measure codes, and your VAT posting groups are mapped to EFRIS tax categories, including zero-rated, exempt and export treatments. The submission payload is then derived from the posted document, so what you invoice and what URA receives come from the same source. We run a mapping workshop and load the initial mappings as part of delivery, and the extension checks mapping completeness before a document is submitted rather than after it is rejected.
Related Modules

UAE HR & Payroll for Business Central (WPS-Compliant)
A localized UAE payroll extension for Dynamics 365 Business Central with automated WPS SIF file generation, end-of-service gratuity, leave/air-ticket/overtime accruals, and VAT-aware GL posting — built, installed as a per-tenant extension, and supported by ECOSIRE.

UAE Localization Pack for Business Central
UAE statutory localization for Microsoft Dynamics 365 Business Central — FTA VAT return generation, UAE corporate tax fields, bilingual Arabic invoices, designated-zone VAT handling and WPS payroll-ready exports. Delivered as a per-tenant AL extension that ECOSIRE builds, installs and supports on your own Business Central environment.

USA 1099 & E-File Pack
A build-to-order Dynamics 365 Business Central extension that tracks vendor 1099 amounts throughout the year — W-9 and TIN capture, box mapping applied at posting, threshold and correction handling — and produces validated, e-file-ready output plus recipient copies. Built, installed and supported by ECOSIRE for your Business Central version.

US Payroll & ACA Compliance for Business Central
A per-tenant AL extension that runs compliant US payroll inside Business Central — federal and state tax calculation, 941/940/W-2 and ACA 1095-C e-filing, garnishments, benefit deductions, ACH direct deposit and employee self-service. Built, installed and supported by ECOSIRE.
Uganda EFRIS Compliance
A build-to-order AL extension that registers your Business Central sales invoices and credit memos with the Uganda Revenue Authority EFRIS service and returns the FDN, verification code and QR back onto the posted document. ECOSIRE scopes, builds, installs and supports it — it is not an AppSource download.
- EFRIS T-code client codeunit handling session/login, goods and services upload, invoice upload, invoice query, credit note application and approval query against the URA endpoints, with the AES content encryption and RSA signing the service requires
- Table and page extensions on Sales Invoice/Cr. Memo (posted and unposted) carrying FDN, verification code, URA invoice number, issuing status, QR payload and the archived signed response envelope
- Key and credential material held in Business Central `Isolated Storage` with a dedicated EFRIS Setup page for TIN, device number, environment (test/production) and endpoint configuration
- Event subscribers on the sales posting routines that enqueue a fiscalisation request at post time, so registration is never a step a user can forget or perform twice