Year-end closing¶
Year-end closing is essential for maintaining financial accuracy, complying with regulations, making informed decisions, and ensuring transparency in reporting.
See also
Fiscal years¶
By default, the fiscal year is set to last 12 months and ends on December 31st. However, its duration and end date can vary due to cultural, administrative, and economic considerations.
To modify these values, go to . Under the Fiscal Periods section, change the Last Day field if necessary.
If the period lasts more than or less than 12 months, enable Fiscal Years and Save. Go back to the Fiscal Periods section and click Fiscal Years. Then, click New, give it a Name and both a Start Date and End Date.
Note
Once the set fiscal period is over, Odoo automatically reverts to the default periodicity, considering the value specified in the Last Day field.
Year-end checklist¶
Before closure¶
Before closing a fiscal year, ensure that everything is accurate and up-to-date:
Make sure all bank accounts are fully reconciled up to year-end and confirm that the ending book balances match the bank statement balances.
Confirm that all customer invoices and vendor bills have been created and all draft entries have been either confirmed or cancelled, as needed.
Ensure the accuracy of all expenses and validate them.
Check that all received payments have been encoded and confirmed.
Close all suspense accounts.
Ensure loans are properly registered for automatic amortization calculations.
Review overdue payables and receivables aged over 60 days, and assess whether a provision for uncertain liabilities or an allowance for doubtful accounts is required.
Book all depreciation and deferred revenue entries.
Closing a fiscal year¶
Then, to close the fiscal year:
Run a tax report, and verify that all tax information is correct.
Reconcile all accounts on the balance sheet:
Update the bank balances in Odoo to reflect the actual balances as per the bank statements.
Reconcile all transactions in the cash and bank accounts by running the aged receivables and aged payables reports.
Audit all accounts, fully understanding all transactions and their nature, including loans and fixed assets.
Optionally, match payments to validate any open vendor bills and customer invoices with their payments. While this step is optional, it could assist the year-end closing process if all outstanding payments and invoices are reconciled, potentially finding errors or mistakes in the system.
Next, the accountant likely verifies balance sheet items and book entries for:
year-end manual adjustments,
work in progress,
depreciation journal entries,
loans,
tax adjustments,
etc.
During the year-end audit, the accountant may print paper copies of all balance sheet items (e.g., loans, bank accounts, prepayments, sales tax statements) to compare them against the balances recorded in Odoo.
Tip
As part of this process, setting a Lock Everything date to the last day (inclusive) of the preceding fiscal year is good practice. This ensures that journal entries with an accounting date on or before the lock date cannot be created or modified during the audit. Users with administrator access rights can still create and edit entries if an exception is configured.
Lock everything date¶
Setting a lock date prevents modifications to any posted journal entries with an accounting date on or before the lock date. It also prevents posting new entries with an accounting date on or before the lock date. In such cases, the system automatically sets the accounting date to the day after the lock date.
To set a Lock Everything date, go to . In the Lock Journal Entries window, set the Lock Everything date and Save.
After setting the Lock Everything date, an exception can be made if a modification is necessary.
Lock date exception¶
Users with Administrator access rights to the Accounting app can create exceptions. To do so:
After setting and saving a lock date, go to . In the Lock Journal Entries window, remove the Lock Everything date.
In the Exception banner, choose if this exception should be set for me (the current user) or for everyone, and how long it should last.
A Reason for this exception can be added.
All of this information is logged in the chatter of the company record.
Tip
To remove a lock date after it has been saved, configure the exception to apply for everyone and set the duration to forever. This does not apply to the Hard Lock date, which is irreversible to ensure inalterability and to meet accounting requirements in certain countries.
Current year’s earnings¶
Odoo uses a unique account type called current year’s earnings to display the difference between the income and expense accounts.
Note
The chart of accounts can only contain one account of this type. By default, it is a 999999 account named Undistributed Profits/Losses.
To allocate the current year’s earnings, create a new miscellaneous entry with a date set to the end of the fiscal year to book them to any equity account.
Then, verify whether the current year’s earnings on the balance sheet correctly show a zero balance. If so, a Hard Lock date can be set to the last day of the fiscal year in .
Tip
The Hard Lock date field is irreversible and is intended to ensure data inalterability required to comply with accounting regulations in certain countries. If such compliance is not applicable, setting this field may not be necessary. However, if required, the date should only be set once it is confirmed to be correct, as it cannot be changed or overridden, regardless of access rights.
Annual closing¶
To complete the fiscal year-end process and finalize the annual closing, go to the Accounting dashboard and click Tax Returns on the Tax Returns journal from the Accounting dashboard. Alternatively, go to .
This view displays a chronological list of all pending returns including tax returns, advance payments (based on the fiscal localization), and annual closings. A pending Annual Closing follows two steps: review and submit. The Annual Closing item includes:
A period (year).
A deadline date.
The related company and branch(es), if applicable.
Action steps, such as Review and Submit, which turn green when completed.
Action buttons for key tasks.
A (vertical ellipsis) menu for additional options.
Note
Before the annual closing is reviewed, the number of Pending or Passed closing validation checks is displayed in red or green, respectively.
If the Deadline date has passed, it appears in red.
Review¶
To start reviewing an annual closing, click the annual closing line. The annual closing checks view displays the following, depending on the fiscal localization:
Aged payables per partner: Review payables without a partner.
Aged receivables per partner: Review receivables without a partner.
Bank Reconciliation: Reconcile all bank account transactions up to year-end.
Deferred Entries: Ensure start and end dates are correctly set on bills and invoices.
Earnings Allocation: After adjustments, transfer the undistributed profits/losses to an equity account.
Fixed Assets: Ensure assets are properly registered for automatic depreciation calculation.
Loans: Ensure loans are properly registered for automatic amortization calculations.
Manual Adjustments: Complete any necessary manual adjustments and internal checks.
No draft entries: Review and post draft invoices, bills, and entries in the period, or change their accounting date.
Overdue payables: Review overdue payables aged over 60 days and assess the need for an allowance for uncertain liabilities.
Overdue receivables: Review overdue receivables aged over 60 days and assess the need for an allowance for doubtful accounts or expected credit loss provision, as per IFRS 9 guidelines.
Total Receivables: Verify that the total aged receivables equals the customer account balance.
Total payables: Verify that the total aged payables equals the vendor account balance.
Some of the checks are performed automatically, while others serve as reminders to review essential tasks. Each check card is either labeled as:
Reviewed (highlighted in green): The check has passed.
To review (highlighted in grey): Action is required before the check can be manually marked as Reviewed or Supervised.
Anomaly (highlighted in red): The automatic check detects an issue. There are two options:
Click the failed check’s card to fix the issue.
Click Anomaly and select Reviewed or Supervised to pass the check without fixing the issue.
Once all closing validation checks have passed, either labeled as Reviewed or Supervised, click Validate to complete the Review step. The annual closing can then be submitted.
Tip
To add customized checks, activate developer mode, and go to . Then, click New and complete the necessary fields.
All check status changes are logged in the chatter.
Submit¶
Once a tax return has completed the Review step, click Submit.
If a Submission Instructions pop-up window appears, depending on the fiscal localization, follow the local Instructions, and click Mark as Submitted.
Tip
To review checks before submitting the annual closing, click the (vertical ellipsis) icon on the annual closing line and select Reset.