示意图:一条累计差额线在 09.01 到 09.15 保持为 0,在 09.16 跳到 1.00 后不再变化,跳动处用圆圈标出
累计差(账本 − 参照)在 09.01 到 09.15 都是 0,到 09.16 变成 1.00,之后一直停在那里。

示例数据:账户甲的 USDT,九月一日账本和平台余额都是 500.00;到九月三十日,账本推算出 486.40,月末保存的余额截图却是 485.40。差 1.00 不算大,可九月有四十多行记录,逐行重看既慢,第二遍还容易漏在同一个地方。

与其直接找“那一笔”,不如先找差额第一次出现的那一天。日期定下来,要翻的记录通常只剩当天几行。下面的方法不依赖某个平台或某款记账软件,只要求你手里有带日期的余额证据,或者另一份能逐日对照的流水。

为什么先找日期,而不是按金额直接搜那一笔?

按金额搜,前提是差额只由一笔记录造成。账本里也可能同时有两三个小问题:一笔手续费没记、一笔划转记了两次,合起来的差额可能和任何一行都对不上。搜 1.00 搜不到,不代表问题不存在。

日期不受这种叠加影响。差额从零变成非零的那一天,至少有一个问题发生在当天。先把这一天找出来,再在当天的记录里配对,比在整个月里猜金额可靠。

找差额起点,手里要有哪两份资料?

第一份是账本的逐日余额:按资产、按账户,从期初数量开始,把每天的流入、流出和单列的费用累加,得到每天结束时账本认为“应该有多少”。几个账户混在一起的账本,先按月末账户范围拆开,否则账户之间的划转会制造出假的差额。

第二份是参照,必须来自账本以外。可用的来源大致有三种:

  • 你在某个日期保存过的余额截图或余额导出,文件名或画面上能看出日期;
  • 能指定期间的账户报表里的期初、期末数量(报表和交易记录的区别见账户报表与交易记录该选哪份);
  • 平台另一份记录余额变动的流水,它和你的账本不是从同一份导出文件来的。

同一份 CSV 导入两次再互相比较,不算参照。它们会错在完全相同的地方。

记账软件里的“对账”也是这个思路:把账本在某个日期的余额,与机构对账单上同一日期的期末余额对比,直到差额归零(见文末 GnuCash 指南的对账一节)。这里做的,只是把“同一日期”从月末一个点扩展到月中的多个点。

参照点只有月初和月末,怎样一步步缩小范围?

假设你只有九月一日和九月三十日两个参照点,前者对得上,后者差 1.00。接下来在中间补参照:

  1. 取九月十五日。那天的余额证据和账本一致,差额就出在十六日到三十日之间;不一致,就在一日到十五日之间。
  2. 在剩下的半段里再取中点,重复比较。
  3. 直到剩下一天:前一天一致,这一天不一致。

三十天的月份,这样最多比五次就能落到某一天。难的不是计算,而是每次比较都需要一个有日期的参照余额。月中没有任何快照时,改用上面第三种来源:把平台流水按日汇总,和账本的逐日净变化一天天对。

账户甲 USDT 的逐日净变化对照
日期账本当日净变化平台流水当日净变化累计差(账本 − 流水)
09-14−20.00−20.000.00
09-15+35.00+35.000.00
09-16−12.50−13.50+1.00
09-170.000.00+1.00

累计差在十六日第一次离开零,之后一直停在 +1.00。回到这一天的原始记录:账本只写了一笔 12.50 的提现,平台流水在同一时刻多出一行 1.00 的扣减。示例里它是提现费;换成真实账户,也可能是别的扣减,要看那一行的类型字段,不按金额去猜。

累计差那一栏,表头要写明“账本 − 参照”。正数是账本多算,负数是账本少算;方向一旦记反,后面会朝相反的方向找原因。

差额一次跳出、出现又消失、越滚越大,各说明什么?

把累计差按天连起来看,大致有三种走法,分别指向不同的记录类型。

一次跳出,之后不变。上面的示例就是这种:某一天多记或少记了一笔,此后每天都背着同样的差额。可以先查两种可能:一是费用从另一个资产里扣、账本只记了主资产(见手续费记在哪个币种里);二是一笔兑换只在单独的记录里,没有进主文件(见闪兑记录没有出现在现货文件里)。

出现一两天,然后自己消失。这种走法更像两边把同一笔归到了不同日期,不太像漏记。月末前后可能是这样:一边按 UTC 记时间,一边按本地时区(见CSV 时间与页面差一天);或者一笔划转在转出那天记了,到账那天才出现在另一边。它到后面会归零,但月末那天如果正好落在“出现”的区间里,月末余额照样对不上。

每隔几天多一点。差额是重复的小问题在累积:每笔成交的费用都没记;表格软件把小数位截短,每行差一点(见导出文件用表格打开后出了问题);或者某种小额入账一直没导进账本。逐段缩小只能找到第一次,找到之后要往后翻,看同类记录是不是反复出现。

对半缩小时要提防第二种走法。挑的中点如果恰好落在“出现又消失”的那一两天里,你会误以为问题在前半段。所以发现某天对不上,顺手再看后一天:后一天也对不上,而且差额相同,才继续往前找。

几个币种、几个账户同时对不上,要分开找吗?

分开找,找完再放回一起看。每个资产、每个账户各画一条累计差,各自定出第一次出现的日期。

两条线在同一天跳动,这一天就值得重点看。USDT 少了、BTC 多了,日期相同,数量又能对上某次成交,很可能是一笔交易只记了一边。同一个资产在两个账户里一正一负、数量相同,可能是内部划转只记了一端,或者两端落在不同日期。

不同资产的差额不能相加。USDT 差 1.00、BTC 差 0.0001,合成一个“总差额”没有意义,反而把各自的日期盖住了。

找到那一天以后,问题清单里写什么?

先别改账本。在问题清单里给这一天单开一行:

  • 资产与账户别名;
  • 第一次出现差额的日期,以及“前一天一致”的证据来自哪份文件;
  • 差额大小与方向(账本 − 参照);
  • 走法:一次跳出、出现又消失,还是逐步累积;
  • 当天可疑的记录行和候选原因;
  • 状态:待核实、已确认原因、已补记。

原因确认后,补记的应当是那条真实的记录,比如那 1.00 的提现费,而不是一笔金额 1.00、备注写着“调整”的分录。前者以后还能追查,后者只是把差额藏起来。原因一时查不到,就让这一行停在“待核实”,并在期末结果旁写明影响的资产和数量。

每个检查点上的数量差,可以先用本站的按币种核对差额工具算一遍:输入期初、流入、流出和单列费用,再和那天的参照余额比。它一次只算一个日期,检查点要你自己一段段往前挪。

下个月怎样少比几轮?

缩小范围的快慢,取决于参照点有多密。月中多几个有日期的余额证据,下次就少几轮比较。比如每周固定一天保存一次余额,文件名写上日期和账户别名,和当月的导出文件放在同一个文件夹。

余额截图里只有折算估值、看不到每个资产的数量时,它不能拿来做这种比较。估值跟着价格变,判断不了数量差在哪天出现。

REKQO 编辑台

本站文章统一以 REKQO 编辑台署名。示例为明确标注的模拟数据;事实依据和更正方式可在编辑原则中查阅。 编辑原则