多币种旅游预订网站:利润是在哪里漏掉的

香港的分销代理打来电话:搜索页显示的是港币,发票上却是美元,哪个才算数?两个数字都没错。供应商用一种货币定价,展示给旅客的是第二种,刷卡结算时落到第三种。没有人出错,可你的账上就是少了一块。多币种旅游预订网站的利润正是在这里被悄悄吃掉的,而罪魁祸首几乎从来不是汇率,而是汇率底下那条取整规则,以及一个没人回答过的问题:从报价到结算的这段时间,汇率风险到底由谁承担。
两种货币,只有一种真的在动钱
任何做跨境生意的店铺,同时都在跑两套货币系统。把它们当成一套,是绝大部分混乱的源头。
展示货币是旅客看到的那一个,它只是展示层。在这个平台上,每个白标站点自己选择默认货币和对外提供的货币列表,价格由每个租户各自的汇率表在客户端换算。这个细节比听起来重要:屏幕上的数字是推导出来的,是页面渲染那一刻用你的汇率乘以供应商价格得到的结果,并不是谁承诺会守住的价格。
结算货币才是钱真正流动的那一种:供应商向你开票用它,支付网关扣款用它,银行对账单上是它,退款也从它出去。通常每个供应商一种、每个网关一种,而且两者未必相同。
一家代理说"我们支持港币、人民币和美元",绝大多数时候的真实含义是:展示三种,结算一种。这是完全正常的经营方式,多数店铺都这么做。问题只出现在下游某个环节把展示价当成承诺的时候——退款、分销代理对账单、拒付争议——因为展示价从来就不是承诺,它只是一次渲染。
汇率风险由谁承担
从旅客看到价格到钱真正到账,中间总有人暴露在一个会波动的汇率上。问题从来不是这个敞口存不存在,而是它属于谁,以及那个人知不知道它属于自己。
诚实的答案只有三个。如果你签的是以本币计价的净价(Net Rates),换算由供应商吸收,风险在供应商。如果你直接用供应商的货币收款,由旅客的发卡行完成换算,风险在旅客——这对你最干净,也最容易招来投诉,因为账单上的金额和确认函上的金额对不上。或者风险在你,而这正是"汇率表"三个字的含义:你锁定了一个汇率,结算当天它和真实汇率之间的差额归你,涨跌都归你。
这三种都站得住脚。要躲开的是意外出现的第四种:没有人做过决定,汇率表想起来才更新,头寸要等到一个季度后对账时才浮现。如果你没法用一句话说出负责人和更新频率,你就在第四种里。
取整是定价决策,不是格式问题
多数引擎默认把取整步长设成 0.01,因为十进制货币看起来就该如此。放到旅游业,这是个错误的默认值,原因有四个,互不相干。
第一,不是每种货币都有辅币单位。日元和韩元没有;在这两个市场上显示两位小数,读起来就像软件留下的痕迹,而对一个没有分的货币按 0.01 取整,是在一个并不存在的单位上做算术。
第二,换算过的价格会暴露自己。1,236.47 这样的数字等于在宣告"我是一次乘法的结果"。读到它的旅客知道背后还有另一个数字,接下来最自然的动作就是去别处把那个数字找出来。落在整数步长上的价格,读起来才像你自己的价格。
第三是方向。四舍五入到最近的步长是对称的:误差在成交量上相互抵消,毛利不受影响。一律向上取整每次多留一薄层,一律向下则每次送出一薄层。只要是有意选的,两种都算合理政策。真正的毛病是无意中选了,还选反了方向,然后纳闷为什么某一个市场的毛利率总比别的低一点。
第四是运算顺序,这一条最伤人。先换算,再加价,最后只取整一次。有的引擎在换算时先把净价取整,加价之后又取整一次——它取了两次整,而第二次取整作用在一个早已丢掉余数的数字上。再把机票、税费和附加服务当作独立组件分别定价,乘起来之后,总额就不再等于各部分之和。这首先是对账问题,其次才是定价问题。
要么对组件取整,要么对总额取整,不要两边都做;并且确保发票上显示的数字,在分销代理把它抄进表格时能对得上。他们一定会抄。
三种可行的做法
下面三种不是功能档次,而是对"你向旅客承诺什么"这个问题的三种不同回答,各自背着不同的工作量。
| 仅展示换算 | 按市场维护价目表 | 按市场分别结算 | |
|---|---|---|---|
| 它是什么 | 一种结算货币,其余靠汇率表渲染 | 按市场手工定价,不是推导出来的 | 每种货币配一个网关和一个银行账户 |
| 谁承担汇率风险 | 你,从更新汇率到结算的这段时间 | 你,直到下一次重新定价 | 几乎没有人——每种货币你都持有 |
| 退款 | 必须存下成交当日汇率,否则差额你来贴 | 干净:原数返还 | 干净 |
| 价格控制力 | 弱。价格点是汇率算出来的 | 完全。每个价格点都由你选 | 完全 |
| 账务 | 一本账,简单 | 一本账,简单 | 多本账,实打实的工作量 |
| 什么时候是对的 | 多数代理,多数时候 | 你真的在拼价格的那个市场 | 你在那个国家有人、有量、有银行 |
几乎所有人都该从左边那一栏开始,等某个市场值得花这份精力时,再把它单独挪到中间那一栏。右边那一栏是一个穿着技术外衣的运营决策;如果今天公司里没有人在对两本账,多加一种货币也不会让这个习惯凭空长出来。
做错了要付多少代价
退款是最经典的一例。订单按某个汇率卖出,六周后取消,退款却按今天的汇率执行,因为引擎手上只有今天的。汇率朝旅客有利的方向动了,差额你付;朝反方向动了,旅客会认为你少退了钱,而他并非完全没道理。把成交时使用的汇率存在订单上,退款按它来算。
更安静的一类是授信。分销代理的信用额度和结算发票在这里是一等概念,而不是一张表格——但这只有在额度以该代理真正销售的货币计价时才算优势。一个用港币销售的代理,额度却以美元计,汇率每动一次额度就漂移一点,而漂移总在最糟的时刻被发现:额度在机场挡住一张票的出票。
还有慢性的一种。过期的汇率表不会报错,它照样卖。连续几周,它看起来像某个市场的成交量异常漂亮,直到月末结账才发现,那份成交量其实是你不知情的一笔折扣。这就是为什么汇率表上要写明日期和负责人,而不是交给一个没人看输出的定时任务。
开一个市场之前
这些都不需要立项,只需要在货币出现在选择器里之前,按顺序把决定写下来:
- 写明这个市场的结算货币,以及它对应的供应商和支付网关。一句话就够。
- 写明谁更新汇率表、多久更新一次,并把最后更新时间放在人看得见的地方。
- 按币种分别设定取整步长,而不是一个全局步长;无小数位的货币单独检查。
- 确认顺序是先换算、再加价、最后只取整一次,并确认发票上各组件之和等于总额。
- 确认退款走的是存下来的成交当日汇率,而不是今天的汇率。
- 检查分销代理的信用额度和结算发票,与这些代理实际阅读的对账单使用同一种货币。
然后再打开它,卖两周,把这两周手工对一次账。第一个市场的作用,就是告诉你上面六条里哪一条做错了。
货币相关的行为,是一个店铺里最容易演示、最难审计的部分,所以在围着它做设计之前,值得先看看真实的设置长什么样。如果想看一个站点开箱带什么——货币列表、汇率表、加价规则所在的后台——用向导开一个站点:它会在平台二级域名上直接开通,也不要求绑卡。如果你还在纠结要不要用别人的引擎,自建与白标的对比是这篇文章底下的那场争论,而白标旅游网站究竟能带来什么补上其余部分。
汇率是公开信息。你的取整规则、你的退款汇率、你的更新频率不是——跨境订单的利润,真正就在这三处被决定。