朋友请你用

朋友推荐你来,登记就进优先名单

你是通过朋友的推荐链接来的。首期名额有限,我们按登记顺序联系——通过推荐来的会优先。填个邮箱登录就能登记,没有密码,也没有审核。

HiBridgeAi.
PracticeOPC 出海之路

记账只记净额

买家用什么币付、平台抽了多少、当地税加了多少,都不进用户余额。一条不变量,省掉后面所有的对账争吵。

2026/08/10约 5 分钟HiBridge 原创

我们的系统里,用户账上有一个余额。这个余额的定义,我们花了不少力气才定死:

一律是美元「分」为单位的净额。

一句话,但它挡掉了后面所有的对账争吵。

净额是什么

我们自己设定的商品价格。

不含买家所在地的税、不含收款平台的手续费差额、不含换汇损益。

一笔交易实际上有几个数

一笔跨境交易,能数出至少五个不同的金额:

  1. 买家看到的标价
  2. 买家实际扣款的金额(加了他当地的税)
  3. 他用本币付的话,他银行按什么汇率换的
  4. 收款平台抽完之后打给我们的
  5. 我们的商品定价

只有第 5 个进用户余额。 其余四个各有各的去处,但都不影响这个数。

为什么必须这样

因为其余四个数,我们控制不了,而且会变。

  • 买家属地的税率,各国不同,还会调
  • 汇率每天在变
  • 平台费率会调整

如果余额跟着这些数走,那同一件商品,两个用户扣掉的额度会不一样——而他们买的是同一样东西。

更糟的是,同一个用户在不同时间买同一样东西,扣掉的也不一样。 这件事解释不清楚。

退款的时候最能看出好处

退款只退发起时锁定的那个净额

平台回传的实际金额只用来核对,对不上就报警,但不用它来算账

这一条听起来有点固执,但它的效果是:退款金额永远和当初扣的一样。 不会出现「你买的时候扣了 10,退的时候只退 9.7,因为汇率变了」这种解释起来极其痛苦的情况。

换汇的差额和税,由收款方自己消化。 这是成本,不是用户的问题。

「先定不变量,再写功能」

这是这件事真正的教训。

不变量是一句在任何情况下都成立的话。定下它之后,每写一个新功能,只需要问一句:「这个功能会不会破坏它?」

而如果没有不变量,每个功能都要单独想一遍「这里的钱该怎么算」——而十个人想十遍,会得到十一种答案。

怎么检验一条不变量

拿三个真实会发生的场景去撞它:

  • 退款
  • 汇率大幅变动
  • 平台费率调整

三个都成立,才算数。

如果某个场景下不成立,改定义,别加特例。 一条需要三个特例才成立的不变量,不是不变量,是一句愿望

别处的对应

咨询和研究里也有对应的东西:同一个指标的口径。

「活跃用户」这个数,是按登录算、按有操作算、还是按停留时长算?这三个定义会给出三个差很远的数。

而最贵的不是选错了哪一个,是不同的报告里用了不同的那一个,而且都叫「活跃用户」。

先定口径,再出数。 顺序反了,那份报告里的每一个数都要重新问一遍。

本篇目录7
  1. 净额是什么
  2. 一笔交易实际上有几个数
  3. 为什么必须这样
  4. 退款的时候最能看出好处
  5. 「先定不变量,再写功能」
  6. 怎么检验一条不变量
  7. 别处的对应
一句话

先定不变量,再写功能。

直接拿去用
我的系统里要记一笔钱。同一笔交易会经过好几层
(买家付的、平台抽的、税、汇率、最后到账的)。

请帮我定一条不变量:

1. 这几层里,哪一个数才是「我记在账上的那个数」?
   给一个明确的定义,要精确到能写进代码注释
2. 其余那几层,各自去哪?(不记?单独记?只用来核对?)
3. 举三个真实会发生的场景(退款、汇率变动、平台费率调整),
   验证这条不变量在每个场景下都成立
4. 如果某个场景下它不成立,请修改定义,而不是加特例

⚠️ 第 4 条是重点。一条需要三个特例才成立的不变量,不是不变量。

复制到 Claude 或 ChatGPT 里,把尖括号那几处换成你自己的内容。

在用它做事,需要一个稳定的订阅

官方渠道开通,海外身份与支付全部真实,明码标价。首期 10 席,登记后我们按顺序联系你。

看价格与名额 →

有新内容时通知你

只发新写的东西,不发营销邮件。留下邮箱同时也就有了账号——没有密码,也没有审核。