A build-to-order Odoo module that files UK VAT returns under Making Tax Digital straight from your Odoo ledgers, preserving the digital link from source transaction to the nine boxes HMRC receives. ECOSIRE scopes, builds, installs and supports it on your Odoo 17.0, 18.0 or 19.0 database. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $499.00 USD; request a quote for a scoped proposal.
Illustrative previewA build-to-order Odoo module that files UK VAT returns under Making Tax Digital straight from your Odoo ledgers,
preserving the digital link from source transaction to the nine boxes HMRC receives. ECOSIRE scopes, builds, installs and supports it on your Odoo 17.0, 18.0 or 19.0 database.
No DIY setup — a working app, built, installed and supported by ECOSIRE.
Start with a one-time build price. We scope it with you at kickoff.
ECOSIRE builds, configures and installs it on your Odoo.
You go live in about 2–4 weeks, with a post-launch support window.
UK VAT-registered businesses are required to keep digital records and file VAT returns through Making Tax Digital software — and the part that catches most Odoo users out is not the filing itself, it is the digital link. Odoo core will happily produce a VAT report you can read on screen and export to spreadsheet, but the moment a figure is retyped, copy-pasted, or adjusted in Excel before it reaches HMRC, the unbroken digital audit trail HMRC expects is gone. Odoo's own tax report is also built around a generic tax-grid model: it has no concept of HMRC obligation periods, no view of what you actually owe or have paid, no handling of the Flat Rate Scheme's fixed percentage, no Cash Accounting basis switch, and no partial exemption or fuel scale charge workflow. In practice UK teams end up bridging out to a third-party spreadsheet tool, which reintroduces exactly the manual step the legislation was written to remove.
This module closes that gap inside Odoo. We build a dedicated uk.mtd.vat.return model (a models.Model with @api.depends computes) that derives every one of the nine boxes directly from account.move.line and the UK tax grids on account.tax, so each box value is a stored computed field with a drill-down back to the originating journal items. There is no export-and-retype step: the numbers submitted are the numbers Odoo computed. Around that we build the HMRC integration layer — OAuth 2.0 authorisation with token storage and refresh, the mandatory fraud-prevention header set, retrieval of open obligations, submission of the return, and read-back of liabilities and payments — each exposed as its own model so a failed call is a stored record with a status and an HMRC correlation ID, not a lost log line. Submission is guarded: a period cannot be filed twice, a filed return is locked, and the underlying journal entries for that period can be flagged so late postings surface as a correction rather than silently changing a submitted figure.
On top of the filing core we build the scheme-specific behaviour a UK finance team actually needs. Flat Rate Scheme returns compute turnover-based output tax at your agreed percentage with the limited-cost-business test and the first-year discount handled as configurable parameters. Cash Accounting drives the box calculation from payment reconciliation rather than invoice date, using the reconciled account.partial.reconcile links so the basis switch is data-driven rather than a separate report. Partial exemption support adds a recoverable-proportion calculation with a standard-method annual adjustment, and fuel scale charges post as a scheduled adjustment entry against a dedicated tax so the charge lands in the right boxes without a manual journal. Everything is visible: list, form and pivot views (XML, with an OWL component for the obligations panel), a QWeb PDF submission receipt for your records, and a full posting audit so anyone can reconstruct why box 6 says what it says.
Security and access follow standard Odoo practice — ir.model.access.csv entries for a VAT Filer and a VAT Manager group, record rules scoping returns to the correct res.company for multi-company groups, and HMRC credentials stored per company rather than globally. Automated actions (ir.cron) refresh obligations and liabilities on a schedule so the dashboard reflects HMRC's view without anyone clicking. The whole module is exposed over the standard XML-RPC/JSON-RPC API, so an external process or a scheduled action can trigger a draft-return computation if you want filing to be part of a wider close routine. It runs on Odoo Community and Enterprise; where Enterprise's accounting reporting engine is present we plug into it rather than duplicating it, and on Community we ship the equivalent report views ourselves — the __manifest__.py declares the correct dependency set for whichever edition and series (17.0, 18.0 or 19.0) you run.
This is a build-to-order product, not an instant download. You request a quotation, we run a scoping call to confirm your VAT scheme, group structure, chart of accounts and tax grid setup, and how your data currently reaches HMRC. From confirmed scope, typical delivery is two to four weeks: we develop against your Odoo version, deliver to a staging database for UAT with a dry-run submission against HMRC's sandbox, then install on production with a documented rollback. You receive the full source, technical and user documentation, a training session, and a post-go-live support window.
Runs the quarterly VAT cycle in Odoo but currently exports to a spreadsheet and files through a bridging tool. Needs the return computed and submitted from the ledger itself, with a drill-down they can defend if HMRC asks how box 6 was derived, and a locked record of every filing.
Manages several UK entities, some on different VAT schemes, inside one Odoo database. Needs per-company HMRC credentials, record rules that stop one entity's return being visible or filable from another, and a single obligations dashboard across the group.
On the Flat Rate or Cash Accounting Scheme, or partially exempt, where Odoo's generic tax report simply does not produce the right numbers. Needs the scheme logic built into the computation — flat-rate percentage, payment-basis boxes, recoverable proportion and the annual adjustment — rather than reconstructed by hand each quarter.
Files for multiple Odoo-based clients and needs a repeatable, auditable process: obligations visible per client, submissions evidenced with HMRC correlation IDs and receipts, and a PDF pack per period that can go straight into the client file.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Digital link to HMRC | Unbroken — submitted figures are the same computed fields Odoo derived from journal items | Achievable, but the link discipline depends entirely on how your developer builds it | Often a report export the finance team still bridges through a spreadsheet | Produces a tax report on screen and a spreadsheet export; no submission path |
| HMRC API integration | OAuth 2.0 with token refresh, full fraud-prevention headers, obligations, submission, liabilities and payments | Built from scratch; the fraud-prevention header set alone is a substantial specification to get right | Usually submission only, with obligations and liabilities missing or read-only | None — Odoo core has no HMRC connection |
| VAT scheme coverage | Standard, Flat Rate, Cash Accounting and partial exemption built and tested against your own periods | Whatever is specified; scheme edge cases typically surface after the first live quarter | Standard scheme assumed; special schemes usually out of scope | Generic tax grids only — no scheme concept |
| Fit to your chart of accounts and tax setup | Mapped to your actual tax grids and accounts during scoping, before a line is written | Fits by definition, at the cost of designing the whole solution yourself | Assumes a stock UK localisation; deviations mean forking or manual adjustment | Depends on you configuring the l10n_uk grids correctly, unaided |
| Audit trail and evidence | Submission records with HMRC correlation ID, payloads, receipt and a QWeb PDF; box-level drill-down | Only if explicitly specified and paid for | Typically a confirmation message; limited stored evidence | Report drill-down exists, but nothing about a submission because none occurs |
| Multi-company and access control | Per-company credentials, VAT Filer / VAT Manager groups, record rules preventing cross-entity filing | Frequently deferred to phase two and retrofitted | Often single-company or global credentials | Standard Odoo accounting rights; no filing-specific roles |
| Cost and timeline | Fixed quotation after scoping; typically 2-4 weeks from confirmed scope | Open-ended discovery, build and rework; usually the longest and least predictable path | Low licence cost up front, with bridging tools or manual effort absorbing the difference | No build cost, but no filing capability — a separate MTD tool is still required |
| Ownership and ongoing maintenance | Full source and git repository handed over; optional maintenance for Odoo and HMRC API changes | You own it and you maintain it, including every future HMRC API change | Vendor-controlled; you wait for their release when HMRC changes something | Maintained by Odoo, but the MTD gap is not on their roadmap to close |
This is a build-to-order module, not an existing download. After you request a quotation we hold a short scoping call (typically 30 minutes) to confirm your Odoo version and edition, VAT scheme, company structure, chart of accounts and current tax grid setup. From confirmed scope, typical delivery is two to four weeks. That covers development against your specific version, delivery to a staging database, UAT with a dry-run submission against HMRC's sandbox, and then a production install with a documented rollback plan.
Every build includes a post-go-live support window covering defect fixes, assistance on your first live filing runs, and triage of any HMRC error responses. Beyond that window we offer an optional annual maintenance agreement covering compatibility with your Odoo point releases and any changes HMRC makes to the MTD VAT API or its fraud-prevention header requirements. You also receive the full git repository, so your own team can maintain the code if you prefer.
The module is designed so no manual step sits between your Odoo journal entries and the figures sent to HMRC. Each of the nine boxes is a computed field derived from `account.move.line` records via your UK tax grids, and the same computed values are what the submission call sends — there is no export, no spreadsheet, no retyping. The submission record retains the request payload and HMRC correlation ID so the link is evidenced end to end. Your own record-keeping upstream of Odoo still has to be digital; we will review that with you during scoping.
We build for Odoo 17.0, 18.0 and 19.0, on Community or Enterprise. The `__manifest__.py` declares the dependency set appropriate to your edition — on Enterprise we integrate with the existing accounting reporting engine rather than duplicating it, and on Community we ship the equivalent report views within the module. One build targets one series; if you plan to upgrade Odoo we can quote the port at the same time.
Yes — scheme handling is part of the build rather than an afterthought. Flat Rate computes output tax on turnover at your agreed percentage with the limited-cost-business test and first-year discount as parameters. Cash Accounting drives the boxes from payment reconciliation rather than invoice date. Partial exemption adds a recoverable-proportion calculation with a de minimis test and a standard-method annual adjustment posted as its own entry. Tell us your scheme at scoping and it is configured and tested against your own historical periods.
Yes, and we insist on it. The module ships with a sandbox toggle that points the whole flow — OAuth authorisation, obligation retrieval, submission — at HMRC's test service. UAT on your staging database includes a dry-run submission and a comparison of the computed boxes against your last manually prepared return, so you sign off on numbers you already recognise before the first live filing.
Access is controlled with standard Odoo security: `ir.model.access.csv` entries for a VAT Filer group (compute and review) and a VAT Manager group (authorise and submit), plus record rules scoping returns and HMRC credentials to the correct `res.company`. Multi-company groups get per-entity credentials and a consolidated obligations view, with no cross-entity filing possible from the wrong company context.

A build-to-order Odoo localization that loads Algeria's full wilaya and commune hierarchy with bilingual French and Arabic names, wired into partner addresses and reporting. ECOSIRE builds, installs, and supports it after your quotation.



A build-to-order Odoo module that lets you render any accounting report — P&L, Balance Sheet, aged reports, journals, trial balance — in a currency of your choice, with automatic conversion at the rate you define. ECOSIRE scopes, builds, installs and supports it for your Odoo 17/18/19 environment.
A build-to-order Odoo module that files UK VAT returns under Making Tax Digital straight from your Odoo ledgers, preserving the digital link from source transaction to the nine boxes HMRC receives. ECOSIRE scopes, builds, installs and supports it on your Odoo 17.0, 18.0 or 19.0 database.