跳转至主要内容
Donget
下载
全部文章

Splitwise 是怎么运作的:分账 App 背后的共享账本

分账 App 真正记录的是什么,余额如何从没人直接付给你的支出里算出来,以及四个朋友之间的六笔欠款为什么只要三次转账就能结清。

The Donget team 1 分钟阅读

出租车是一个人付的,晚饭是另一个人付的,一周以后谁也说不清到底谁垫得多。这就是每一款分账 App 要解决的问题,而且它们的解法都一样——一个账本。Splitwise 是其中最知名的,所以人们问「这种东西到底怎么运作」时,通常指的就是它。

只要看清这个机制,剩下的事情就不再神秘:为什么 App 让你付钱给一个从没替你买过东西的人,为什么「结算」产生的付款次数比支出笔数还少,以及为什么 App 里的任何一步都碰不到你的钱。分账 App 是一份共享记录,不是支付服务。

App 真正记录的是什么

每一笔支出都是三条信息:金额、谁付的、为谁付的。除此之外不需要别的。

记下「晚餐,768 元,Ben 付,四个人分」,App 就存下了一行。它并没有存下「Ana 欠 Ben 192 元」——那是算出来的。这个区别很重要,因为正是它让同一组支出可以被重新排成任意多种付款方案,而底层事实一个都不用改。

群组的作用是给这份记录划定范围。一个群组就是围绕一组支出和一组人的边界:合租的房子、这趟旅行、周末踢球的队伍。余额是在群组内部计算的,所以同一个朋友可以在一个群组里欠你钱,在另一个群组里是你的债主。

余额是怎么算出来的

App 为每个人维护两个合计:他付出的金额,以及他应承担的金额——也就是他在群组每一笔支出里所占份额的总和。余额就是两者之差。

四个朋友一起过周末。Dan 就住在本地,所以没有分摊房子;演出只有 Carla 和 Dan 去了。

支出金额付款人分摊
房子2,400 元Ana在 Ana、Ben、Carla 之间均分
采买960 元Ben均分,4 人
演出票1,280 元Carla在 Carla、Dan 之间均分

这个群组一共花了 4,640 元,每个人应承担多少取决于他参与了哪几笔:房子 800 元、采买 240 元、演出票 640 元。用每个人付出的金额减去他应承担的部分:

已付应承担余额
Ana2,400 元1,040 元+1,360 元
Ben960 元1,040 元−80 元
Carla1,280 元1,680 元−400 元
Dan0 元880 元−880 元

正数表示群组欠你,负数表示你欠群组。四个余额加起来永远是零,这是唯一真正重要的验算——如果加不出零,就是某一笔支出记错了。

为什么你要付钱给从没替你付过钱的人

如果两两来看,这三笔支出会产生六笔独立的欠款:每一笔支出都让付款人成为这笔支出里其他所有人的债主。没有人愿意转六次账。

所以 App 改从余额出发。Dan 转给 Ana 880 元,Carla 转 400 元,Ben 转 80 元。三次转账,所有人归零——Ana 恰好收回她该收的 1,360 元。看看 Dan:Ana 从没替他付过任何东西,因为他没有分摊房子,而房子是 Ana 唯一付过的一笔。他的 880 元来自 Ben 的采买和 Carla 的演出票。他照样转给 Ana,因为群组总共欠多少没有变——只是被排成了最少的动作。

「简化债务」或者智能结算的含义仅此而已。当有 n 个人尚未结清时,这种排法永远不需要超过 n − 1 次转账,通常还更少。想看完整机制的话,债务简化有单独的一篇

账本和付款是两回事

这是最让人意外的部分。把一笔欠款标记为已付,记录的是「有一笔付款发生过」,而不是让付款发生。钱仍然走你们本来就在用的渠道——银行转账、现金、某个支付 App——记录只是随之更新。 如果某个 App 提供了集成支付服务,那是叠在账本之上的第二项可选服务,而不是账本本身在做的事。

由此带来的是一个很实际的结论:分账 App 不需要你的银行信息也能完成它的工作,因为它的工作是算术和记账。那些加入了付款步骤的 App 是在做第二件、也是另一件事,身份核验和手续费正是从那里冒出来的。关于这个区别我们另写了一篇

免费版在哪里到头

Splitwise 把核心送出去,把边缘卖掉。免费版每天能添加约三笔支出,界面之间会插广告,收据扫描和货币换算则放在每月 4.99 美元的 Pro 方案里。

在一间安静的合租房里,这些限制根本感觉不到。到了旅行的第二天,六个人同时在记午饭、打车和门票时,就非常明显了:额度是按人按天算的,一个群组一个下午就能用完。绝大多数人正是在这一刻开始另找工具。免费版扣下了什么讲得更细,撞上上限时该怎么办讲的就是那个下午。

Donget 在这里的位置

Donget 用的是同一套模型,因为这个模型本身是对的:支出、份额、每人一个余额,最后结算一次。你建一个群组,点添加支出,选择分摊方式——均分金额百分比乘数,或者在项目里逐行分——余额页就为所有人维护实时合计。

区别在于墙立在哪里。支出没有每日上限,没有广告,用 AI 扫描收据是内置的而不是留给付费方案:拍下收据,支出就据此生成。结算给出的正是上面那种转账次数最少的排法,而且群组里每个人看到的是同一份余额,谁都不必只凭一句话相信别人。

常见问题

Splitwise 是什么?

Splitwise 是一款记录共同支出的 App。每个人记下自己付了多少、这笔钱是为谁付的,App 就为群组里的每个人维护一个实时余额。

Splitwise 会在人和人之间转账吗?

它本身不会。App 的核心是一份记录:把一笔欠款标记为已结清只是更新账本,并不转移资金,付款仍然发生在你平时转账的地方。在 Splitwise 提供集成支付服务的地区,你可以选择从那里付款——那是另一项独立服务,有自己的身份核验和它收取的费用。

我欠的是替我付钱的那个人吗?

不一定。大多数 App 显示的是你在整个群组里的净余额,所以你可能会被要求付给一个从没替你买过东西的人。总额是一样的,只是重新排成了更少的转账。

Splitwise 免费吗?

核心功能免费,但免费版每天只能添加约三笔支出、会显示广告,并把收据扫描和货币换算放在每月 4.99 美元的 Pro 方案里。

群组里的每个人都必须注册吗?

想自己看到余额就必须在群组里。一个人可以独自维护账本再分享一份汇总,但那样也只有这个人能核对。

如果有人还没结清就退出群组怎么办?

余额会一直留在记录里,直到被结清。在有人离开之前先结算,或者约定未结的余额转到你们接下来使用的工具里。

小结

分账 App 就是一个共享账本,加上最后的一次减法。所有看起来像魔法的地方——付给从没替你付过钱的人、六笔欠款变成三次转账——都是从这一个想法里长出来的。区分这些 App 的不是模型,而是它们把什么放在了付费墙后面。

免费下载 Donget,把账本记下来,不限笔数、没有广告、也不需要 Pro 方案。

几秒结清账目,多年还是朋友。

加入那些已经甩掉表格的小群。免费下载 Donget。