数据不变性检查报告¶
某些国家的税务机构要求公司**证明其已过账的会计记项不可变**,这意味着,记项过账后不可更改。
为此,Odoo 可以使用 SHA-256 算法 为每个发布的条目创建唯一指纹。该指纹称为哈希值。哈希值是通过获取记项的基本数据(name
、date
、journal_id
、company_id
、debit
、credit
、account_id
和 partner_id
字段的值)生成散列,将数据串联起来,并输入SHA-256散列函数,函数输出固定大小(256位)的字符串。散列函数是确定性的(相同的输入必定会得到相同的输出):对原始数据的任何细微修改都会完全改变散列结果。因此,SHA-256 算法通常用于数据完整性验证等目的。
此外,上一个记项的散列始终添加至下一个记项,以形成**散列链**,旨在确保之后不会在两个已过账记项之间添加新记项,因为这样会破坏散列链。
注解
理论上,鉴于可能数值的数量有限,因此,SHA-256算法生成的散列并不是唯一的,但是,因为数量实在太大:2²⁵⁶,比已知宇宙的原子数量还要大得多,因此,散列在实践中被认为是唯一的。
锁定有散列的已过账记项¶
要使用散列函数,转到:menuselection:会计-->配置>日记账
,打开要激活功能的日记账,转到:guilabel:高级设置`选项卡,启用:guilabel:`锁定带散列的已过账记项
。
警告
在锁定的日记账中过账记项后,您就无法禁用该功能,也不能编辑任何已过账记项。
报告下载¶
要下载数据不变性检查报告,转到:menuselection:会计-->配置-->设置-->报告
,点击:guilabel:download the data inalterability check report
。
报告第一部分概述所有日记账及其配置。在不变性检查列下,您可以查看日记账的已过账记项是否用散列锁定(V)或未锁定(X)。覆盖率列指示日记账已过账记项被锁定的日期。
第二部分显示各散列日记账的数据一致性检查结果。您可以查看第一个和最后一个散列记项及其对应散列。