跳转到内容

检查两个表是否对平

结账之前,需要确认一组数字与另一组数字相符:总账与试算平衡表、源系统与其加载结果、本月期末余额与下月期初余额。对账会指明两方以及它们的行如何匹配,Weave 会给出三种答复之一:

GL Actuals 与 Trial Balance 对平:1,204 个科目完全一致。两者合计均为 12,345,678.90。

GL Actuals 与 Trial Balance 未对平:1,204 个科目中有 3 个存在差异,忽略符号后差异合计 4,210.00。轧差后,GL Actuals 高出 3,900.00。最大的是 4000,相差 3,900.00(GL Actuals 为 1,000,000.00,Trial Balance 为 996,100.00)。

Weave 无法检查 GL Actuals 与 Trial Balance 是否对平:双方都没有符合此对账筛选器的行。如果这些数据尚未加载,请加载后重新检查。

如果 Weave 无法完整读取双方的数据,它绝不会说对账对平。比较是对您的数据执行的一次查询,不涉及 AI。

只有项目架构师可以创建、编辑或删除对账,且项目必须处于未锁定状态。

  1. 打开项目的 Weave 选项卡,然后单击其工具栏中的对账。
  2. 单击新建。
  3. 为其指定名称,并在行的称呼下用复数说明被比较的一行是什么,例如“科目”或“科目与成本中心组合”。Weave 会在每句话中使用它;留空时,它会说“项目”。
  4. 在第一方和第二方下,为每一方指定标签(Weave 对其使用的名称,例如“GL Actuals”),并选择其表。在度量下,选择其各行如何汇总,可选合计:、计数:、去重计数:、最小值、最大值或平均值:,然后选择列。
  5. 为任一方添加筛选器,以仅读取其部分行。多个值之间用逗号分隔。若要比较同一个表的两个期间,请在两方选择同一个表,并将每一方筛选到各自的期间;不要把期间列加到匹配依据下,否则将没有任何行匹配。
  6. 在匹配依据下,为每个键列添加一行。每行将第一方的一列与第二方的一列配对,因此 account 可以匹配 acct。为该行指定标题,例如“科目”;它会作为差异列表中该列的标题。没有键时,每一方都被作为单个数字进行比较,对于合计或计数,就是其总数。
  7. 也可以设置每行容差:一行的两个值相差多少仍视为一致,以度量自身的单位表示,例如 0.01。它不是百分比。保持为 0 则要求每一行完全一致。
  8. 也可以选择一个工作流,将该对账放入该工作流的结账就绪状态清单。请参阅在就绪状态清单中。
  9. 单击保存草稿。

如果 Weave 无法公平地比较某个对账,它会拒绝并说明原因:

  • 两方需要具有相同数量的键(最多 8 个)和不同的标签,且除标签外不能完全相同。
  • 配对的键列必须包含同一种值:数字、文本、日期、日期和时间,或真/假。浮点数列(类型如 float 或 double)不能作为键,键也不能是名为 value 或 rows 的列。
  • 度量必须是数字列,除非是计数。
  • 对浮点数列求平均值、合计、最小值或最大值,需要大于 0 的容差,因为这类值很少完全一致。
  • 它所指的每个表和列都必须在项目中,所关联的工作流也必须在项目中。
  • 没有任何更改的保存会被拒绝。

两方可以使用不同的度量,例如一方用合计,另一方用计数。只有当双方都使用合计: 或计数: 时,缺失的行才算作 0;请参阅阅读结果。

对账可以将工作流标记为可以结账,因此需要两个人。您保存的是草稿。由另一位架构师选择它并单击批准,此后读取者和就绪状态清单运行的就是该版本。您不能批准自己最后编辑的版本,因此项目需要第二位架构师才能让对账投入使用。批准时会再次检查各表;如果草稿在批准者读取之后发生了变化,批准会被拒绝。

编辑已批准的对账会保存为新草稿,在新草稿获得批准之前,已批准的版本继续使用。有较新的草稿等待批准时,结果中会注明。架构师可以单击检查草稿,在批准之前运行工作版本。

