替换调整
通过删除一组不正确的会计分录并用正确的分录替换它们来调整。
2005 年 12 月 29 日
这是我在 2000 年代中期进行的 进一步的企业应用程序架构开发 写作的一部分。不幸的是,此后太多其他事情吸引了我的注意力,所以我没有时间进一步研究它们,而且在可预见的未来我也没有看到太多时间。因此,这些材料非常草稿形式,我不会进行任何更正或更新,直到我能找到时间再次处理它。
工作原理
错误是任何人类活动中不可避免的一部分,计算机使我们能够更快地犯更大的错误。在会计环境中,这些错误表现为 会计分录 的值不正确,甚至可能存在不应该存在的条目和缺少的条目。
当我们发现这些错误时,我们需要修复它们。使用账户为我们提供了一个特定的结构,使我们能够清楚地找到和修复这些类型的错误。
进行 替换调整 有三个阶段:找到错误的条目,确定正确的条目应该是什么(事后条目),然后对账户进行调整以修复它。对于 替换调整,调整只是删除错误的条目并创建新的事后条目。
你如何找到错误的条目,以及找到它们有多难,在很大程度上取决于你如何设计你的系统。如果没有考虑错误校正,这可能意味着要对日志进行相当多的搜索。对于这项任务,我一般来说没有什么可说的。
使所有这些变得容易的一种方法是为你的账户使用 事件溯源。这样,每个 会计分录 都与导致它的 领域事件 相关联。通常很容易缩小导致问题的 领域事件 的范围,然后跟踪链接以确定错误的条目。
下一个任务是确定事后条目。你可以通过手工、Excel 或脚本进行一次性计算来完成此操作。如果调整很少见,一次性操作是一种很好的技术。另一种方法是通过构建 并行模型 来使用系统本身。你可以创建一个包含所有更正的 并行模型,处理事件并查询模型以确定事后条目。如果你能够比较更正模型和原始模型之间的账户,你可以使用这种机制来查找不正确的条目和事后条目。
一旦你确定了不正确的条目和事后条目,进行调整就很简单了。你删除所有不正确的条目并创建事后条目。
何时使用它
替换调整 是账户调整的三种模式之一,其他两种是。 替换调整 是三者中最简单的,但它的弱点是它删除了错误的条目,从而破坏了旧事件的历史记录。在某些情况下,例如当你从账户中发出付款时,这将不起作用,因为你失去了付款的背景。因此,替换调整 是一种很好的技术,当你不需要历史记录时可以使用,但这是它有用性的极限。
通常你会发现条目可以在一定时间段内删除,但随后需要修复。如果你每月发送账单,你可能可以使用 替换调整,直到你发送账单。在那之后,你必须使用其他技术之一。
如果你使用的是 事件溯源,你不会丢失所有历史记录,因为你可以在 并行模型 中重新生成已删除的条目。这可能足以满足你的需求,在这种情况下,你可以更广泛地使用 替换调整。