A build-to-order Odoo module that makes Nigerian companies compliant with FIRS e-invoicing, 7.5% VAT and withholding tax — with a localized chart of accounts, TIN validation and return-ready reports. ECOSIRE scopes, builds, installs and supports it on Odoo 17, 18 or 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $499.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo module that makes Nigerian companies compliant with FIRS e-invoicing, 7.5% VAT and withholding tax — with a localized chart of accounts, TIN validation and return-ready reports. ECOSIRE scopes, builds, installs and supports it on Odoo 17, 18 or 19.
今すぐのお支払いはありません。これはチームへの見積もり依頼を送信します。価格と次のステップをメールでご案内します。
Nigerian businesses running Odoo hit a wall the moment FIRS compliance becomes real. Out of the box, Odoo ships a generic tax engine and a country-agnostic chart of accounts, but it has no concept of the FIRS Merchant-Buyer System (MBS) e-invoicing mandate, no built-in 7.5% VAT logic wired to Nigerian tax reporting, and no withholding-tax mechanism that computes and posts WHT on vendor payments the way FIRS expects. Finance teams end up hand-keying VAT returns, tracking WHT credit notes in spreadsheets, and manually formatting invoices to satisfy the electronic-invoicing rules — error-prone work that becomes a real audit and penalty risk as FIRS tightens enforcement across large and medium taxpayers.
FIRS e-invoice submission connector: serializes each posted `account.move` to the FIRS MBS payload and transmits over authenticated HTTPS/JSON-RPC
Stores the FIRS-returned IRN, validation reference and QR data back on the invoice, with a tracked submission state (draft → submitted → validated → rejected)
Nigerian VAT modelled as `account.tax` records — 7.5% standard, zero-rated and exempt treatments with correct tax-group mapping for reporting
Withholding tax engine that computes and posts WHT on vendor bills/payments at statutory rates (services, rent, contracts, dividends, interest)
WHT credit-note tracking so amounts withheld are captured for offset and FIRS WHT-schedule reporting
Nigeria localized chart of accounts delivered as data, or mapped onto your existing COA during scoping instead of overwriting it
ECOSIRE builds a dedicated localization module that closes those gaps inside Odoo rather than bolting a third-party tool onto it. At the data layer we ship a Nigeria-specific chart of accounts and a full tax structure defined as account.tax records — 7.5% VAT (standard, zero-rated and exempt) plus WHT tax groups for the common statutory rates on services, rent, dividends, interest and contracts. TIN validation is added on res.partner via a constrains/onchange layer so malformed or missing taxpayer IDs are caught at data entry, not at return time. The e-invoicing connector is implemented as an Odoo model that serializes each posted account.move into the FIRS-required payload, signs/authenticates against the FIRS API over the JSON-RPC/HTTPS transport, stores the returned IRN and QR/validation reference back on the invoice, and exposes the transmission state (draft → submitted → validated → rejected) as a tracked field so accountants can see exactly where every document stands.
Technically it is a clean Odoo addon. The __manifest__.py declares dependencies on account (and l10n_generic_coa where relevant) and is pinned to your Odoo series. Business logic lives in models/ using models.Model, typed fields, and compute methods decorated with @api.depends so VAT and WHT amounts recalculate deterministically. Access is governed by ir.model.access.csv plus record rules so only accounting roles can transmit or void e-invoices. The UI is delivered as XML views (with OWL components where an interactive submission widget helps), and the statutory outputs — VAT return summary, WHT schedule, and a FIRS-compliant invoice PDF carrying the IRN and QR code — are QWeb reports. An ir.cron automated action can batch-submit the day's validated invoices and retry transient FIRS failures. We build it to work on Odoo Community as well as Enterprise; where a feature depends on an Enterprise-only app we flag it during scoping so there are no surprises.
Because this is build-to-order, nothing is pre-listed on apps.odoo.com and there is no instant download. You start with a short scoping call where we confirm your Odoo version (17.0/18.0/19.0), Community vs Enterprise, which WHT rates and VAT treatments apply to your sector, your FIRS onboarding/API credentials, and any existing chart of accounts we must map to rather than replace. We then build against your requirements, deliver on a staging environment for UAT, and only cut over to production once you sign off. Typical delivery is 2-4 weeks from confirmed scope, and you receive the full source so you are never locked in.
Companies filing VAT and WHT with FIRS that need e-invoicing compliance without ripping out their existing Odoo accounting setup. They want returns to reconcile automatically and audit-ready invoices with valid IRNs.
Consultancies rolling out Odoo for Nigerian clients who need a proven, extensible FIRS localization to drop into projects — delivered with source and docs so their own team can maintain and adapt it per client.
Leaders accountable for FIRS compliance and penalty exposure who need reliable e-invoice transmission, defensible WHT handling, and clear submission status visibility across every document.
Businesses running several Nigerian legal entities in one Odoo database that need per-company TINs, tax configuration and FIRS credentials handled cleanly with record-rule isolation.
ecosire.com でライセンスを購入し、アカウント ダッシュボードから Nigeria FIRS E-Invoicing & VAT Compliance for Odoo モジュールの ZIP をダウンロードします。
ZIP をサーバー上の Odoo カスタム アドオン フォルダーに抽出します (または、[アプリ] > [Odoo.sh / runbot のファイルからインストール] を介してアップロードします)。
開発者モードをアクティブにし、アプリを開き、「アプリリストの更新」をクリックして、「Nigeria FIRS E-Invoicing & VAT Compliance for Odoo」を検索し、「インストール」を押します。
新しいメニューを開き、ECOSIRE ライセンス キーを貼り付け、外部認証情報 (Shopify、Amazon、Stripe など) を接続して保存します。
組み込みの接続テストを実行し、最初の 10 レコードを同期し、定期的な cron をスケジュールします。何か問題が発生した場合はサポートにお問い合わせください。
| 基準 | エコシエール | カスタムビルド | 競合他社 | オドゥー ネイティブ |
|---|---|---|---|---|
| FIRS e-invoice transmission | Purpose-built connector with IRN/QR write-back and retry | Possible, but you design the API integration from scratch | Rarely covered; most generic tax apps stop at invoicing | |
| Nigerian VAT (7.5%) & WHT | Full VAT + WHT tax structure with return-ready reports | Built to spec but at full dev cost and QA burden | Sometimes VAT only; WHT usually missing | |
| Chart of accounts | Nigerian COA installed fresh or mapped to yours | Whatever you build; mapping is your responsibility | Generic or country COA, limited mapping help | |
| TIN validation | Enforced on `res.partner` via constrains/onchange | Only if you scope and code it | Usually a plain text field, no validation | |
| Odoo version fit | Built and pinned to your 17/18/19 series, Community or Enterprise | Depends on your developer's coverage | Often lags new releases; may need paid upgrade | |
| Ownership & source | Full source + git repo handover, no lock-in | You own it, but you also carry all the risk | Often encrypted/obfuscated, license-restricted | |
| Support & spec changes | Defined post-go-live window + retainer for FIRS updates | You maintain it or re-hire per change | Generic vendor support, no Nigeria SLA | |
| Delivery model | Build-to-order, UAT on staging, 2-4 weeks from scope | Longer, unpredictable timelines and cost | Instant download but gaps you must fill yourself |
This is a build-to-order module, so there is no instant download. Typical delivery is 2-4 weeks from confirmed scope. The clock starts once we've agreed your Odoo version, WHT/VAT treatments, FIRS credentials and chart-of-accounts approach on the scoping call. We deliver to a staging instance for UAT first, then production cutover happens only after your sign-off.
Both. The module is built on the core `account` app so it runs on Community and Enterprise. A few conveniences depend on Enterprise-only apps — if any of your requirements touch those we flag it during scoping and offer a Community-compatible path, so there are no surprises after purchase.
Odoo 17.0, 18.0 and 19.0. We pin the `__manifest__.py` version and build/test against your exact series. If you later upgrade Odoo, we can port the module as part of a follow-on engagement.
Only if you want it to. We can install the Nigerian localized COA fresh, or map our VAT/WHT tax structure onto your existing chart of accounts so your historical data and reports stay intact. This is one of the decisions we settle during scoping.
Each posted `account.move` is serialized into the FIRS-required payload and transmitted over authenticated HTTPS to the FIRS API. The returned IRN, validation reference and QR data are written back onto the invoice, and the transmission state is tracked (submitted/validated/rejected). An `ir.cron` job can batch-submit and retry transient failures, and rejected documents surface the FIRS error for correction and re-submission.
Every engagement includes a defined post-go-live support window for bug fixes, FIRS API adjustments and questions. Because you receive the full source and git history, your own team can also maintain it. If FIRS changes its e-invoicing spec or you need new features, we handle that under a support retainer or a scoped change request.
Yes. You receive installable source for your Odoo version plus the full git repository, so you are never locked in. You can read, extend and maintain the module yourself or bring in any Odoo developer to do so.
A build-to-order Odoo module that makes Nigerian companies compliant with FIRS e-invoicing, 7.5% VAT and withholding tax — with a localized chart of accounts, TIN validation and return-ready reports. ECOSIRE scopes, builds, installs and supports it on Odoo 17, 18 or 19.