> ## Documentation Index
> Fetch the complete documentation index at: https://docs.totowallet.app/llms.txt
> Use this file to discover all available pages before exploring further.

# 账户余额计算逻辑

由于过去版本中的余额计算逻辑存在问题，会导致一些用户出现账户余额计算不精准及多端使用时出现余额冲突的问题，为了彻底修正这一错误并在未来进一步拓展账户余额相关功能，在图图记账 v4.0.0 版本中，我们重构了账户余额计算的相关逻辑。

新的账户余额计算逻辑会以你账户创建的时间为起始，计算每笔账单的收支并进行存储，计算逻辑如下图：

<img src="https://mintcdn.com/totowallet/3pOf9m3uHlzBKeGK/logo/%E8%B4%A6%E6%88%B7%E4%BD%99%E9%A2%9D1.png?fit=max&auto=format&n=3pOf9m3uHlzBKeGK&q=85&s=40aaf734d131aef5838b63ad99fd9d18" alt="" width="815" height="492" data-path="logo/账户余额1.png" />

在出现手动调整余额时，则重新以手动调整的余额为基准，加减在此之后的账单的收支并计算最终的账户余额，计算逻辑如下图：

<img src="https://mintcdn.com/totowallet/3pOf9m3uHlzBKeGK/logo/%E8%B4%A6%E6%88%B7%E4%BD%99%E9%A2%9D2.png?fit=max&auto=format&n=3pOf9m3uHlzBKeGK&q=85&s=32ea216889738528f68dcfa1fdedb02e" alt="" width="815" height="754" data-path="logo/账户余额2.png" />

如果在调整余额后，再去补记余额调整前的账单，则新增的这些账单将不计入后面的余额计算。

<Warning>
  举个例子

  比如你在1月1日创建账户时，设置了账户余额为100，1月2日记录一笔支出20元，此时你的账户余额计算结果为100-20=80；

  你在1月3日手动修改了余额，将余额从80改为60，这个时候你再去补记1月3日之前的账单，假设创建了一条支出账单金额为30，这个时候你的余额仍是60，在余额调整前记录的30元支出不会计入余额计算中。
</Warning>

## **可能会出现的问题**

1. 在 4.0 版本之前，如果在账户中修改过账户余额且补记了在账户余额修改前的账单，在升级到 4.0 之后，因为计算逻辑的变更，则会出现账户余额前后不一致的问题。

2. 升级到 4.0 或者从 4.0 版本开始使用的用户，在手动修改余额后，再去补记修改余额前的账单，会发现最终账户余额没有变化。

## **解决方案**

可找到之前的余额调整记录，将其删除，补账后再进行调整。 或者直接进行余额调整即可。

***
