IFRS 16 Lease Accounting
by Odoo DevHouse https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse$ 600.00
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Lines of code | 2092 |
| Technical Name |
ifrs_lease_accounting |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Lines of code | 2092 |
| Technical Name |
ifrs_lease_accounting |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
IFRS 16 Lease Accounting
Complete lessee accounting under IFRS 16 - ROU assets, lease liabilities, automated amortisation schedules, lease modifications, early termination, and XLSX export. Fully integrated with Odoo Accounting.
IFRS 16 requires lessees to recognise virtually all leases on the balance sheet as a Right-of-Use (ROU) asset and a matching Lease Liability. Standard Odoo provides no mechanism for this.
- Manual journal entries - time-consuming, error-prone, hard to audit
- No schedule tracking - which periods are posted vs. outstanding?
- Modifications ignored - remeasurement adjustments missed or incorrectly computed
- No termination workflow - derecognition entries calculated manually
- Audit risk - external auditors cannot trace GL entries back to schedule
This module adds a dedicated IFRS 16 Lease Accounting menu to Odoo. At activation it automatically computes the lease liability (present value of future payments discounted at your IBR), the ROU asset value, and builds the full amortisation schedule. Journal entries for each period are posted automatically by a daily cron - or manually on demand. Every entry links back to its schedule line for a complete audit trail.
- Automatic Initial Recognition: Computes PV of lease payments, ROU asset, and posts the opening journal entry at activation
- Full Amortisation Schedule: Effective interest method with principal / interest / ROU depreciation per period
- Flexible Cadence: Monthly, quarterly, semi-annual, or annual payments - in advance or arrears
- Automated Posting (Cron): Daily cron posts all due schedule lines across all active leases
- Lease Modification / Remeasurement: Wizard captures revised parameters, posts adjustment JE, and rebuilds the remaining schedule
- Early Termination: Derecognition wizard posts ROU / liability removal entry with gain or loss
- Migration Support: Set an Accounting Start Date to migrate existing leases - supply opening balances and let the module build the remaining schedule
- IFRS 16 Exemptions: Flag short-term (â¤12 months) or low-value leases - prevented from activation
- XLSX Schedule Export: Two-sheet Excel workbook with summary and full amortisation table
- Company Default Accounts: Pre-configure IFRS 16 accounts at company level to auto-fill every new lease
- Multi-Company Isolation: Record rules ensure each company sees only its own leases
- Full Audit Trail: Every journal entry links to its schedule line; modification history is immutable
- Chatter & Tracking: State transitions, activations, modifications, and terminations all logged in the chatter
Step 1 - Configure Default Accounts & Journal
Go to IFRS 16 Leases -> Configuration -> Default Accounts (or Settings -> Companies -> IFRS 16 Leases tab). Set the seven default accounts and journal once. Every new lease contract you create afterwards is pre-filled automatically - you can still override them per lease.
ROU Accumulated Depreciation -> Asset Contra (e.g. 161610)
Lease Liability Account -> Liability Non-Current (e.g. 261600)
Lease Payable / Cash Account -> Payable (e.g. 261610)
Interest Expense Account -> Expense (e.g. 651600)
ROU Depreciation Expense -> Expense Depreciation (e.g. 651610)
Lease Journal -> General Journal (e.g. IF16)
Company form -> IFRS 16 Leases tab - seven default account and journal fields. Pre-filled on every new lease.
Step 2 - Create a New Lease Contract
Go to IFRS 16 Leases -> Leases -> Lease Contracts -> New. Fill in the key fields:
- Commencement Date - day the lease starts (IFRS 16 recognition date)
- Lease Term (months) - must be a whole multiple of the payment cadence
- Payment Frequency (Monthly / Quarterly / Semi-Annual / Annual) and Payment Timing (Arrears or Advance)
- Periodic Payment - the fixed payment amount per period
- IBR % (annual) - your Incremental Borrowing Rate, e.g.
6.00for 6 % - Initial Direct Costs / Prepaid Payments / Incentives - adjust the ROU asset opening value
- Accounts & Journal tab - pre-filled from company defaults; override per lease if needed
Lease Contracts list - Active and Draft contracts with key balances, IBR, and status at a glance.
Lease form (Active state) - stat buttons show linked Journal Entries and posted period count. Chatter logs every transition.
Step 3 - Compute Schedule & Activate
Click Compute Schedule to preview the amortisation table (optional - runs automatically on Activate). Then click Activate: the system calculates the Initial Lease Liability (PV of future payments at IBR), sets the ROU Asset value, posts the opening recognition journal entry, and locks the schedule.
Dr ROU Asset Account 166,244.79
Cr Lease Liability Account 164,744.79
Cr Lease Payment Payable 1,500.00 â Initial Direct Costs
PV formula (arrears): PV = PMT Ã (1 â (1+r)^-n) / r
Periodic rate: r = (1 + IBR%)^(months/12) â 1
ROU Asset = Lease Liability + IDC + Prepaid â Incentives
Example values above: $5,000/month, 6% IBR, 36 months, $1,500 IDC. The Opening Entry smart button on the form links directly to this posted journal entry.
Step 4 - Post Periodic Journal Entries
The daily cron posts all due lines automatically. You can also click Post Due Lines on any lease to post immediately, or open a schedule line and click Post Entry to post a single period manually. Each posted line creates a balanced journal entry combining the lease payment and ROU depreciation:
Dr Lease Liability Account 4,198.10 â Principal
Dr Interest Expense Account 801.90 â Interest
Cr Lease Payment Payable 5,000.00 â Payment
Dr ROU Depreciation Expense 4,617.91 â ROU / n
Cr ROU Accumulated Depreciation 4,617.91
Interest = Opening Liability à Periodic Rate
Principal = Payment â Interest
ROU Depreciation = ROU Cost ÷ Total Periods (straight-line)
When all periods are posted the lease state transitions automatically to Ended.
Amortisation Schedule tab - Period Totals and Current Balances update after each posting. Each line shows its opening/closing liability, interest, principal, ROU depreciation, and posted status.
Step 5 - Modify a Lease (Remeasurement)
When lease terms change, click Modify on an active lease (Accounting Manager role required). Enter the modification date, revised total term, new payment, and new IBR. The wizard shows the current liability and ROU values, calculates the new PV, and previews the adjustment delta before you confirm. On confirmation it posts the remeasurement JE, updates the lease, and rebuilds the remaining schedule from the modification date.
If Delta > 0 (liability increases):
Dr ROU Asset [Delta] Cr Lease Liability [Delta]
If Delta < 0 (liability decreases):
Dr Lease Liability [|Delta|] Cr ROU Asset [|Delta|]
Modify Lease wizard - Current Values (read-only), Revised Parameters, and Remeasurement Preview with New Liability and Delta shown before you confirm.
Step 6 - Terminate a Lease Early (Derecognition)
Click Terminate on an active lease (Accounting Manager role required). Enter the termination date, any cash settlement amount and its account, and a P&L account for the gain or loss. The wizard shows the current carrying amounts (liability balance, ROU cost, accumulated depreciation, and net book value) so you can verify the derecognition impact before confirming.
Dr Lease Liability Account [Remaining balance]
Dr ROU Accumulated Dep. [Total accumulated]
Cr ROU Asset Account [Original cost]
Dr/Cr Settlement Account [± Cash paid/received]
Dr/Cr Gain / Loss Account [Balancing amount]
Terminate Lease wizard - Current Carrying Amounts (read-only), Termination Date, Settlement Amount, and Gain/Loss Account. Irreversible action clearly flagged.
Step 7 - Migrate an Existing Lease
To bring a lease that started before your Odoo go-live into the system, set Accounting Start Date to your migration date (later than Commencement Date). A Migration tab appears automatically - enter the three opening balances as at that date: Migration Liability, Migration ROU Cost, and Migration ROU Accumulated Depreciation. On Activate, the module posts an opening migration JE and builds only the remaining periods.
Migration lease form - the Migration tab appears when Accounting Start Date > Commencement Date. Supply the three opening balance fields, then Activate.
Amortisation Schedule - Full Overview
Navigate to IFRS 16 Leases -> Leases -> Amortisation Schedule for a cross-lease view of all periods. Filter, group, and search by lease, period date, or posting status. Each row shows the opening liability, interest, principal, closing liability, ROU depreciation, accumulated depreciation, and the linked journal entry reference.
Standalone Amortisation Schedule - all periods across all leases in one searchable, filterable list with full accounting columns.
IFRS 16 Exemptions
Mark a lease as Short-term (â¤12 months) or Low-value Asset if the IFRS 16 exemptions apply. Exempt leases cannot be activated and generate no ROU/liability entries - they are treated as operating expenses in your existing expense workflow.
XLSX Schedule Export
Click Export XLSX on any non-draft lease to download a formatted Excel workbook - two sheets: Lease Summary (key terms and balances) and Amortisation Schedule (all periods, posted lines highlighted). Requires pip install xlsxwriter inside the Odoo container.
Installation & Setup
- Install: Copy to your custom addons path and install via Odoo Apps, or run
-u ifrs_lease_accounting - Dependencies: Requires
accountandmailonly - no enterprise dependency - Optional XLSX Export:
pip install xlsxwriterinside the Odoo container - Configure Accounts: IFRS 16 Leases -> Configuration -> Default Accounts - set once per company
- Assign Users: Settings -> Users -> IFRS 16 Lease Accounting - set each user to User or Manager
Office & Retail Leases
Long-term property leases - monthly or quarterly payments, IBR-based PV, automated interest accrual and depreciation.
Vehicle Fleets
Manage dozens of vehicle leases with different commencement dates, payment amounts, and IBRs - each with its own schedule.
IT Equipment
Server, networking, and hardware leases - with modification support for contract renewals and term extensions.
Plant & Equipment
Manufacturing equipment and machinery leases - semi-annual or annual payment cadences with advance timing.
Migration from Spreadsheets
Transition existing IFRS 16 spreadsheets into Odoo by entering opening balances and letting the module run the remaining periods.
Multi-Company Groups
Each subsidiary manages its own leases in isolation with company-level default accounts and multi-company record rules.
IFRS 16 Compliance
Fully compliant with IFRS 16 lessee accounting - PV calculation, effective interest method, and derecognition all handled automatically.
Eliminate Spreadsheet Risk
No more manual spreadsheets - every calculation is auditable, traceable, and stored inside Odoo.
Audit-Ready
Every journal entry links back to its schedule line, and every modification is logged immutably - auditors can trace the full lifecycle.
Zero Manual Work
The daily cron posts all due entries automatically - period-close requires no manual intervention for lease accounting.
Need Assistance or a Custom Feature?
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module