<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Audit on Inorderly.com</title>
    <link>https://inorderly.com/tags/audit/</link>
    <description>Recent content in Audit on Inorderly.com</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 18 Oct 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://inorderly.com/tags/audit/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Making a Ledger, a Billing System and an Audit Agree on Every Balance</title>
      <link>https://inorderly.com/making-a-ledger-a-billing-system-and-an-audit-agree-on-every-balance/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://inorderly.com/making-a-ledger-a-billing-system-and-an-audit-agree-on-every-balance/</guid>
      <description>&lt;p&gt;Two systems that read the same events should end up in the same state. They often don&amp;rsquo;t, and the reason is rarely the code. It&amp;rsquo;s the order. A withdrawal that comes before a deposit gets declined; the same withdrawal after it goes through. If the ledger and billing see those two in a different order, they disagree on the balance, and both are right about what they saw.&lt;/p&gt;&#xA;&lt;p&gt;This worked example has four branches and 300 accounts. Over four hours they produce 100,929 transactions: deposits, withdrawals that are declined when the balance is short, and 929 reversals that undo an earlier transaction and name it as their parent. The branches&amp;rsquo; clocks are up to 0.8 seconds apart, so 77 reversals are stamped before the transaction they undo. The ledger and billing each get the transactions through their own queue, with their own delays. Later an auditor replays the four branch logs. Those were exported at least once, so 2,510 of their lines are there twice.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
