Build-to-order Odoo module giving you Bahrain NBR-ready VAT taxes, chart of accounts, fiscal positions and NBR return templates. One-time license from $249.00 USD for Odoo 17, 18, 19 — includes 12 months of updates and support.

Build-to-order Odoo module giving you Bahrain NBR-ready VAT taxes, chart of accounts, fiscal positions and NBR return templates.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Bahrain VAT Filing & Compliance is a build-to-order Odoo module engineered by ECOSIRE for businesses operating under Bahrain's National Bureau for Revenue (NBR) regime. This is not an off-the-shelf apps.odoo.com download you install in a click — it is a net-new module our team scopes, builds, installs and supports for your specific Odoo 17, 18 or 19 database (Community or Enterprise), typically delivered in 2 to 4 weeks.
Bahrain 10% standard-rate VAT tax records configured as native account.tax with correct tax tags so amounts flow to the right NBR return boxes
Zero-rated and exempt tax codes for qualifying supplies (exports, specific goods/services), each mapped to its own tax grid
Localized Bahraini chart of accounts delivered as account.account data records, including dedicated input VAT, output VAT and VAT-payable control accounts
NBR VAT return template built as an Odoo tax report / QWeb report that computes from live posted journal entries — no spreadsheet re-keying
Fiscal positions (account.fiscal.position) for domestic, GCC, export and import that auto-switch taxes and accounts per partner and transaction
Reverse-charge handling for imported goods and services using paired input/output VAT tags for a net-zero, compliant self-accounting entry
Bahrain's VAT is deceptively simple on paper — a 10% standard rate, zero-rated and exempt categories, reverse-charge on imports and specific supplies — but implementing it correctly inside Odoo means far more than adding a tax line. It means a localized chart of accounts that maps cleanly to the NBR return, correctly configured account.tax records with the right tax grids so figures flow into the return boxes, fiscal positions (account.fiscal.position) that automatically switch taxes for domestic, GCC, export and import scenarios, reverse-charge journal entries that self-account VAT without double counting, and a return template that lets your finance team file with confidence rather than rebuilding numbers in a spreadsheet every period.
We ground the build in real Odoo primitives. Taxes are defined with proper amount_type, tax tags and tax report lines so the NBR return computes from live posted journal entries — not manual re-keying. The chart of accounts is delivered as data records (with account.account codes aligned to Bahraini practice) so your trial balance, VAT control accounts and the return reconcile. Fiscal positions remap taxes and, where needed, accounts per partner and transaction type using Odoo's native fiscal position mapping. Reverse-charge is implemented with the standard input/output VAT tag pairing so imported services and goods raise and reclaim VAT in the same period with a net-zero cash effect where applicable. The NBR return is delivered as a QWeb report / tax report definition you can preview, export and reconcile against your GL before you submit to the NBR portal.
Because ECOSIRE builds it, you also get the parts that off-the-shelf modules skip: access control via ir.model.access.csv and record rules so only accounting roles touch tax configuration, optional automated actions or scheduled jobs for period-end reminders, XML-RPC / JSON-RPC endpoints exposed cleanly if you need to push return figures to an external filing tool, and a documented, upgrade-safe module that survives future Odoo minor upgrades. Every deliverable is handed over as readable source in a proper __manifest__.py-declared module — no encrypted blobs, no vendor lock-in.
Whether you are a Bahraini SME going live on Odoo for the first time, a finance team cleaning up a mis-configured VAT setup, or a GCC Odoo partner who needs a reliable Bahrain localization to drop into client projects, this build gives you an NBR-aligned VAT foundation that your accountant can actually trust at filing time.
A finance manager or in-house accountant at a Bahrain-based SME who needs Odoo to produce an NBR-ready VAT return without exporting to spreadsheets. They want taxes, accounts and fiscal positions that just work so period-end filing is fast and defensible.
A consultant or partner delivering Odoo projects across the Gulf who needs a reliable, documented Bahrain VAT localization to drop into client databases. They value clean source, upgrade-safety and a build that behaves consistently across Odoo 17, 18 and 19.
A decision-maker at a growing or newly-registered Bahraini company who wants VAT set up correctly the first time. They care about compliance risk, audit readiness and having a partner who installs, trains and supports rather than hands over a raw zip.
Buy the license on ecosire.com and download the Bahrain VAT Filing & Compliance module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Bahrain VAT Filing & Compliance, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Bahrain NBR return template that computes from live journal entries | Built and reconciled to your GL, previewed before filing | Possible but you design and test the tax grids yourself | Sometimes included, often generic and not NBR-box-accurate | |
| Bahrain-specific chart of accounts with VAT control accounts | Delivered as data records, loaded and reconciled | You build and map every account manually | May ship a generic GCC CoA needing rework | |
| Fiscal positions for domestic / GCC / export / import | Configured to auto-switch taxes and accounts per partner | Hand-configured; easy to miss import/export cases | Basic set, often not covering all scenarios | |
| Reverse-charge on imports (net-zero, correctly tagged) | Implemented with paired input/output tags and demonstrated | Error-prone to get right without deep tax-tag knowledge | Varies; frequently a known gap or double-counts | |
| Installed, validated and trained on your database | Yes — install, test-file, docs and live team training | Only if you hire and manage a developer to do it | No — you install the zip and configure it yourself | |
| Post-go-live support and NBR-change updates | Defined support window plus maintenance for rule changes | Depends entirely on your internal/contract resource | Generic vendor support, no Bahrain-specific SLA | |
| Clean, upgrade-safe, ownable source code | Full readable source in a proper __manifest__.py, no lock-in | You own it but also own all the risk and testing | Sometimes encrypted or license-gated per database | |
| Works on Odoo 17, 18 and 19, Community or Enterprise | Delivered for your exact version and edition | Whatever your developer targets and maintains | Often locked to specific versions/editions |
This is a build-to-order module, not an instant download. Typical delivery is 2 to 4 weeks depending on your Odoo version, whether you are on Community or Enterprise, and the complexity of your existing chart of accounts. The process is: a short scoping call to confirm your NBR filing needs and current setup, then we build the module, install it in a staging/test copy of your database, validate the return against sample transactions with you, deliver documentation and training, and move it to production with a support window.
Every build includes a defined post-go-live support window for fixes, configuration adjustments and questions from your team. Because the module is delivered as clean, readable source with a proper __manifest__.py, it is upgrade-safe by design — we provide compatibility guidance for future Odoo minor upgrades, and if NBR changes rates, forms or filing rules, we can update the tax records, grids and return template under a support or maintenance agreement so your filings stay compliant.
Yes. The module is built to run on both Odoo Community and Enterprise and is delivered for your chosen version — 17, 18 or 19. It relies on Odoo's native accounting primitives (account.tax, tax tags/grids, fiscal positions and the tax report), so it does not require Enterprise-only apps to produce the NBR return, though it integrates cleanly if you are on Enterprise.
The return is built as an Odoo tax report / QWeb report definition. Your VAT taxes are configured with the correct tax tags and grids, so every posted invoice, bill, import and adjustment automatically maps into the right return box. At filing time your team opens the return for the period, previews the computed figures, reconciles them against the VAT control accounts in the GL, and exports the numbers to submit through the NBR portal — no manual spreadsheet rebuild.
Reverse-charge is implemented using Odoo's standard paired input/output VAT tag approach. When you record an imported good or service subject to reverse-charge, the module raises output VAT and a corresponding reclaimable input VAT in the same period, so the entry is net-zero where the VAT is fully recoverable and both sides land correctly in the relevant NBR return sections. We configure and demonstrate this with worked examples during handover.
You receive the complete, readable module source — models, views, security via ir.model.access.csv and record rules, data and reports. There are no encrypted blobs and no vendor lock-in. You are free to keep, modify or have another partner maintain it, though most clients keep us on for updates because we know the build and track NBR changes.
Build-to-order Odoo module giving you Bahrain NBR-ready VAT taxes, chart of accounts, fiscal positions and NBR return templates.