把结算次数降到最少 — 让“谁该还谁多少”变简单的机制
#how-to#settlement
把每笔欠款原样还回去,转账会多到崩溃。先把借贷相互抵消、按“净额”结算,n个人最多n−1次就能结清。本文用4人实例讲解计算步骤。
旅行或聚会之后结算之所以乱成一团,根源在于大家想把一笔笔欠款原样还回去。正确做法是:先把所有人的借贷合并起来,算出“净额”。这样一来,哪怕有几十笔垫付,n个人的结算最多n−1次转账就能结束。
🌀 反面例子:一笔笔还,转账没完没了
3人旅行,垫付情况如下:
- A垫了住宿费1,500元(3人份)
- B垫了晚餐600元(3人份)
- C垫了打车费450元(3人份)
按“借了什么就还什么”的方式:B转A 500元、C转A 500元、A转B 200元、C转B 200元、A转C 150元、B转C 150元——一共6次转账。3个人就这样,5人旅行最多要20次。现实中往往有人中途搞晕,结算就此停摆。
✅ 正确做法:先算“净额”再结算
3个步骤。
第1步:把每个人“付出去的钱”加总。
第2步:算出每个人“应承担的钱”(本例全员均分:2,550 ÷ 3 = 850元)。
**第3步:相减得出净额。**正数是“收钱方”,负数是“付钱方”。
| 付出的钱 | 应承担 | 净额 | |
|---|---|---|---|
| A | 1,500 | 850 | +650(收) |
| B | 600 | 850 | −250(付) |
| C | 450 | 850 | −400(付) |
结果:B转A 250元、C转A 400元,完事。6次转账变成了2次。
👥 4人、分摊方式混用,思路完全一样
即使各人应承担的金额不相等,步骤也不变。4人的例子:
- A垫了住宿2,000元(4人均分)
- B垫了晚餐900元(D没参加,3人均分)
- C垫了集中采购的手信300元(其实全是D的个人物品)
| 付出的钱 | 应承担 | 净额 | |
|---|---|---|---|
| A | 2,000 | 500 + 300 = 800 | +1,200 |
| B | 900 | 500 + 300 = 800 | +100 |
| C | 300 | 500 + 300 = 800 | −500 |
| D | 0 | 500 + 0 + 300 = 800 | −800 |
把付钱方(C: 500 / D: 800)分配给收钱方(A: 1,200 / B: 100),就得到比如“C转A 500元、D转A 700元、D转B 100元”共3次,全部结清。垫付有3笔、分摊规则各不相同,转账次数依然控制在“人数−1”以内。
⚙️ 手算的极限,和自动化这个选项
这个计算原理简单,但真实的旅行有30笔垫付,分摊方式还混着平均、按比例、按金额。就算用Excel,也得有人当“会计”把所有小票汇总一遍,是实打实的体力活。
分账应用要自动化的正是这一段。只要成员在花钱的当下就记账,净额的计算和“谁转给谁多少”的整理,应用会替你完成。以 Evere 来说,结算界面的“智能结算”就是这篇文章思路的实现——汇总借贷关系,按所需结算次数最少的方式显示。
📝 结算确定后,留下“记录”
按净额结完之后被人翻旧账——“那笔打车费算进去了吗?”——是结算的最后一个坑。防住它有两招:
结算前,全员一起过一遍垫付清单,把漏记和重复的先挑出来。然后,把结算的事实和时点记录下来。只要划好了「到此为止已结清」这条线,之后谁再翻旧账,几秒钟就能答上。
在 Evere 里,结算后会留下已结算的记录,并与之后新增的垫付区分开,所以“到底结算到哪儿了”这个问题不会出现。