A build-to-order ERPNext integration that submits EFRIS fiscal documents to URA directly from your Sales Invoices, stamps them with the fiscal number and QR code, and keeps your VAT and stock registration in sync. ECOSIRE builds, installs, and supports it for your Frappe v15/v16 environment. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $399.00 USD; request a quote for a scoped proposal.

A build-to-order ERPNext integration that submits EFRIS fiscal documents to URA directly from your Sales Invoices, stamps them with the fiscal number and QR code, and keeps your VAT and stock registration in sync. ECOSIRE builds, installs, and supports it for your Frappe v15/v16 environment.
现在无需付款。此操作会向我们的团队发送报价请求——我们会通过邮件跟进价格和后续步骤。
Ugandan VAT-registered businesses are legally required to issue fiscal documents through the Uganda Revenue Authority (URA) EFRIS system, but ERPNext core has no concept of EFRIS. Out of the box, ERPNext gives you a clean Sales Invoice, VAT accounts, and a stock ledger, yet none of it talks to URA. Finance teams end up re-keying every invoice into the EFRIS web portal or a separate offline tool, reconciling two sets of numbers, and manually pasting fiscal document numbers and QR codes back onto printed invoices. That double entry is slow, error-prone, and a compliance risk the moment volume grows.
`on_submit` doc event on Sales Invoice assembles and transmits the EFRIS fiscal document to URA, with the fiscal document number and verification code written back on the invoice
Server-side EFRIS API client handling authentication, request signing/encryption, and the URA request/response envelope, isolated in its own module
QR code and fiscal document number rendered on a custom print format so the customer-facing invoice is the compliant document
Dedicated EFRIS Goods Registration DocType mapping ERPNext `Item` records to URA commodity and tax categories, keeping stock and the goods register aligned
VAT and withholding tax configured against ERPNext tax templates with correct EFRIS tax category codes (standard, zero-rated, exempt)
Credit note flow generates an EFRIS credit application referencing the original fiscal document for returns, reversals, and cancellations
This is where a purpose-built integration is needed rather than a generic tax setting. ECOSIRE builds a proper Frappe application — its own module, DocTypes, and role profiles — that connects ERPNext to the EFRIS API. When a Sales Invoice is submitted, a hooks.py document event (on_submit) triggers a server-side call that assembles the EFRIS fiscal document payload from the invoice lines, tax templates, and customer TIN, signs and transmits it to URA, and writes back the returned fiscal document number, verification code, and QR data onto the invoice. A custom print format renders the fiscal number and QR code so the document you hand the customer is the compliant one. Failed or rejected submissions are logged against the invoice with the URA error, queued for retry, and surfaced to the finance role instead of failing silently.
Underneath, we model the pieces EFRIS actually requires. Goods and services are registered and mapped to URA commodity/tax categories through a dedicated DocType and a Item-linked field, so stock and the EFRIS goods register stay in agreement. VAT and withholding tax are configured against ERPNext tax templates with the correct EFRIS tax category codes. Credit notes are handled as EFRIS credit applications — a return or reversal in ERPNext generates the matching EFRIS credit note referencing the original fiscal document, so refunds and cancellations remain traceable end to end. Whitelisted methods expose the submission and status-check actions to client scripts and the Frappe REST API, and a scheduler event reconciles pending submissions in the background so a transient URA outage never leaves an invoice stranded.
Because this is a build-to-order engagement, we tailor the app to your chart of accounts, item catalogue, tax posture, and EFRIS credentials rather than shipping a one-size-fits-all download. We start with a short scoping call, confirm the exact EFRIS flows you use (standard sales, credit notes, withholding, exemptions), then build, test on a staging bench against the URA sandbox, and hand over installable source, documentation, and a git repository. Typical delivery is 2–4 weeks from confirmed scope, and we support you through go-live and a defined post-launch window on Frappe/ERPNext v15/v16.
Owns URA compliance and month-end close. Needs every sales invoice fiscalised through EFRIS automatically, with fiscal numbers and QR codes on the printed document and a clear audit trail for URA — without her team re-keying invoices into the EFRIS portal.
Runs the company's ERPNext bench and will maintain the integration after handover. Wants a clean Frappe app with proper DocTypes, hooks, and whitelisted methods, source in git, and documentation, so upgrades and support are predictable on v15/v16.
Accountable for tax risk and the cost of non-compliance. Wants EFRIS fiscalisation, VAT, and credit notes handled correctly inside the ERP they already run, with a fixed scope, defined delivery timeline, and a support commitment rather than an open-ended project.
Processes refunds, cancellations, and adjustments daily. Needs ERPNext credit notes to automatically raise the matching EFRIS credit application against the original fiscal document, so reversals stay traceable and reconcile against URA.
在 ecosire.com 上购买许可证并从您的帐户仪表板下载 Uganda EFRIS Integration for ERPNext 应用程序 ZIP。
将 ZIP 解压到您的 bench 的 apps 文件夹中,或者使用解压缩的应用程序的路径运行“bench get-app”。
运行 `bench --site SITE_NAME install-app APP_NAME`,然后运行 `bench migrate` 以安装 Uganda EFRIS Integration for ERPNext 并应用其架构。
打开您站点上的 ECOSIRE 许可证设置并激活您的许可证密钥。需要免费的 ecosire_connect 和 ecosire_license_client 应用程序。
| 标准 | 伊科西尔 | 定制建造 | 竞争对手 | 奥杜本机 |
|---|---|---|---|---|
| EFRIS submission to URA | Automatic on invoice submit via hooks, with retry | Possible but you design and build it | Often generic or Uganda support is partial | |
| Fit to your ERPNext setup | Tailored to your accounts, items, and tax posture | Fully bespoke if you have the skills | One-size-fits-all, limited configuration | |
| Fiscal number + QR on invoice | Written back and rendered on print format | You build the print format yourself | Sometimes included, varies by vendor | |
| Credit note / return handling | EFRIS credit application linked to original doc | Depends on your implementation effort | Frequently incomplete or manual | |
| Frappe v15/v16 compatibility | Built and tested for your exact version | Your responsibility to maintain | May lag ERPNext releases | |
| Source code + git handover | Full source and git repo handed over | You own it, you wrote it | Usually closed or licence-locked | |
| Delivery timeline | 2–4 weeks from confirmed scope | Unpredictable, depends on internal capacity | Instant install but integration work still needed | |
| Support after launch | Defined post-go-live support window | Self-supported by your team | Ticket queue, variable responsiveness |
No. This is a build-to-order engagement. ECOSIRE builds the EFRIS integration for your specific ERPNext environment, chart of accounts, and item catalogue, then installs and supports it. There is no instant download — the point is that it fits your setup and your URA credentials rather than being a generic package.
Typically 2–4 weeks from confirmed scope. After the scoping call we agree the exact EFRIS flows you need, build the app, test it on a staging bench against the URA sandbox, run UAT with you, then schedule production cutover. Timelines depend on the number of tax scenarios (withholding, exemptions, multi-branch) and how quickly EFRIS credentials and test data are available.
Yes. We build and test for Frappe/ERPNext v15 and v16, packaged as a standard installable Frappe app. During scoping we confirm your exact version and bench setup so the app is pinned and upgrade-safe for your environment.
Every engagement includes a defined post-go-live support window for bug fixes and EFRIS-related issues. Because you receive the full source in a git repository, your own team can also maintain it. Longer-term support or changes to EFRIS API versions can be arranged as a separate maintenance agreement.
A return or credit note in ERPNext automatically generates the matching EFRIS credit application, referencing the original fiscal document number submitted to URA. This keeps refunds, cancellations, and adjustments traceable and reconcilable end to end, rather than requiring manual credit entries in the EFRIS portal.
Submission failures are logged against the invoice with the URA error and status, and a scheduler event retries pending documents in the background. Authorised finance users can also see the live EFRIS status on the invoice and manually re-submit, so a transient outage never leaves an invoice un-fiscalised or your posting blocked.
No. Development and UAT run against the URA EFRIS sandbox on a staging bench. Production credentials are configured only at cutover through a single settings DocType with a sandbox/production switch, so your live keys are introduced late and under your control.
A build-to-order ERPNext integration that submits EFRIS fiscal documents to URA directly from your Sales Invoices, stamps them with the fiscal number and QR code, and keeps your VAT and stock registration in sync. ECOSIRE builds, installs, and supports it for your Frappe v15/v16 environment.