选择一个对账即可运行它。数据更改后,单击重新检查可再次运行。

未对平时,存在差异的行会列在该语句下方,最大的排在最前,最多显示 50 行。每行显示其键、双方的值,以及第一方减去第二方的差。只存在于一方的行,另一方显示为无行,而不是 0;值为空的行显示无值。当存在差异的行多于所显示的行时,说明文字会指出遗漏了多少行以及它们合计相差多少;可添加筛选器,每次查看更少的行。

  • 容差。 当一行的两个值相差不超过容差时,该行即为一致。这些微小差异仍会累加,因此对账可能逐行对平而总数不同,此时语句会这样说明:

    GL Actuals 与 Trial Balance 对平:1,204 个科目中每一个都在其 0.01 容差范围内。所有科目的这些微小差异轧差后为 0.37:GL Actuals 合计 12,345,679.27,Trial Balance 合计 12,345,678.90,因此 GL Actuals 高出 0.37。

  • 缺失的行。 当双方都使用合计: 或计数: 时,只有一方具有的行在另一方按 0 计算,因此一方为 0 而另一方不存在的行视为一致。如果一方完全没有行,而另一方有行,则始终算作差异。

  • 其他度量。 对于去重计数、最小值、最大值或平均值,一方缺少的行属于差异,且不给出总数,因为这些值无法相加。

当 Weave 无法完整比较两方时,它会说无法检查,并给出原因,包括以下情况:

  • 您的角色无法读取表数据,或看不到某一方读取的某个表;
  • 行访问使您只能看到某一方的部分行:对部分数据对平并不等于对平;
  • 对账所用的表或列已被删除或重命名,某个键列现在包含另一种值,或某个度量列不再包含数字,或现在需要它没有的容差;
  • 某一方中的查找现在对某些条目匹配到多行;
  • 双方都没有符合其筛选器的行,或双方对任何行都没有值;
  • 对账尚未获得批准;
  • 刚才无法运行,例如仓库响应缓慢。

与某个工作流关联的对账,会出现在包含该工作流的每个就绪集中该工作流的条目下,位于对账能够对平这一行,其中带有每个对账自己的语句和打开对账。未对平的对账会使该工作流变为未就绪。Weave 无法检查或尚未获得批准的对账,会使其变为无法检查,除非另一行已使其成为未就绪。

清单运行每个对账已批准的版本,并以执行检查的人的身份运行,因此其结果反映该人能看到的行。每份清单最多运行 25 个,合计限时一分钟;超出的会说明这一点而不运行,并计为无法检查。当 Weave 在截止时间之前检查某个集时,它以该集所有者的身份运行,并且只有当所有者在上次保存该集时能够读取表,才会读取表。

任何能打开项目 Weave 选项卡的人都可以列出其已批准的对账。运行对账还需要能读取表数据的角色。不是架构师的读取者只能看到每个对账的名称和各方标签,看不到其表、列或筛选器,Weave 给他们的原因也只会提到各方。

对账可通过平台 API 使用:GET /analyze/weave/reconciliations 列出项目的对账,对 /analyze/weave/reconciliation 执行 GET、POST、PUT 和 DELETE 分别读取、创建、替换和删除一个对账。POST /analyze/weave/reconciliation/approve 批准草稿:发送 digest,其值设为与草稿一同读取到的 content_digest,它能准确标识您审阅的版本。GET /analyze/weave/reconciliation/run 运行一个对账。

某一方还可以查找其他表,即从该方的表到某个查找表的联接,对于该方的每一行,它必须至多找到一行。查找以及加权平均值: 度量(与平均值一样,需要大于 0 的容差)只能通过 API 设置;编辑时,表单会保留它们。

通过 MCP 连接的 AI 代理可以使用 reconciliation_find 和 reconciliation_run 查找并运行对账。使用自己的登录凭据连接的架构师还可以使用 reconciliation_upsert 保存草稿;代表他人行事的 AI(如代理会话、Microsoft 365 Copilot 或应用内聊天)则不能。没有任何 MCP 工具可以批准对账。