Accounting: Accounting Workflows: Closing Fiscal Period to End the Year


This document covers the process of closing a fiscal period in the Accounting application of Odoo 16 to end the year and generate all financial statements that are used to review a company's business operations as well as performance. While you can set your fiscal year to whichever opening and closing dates you would like for your company, the most commonly used dates coincide with the calendar year, meaning it begins on January 1st and ends December 31st.

Before closing out the year and generating your statements, it is advised to complete the following first:

  • Verify all invoices, bills, and expenses have been validated. 

  • Complete the reconciliation of cash and bank accounts as well as bank statements to ensure they are in line with bank balances within Odoo, and close suspense accounts to leave them with a $0 balance. 

  • Verify balance sheet items and book entries for depreciated journal entries. 

  • Verify that deferred revenues are correctly recorded. 

  • Verify accrued revenues and expenses. 


To get started, navigate to the Accounting application. 

Use the menu and go to Configuration > Settings, and scroll down to Fiscal Periods

Here, we will define the end of the fiscal year. By default, it is set to December 31st but we will change the date to that of this writing for the purposes of this workflow. Save if you have made any changes. 

Good to Know

Custom Fiscal Years

You can define a fiscal year as being shorter than one year by selecting the Fiscal Years box and configuring it to your needs.  

User Permissions

Navigate to the Settings application. 

Under the Users section, select   Manage users and select the user to edit.

In Odoo 16, you can select the field in order to Edit the settings.

Under the Accounting field, we have the different access levels to choose from. Accountants have the highest access rights within Odoo, and are the only ones who are able to modify the Chart of Accounts, reconciliations, and tax adjustments.

Select 'Accountant', then save when complete.

Lock Dates

Make your way back to the Accounting app.

Once there, go to  Accounting > Actions > Lock dates. This will open a modal with the following fields:

  • Journal Entries Lock Date:  Only advisors will be able to create journal entries prior to the date set. 

  • Tax Return Lock Date:  Date after which no users can edit journals related to a tax prior to and including this date.
  • All Users Lock Date:  The date after which no journal entries may be created or modified by any user. No accounting operations will be allowed after this date.

Click SAVE when you are finished. 

Now, go to Reporting > STATEMENT REPORTS > Balance Sheet. Make sure the calendar dates reflect the end of the financial year. 

Scroll down to Unallocated Earnings. We want to allocate our current year earnings in order to have the total Current Year Unallocated Earnings report a balance of $0, so we will allocate all current year earnings to Retained Earnings.

Now, go to Accounting > JOURNALS > Journal Entries. Click CREATE.

Give the Journal Entry a Reference Name, select a date in the past, for instance, August 7th, and keep the journal set to the default Miscellaneous Operations. Under the Journal Items tab, Add a Line under Accounts, we will use Profits/Losses which is an Odoo created account used to record unallocated yearly earnings, the type must be set to current year earnings. To offset the unallocated earnings, we will Debit $1,947.88. 

Next, we'll need to offset this to the Retained Earnings account. If you need to create that account, click Add a line, then in the Account field type the name of your account (Retained Earnings) and selecCreate and Edit from the drop-down.

The following modal will open: 

  • Code: Assign a code to be used for this account.

  • Account Name: Name of account, i.e. Retained Earnings.

  • Type: Account type is used for the purpose of information to generate country-specific legal reports, and to set the rules to close a fiscal year as well as generate opening journal entries. 

  • Default Taxes: Tax Rate set on the Account.
  • Tags: Assigned tags for custom reporting.
  • Allowed Journals: Journals in which this account can be used. If left blank, can be used in all journals. 
  • Group: If using Journal Groups, (found at the bottom of the page) set the Group here. 

  • Allow Reconciliation: Check this box if the account allows invoices & payments matching of journal items.

  • Deprecated: Mark this box to prevent use of the account. 

  • Company: The company in which the journal is to be used. If in a single company database, the company name will be selected by default. 

Click SavE & CLOSe.

As soon as you have saved, you will see that the new account creates a credit line in the same amount, to offset the debit. Click the save icon once again, then click POST.

Use the drop down menu to go to Reporting > STATEMENT REPORTS > Balance Sheet and we should see that the assets equal the liabilities plus equity.

Now, go back to Accounting > Actions > Lock Dates and enter the lock date for all users as we are done making any changes to the reporting. Click Save


Odoo will generate all reports automatically so there is no need to run them manually. In addition, you will not need to open a new fiscal year so at the beginning of the new year, the account balances will be $0. 

Use the drop down menu to go to Reporting > Audit Reports > General Ledger. Once there, click  Options > Unfold All.

From here you can download a PDF or XLSX file to your computer. 

Clicking SAVE will open a new modal allowing you to export a copy of the report.  When you are ready, click EXPORT.