Fair Value Measurement (IFRS 13)
Classify each item in the fair-value hierarchy, record its valuation technique, then remeasure the carrying amount to fair value and post the gain or loss to profit or loss or OCI in one balanced, sealed journal entry.
Why this module
Fair Value Measurement (IFRS 13)
Assets and liabilities post the right way
The remeasurement leg knows whether the item is a financial asset or a financial liability. A rise in an asset is a gain that increases the balance-sheet carrying amount; a rise in a liability is a loss that increases the liability. The mirror logic for falls is handled too, so the sign is never guessed.
FVOCI classification with reserve recycling
Beyond a simple P&L or OCI switch, items carry an IFRS 9 classification: FVTPL, FVOCI-debt (recycles to profit or loss on derecognition) or FVOCI-equity election (transfers within equity, never recycled). The recycle action clears the accumulated OCI reserve to the correct destination and blocks a profit-or-loss transfer for an equity election.
Every gap raises an explicit message
A missing journal, balance-sheet account, gain/loss or OCI account, a nil remeasurement, or a balance-sheet account that is actually a profit-or-loss account each stop the post with a clear error instead of writing a wrong or unbalanced entry.
Day in the life
Quarter-end fair value on an equity investment
You open the fair value item for an investment held at 1,000, set the new fair value to 1,200 at the measurement date, and choose OCI routing with an FVOCI equity election. Remeasure posts a balanced entry, 200 debit to the balance-sheet asset and 200 credit to the OCI reserve, then rolls the carrying amount to 1,200 so next quarter measures only the further change. On disposal you recycle the reserve, and because it is an equity election the module transfers it within equity rather than through profit or loss. For a Level 3 holding you also keep the period roll-forward, opening balance through gains, purchases, transfers and settlements to a computed closing balance that you can tie back to the item's fair value.
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.
For a financial liability the posting mirror is applied: a rise in fair value increases the liability and is a loss, a fall decreases it and is a gain, so the gain/loss sign is not the same as for an asset.
A constrains check refuses a balance-sheet account whose internal group is income or expense, because a profit-or-loss position leg would double-count the remeasurement and misstate the carrying amount.
Once an item is measured, fair value, prior carrying, routing, nature and the three accounts are frozen on write, so a recorded remeasurement cannot be retro-edited out from under its posted journal entry.
An item that has posted a remeasurement cannot be deleted, only cancelled, so its journal entry is never orphaned; items that never posted stay deletable.
Recycling an FVOCI equity reserve refuses to route to a profit-or-loss account and requires an equity destination, enforcing that an equity election is never reclassified to profit or loss.
What is inside
Built to do the job, end to end.
- eh.fair.value.item. The core model in models/fair_value_item.py: nature, hierarchy level, valuation technique, unobservable inputs, measurement date, prior carrying, fair value, computed remeasurement, P&L/OCI routing, IFRS 9 classification and the balance-sheet, gain/loss, OCI and journal fields, with mail thread tracking.
- eh.fair.value.rollforward. A Level 3 reconciliation model (IFRS 13.93(e)) recording opening balance, gains in P&L and OCI, purchases, issues, sales, settlements and transfers in and out, with a stored computed closing balance and a uniqueness constraint of one reconciliation per item per period.
- Remeasure, recycle and reset actions. action_remeasure builds and posts the balanced entry and rolls the carrying amount forward; action_recycle reclassifies the OCI reserve; action_reset_to_draft reopens a measured item for the next incremental measurement; action_cancel and action_view_moves round out the workflow.
- Sealed audit trail. Posted moves are linked back to the item and marked sealed, with an ondelete restrict on the move link; a computed OCI reserve balance sums the posted OCI leg movements so the reserve available to recycle is always visible.
- Security and isolation. Access rights for EH user, manager and read-only auditor groups, global company-isolation record rules on both models, and posting, cancelling, recycling and reopening all gated to the EH Accounting Manager group.
Honest about the edges
What this does not do, so nothing surprises you.
- It does not fetch or feed market prices; you enter the fair value at the measurement date yourself, it does not connect to any pricing or market-data source.
- It does not build the IFRS 13 sensitivity analysis or the full fair-value disclosure notes; it captures the unobservable inputs and the Level 3 roll-forward, but the narrative disclosures are not generated.
- It does not run impairment or expected credit loss; fair-value movement is posted, not credit-loss provisioning.
- It posts one item at a time from its own record; there is no bulk portfolio revaluation run across many items in a single action.
- It records the remeasurement entry only; it does not compute tax effects or deferred tax on the fair-value change.
odoo 19 fair value, IFRS 13 odoo, fair value hierarchy level 1 2 3, valuation technique market income cost, observable unobservable inputs, fair value through profit or loss, fair value through OCI, FVOCI recycling odoo, IFRS 9 classification FVTPL FVOCI, Level 3 reconciliation rollforward, remeasurement journal entry, fair value accounting community
Fair value measurement with the IFRS 13 hierarchyAn IFRS 13 fair value measurement classified into the level 1, 2, or 3 hierarchy by valuation technique, with the remeasurement routed to profit or loss or OCI.
Modules teams pair with this one.
Premium ERP Heritage modules that extend the same stack, each built to the same engineering bar.
Show the Hijri (Umm al-Qura) date alongside Gregorian dates across Odoo 17
Connect Odoo partner records to the Saudi SPL National Address service and the Wathq commercial registry
One click install of the full Employment Hero integration for Odoo Community, covering the connector, two way syn...
The Malaysia country pack for the ERP Heritage Employment Hero integration
A dependency free asynchronous job queue that runs long running and fan out work out of band of the request that...
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 5126 |
| Technical Name |
eh_account_fair_value |
| License | LGPL-3 |
| Website | https://www.erpheritage.com.au/ |
Please log in to comment on this module