diff --git a/content/applications/finance/accounting/reporting/year_end.rst b/content/applications/finance/accounting/reporting/year_end.rst index c449bdf504..1ff8a1414c 100644 --- a/content/applications/finance/accounting/reporting/year_end.rst +++ b/content/applications/finance/accounting/reporting/year_end.rst @@ -10,59 +10,62 @@ informed decisions, and ensuring transparency in reporting. Fiscal years ============ -By default, the fiscal year is set to last 12 months and end on December 31st. However, its duration -and end date can vary due to cultural, administrative, and economic considerations. +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 :menuselection:`Accounting --> Configuration --> Settings`. Under the :guilabel:`Fiscal Periods` section, change the :guilabel:`Last Day` field if necessary. If the period lasts *more* than or *less* than 12 months, enable :guilabel:`Fiscal Years` and -:guilabel:`Save`. Go back to the :guilabel:`Fiscal Periods` section and click :guilabel:`➜ Fiscal -Years`. From there, click :guilabel:`Create`, give it a :guilabel:`Name`, and both a +:guilabel:`Save`. Go back to the :guilabel:`Fiscal Periods` section and click :icon:`oi-arrow-right` +:guilabel:`Fiscal Years`. Then, click :guilabel:`New`, give it a :guilabel:`Name` and both a :guilabel:`Start Date` and :guilabel:`End Date`. .. note:: - Once the set fiscal period is over, Odoo automatically reverts to the default periodicity, taking - into account the value specified in the :guilabel:`Last Day` field. + Once the set fiscal period is over, Odoo automatically reverts to the default periodicity, + considering the value specified in the :guilabel:`Last Day` field. .. _year-end/checklist: Year-end checklist ================== +.. _year-end/before-closure: + Before closure -------------- -Before closing a fiscal year, ensure first everything is accurate and up-to-date: +Before closing a fiscal year, ensure that everything is accurate and up-to-date: - Make sure all bank accounts are fully :doc:`reconciled <../bank/reconciliation>` up to year-end, and confirm that the ending book balances match the bank statement balances. -- Verify that all :doc:`customer invoices <../customer_invoices>` have been entered and - approved and that there are no draft invoices. -- Confirm that all :doc:`vendor bills <../vendor_bills>` have been entered and agreed upon. -- Validate all :doc:`expenses <../../expenses>`, ensuring their accuracy. -- Corroborate that all :doc:`received payments <../payments>` have been encoded and recorded - accurately. +- Verify that all :doc:`customer invoices <../customer_invoices>` have been created and + confirmed and that there are no draft invoices. +- Confirm that all :doc:`vendor bills <../vendor_bills>` have been created and confirmed. +- Ensure the accuracy of all :doc:`expenses <../../expenses>` and validate them. +- Check that all :doc:`received payments <../payments>` have been encoded and confirmed. - Close all :ref:`suspense accounts `. - Book all :doc:`depreciation <../vendor_bills/assets>` and :doc:`deferred revenue <../customer_invoices/deferred_revenues>` entries. +.. _year-end/closing-a-fiscal-year: + Closing a fiscal year --------------------- Then, to close the fiscal year: -- Run a :ref:`tax report `, and verify that all tax information is - correct. +- Run a :ref:`tax return report `, and verify that all tax + information is correct. - Reconcile all accounts on the :ref:`balance sheet `: - Update the bank balances in Odoo according to the actual balances found on the bank statements. - Reconcile all transactions in the cash and bank accounts by running the :ref:`aged receivables ` and :ref:`aged payables ` reports. - - Audit all accounts, being sure to fully understand all transactions and their nature, making - sure to include loans and fixed assets. - - Optionally, :ref:`match payments ` to validate any open + - Audit all accounts, fully understanding all transactions and their nature, including :doc:`loans + <../bank/loans>` and :doc:`fixed assets <../vendor_bills/assets>`. + - Optionally, :ref:`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. @@ -76,40 +79,69 @@ Next, the accountant likely verifies balance sheet items and book entries for: - tax adjustments, - etc. -If the accountant is going through the year-end audit, they may want to have paper copies of all -balance sheet items (such as loans, bank accounts, prepayments, sales tax statements, etc.) to -compare these with the balances in Odoo. +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:: - During this process, it is good practice to set a :guilabel:`Journal Entries Lock Date` to the - last day (inclusive) of the preceding fiscal year by going to :menuselection:`Accounting --> - Accounting --> Lock Dates`. This way, the accountant can be confident that nobody changes the - transactions while auditing the books. Users from the *accountant* access group can still create - and modify entries. + As part of this process, setting a :ref:`Lock Everyone ` date to the + last day (inclusive) of the preceding fiscal year is good practice. This ensures that no journal + entries are modified during the audit. Users with *administrator* access rights can still create + and edit entries. + +.. _year-end/lock-everyone-date: + +Lock everyone date +~~~~~~~~~~~~~~~~~~ + +Setting a :guilabel:`Lock Everyone` date prevents journal entries from being posted before this +date, instead changing the Accounting Date until after the lock date. + +To set a :guilabel:`Lock Everyone` date, go to :menuselection:`Accounting --> Accounting --> Lock +Dates`. In the :guilabel:`Lock Journal Entries` window, set the :guilabel:`Lock Everyone` date and +:guilabel:`Save`. + +.. note:: + It's possible to create an exception so users with the :guilabel:`Administrator` access rights + can still change this date after it’s set. To do so: + + #. After setting the :guilabel:`Lock Everyone` date, reopen the :guilabel:`Lock Journal Entries` + window and remove the :guilabel:`Lock Everyone` date. + #. An :guilabel:`Exception` banner allows this exception to be set as :guilabel:`For me` or + :guilabel:`For everyone` and for how long this exception should last. + #. A :guilabel:`Reason` for this exception can be added. + #. All of this information is logged in the chatter of the :doc:`company record + `. + +.. _year-end/current-year-earnings: Current year's earnings ~~~~~~~~~~~~~~~~~~~~~~~ -Odoo uses a unique account type called **current year's earnings** to display the amount difference -between the **income** and **expenses** accounts. +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 :guilabel:`Undistributed Profits/Losses`. -To allocate the current year's earnings, create a miscellaneous entry to book them to any equity -account. Once done, confirm whether or not the current year's earnings in the **balance sheet** is -correctly reporting a balance of zero. If that is the case, set an :guilabel:`All Users Lock Date` -to the last day of the fiscal year by going to :menuselection:`Accounting --> Accounting --> Lock -Dates`. +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 :guilabel:`Hard Lock date` can be set to the last day of the fiscal year in +:menuselection:`Accounting --> Accounting --> Lock Dates`. .. tip:: - Install the :guilabel:`Irreversible Lock Date` (`account_lock`) module to make the :guilabel:`All - Users Lock Date` *irreversible* once set. + The :guilabel:`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 level. .. note:: - A specific year-end closing entry is **optional** in order to close out the **profit and loss - statement**. The reports are created in real-time, meaning that the profit and loss statement - corresponds directly with the year-end date specified in Odoo. Therefore, any time the **income - statement** is generated, the beginning date corresponds with the beginning of the **fiscal - year** and all account balances should equal zero. + A specific year-end closing entry is **optional** to close out the **profit and loss statement**. + The reports are created in real-time, meaning that the profit and loss statement corresponds + directly with the year-end date specified in Odoo. Therefore, any time the **income statement** + is generated, the beginning date corresponds with the beginning of the **fiscal year**, and all + account balances should equal zero.