数据不可更改性检查报告¶
一些国家的税务机关要求企业**证明其已发布的会计分录未被篡改**,这意味着一旦分录被锁定,就无法再进行修改。
为此,Odoo 通过 SHA-256 算法 为每个受保护的条目生成一个唯一的指纹。这个指纹称为哈希值。哈希值是通过获取条目的关键数据(name
、date
、journal_id
、company_id
、debit
、credit
、account_id
和 partner_id
字段的值),将其拼接后输入 SHA-256 哈希函数生成的,该函数随后输出一个固定长度(256 位)的字符字符串。哈希函数是确定性的(相同的输入总是生成相同的输出):对原始数据的任何微小修改都会完全改变生成的哈希值。因此,SHA-256 算法常用于数据完整性验证等用途。
此外,前一条记录的哈希值总是被添加到下一条记录中,以形成一个**哈希链**。这是为了确保在两个已保护的条目之间不会后续添加新的条目,因为这样做会破坏哈希链。
注解
由 SHA-256 算法生成的哈希值在理论上并不唯一,因为可能的值数量是有限的。然而,这个数量极其庞大:2²⁵⁶,这比已知宇宙中的原子数量要大得多。这就是为什么在实际应用中哈希值被认为是唯一的。
不可变性功能¶
不可篡改性功能可以通过在任意账簿中激活 使用哈希值保护已过账条目 选项,或者使用 保护条目向导 来启用。
在凭证的表单视图中添加了两个指标,用于显示该凭证是否已进行担保。
一个 或 (锁图标) 显示在 已过账 状态旁边。
一个在 其他信息 选项卡中的 已加密 复选框。
一个 未担保 过滤器可在日记账条目和日记账条目列表视图中使用。可用于查找已过账但尚未担保的日记账条目。
可以打开 安全条目向导 的选项显示在 会计 菜单中。
使用哈希值对已发布凭证进行安全保护¶
要在一个特定的日记账中启用哈希功能,请转到:高级设置 选项卡,并启用 使用哈希值保护已过账条目。该功能已激活的日记账称为“受限”日记账。
。打开一个销售、采购或杂项日记账,进入要计算条目的哈希值,Odoo 会获取该链的前驱条目(即具有相同序列前缀的条目),并从最后一个已哈希的条目开始,连续地将这些条目哈希到要哈希的新条目。
警告
一旦在受限日记中录入一条分录,将无法再禁用该功能,也无法编辑任何受保护的分录。
安全条目向导¶
你也可以使用 安全条目 向导,对 所有 科目簿中截至特定日期的所有日记账条目进行安全设置。
注解
向导的操作独立于日记账设置和日记账类型。
要打开它,请启用 开发者模式,进入 ,然后点击 安全条目。如果已激活 不可更改性功能,它在调试模式之外也是可见的。
为确保条目安全,请选择所有条目应被保护的截止日期,然后点击 保护条目。
警告
在确认条目后,您将无法再对其进行编辑。
注解
有可能某些日期早于所选日期的条目被锁定。这是可能的,因为哈希链对应于按序列号排序的序列前缀。
报告下载¶
要下载数据不可篡改性检查报告,请转至:下载数据不可篡改性检查报告。
,然后点击该报告的第一部分是包含带有哈希条目的所有日记账序列前缀的概览。在 受限 列中,您可以查看某个日记账是否启用了 带哈希的安全已过账条目 选项(V)或未启用(X)。检查 列会告诉您所有条目是否正确地进行了哈希处理。

第二部分提供了每个哈希日记账序列前缀的数据一致性检查的更详细结果。您可以查看第一个哈希条目及其对应的哈希值,以及最后一个哈希条目及其对应的哈希值。
