在开发结算系统时我学到的东西

2021-04-06 03:06:30

半年前,我加入了Pleo,一家Fintech启动,大约15,000名客户。我加入了接受并进一步发展结算基础设施。

当我加入时,我实际上有点关心这个角色的狭隘性。我的意思是,真的......结算有多少深度?客户加入,每月支付他们的订阅,这是正确的吗?

好吧,是的,但实际上没有。这仅涵盖最基本的场景,并且有大量的边缘案例和GotChas。

一个逐个弄清楚这些边缘案件并不伟大。我希望有人创建了一个简短的指导,我需要知道的内容。所以这是!我的指南。如果您正在考虑建造(甚至只是使用)计费系统 - 请密切关注。

数据库设计中的常见智慧是“从不使用浮点数的钱”。有些人建议使用钱数据类型,而其他人则告诉您使用十进制。

这两个都是错误的。当然,是的,在美国和欧洲大部分,金钱是十进制的。

这肯定不是日本的情况 - 你不能收取2500.50 JP¥。但你不需要一路走向日本。冰岛也没有其货币的细分。相反,伊拉克第纳尔在细分中有三个小数点。

当您构建一个计费系统时,即使他们不在您当前的焦点中,您必须在可以扩展到处理这些国家的事件。

贝宁(BJ),Burkina Faso(BF),科特迪瓦(CI),几内亚比绍(GW),马里(ML),尼日尔(NE),塞内加尔(SN),多哥(TG)

法国太平洋地区:法国波利尼西亚(PF),新喀里多尼亚(NC),Wallis和Futuna(WF)

作为ISO 4217标准的一部分提供了全额货币及其细分,其中一些在维基百科找到。

无论如何,至少在大多数欧洲。在美国,常规做法是无偿发票。但是,许多欧盟国家都不是合法的。如果你犯了错误,这是一个巨大的头痛!

创建后,如果您需要取消发票,您只能做一件事:为全额创建信用票据。

什么是信用票据?将信用票据视为反向发票。信用票据是他们自己独特的商业文件,如反向发票。就像发票一样,他们有自己的号码。

因此,信用票据是我们可以用来将原始发票标记为“已付费”的文件,即使没有钱已经改变了手。

信用票据对于改变客户需要支付的总数也很有用。假设您以10英镑的价格为客户发票20用户,但其中5个用户无效,应取消。 200英镑的原始发票可贷记50英镑(5×10),导致支付150英镑的余额。

当您进入一个新地区时,它需要花费更多,而不是定价您的产品和服务。您必须确保您符合各种规则和法规 - 这可能比您想象的更微妙。

许多公司从第三方SaaS产品购买服务,我们经常认为他们遵守所有必要的规则。

我发现并非总是如此(Onus是我们验证,当然)

在欧盟,供应商必须确保客户的增值税号(如果使用)在每次销售之前都是正确的。例如,条带仅在设置增值税时执行VAT检查。它不会执行任何后续检查,并且与客户详细信息不符。其他一些服务根本不这样做,所以确保你合规!

欧盟增值税发票必须包括有关您自己公司增值税ID的具体信息。但是,许多发票生成器(包括条纹到最近),甚至不包括包括增值税信息的方法。您可能必须使用地址字段找到一种方法来解决您的税务详细信息。无论哪种方式,这取决于您,以确保您符合要求!

我以为签署公司很容易。他们注册,并在短暂的试验后,他们使用产品作为支付客户(“常青树”),一切都很棒!

与许多其他公司一样,我们还提供了几个不同的服务。但是,我们还将一个月充电到前面使用。因此,如果客户升级或降级,我们需要在未来的某个时期更改计划。

如果他们想立即获得升级的服务水平,怎么办?在这种情况下,我们可以......升级他们的计划,但不向他们收费。这意味着您需要将您的计费引擎与决定服务级别的权利引擎分开!

如果他们想立即开始为新计划支付新计划怎么办? (这比你想象的更常见)我们可以立即升级它们!但是,我们会收取差异或我们是否通过新服务重新收费?哦,不,我们偶尔偶然发现了涉及可怕的普罗拉(费用费用的Prioration),这导致非常困难地了解您的发票,客户支持以及客户。

实际上,我们也想扩展他们的试验一点点,这样他们就可以获得更多的宽限期来获得设置。这个实际上并不是那么难......

但有时他们只记得他们开始常绿阶段后需要这个。这是一个噩梦,但您也可能需要信用一些发票!

公司生命周期可能有十几种更具更多变化。虽然这些时间可能不会发生,但是当您达到几百名客户时,它们会发生。提前计划如何处理这些案例!

客户不是公司。他们是人。不同的人有不同的需求。

除非您在一个非常严格的环境中工作,否则您必须考虑您想要强制执行规则的努力。

我们仅为英国客户推出折扣。当然,但德国有一个子公司的英国客户呢?它们还包括在此折扣中吗? (答案是肯定的!)

我们推出了一个竞选活动,其中签署的每个人都免费使用该产品直到2021年4月1日。这是适用于所有公司,即使具有多年的合同。但是,在签订合同后,几家公司想支付无论如何。

有些公司希望在2021年到2021年底前支付2021年,因为他们拥有2021年的剩余预算。我们的系统尚未旨在支持提前支付预付款。

无论您计划的任何限制,计划如何绕过它们。这将发生。

在我眼中,最好支持业务并赢得客户,而不是严格。

无论一个问题区域先看起来如何轻松或简单,都有很多深度,以及需要回答的大量问题。 我学会了解,如果你偏离“标准”,难以设计,难以设计,难以设计,难以为您服务。 但是,投资权威导致快乐的客户,营销销售和支持代表,以及一个快乐的金融部门! 虽然那些是我希望在我开始在账单系统上工作之前我所知道的5件事,但它们绝不穷举着。 您可以通过弄清楚如何以及为什么大计费系统设计的方式来学习很多(条纹博客:在线支付解决方案博客,结算档 - 收费档的SaaS发送等)