结算一次团体旅行:多张单、多个垫付人、最少笔转账
最后更新:20 August 2026
一顿饭一个人付钱,那是除法题。六个人在甲米待四天、十一张收据、三张不同的卡、 还有一个收现金的包车司机,那就不是了——那是记账。 它之所以难得多,是因为你已经不再问「这一顿我该给多少」,而是在问「大家整体上谁欠谁」。
这确实是两个不同的问题,而把第二个问题答对,正是把一堆欠条压成三笔转账的关键。
为什么旅行会让「一顿饭」的方法失效
一顿饭的方法之所以成立,是因为债主只有一个。所有人付给那个人,闭环就完成了。 一旦出现第二个垫付人,结构就变了:有些人既欠着某个人的钱,又被另一个人欠着; 如果你一张收据一张收据地结,每张收据都会生出自己的一组转账。 六个人十一张收据,很容易产生三十笔小额支付,而其中大部分是互相抵消的。
它们能抵消,是因为钱是可替代的。如果阿文欠 Siti RM80、Siti 欠阿文 RM50, 没有理由真的发生两笔转账——一笔 RM30 让所有人处在完全相同的位置。 把这个观察推广到整个群体,就是净额结算。
净额结算的三步
一、每张单先按自己的规则算完。每张收据在当时在场的人之间分摊,按比例摊进这张收据自己的服务费和税——见SST 与服务费那篇。 税是「每张单」的事,必须在合并之前处理完;泰国的收据和马来西亚的收据不共用一套税规则。
二、把每个人压缩成一个数字。对每个人:他垫出去的一切,减去他消费掉的一切。正数表示群体欠他,负数表示他欠群体。 这些数字加起来永远是零,这是个好用的校验——如果不为零,要么有张单录了两遍,要么漏了一个参与者。
| 阿文垫了 640,消费 330 | +310.00 |
| Siti垫了 400,消费 305 | +95.00 |
| 美玲垫了 120,消费 300 | −180.00 |
| Kumar垫了 0,消费 225 | −225.00 |
| 合计(恒为零) | 0.00 |
三、把最大的欠款人和最大的债主反复配对。Kumar 欠 225,就付给阿文 225。美玲欠 180;阿文还剩 85 要收, 于是美玲付阿文 85,再付 Siti 95。三笔转账全部结清, 而不是一张单一张单地结所产生的八九笔。
| Kumar → 阿文 | 225.00 |
| 美玲 → 阿文 | 85.00 |
| 美玲 → Siti | 95.00 |
| 三笔转账,全员结清 | 405.00 |
n 个人永远不需要超过 n−1 笔转账,通常还更少。这就是全部的收益。
什么时候净额结算反而不合适
净额结算优化的是「支付笔数最少」,代价是切断了每一笔欠款与它来源那顿饭之间的联系。 Kumar 付给阿文 RM225,但他从未吃过一顿由阿文买单的 RM225 的饭—— 这个数字是聚合出来的,他要核对就得信任整条链,而不是核对某一张收据。
对于经常一起结账的群体,这没问题。但对于一次性的旅行、彼此又不太熟的人来说,逐对结算常常是更好的社交选择:转账笔数多一些, 但每一行都能手工核对,而「我只欠请我吃饭的那些人」不需要任何解释。 BillSplitor 两种视图都提供,正是这个原因——净额方案和逐对明细是同一份数据的两种精度。
外币:只换一次,用一个大家都看得见的汇率
出国旅行时最容易犯的,是每张收据都用你当天下午在银行应用里看到的汇率去换。别这么做。 不同收据用不同汇率,意味着各人份额加起来不再等于任何人实际付出的钱, 而这个差额最后会落在做算术的那个人头上。
整趟旅行每种货币只定一个汇率,当面说清楚,然后处处照用。 它不会和任何人的信用卡账单完全对上——加上银行点差和跨境手续费之后,谁的都对不上—— 但它是透明的、而且对所有人是同一个,这才是关键。 如果群体干脆不想定汇率,另一个选择是每种货币各自成池结算:泰铢的账用泰铢结, 令吉的用令吉结,全程不做任何换算。
无论选哪种,税都要留在各自的单上。把泰国收据换成令吉之后再套马来西亚 SST, 是一个在表格里出奇容易犯的错。
分期还款,和那个付现金的人
旅行的账是零零碎碎结清的。有人在机场塞了 RM100,有人先转一半、发薪后再转一半, 包车司机的钱是谁身上有现金谁给的。这些都是真实的资金流动,每一笔都会改变余额—— 一笔还款只是让付款方的欠款和收款方的债权同时缩小,然后重新计算方案。
要避免的是:在记录之外把钱结了,然后指望事后记得。 如果美玲在机场给了阿文 RM100 而这笔从没被登记,方案仍然会向她要满 RM180, 接下来只有两种结果:她付了两次,或者她提出异议,然后有人得从群聊里重建四天的收据。 发生的当天就登记,而不是等被追问时才登记。
旅行途中可行的做法
- 出发花钱之前,先把汇率和谁垫什么讲定。
- 每张收据在付完的当下就拍——包括那些看起来小到无所谓的。小额收据正是最容易丢的,而二十张就不小了。
- 标清楚每张单当时有谁在场。不是每一顿所有人都参加。
- 现金交接当天就登记,和收据记在同一个地方。
- 最后按净额方案一次性结清——不要每晚结一次,那等于把你本想避开的「逐单结算」问题又造了出来。