| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 7007 |
| Technical Name |
eh_account_assets_pro |
| License | LGPL-3 |
| Website | https://www.erpheritage.com.au/ |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 7007 |
| Technical Name |
eh_account_assets_pro |
| License | LGPL-3 |
| Website | https://www.erpheritage.com.au/ |
Fixed Assets and Leases
Asset register plus IFRS 16 lessee accounting plus deferred revenue and expense recognition.
Day in the life
200 fixed assets across 4 books. Tax return is due in two weeks.
The statutory book runs straight-line over IFRS-aligned useful life. The tax book runs AU diminishing value at the 200% factor. The IFRS 16 lessee book carries 12 leases with right-of-use assets. The management book runs a faster schedule for internal reporting. Each book is a parallel schedule on the same asset; the tax book auto-posts a different depreciation each month than the statutory book. At year-end, the AU low-value pool collects every asset under AUD 1,000 and depreciates them as a unit at 18.75% / 37.5% per the ATO formula. Component accounting splits the building into structure + roof + HVAC, each with its own life. Impairment under IAS 36 is one form; reversal-cap enforcement prevents over-reversal.
Overview
What this module does, in one read.
A complete fixed-asset and lease accounting layer. The asset register handles standard depreciation methods; the IFRS 16 layer brings ROU asset and lease liability with the modify and terminate wizards a finance team needs in practice.
Schedule generation is deterministic. The amortisation rows guarantee that interest plus principal equals the period payment exactly so journal entries balance to the cent.
Capabilities
Eight things this module gives you, with no padding.
Asset register
Acquire, depreciate, modify, sell, scrap. The depreciation engine supports straight-line, degressive, and sum-of-years digits.
IFRS 16 lessee
ROU asset plus lease liability with present-value calc, advance and arrears support, and monthly amortisation rows.
Deferred recognition
Deferred revenue and deferred expense ride the same engine; schedule re-balances on amendment, and journal entries are guaranteed balanced by construction.
Wizards that match reality
Sell at a price triggers a balanced disposal entry; scrap writes off the residual; modify computes the new schedule.
Multi-company aware
Asset categories, registers, schedules and journal entries all live under company scope.
Per-record savepoints
The post-due-line cron iterates assets and leases under a per-record savepoint.
Reproducible schedule
Every amortisation row is computed from inputs, never persisted as a black-box; modifying the inputs re-derives the schedule deterministically.
Tested invariants
Regression tests assert interest + principal == payment, ROU is fully depreciated by the end, and the schedule balances under odd-month timing.
Compared
How this module stacks up.
Workflow
Configure once. Operate. Audit. Report.
Four steps, the same across every ERP Heritage module so a finance team learns the suite once.
Configure
Settings > Accounting > ERP Heritage. Multi-company, multi-currency, journals, accounts. One-time setup, persisted on the company record.
Operate
The user works inside the standard Odoo accounting flow. The module surfaces only the controls relevant to its scope.
Audit
Every action that changes accounting state writes an audit row. The audit log is append-only at the framework level.
Report
Reports flow through the same reproducible audit pipeline, with cache invalidation by per-company move version.
Why Heritage
Where this module leads, where it matches, what we are honest about.
- IFRS 16 lessee with modify + terminate wizards
- Three depreciation methods with explicit period boundaries
- Schedule balances by construction
- Asset register lifecycle
- Deferred revenue / expense recognition
- Multi-company scoping
- No lessor accounting yet (lessee only)
- No automatic indexation linkage (roadmap)
- Loan amortisation reuses asset engine but lacks a dedicated wizard
The full ERP Heritage Accounting Suite (26 modules)
Engineering
Ten engineering rules we hold ourselves to.
No silent fallbacks.Missing config, missing accounts, malformed input each surface explicit messages naming the bad field.
Tests cover the bug, not just the feature.Every defect found in review has a regression test attached to the fix, kept in the repository.
Plain Python where possible.Algorithms that do not need the ORM live under tools/ with unit tests that run without Odoo.
Atomic counters via SQL.Concurrent counters use UPDATE col = col + 1, never read-modify-write loops.
Per-record savepoints in cron loops.A single bad record never freezes the batch; failing rows are recorded, the rest of the batch keeps moving.
Schema-first XML output.PAIN.001 and PAIN.008 generators target the published namespace; tests parse output back and assert structure.
ValidationError versus UserError.Constraint failures raise ValidationError; action failures raise UserError with a remedy.
Privilege groups, not direct upstream references.ACL CSVs reference suite-specific groups; the post-migration script promotes upstream-only users.
Append-only audit logs.Approval log, override log, reconciliation audit, mandate amendment log all override write and unlink at the model level.
Originality from public spec.Every standard implementation is built from the published technical specification, not from another vendor codebase.
The standard we hold: every shipped capability is original code from a public technical specification, with regression tests, with a documented engineering rule for the invariant the code preserves, and with no vendor names in code or user-facing docs. From the suite contributing process
Frequently asked questions
Honest answers to the questions a buyer asks.
Does this run on Odoo 19 Community?
Yes. Every module is built and tested against Odoo 19 Community. No Enterprise dependency anywhere in the stack.
What is the licence?
LGPL-3, the same licence as Odoo Community. You can read the source, modify it, and ship it inside your own Odoo deployment without restriction.
Will this conflict with another accounting addon I already use?
Probably not. The modules add new models in their own namespace (eh.*) and inherit standard models without overriding behaviour silently. If your existing addon also extends the same standard model, ordinary Odoo inheritance rules apply.
Are the engineering principles documented?
Yes. The contributing process and ten engineering rules are kept in the repository so a reviewer can verify the code holds itself to them.
Is there a test suite?
Yes. Every module ships its own integration tests; the engine module ships a full unit test suite for the SQL builder, cache, and report orchestrator.
How do I get support?
Reach the team via info@erpheritage.com.au. Training, deployment, and custom extension work is handled by ERP Heritage directly.
Built by ERP Heritage
ERP Heritage builds enterprise-grade accounting software for the Odoo community. Our suite covers the operational accounting cycle end to end: invoice intake, posting, reconciliation, reporting, period close, payment runs, customer portal, multi-step approvals, and year-end. Every module ships with explicit licensing posture, documented engineering principles, comprehensive tests, and a clear differentiation story.
Ready to deploy?
Install this module, run the test suite, and inspect the structured audit log. For training, deployment, or a custom extension, reach our team.
Talk to ERP Heritage about Odoo implementation, customisation, training, or support.
End-to-end engagement across the Odoo platform: implementation, customisation, reimplementation, functional and technical training, ongoing support, integration planning, and scoped extensions. One team, one response within a business day.
Please log in to comment on this module