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. Year-End Closing v 19.0
  4. Sales Conditions FAQ

Year-End Closing

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 19.0 Third Party 23
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 3436
Technical Name eh_account_year_end
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 3436
Technical Name eh_account_year_end
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
ERP Heritage ERP Heritage · Odoo Accounting Suite
Close

Year-End Closing

Year-end closing wizard with computed P&L breakdown, balanced closing entry to retained earnings, optional reversal, optional fiscal-year lock.

Odoo 19 Community v19.0.1.0.1 LGPL-3 Accounting/Accounting Original work
ERP Heritage reporting dashboard
Computed breakdown
Balanced by construction
Optional reversal
Optional fiscal lock
BUILT FOR
Controllers running a clean year-end close
SAVES YOU
Days of manual closing-entry preparation
REPLACES
Spreadsheet closing checklists, ad hoc journal entries

Day in the life

31 December. Year-end close on a single button.

The year-end run computes net income across income + expense accounts up to year-end. The closing entry transfers net to retained earnings. The reversal entry goes on January 1 to start the new fiscal year. The fiscalyear_lock_date bumps to year-end so backdated entries cannot post. The audit log preserves who ran the close, with which parameters, and the SHA-256 of the closing entry. Re-running on a closed year is refused.

Overview

What this module does, in one read.

A year-end close routine for finance teams that need more than a manual journal. The wizard reads the income and expense balances over the fiscal year, computes the breakdown to retained earnings, posts a single balanced closing entry.

The closing entry is balanced by construction. The reversal path issues the symmetric reversal so reporting against the new year starts from a clean slate without losing the previous-year audit trail.

eh_account_baseaccountmail
ERP Heritage
Module
eh_account_year_end
VERSION
19.0.1.0.1
LICENCE
LGPL-3
CATEGORY
Accounting/Accounting
SUITE
24 modules

Capabilities

Nine things this module gives you, with no padding.

CAPABILITY 01

Computed breakdown

Income and expense balances over the fiscal year are read from posted journal entries; the wizard surfaces the breakdown so the operator approves it before posting.

CAPABILITY 02

Balanced closing entry

A single entry credits net income to retained earnings and zeros every income and expense account.

CAPABILITY 03

Optional reversal

The reversal action issues the symmetric reversal; the audit log records both entries with linkage so an auditor can trace the pair.

CAPABILITY 04

Fiscal-year lock

Optionally advance the fiscal-year lock date so subsequent posting against the closed year is blocked except by an authorised override.

CAPABILITY 05

One run per year

A unique constraint enforces one closing run per fiscal year per company; the wizard refuses a second run unless the first is reversed.

CAPABILITY 06

Per-company aware

The wizard reads the company calendar from the company record; runs across companies require explicit re-runs per company.

CAPABILITY 07

Audit log per run

Every run is recorded with the closing entry id, the user, the time, and the breakdown.

CAPABILITY 08

Plays with the close workflow

When eh_account_close_workflow is installed, the year-end run schedules itself as a final task on the close checklist.

CAPABILITY 09

Optional automation of closing

A scheduled cron can run the closing entry on a configured fiscal year end date. Manual review remains the default; automation is opt-in per company.

Compared

How this module stacks up.

FEATURE
MANUAL
PAID ADD-ON
THIS MODULE
Closing entry
Manual JE
Yes
Auto-computed across all P&L accounts
Reversal entry
Manual JE
Sometimes
Auto on next-day; configurable
Fiscal year lock
Set manually
Yes
Auto-bump on close; refuses backdate
Audit
No
Yes
SHA-256 + parameters + user
Reopen
Manual lock-date adjustment
Sometimes
Manager-only; preserves audit trail
1
Click to close
Single action drives compute, post, reverse, lock.
256
Bits of audit hash
Closing entry hash kept on the run record.
0
Backdated entries
Lock-date bump refuses post on closed years.

Workflow

Configure once. Operate. Audit. Report.

Four steps, the same across every ERP Heritage module so a finance team learns the suite once.

1

Configure

Settings > Accounting > ERP Heritage. Multi-company, multi-currency, journals, accounts. One-time setup, persisted on the company record.

2

Operate

The user works inside the standard Odoo accounting flow. The module surfaces only the controls relevant to its scope.

3

Audit

Every action that changes accounting state writes an audit row. The audit log is append-only at the framework level.

4

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.

Where it leads
  • Computed breakdown with operator review before post
  • Symmetric reversal with audit linkage
  • Optional fiscal-year lock advance
Where it matches
  • Closing entry to retained earnings
  • One run per (company, fiscal year)
  • Audit log per run
Honest about
  • No multi-year reroll (one year at a time)
  • Closing date is the fiscal year-end on the company record
  • Reversal is intentional; no automatic period reopening

The full ERP Heritage Accounting Suite (26 modules)

Accounting Suite Base Engine: audit log, cache, SQL builder, privilege groups
Dynamic Account Reports P&L, BS, TB, GL, Aged R/P, Cash Flow, Partner Ledger
Dynamic Reports Pro Builder, scheduling, forecasting, saved views
Bank Reconciliation Pro Reconciliation widget plus user-defined rules engine
Collections Workbench Workbench plus follow-up letter engine, broken-promise cron
Fixed Assets and Leases Assets, IFRS 16 leases, multi-book, AU tax depreciation
Post Dated Cheques Cheque registers, bounce / replace flow
FX Period End Revaluation IAS 21 revaluation, IFRS 9 hedge accounting (CFH/FVH/NIH)
Recurring Invoices Pro Cadence-driven recurring invoices
Period Close Workflow Period close checklist and sign-off
Year-End Closing Year-end closing wizard, reversal and lock
Multi Version Budget Pro Multi-version budgets, encumbrance, PO overrun block
Vendor Bill Automation Bill intake, three-way match, LLM extractor stubs
Bank Statement Import CSV / OFX / CAMT.053 / MT940 + Plaid / Basiq stubs
Batch Payment Batch AR / AP runs, per-partner aggregation
Inter-Company Rules Auto-mirror invoices and bills between companies
SEPA Credit Transfer PAIN.001.001.03 + .09 SEPA Credit Transfer generator
SEPA Direct Debit PAIN.008 plus mandate lifecycle
Peppol eInvoicing UBL 2.1 BIS 3.0 + ANZ/MY/DE/FR country profiles
AU BAS Reporting Australian Business Activity Statement, ABN validator
Approval Workflow Multi-step approval, atomic step pointer
Customer Credit Limit Hard credit limit gate, manager override audit
Customer Portal Extra Statement download, AR balance card on portal home
Financial Dashboard Cash, AR, AP, P&L plus optional KPI tiles
Group Consolidation Multi-entity roll-up, IC elimination, IAS 21 CTA, NCI
AI Agent Layer JE anomaly, variance commentary, collections next-action

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.

ERP Heritage
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.

ERP Heritage

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.

Global Odoo CommunityOdoo PartnerLGPL-3 to the community24 cohesive modulesOriginal work

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.

Install from the Odoo Apps Store info@erpheritage.com.au
Get in touch

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.

Email
info@erpheritage.com.au
Phone
+61 469 095 910
Web
www.erpheritage.com.au
Implementation
Functional discovery, fit-gap, scoping, sample tenant, go-live plan.
Customisation
Custom modules, reports, integrations, localisations, reimplementation.
Training & support
Functional and technical training, hand-over docs, ongoing support.
ERP Heritage · erpheritage.com.au
Engineered for the global Odoo 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.
Please choose a rating from 1 to 5 for this module.
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