Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Accounting
  3. FX Period End Revaluation v 19.0
  4. Sales Conditions FAQ

FX Period End Revaluation

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 19.0 Third Party 32
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Discuss (mail)
• Invoicing (account)
Community Apps Dependencies Show
Accounting Suite Base
Lines of code 4992
Technical Name eh_account_fx_revaluation
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Discuss (mail)
• Invoicing (account)
Community Apps Dependencies Show
Accounting Suite Base
Lines of code 4992
Technical Name eh_account_fx_revaluation
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
ERP Heritage · Accounting Suite
PERIOD END FX REVALUATION

FX Period End Revaluation

Retranslate open foreign currency balances at the closing rate into one balanced, audited IAS 21 journal, with optional next day auto reversal.

Free · LGPL-3IAS 21ECB RATE FEEDv19.0.1.2.4
IAS 21 revaluation
ECB feed
Auto reversal
Audited journal
IFRS 9 hedge

Why this module

FX Period End Revaluation

01 / STANDARDS

IAS 21, done as a mechanism

Open monetary balances are retranslated at the closing rate and the unrealised gain or loss is posted to one balanced journal. Non monetary accounts (inventory, fixed assets, equity) are rejected even if a user flags them, because IAS 21 carries them at historical rate.

02 / AUDITABILITY

Lines are real records

Every adjustment is a queryable, exportable line carrying its closing rate snapshot, old and new balance, and partner. Each run stamps user and timestamp on every transition with full chatter, post and reverse are manager only, and a posted run cannot be re posted.

03 / NO SILENT GUESSES

A missing rate stops the run

The ECB feed walks back from the daily to the 90 day historical feed for non business days and back dated runs, then surfaces an explicit error rather than returning empty. A missing closing rate raises and names the currency instead of guessing.

Day in the life

A controller closes a multi currency month.

On the last day of the period the controller opens a new revaluation run, pulls the missing closing rates (only the currencies that actually appear in open lines are fetched), and computes. The run scans every open foreign currency receivable and payable, groups them by account, partner and currency, and produces one adjustment line per group, each carrying the closing rate it used. A line reconciled later than the revaluation date still counts because open balance is judged on the foreign currency residual, not a reconciliation flag. Posting books the per group adjustments and a single balancing leg to the FX gain or FX loss account. The controller ticks the auto reversal option, so the entry backs itself out on the next day and does not carry into the next period.

Edge cases

The cases most modules quietly ignore.

In the shipped code today, each one a place where a cheaper module silently does the wrong thing.

ASSET VS LIABILITY SIGN

Gain and loss classification respects the signed balance, so a positive adjustment on a credit balance liability is treated correctly versus the same adjustment on an asset. This sign inversion is the subtlety most spreadsheet workflows get wrong.

OPEN BALANCE BY RESIDUAL

Open balance detection uses the foreign currency residual, so a line reconciled at a date after the revaluation date is still included while a fully settled line is skipped. Revaluation reflects what was actually open on the date.

NO DOUBLE COUNTING

The functional currency translation legs carry no amount in foreign currency, so the foreign currency residual stays on the original journal items and the same exposure is never revalued twice.

RATE FETCHED ONCE

Within a run each currency is fetched from the rate source only once and cached, even across many account and partner groups, and only currencies present in open lines are requested from the provider.

ECB FALLBACK, EXPLICIT

The feed falls back from the daily to the 90 day historical XML for non business days and back dated runs and derives non EUR pairs by cross rate, then raises an explicit error rather than returning empty silently.

HEDGE EFFECTIVENESS GUARD

Regression effectiveness rejects a sign blind R squared by also requiring a negative slope near minus one, so a positively correlated, non hedging relationship fails the test instead of passing on correlation alone.

What is inside

Built to do the job, end to end.

  • Revaluable account flag. A per account FX Revaluation toggle, defaulted on for receivable, payable, bank and credit card accounts. Non monetary account types are rejected with an explanatory error to keep retranslation IAS 21 monetary only.
  • Revaluation run with state machine. One run record per period end date moving through draft, computed, posted, reversed and cancelled. Compute, post and reverse are explicit actions, each transition is stamped, and the generated and reversal moves link back to the run.
  • Per group adjustment lines. One line per account, partner and currency, each storing the closing rate snapshot, old and new functional balance, and the adjustment, rounded with company currency precision before posting. Lines are real, queryable, exportable records.
  • Single balanced journal entry. Posting books the per group adjustment to the account and a single balancing leg to the configured FX gain or FX loss account. The gain and loss legs come from the same per line adjustments, so the move balances by construction.
  • Optional next day auto reversal. A one click option posts a reversal dated the next day, matching the common policy of reversing the unrealised entry at period start so it does not carry into the next period.
  • Live ECB rate feed and daily cron. Fetches the ECB daily and 90 day historical XML over HTTP with EUR cross derivation, writes rates into the currency, runs on a daily cron, and pulls missing rates on demand for a run. No silent fallback: a missing rate raises and names the currency.
  • IFRS 9 hedge accounting engine. Cash flow, fair value and net investment hedge models with dollar offset and slope guarded regression effectiveness tests, OCI versus P and L split posting, and OCI to P and L reclassification. Installs with the module and is reached via the Hedges action.

Honest about the edges

What this does not do, so nothing surprises you.

  • IAS 21 compliant for the common case where the company keeps its functional currency in the ledger and transacts partly in foreign currencies. It revalues open monetary balances, it is not a full foreign operation translation engine.
  • The hedge accounting engine installs and is functional, but it is not yet surfaced on a top level menu. Reach the hedge records through the Hedges action rather than a dedicated menu item.
  • Hedge fair value changes are supplied manually or pushed from a treasury system into movement records. There is no automatic instrument valuation or market data feed for hedged items.
  • Audit fields are readonly in the UI and every transition is tracked in chatter, but there is no model level write or unlink immutability guard on the run or line records.
  • A missing closing rate aborts the whole run by design rather than skipping the affected currency. There is no per line isolation that posts the rest of the run around a missing rate.
Search

Odoo 19 FX revaluation, IAS 21 foreign currency revaluation Odoo, unrealised gain loss period end Odoo Community, multi currency month end revaluation, ECB rate feed Odoo accounting, auto reverse FX revaluation journal entry, foreign currency receivable payable retranslation, IFRS 9 hedge accounting Odoo, hedge effectiveness dollar offset regression Odoo

ERP Heritage

Production-grade Odoo accounting, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au

v19.0.1.2.4 · LGPL-3 · Odoo 19 Community

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with