[IMP] accounting: update hash

We did a big refactor of the hash in
https://github.com/odoo/odoo/pull/160820@

This commit updates the documentation accordingly.

task-id 3820975

closes odoo/documentation#8605

X-original-commit: b3ed49c167
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
This commit is contained in:
Ricardo Gomes Rodrigues 2024-04-08 11:27:30 +02:00 committed by Jonathan
parent a8f0df1fde
commit 7c0598e164

View File

@ -7,7 +7,7 @@ inalterable**, meaning that once an entry has been posted, it can no longer be c
To do so, Odoo can use the **SHA-256 algorithm** to create a unique fingerprint for each posted
entry. This fingerprint is called a hash. The hash is generated by taking an entry's essential data
(the values of the `date`, `journal_id`, `company_id`, `debit`, `credit`, `account_id`, and
(the values of the `name`, `date`, `journal_id`, `company_id`, `debit`, `credit`, `account_id`, and
`partner_id` fields), concatenating it, and inputting it to the SHA-256 hash function, which then
outputs a fixed size (256-bit) string of characters. The hash function is deterministic (:dfn:`the
same input always creates the same output`): any minor modification to the original data would
@ -26,16 +26,25 @@ would break the hash chain.
.. _data-inalterability/lock:
Lock posted entries with hash
=============================
Lock entries with hash
======================
To start using the hashing function, go to :menuselection:`Accounting --> Configuration > Journals`.
Open the journal for which you want to activate the feature, go to the :guilabel:`Advanced Settings`
tab, and enable :guilabel:`Lock Posted Entries with Hash`.
tab, and enable :guilabel:`Lock Sent Invoices with Hash` for sale journals, or
:guilabel:`Lock Entries Manually` for purchase and general journals.
For sale journals, the entry is automatically locked once it is sent. You can also click on the
button :guilabel:`Lock` on the invoice to lock it without sending it. For sale, purchase, and
general journals, the locking is always done manually using the same button.
To compute the hash of an entry, Odoo retrieves the predecessor entries of the chain (i.e., the
entries with the same sequence prefix) and hashes them in a continuous way from the last hashed
entry to the new entry to hash.
.. warning::
Once you post an entry on a locked journal, you cannot disable the feature anymore, nor edit any
posted entry.
Once you lock an entry in a locked journal, you cannot disable the feature anymore, nor edit any
locked entry.
.. _data-inalterability/report:
@ -46,9 +55,8 @@ To download the data inalterability check report, go to :menuselection:`Accounti
--> Settings --> Reporting` and click on :guilabel:`Download the Data Inalterability Check Report`.
The report's first section is an overview of all your journals and their configuration. Under the
inalterability check column, you can see whether or not a journal's posted entries are locked with
a hash (V) or not (X). The coverage column tells you when a journal's posted entries started being
locked.
inalterability check column, you can see whether or not a journal's entries are locked with a hash
(V) or not (X). The coverage column tells you when a journal's entries started being locked.
.. image:: data_inalterability/journal-overview.png
:align: center