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. Expected Credit Loss (IFRS 9) v 17.0
  4. Sales Conditions FAQ

Expected Credit Loss (IFRS 9)

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 17.0 Third Party 11
Download for v 17.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Versions 16.0 17.0 18.0 19.0
  • Description
  • Manifest
ERP Heritage · Accounting Suite
ERP Heritage Accounting Suite

Expected Credit Loss (IFRS 9)

Measure the loss allowance on trade receivables with a provision matrix or a general 3-stage model, then post only the movement to impairment loss in one balanced entry.

Free · LGPL-3Odoo 17 Communityv17.0.1.2.0v17.0.1.2.0
Provision matrix ageing buckets
Populate from open receivables
Simplified lifetime ECL
General 3-stage model
Movement-only journal entry

Why this module

Expected Credit Loss (IFRS 9)

Movement, not balance

Post only what changed

The run recognises the movement from the opening allowance to the closing allowance in one balanced entry, debiting impairment loss and crediting the loss-allowance contra account on an increase and reversing on a decrease (IFRS 9.5.5.8), never re-posting the full allowance.

Two models, one run

Simplified or general

The simplified provision matrix measures lifetime ECL as gross carrying amount at each bucket's loss rate. The general approach measures EAD times LGD times PD, using the 12-month PD for Stage 1 and the lifetime PD for Stages 2 and 3.

Tied to the ledger

Opening allowance that ties out

The opening allowance defaults by roll-forward from the prior posted run's closing allowance, and a warning fires when it disagrees with the loss-allowance ledger balance carried into the period, so the roll-forward is confirmed before you post.

Day in the life

Quarter-end allowance in a few clicks

Open a run for the reporting date, define your ageing buckets and loss rates, and click Populate from Receivables to age open, unreconciled invoices by days past due into each bucket at the residual amount. The opening allowance rolls forward from last quarter automatically; if it does not tie to the loss-allowance ledger a warning tells you before you post. Compute, then post: the manager approves and the run books just the movement to impairment loss. Need to correct it later? Only a manager can reverse it, which reopens the matrix for editing.

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.

Movement math

Posting books only the closing-less-opening movement, so a period where the allowance falls debits the contra account and credits impairment loss as a genuine reversal, and a nil movement is refused with an explicit message rather than posting an empty entry.

Ageing accuracy

Populate reads only posted, unreconciled receivable lines dated on or before the reporting date, uses each line's residual amount, skips credits and fully-settled lines, and treats not-yet-due amounts as zero days overdue so they land in the current bucket.

Roll-forward integrity

The opening allowance is defaulted from the prior posted run, and the ledger tie-out negates the contra account's credit balance and excludes this run's own move, so it compares like for like and flags a real mismatch.

Frozen after post

Once posted or reversed, the reporting date, accounts, journal, opening allowance and every bucket are frozen against direct ORM writes, and buckets cannot be added, edited, moved in or deleted, so the recognised figure can never silently drift from the entry that was booked.

One run per date

A database constraint allows only one run per company per reporting date, and a posted run cannot be deleted, so the allowance history stays a clean, single-valued roll-forward chain.

What is inside

Built to do the job, end to end.

  • eh.ecl.run. The period-end measurement for one company: reporting date, measurement approach, opening and closing allowance, movement, the three GL accounts and journal, audit stamps for who computed and posted and when, and links to the posted and reversal moves.
  • eh.ecl.bucket. One ageing band in the provision matrix: days-from and days-to bounds, loss rate, IFRS 9 stage, gross carrying amount, and the general-model inputs EAD, LGD, 12-month and lifetime PD, SICR and credit-impaired flags.
  • Populate and stage helpers. action_populate_from_receivables ages open receivables into the buckets, while Stage from Ageing derives the stage from days past due and Stage from Risk derives it from the general-model SICR and credit-impaired flags for disclosure.
  • Present-value discounting. A shared present-value factor from the effective interest rate and periods to recovery discounts both the simplified and general ECL (IFRS 9.5.5.17); leave the rate at zero for an undiscounted matrix.
  • Posting and reversal. _build_move creates the balanced, sealed movement entry and posts it; action_reverse creates and posts a dated reversal, both restricted to the EH Accounting Manager group with the run's state flagged as a controlled transition.
  • Security and isolation. User, manager and read-only auditor access on both models, global company-isolation record rules on runs and buckets, and manager-only gating on posting, reversal, cancellation and any state change on a GL-backed run.

Honest about the edges

What this does not do, so nothing surprises you.

  • It covers trade receivables from the accounting ledger; it does not model loans, debt securities, lease receivables or off-balance-sheet loan commitments and financial guarantee contracts.
  • It does not calibrate loss rates, probabilities of default or LGD for you; you supply the matrix rates and the general-model risk parameters.
  • It does not incorporate forward-looking macroeconomic scenarios or probability-weighted outcomes; the matrix and general inputs are applied as entered.
  • Populate ages receivables by days past their due date only; it does not group by customer segment, product or geography on its own.
  • It posts the allowance movement and its reversal; it does not perform write-off of specific invoices or reconcile the allowance against derecognised balances.
  • It produces the run, the matrix and the ledger movement; it does not render a standalone IFRS 7 credit-risk disclosure note or an ECL roll-forward report document.
Search

odoo 19 expected credit loss, IFRS 9 ECL odoo, provision matrix odoo, simplified approach trade receivables, loss allowance contra account, impairment of receivables odoo, bad debt allowance IFRS 9, ageing buckets loss rate, general 3-stage ECL model, EAD LGD PD odoo, expected credit loss journal entry, roll-forward loss allowance, IFRS 9.5.5.15 simplified approach, receivables impairment community

Expected credit loss run, computed

Expected credit loss run, computedThe IFRS 9 provision matrix staged by days past due, with the total gross exposure, the closing loss allowance, and the movement recognised to profit or loss.

More from ERP Heritage

Modules teams pair with this one.

Premium ERP Heritage modules that extend the same stack, each built to the same engineering bar.

USD 49
Employment Hero Work Entries

Sync Employment Hero work and roster data into Odoo work entries

USD 15
Employment Hero Queue

A dependency free asynchronous job queue that runs long running and fan out work out of band of the request that...

USD 69
Ireland - Payroll Account

Post Irish payslips to the general ledger on the Irish chart of accounts

USD 99
Project Gantt

Interactive drag and drop Gantt planner for Odoo 17 Community project tasks with a deterministic server side sche...

USD 59
Employment Hero Connector

Employment Hero Connector is the integration core of the ERP Heritage Employment Hero suite, providing per compan...

USD 9
Employment Hero UK

The United Kingdom country pack for the ERP Heritage Employment Hero integration

ERP Heritage

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

v17.0.1.2.0 · LGPL-3 · Odoo 17 Community

Developed by Odoo Consultant Sydney • LinkedIn

Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Discuss (mail)
• Invoicing (account)
Community Apps Dependencies Show
Accounting Suite Base
Lines of code 5744
Technical Name eh_account_ecl
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/

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