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. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $249.00 USD; request a quote for a scoped proposal.
App manifest
Built around your workflow
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.
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.
Odoo stores every journal entry in your company currency, and its financial reports are locked to that currency. The moment a stakeholder abroad, a parent entity that consolidates in another currency, or a board that reviews numbers in USD or EUR wants the same Profit & Loss, Balance Sheet or Aged Payables "but in their currency", finance teams fall back to exporting to a spreadsheet and re-keying an FX rate by hand. That is slow, error-prone, and impossible to reconcile back to the ledger. Odoo core does hold amount_currency on foreign-currency lines, but there is no built-in way to take a whole report and re-express it in an arbitrary target currency at a rate you control.
This is what we build for you. The module adds a currency selector (and an optional rate override) to the standard accounting report views, and re-renders every figure — line amounts, subtotals, comparatives and drill-downs — in the chosen currency. Technically, we extend Odoo's account.report engine (the same one that powers the Enterprise financial reports) or the community reporting layer where Enterprise is not present, injecting a conversion pass keyed off res.currency and res.currency.rate. Amounts are converted using currency._convert() with the report's date context so period-end and daily-rate logic stays correct, and we expose a compute/@api.depends layer so figures recalculate live when you switch currency. The selector is wired through the report options dictionary so it round-trips into the QWeb and XLSX/PDF exports, meaning a report you view in currency X also prints and exports in currency X. Access is governed by ir.model.access.csv and record rules so only the finance roles you designate can override rates, and every override is auditable.
Because your chart of accounts, localization, rate sources and consolidation needs are specific to you, we build this to order rather than shipping a one-size-fits-all download. We start with a scoping call to confirm which reports you need currency-enabled, whether rates come from Odoo's live rate providers or a manual/period-locked table, and whether multi-company consolidation is in play. We develop against a copy of your data, validate on a staging database, and hand over clean, documented source in a git repository. Typical delivery is 2-4 weeks from confirmed scope. Pricing starts from $249 (indicative, single-company base scope); multi-company consolidation, additional report types, custom rate-source integrations, and deeper localization increase the quoted scope. You receive a fixed quote after the scoping call — never a surprise on delivery.
Consolidates subsidiaries that keep books in local currencies and needs the same statutory reports re-expressed in the group reporting currency at a controlled rate, without re-keying figures into spreadsheets.
Runs Odoo in the operating-company currency but reports to a board or investors who review numbers in USD or EUR; wants board-ready P&L and Balance Sheet in their currency straight from Odoo, with the rate disclosed.
Deals with customers, suppliers and bank accounts across several currencies and wants aged and cash-flow reports viewable in whichever currency the conversation of the day is happening in.
Owns the Odoo instance and wants a clean, documented module with proper access rules and a git repo they can maintain, rather than an opaque third-party download they cannot extend.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Report currency | Any target currency selectable on the standard report toolbar | Whatever you build; depends on developer effort | Often a fixed second currency, limited report set | |
| Rate control | Live provider, manual table or period-locked, with auditable override | Possible but must be designed and built from scratch | Usually the system rate; override rarely offered | |
| Coverage across reports | Scoped set: P&L, Balance Sheet, aged, ledgers, cash flow | Only what you commission | Typically one or two headline reports | |
| Export & print fidelity | Currency and rate carried into PDF and XLSX exports | Must be wired in deliberately | On-screen only in many cases | |
| Fit to your setup | Built to your CoA, edition and consolidation needs | Fully bespoke, at full bespoke cost | Generic; you adapt to its assumptions | |
| Ownership & maintainability | Documented source + git repo handover, you own it | You own it, but you also carry all the design risk | Closed module; extension depends on the vendor | |
| Support & upgrades | Post-go-live window + optional 17/18/19 upgrade retainer | Whoever built it, if still available | Vendor SLA varies; upgrades on their schedule | |
| Total cost profile | Indicative from $249, fixed quote after scoping | Highest — full discovery and build every time | Low licence fee, but gaps and workarounds add up |
No. This is a build-to-order module. ECOSIRE builds it to fit your chart of accounts, edition, rate source and reporting needs, then installs and supports it. It is a productized service, not an off-the-shelf apps.odoo.com download.
Typical delivery is 2-4 weeks from confirmed scope. After the scoping call we agree the exact report list, rate handling and any multi-company requirements, and that confirmed scope sets the timeline. Larger consolidations or many report types sit at the upper end of that range.
Pricing starts from $249 as an indicative from-price for a single-company base scope. We hold a short scoping call, then send a fixed quote — no moving target at delivery. Drivers like multi-company consolidation, extra report types, custom rate-source integrations and localization depth adjust the quote.
No. Conversion is strictly a presentation layer. Your journal entries and posted ledger stay in the company currency exactly as Odoo recorded them. The module re-expresses report figures on screen and in exports without touching the underlying books, so audit and reconciliation are unaffected.
Every build includes a post-go-live support window for defect fixes and questions, with the duration set in your quote. We hand over a git repository so your team owns the code, and we can quote an ongoing support or version-upgrade retainer to keep the module aligned as you move between Odoo 17, 18 and 19.
Odoo 17.0, 18.0 and 19.0, in both Community and Enterprise. On Enterprise we extend the built-in account.report engine; on Community we build against the community reporting layer. We confirm the right approach for your edition during scoping.
That is a scoping decision. We can pull from Odoo's live rate providers, use a manually maintained res.currency.rate table, or apply a period-locked rate matrix for consistent month-end reporting. We can also let designated roles override the rate on a given report, with the override logged for audit.
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.