How does rosetta-cli actually track balances

I’d like to know, how exactly does rosetta-cli track account balances. I’m asking, because I produced a very simple blockchain with 4 accounts. It only contains a single transaction at block 2:

{
 "block_identifier": {
  "index": 2,
  "hash": "3NLVsrNxonM6LUbSwNQrRzj2mYXGpndsDEcxvNAEZuDKvXv8XPPv"
 },
 "parent_block_identifier": {
  "index": 1,
  "hash": "3NLHpm5Nyrgb4fYoYYTofo76S5tgd5GVdeRcxtfXhRz2bGFUqoCL"
 },
 "timestamp": 1667999534000,
 "transactions": [
  {
   "transaction_identifier": {
    "hash": "CkpZpPcVjWkQ7ukuyZGrZMzfHSjN41nthJUBSJfFmhXxdXxEw53aN"
   },
   "operations": [
    {
     "operation_identifier": {
      "index": 0
     },
     "type": "fee_payment",
     "status": "Success",
     "account": {
      "address": "B62qoFwCfztCrpPF6RENap3izXZ5rawhhrgw6ebFfCiDNfPdoRSvrxG",
      "metadata": {
       "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf"
      }
     },
     "amount": {
      "value": "-5000000000",
      "currency": {
       "symbol": "MINA",
       "decimals": 9
      }
     }
    },
    {
     "operation_identifier": {
      "index": 1
     },
     "type": "payment_source_dec",
     "status": "Success",
     "account": {
      "address": "B62qoFwCfztCrpPF6RENap3izXZ5rawhhrgw6ebFfCiDNfPdoRSvrxG",
      "metadata": {
       "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf"
      }
     },
     "amount": {
      "value": "-100000000000",
      "currency": {
       "symbol": "MINA",
       "decimals": 9
      }
     }
    },
    {
     "operation_identifier": {
      "index": 2
     },
     "related_operations": [
      {
       "index": 1
      }
     ],
     "type": "payment_receiver_inc",
     "status": "Success",
     "account": {
      "address": "B62qq5YioU3zPgdob8WAiKo7niwbHM24dmAkfT6LJQcbAPjZZaRDjZ6",
      "metadata": {
       "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf"
      }
     },
     "amount": {
      "value": "100000000000",
      "currency": {
       "symbol": "MINA",
       "decimals": 9
      }
     }
    }
   ]
  }
 ],
 "metadata": {
  "creator": "B62qmp1MSwRHzVd9Smg35XNVfFHJDrtefnxr7dVxKHR7AZQSPkPYL6b"
 }
}

This looks pretty simple: 100 coins are transfered from one account to the other and 5 coins are burned as fee. After this block the balance of B62qq5YioU3zPgdob8WAiKo7niwbHM24dmAkfT6LJQcbAPjZZaRDjZ6 should be 100 coins, since their initial balance was 0. However, when I run the check:data test, I get:

Command Failed: failed to call "reconciliation fail" action: active reconciliation error for account address B62qq5YioU3zPgdob8WAiKo7niwbHM24dmAkfT6LJQcbAPjZZaRDjZ6 at block index 2 (computed: 200000000000MINA, live: 100000000000MINA): reconciliation failure

Somehow rosetta-cli decided the balance should be 200 coins, rather than 100. I’m at a loss to understand it. Does it for some reason count the transaction twice?