这个困惑一直萦绕着我,于是我开始下载市面上其他的记账软件,想去看看它们对于多币种的处理方法。大多属记账软件似乎特意避开了多币种这一问题,它们像 Cent 一样只记录金额,而不关心币种。而另一些支持多币种的 App ,使用的方案却都让我感到不甚满意。
以 [随手记] 为例,它支持多币种,实现的方式是在记账时直接将货币统一转换为默认货币,即通过查询汇率,实时地将每一笔支出转换为 RMB ,最终统计的时候,也只按照 RMB 的结果来进行统计,这样就避免了不同币种无法直接统计总支出的情况。这个方法十分简单,确实只需要加字段就可以解决,但是对于 Cent 来说,获取汇率依赖后端接口是一个极度不优雅的方式,因为 Cent 没有传统意义上的服务器,并且 Cent 的理念就是去服务器化,为了一个“特殊需求”而导致破坏这一理念,是 Cent 无法接受的。并且,即使是简单的使用,我也意识到了实时转换货币的不合理之处,首先是导入账单时,如果导入的是其他货币,那该如何处理汇率转换?因为货币的汇率是实时波动的,历史账单记录的金额很可能与导入时的汇率大相径庭,难道要基于历史的汇率去进行转换吗?这显然是不合理的。
老牌记账软件 iCost 也是这个思路,这更令我感到疑惑,难道这真的是多币种设计的唯一思路吗?
我开始思考几个涉及多币种的场景:
1 ,出门旅游,使用非本国货币支付。这种场景最为常见,我想起之前去香港旅游的经历,如今在外支付的方式已经十分便捷,使用支付宝和微信支付时,显示的支付结果已经是转换后的货币,即 RMB ,因此记录时只需要按照支付结果记录最终金额即可,并不涉及汇率问题。
2 ,长期在外,身上有多个币种的银行卡,每次支付时可能使用不同的卡片进行支付,支付结果显示的是卡对应的币种,不能直接换算。不过这种场景,我认为应该属于多账本功能,因为每个不同的币种其实都可以看作是一本账本,它们的本来就应该被分别记录在不同的账本里,这样账目才会更加清晰,统计支出时也会更有目的性。而 Cent 天然就支持多账本,似乎这样的场景已经能被覆盖了。
我突然意识到了一件事,虽然 Cent 支持了多账本,但是账本直接并没有什么联动,每个账本都是完全独立的,这可能才是用户想要多币种的原因,因此我在 issue 中提出了这个想法,即 Cent 希望用户将不同的 [币种] 视为不同的 [账本] 来处理,每一个账本只允许一种货币,这样完全不会破坏原有的账本体系,然后再通过界面上的优化,让多账本能够像单一账本那样展示,这是我能想到的关于多币种的最好的处理方法。
不过这样做也会有一些问题,就是新建一个账本,多人协作功能也需要重新邀请,有点繁琐,不过相比于其他做法,这种方式的侵入性也是最小的,想问下 V 友们使用记账软件的时候,对于多币种的需求到底是什么样的呢?

