Skip to content

Commit 23b5236

Browse files
committed
[IMP] accounting: update page with 18.0 updates on lock dates
task-4276637 closes #13320 Signed-off-by: Anne-Françoise Marcq (afma) <[email protected]>
1 parent 8cbfdfd commit 23b5236

File tree

1 file changed

+75
-40
lines changed
  • content/applications/finance/accounting/reporting

1 file changed

+75
-40
lines changed

content/applications/finance/accounting/reporting/year_end.rst

Lines changed: 75 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -5,48 +5,54 @@ Year-end closing
55
Year-end closing is vital for maintaining financial accuracy, complying with regulations, making
66
informed decisions, and ensuring transparency in reporting.
77

8+
.. seealso::
9+
:doc:`Tax return <tax_returns>`
10+
811
.. _year-end/fiscal-years:
912

1013
Fiscal years
1114
============
1215

13-
By default, the fiscal year is set to last 12 months and end on December 31st. However, its duration
14-
and end date can vary due to cultural, administrative, and economic considerations.
16+
By default, the fiscal year is set to last 12 months and ends on December 31st. However, its
17+
duration and end date can vary due to cultural, administrative, and economic considerations.
1518

1619
To modify these values, go to :menuselection:`Accounting --> Configuration --> Settings`. Under the
1720
:guilabel:`Fiscal Periods` section, change the :guilabel:`Last Day` field if necessary.
1821

1922
If the period lasts *more* than or *less* than 12 months, enable :guilabel:`Fiscal Years` and
20-
:guilabel:`Save`. Go back to the :guilabel:`Fiscal Periods` section and click :guilabel:`➜ Fiscal
21-
Years`. From there, click :guilabel:`Create`, give it a :guilabel:`Name`, and both a
23+
:guilabel:`Save`. Go back to the :guilabel:`Fiscal Periods` section and click :icon:`oi-arrow-right`
24+
:guilabel:`Fiscal Years`. Then, click :guilabel:`New`, give it a :guilabel:`Name` and both a
2225
:guilabel:`Start Date` and :guilabel:`End Date`.
2326

2427
.. note::
25-
Once the set fiscal period is over, Odoo automatically reverts to the default periodicity, taking
26-
into account the value specified in the :guilabel:`Last Day` field.
28+
Once the set fiscal period is over, Odoo automatically reverts to the default periodicity,
29+
considering the value specified in the :guilabel:`Last Day` field.
2730

2831
.. _year-end/checklist:
2932

3033
Year-end checklist
3134
==================
3235

36+
.. _year-end/before-closure:
37+
3338
Before closure
3439
--------------
3540

36-
Before closing a fiscal year, ensure first everything is accurate and up-to-date:
41+
Before closing a fiscal year, ensure that everything is accurate and up-to-date:
3742

3843
- Make sure all bank accounts are fully :doc:`reconciled <../bank/reconciliation>` up to year-end,
3944
and confirm that the ending book balances match the bank statement balances.
40-
- Verify that all :doc:`customer invoices <../customer_invoices>` have been entered and
41-
approved and that there are no draft invoices.
42-
- Confirm that all :doc:`vendor bills <../vendor_bills>` have been entered and agreed upon.
43-
- Validate all :doc:`expenses <../../expenses>`, ensuring their accuracy.
44-
- Corroborate that all :doc:`received payments <../payments>` have been encoded and recorded
45-
accurately.
45+
- Verify that all :doc:`customer invoices <../customer_invoices>` have been created and
46+
confirmed and that there are no draft invoices.
47+
- Confirm that all :doc:`vendor bills <../vendor_bills>` have been created and confirmed.
48+
- Ensure the accuracy of all :doc:`expenses <../../expenses>` and validate them.
49+
- Check that all :doc:`received payments <../payments>` have been encoded and confirmed.
4650
- Close all :ref:`suspense accounts <accounting/bank/suspense>`.
4751
- Book all :doc:`depreciation <../vendor_bills/assets>` and :doc:`deferred revenue
4852
<../customer_invoices/deferred_revenues>` entries.
4953

54+
.. _year-end/closing-a-fiscal-year:
55+
5056
Closing a fiscal year
5157
---------------------
5258

@@ -60,9 +66,9 @@ Then, to close the fiscal year:
6066
- Reconcile all transactions in the cash and bank accounts by running the :ref:`aged receivables
6167
<accounting/reporting/aged-receivable>` and :ref:`aged payables
6268
<accounting/reporting/aged-payable>` reports.
63-
- Audit all accounts, being sure to fully understand all transactions and their nature, making
64-
sure to include loans and fixed assets.
65-
- Optionally, :ref:`match payments <accounting/payments/auto-reconcile-tool>` to validate any open
69+
- Audit all accounts, fully understanding all transactions and their nature, including :doc:`loans
70+
<../bank/loans>` and :doc:`fixed assets <../vendor_bills/assets>`.
71+
- Optionally, :ref:`match payments <accounting/payments/payments-matching>` to validate any open
6672
vendor bills and customer invoices with their payments. While this step is optional, it could
6773
assist the year-end closing process if all outstanding payments and invoices are reconciled,
6874
potentially finding errors or mistakes in the system.
@@ -76,40 +82,69 @@ Next, the accountant likely verifies balance sheet items and book entries for:
7682
- tax adjustments,
7783
- etc.
7884

