数据不可更改性检查报告

某些国家的税务部门要求企业 证明其已过账的会计条目未被篡改,这意味着一旦条目被锁定,便无法再更改。

为此,Odoo 使用 SHA-256 算法 为每个安全条目生成一个唯一的指纹。这个指纹被称为哈希值。哈希值是通过获取条目的关键数据(namedatejournal_idcompany_iddebitcreditaccount_idpartner_id 字段的值),将其连接起来,并输入到 SHA-256 哈希函数中生成的,该函数随后输出一个固定大小(256 位)的字符字符串。哈希函数是确定性的(相同的输入总是生成相同的输出):对原始数据的任何微小修改都会完全改变生成的哈希值。因此,SHA-256 算法通常用于数据完整性验证等目的。

此外,前一个条目的哈希值总是被添加到下一个条目中,以形成一个 哈希链。这用于确保不会在两个已保护的条目之间添加新条目,因为这样做会破坏哈希链。

注解

SHA-256算法生成的哈希值在理论上不是唯一的,因为可能的值是有限的。但是,这个数字非常大:2²⁵⁶,比已知宇宙中的原子数量还要大得多。这就是为什么哈希值在实践中被认为是唯一的原因。

不可篡改特性

不可篡改功能可以通过在任何日记账上激活 secure posted entries with hash 选项或使用 secure entries wizard 来启用。

  • 在日记账分录的表单视图中添加了两个指示器。它们显示该分录是否已受到保护。

    • 一个 )位于 已发布 状态的旁边。

    • 一个位于 其他信息 标签页中的 已保护 复选框。

  • 在日记账分录和日记账项目的列表视图中,提供了一个 Not Secured 过滤器。它可用于查找尚未被保护的已过账日记账分录。

  • 打开 安全条目向导 的选项显示在 会计 菜单中。

使用哈希保护已过账条目

要在特定日记账上激活哈希功能,请前往 会计 ‣ 配置 ‣ 日记账。打开一个销售、采购或杂项日记账,转到 高级设置 选项卡,并启用 使用哈希保护已过账条目。启用此功能的日记账被称为“受限”日记账。

要计算条目的哈希值,Odoo 会检索链中的前驱条目(即具有相同序列前缀的条目),并从最后一个已哈希的条目开始,连续哈希到新的待哈希条目。

警告

一旦在受限日记账中过账,您将无法再禁用该功能,也无法编辑任何受保护的条目。

安全条目向导

您也可以使用 Secure Entries 向导来保护 所有 日记账中的日记账条目,直到特定日期。

注解

该向导独立于日记账设置和日记账类型运行。

要打开它,请激活 开发者模式,转到 会计 ‣ 会计,然后点击 安全条目。如果 不可更改功能 已激活,它在调试模式外也是可见的。

要保护条目,请选择一个日期,直到该日期为止的所有条目都将被保护,然后按下 保护条目

警告

在确保条目安全后,您将无法再对其进行编辑。

注解

可能会出现所选日期之后的条目被保护的情况。这是可能的,因为哈希链对应于按序列号排序的序列前缀。

报告下载

要下载数据不可更改性检查报告,请转到 会计 ‣ 配置 ‣ 设置 ‣ 报告 并 点击 下载数据不可更改性检查报告

报告的第一部分概述了所有包含哈希条目的日记账序列前缀。在 Restricted 列中,您可以查看某个日记账是否启用了 secure posted entries with hash 选项(V)或未启用(X)。 Check 列则告诉您所有条目是否正确哈希。

两个日志的配置报告

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

一个日志的数据一致性检查报告