79-
If the accountant is going through the year-end audit, they may want to have paper copies of all
80-
balance sheet items (such as loans, bank accounts, prepayments, sales tax statements, etc.) to
81-
compare these with the balances in Odoo.
85+
During the year-end audit, the accountant may print paper copies of all balance sheet items (e.g.,
86+
loans, bank accounts, prepayments, sales tax statements) to compare them against the balances
87+
recorded in Odoo.
88+
89+
.. tip::
90+
As part of this process, setting a :ref:`Lock Everything <year-end/lock-everything-date>` date to
91+
the last day (inclusive) of the preceding fiscal year is good practice. This ensures that journal
92+
entries with an accounting date on or before the lock date cannot be created or modified during
93+
the audit. Users with *administrator* access rights can still create and edit entries if an
94+
exception is configured.
95+
96+
.. _year-end/lock-everything-date:
97+
98+
Lock everything date
99+
~~~~~~~~~~~~~~~~~~~~
100+
101+
Setting a lock date prevents modifications to any posted journal entries with an accounting date on
102+
or before the lock date. It also prevents posting new entries with an accounting date on or before
103+
the lock date. In such cases, the system automatically sets the accounting date to the day after the
104+
lock date.
105+
106+
To set a :guilabel:`Lock Everything` date, go to :menuselection:`Accounting --> Accounting --> Lock
107+
Dates`. In the :guilabel:`Lock Journal Entries` window, set the :guilabel:`Lock Everything` date and
108+
:guilabel:`Save`.
109+
110+
.. note::
111+
Users with :guilabel:`Administrator` access rights to the Accounting app can create exceptions.
112+
To do so:
113+
114+
#. After setting the :guilabel:`Lock Everything` date, reopen the :guilabel:`Lock Journal
115+
Entries` window and remove the :guilabel:`Lock Everything` date.
116+
#. In the :guilabel:`Exception` banner, choose if this exception should be set :guilabel:`for me`
117+
(the current user) or :guilabel:`for everyone` and how long it should last.
118+
#. A :guilabel:`Reason` for this exception can be added.
119+
#. All of this information is logged in the chatter of the :doc:`company record
120+
</applications/general/companies>`.
82121

83122
.. tip::
84-
During this process, it is good practice to set a :guilabel:`Journal Entries Lock Date` to the
85-
last day (inclusive) of the preceding fiscal year by going to :menuselection:`Accounting -->
86-
Accounting --> Lock Dates`. This way, the accountant can be confident that nobody changes the
87-
transactions while auditing the books. Users from the *accountant* access group can still create
88-
and modify entries.
123+
To remove the :guilabel:`Lock Everything` date after it has been saved, configure the exception
124+
to apply :guilabel:`for everyone` and set the duration to :guilabel:`forever`.
125+
126+
.. _year-end/current-year-earnings:
89127

90128
Current year's earnings
91129
~~~~~~~~~~~~~~~~~~~~~~~
92130

93-
Odoo uses a unique account type called **current year's earnings** to display the amount difference
94-
between the **income** and **expenses** accounts.
131+
Odoo uses a unique account type called **current year's earnings** to display the difference
132+
between the **income** and **expense** accounts.
95133

96134
.. note::
97135
The chart of accounts can only contain one account of this type. By default, it is a 999999
98136
account named :guilabel:`Undistributed Profits/Losses`.
99137

100-
To allocate the current year's earnings, create a miscellaneous entry to book them to any equity
101-
account. Once done, confirm whether or not the current year's earnings in the **balance sheet** is
102-
correctly reporting a balance of zero. If that is the case, set an :guilabel:`All Users Lock Date`
103-
to the last day of the fiscal year by going to :menuselection:`Accounting --> Accounting --> Lock
104-
Dates`.
138+
To allocate the current year's earnings, create a new miscellaneous entry with a date set to the end
139+
of the fiscal year to book them to any equity account.
105140

106-
.. tip::
107-
Install the :guilabel:`Irreversible Lock Date` (`account_lock`) module to make the :guilabel:`All
108-
Users Lock Date` *irreversible* once set.
141+
Then, verify whether the current year's earnings on the **balance sheet** correctly show a zero
142+
balance. If so, a :guilabel:`Hard Lock date` can be set to the last day of the fiscal year in
143+
:menuselection:`Accounting --> Accounting --> Lock Dates`.
109144

110-
.. note::
111-
A specific year-end closing entry is **optional** in order to close out the **profit and loss
112-
statement**. The reports are created in real-time, meaning that the profit and loss statement
113-
corresponds directly with the year-end date specified in Odoo. Therefore, any time the **income
114-
statement** is generated, the beginning date corresponds with the beginning of the **fiscal
115-
year** and all account balances should equal zero.
145+
.. tip::
146+
The :guilabel:`Hard Lock date` field is irreversible and is intended to ensure data
147+
inalterability required to comply with accounting regulations in certain countries. If such
148+
compliance is not applicable, setting this field may not be necessary. However, if required, the
149+
date should only be set once it is confirmed to be correct, as it **cannot be changed or
150+
overridden**, regardless of access rights.

0 commit comments

Comments
 (0)