一、为什么自动收款是订阅业务的 "终极武器" ?
想象一下这个场景:
你经营一家在线教育平台,有500个月度订阅会员。每个月1号,系统生成500张发票,然后你一个个发邮件催款……结果到月中,还有100多人没付款。你打电话、发微信、甚至上门催款,累得像陀螺一样转。更糟糕的是,有些客户 "忘记" 续费了,订阅就这么断了,你的MRR(月度经常性收入)像过山车一样忽上忽下。
这就是手动收款的噩梦。
而自动收款(Automatic Payments),就是来彻底终结这个噩梦的!客户只需在首次订阅时保存一次支付信息,之后每个月系统自动扣款——你睡着觉,钱照样准时到账。客户不用操心付款,你不用操心催款,双赢!
Odoo 19 自动收款的三大核心价值:
- 零人工干预:
客户保存支付信息后,系统自动开票、自动扣款、自动确认
客户保存支付信息后,系统自动开票、自动扣款、自动确认
- 收入稳定可预测:
告别 "客户忘记付款" 导致的收入波动,MRR稳如磐石
告别 "客户忘记付款" 导致的收入波动,MRR稳如磐石
- 客户体验升级:
无感续费,不用每个月手动操作,客户满意度飙升
无感续费,不用每个月手动操作,客户满意度飙升
二、前置条件:选择支持Tokenization的支付提供商
自动收款的核心技术是 Tokenization(令牌化)——客户保存信用卡或银行账户信息后,系统生成一个 "令牌"(Token),以后每次扣款都用这个令牌,而不是真实的卡号。既安全又方便。
Odoo 19 支持的Tokenization支付提供商
| 支付提供商 | 适用地区 | 特点 |
|---|---|---|
| Adyen | 全球 | 欧洲市场领导者,支持多种支付方式 |
| Authorize.net | 北美 | 老牌支付网关,稳定性强 |
| Flutterwave | 非洲 | 非洲市场首选,支持本地货币 |
| Razorpay | 印度 | 印度市场主流,UPI支持完善 |
| Stripe | 全球 | 开发者友好,文档完善 |
| Xendit | 东南亚 | 印尼、菲律宾等市场深耕 |
> 选择建议:根据你的主要客户所在地区选择。全球业务推荐Stripe或Adyen,印度市场选Razorpay,非洲市场选Flutterwave。
三、配置自动收款:五步搭建 "自动印钞机"
第一步:选择并注册支付提供商
- 从上面的列表中选择一个适合你的支付提供商
- 前往提供商官网注册商家账户
- 完成实名认证和账户激活
第二步:在Odoo中配置API凭证
- 按照所选支付提供商的Odoo配置指南
- 在Odoo后台输入API密钥、商户ID等凭证信息
- 具体步骤因提供商而异,请参考各自的官方文档
第三步:启用支付提供商
- 进入Odoo后台的支付提供商设置
- 将所选提供商的状态设为 Enabled(已启用)
第四步:配置支付方式
- 为所选支付提供商配置可用的支付方式
- 例如:信用卡、借记卡、银行转账等
- 确保这些支付方式支持Tokenization
第五步:启用Tokenization功能
- 在支付提供商的配置中,启用 Tokenization(令牌化) 选项
- 确保客户在结账时可以保存支付信息
完成以上五步后,你的 "自动印钞机" 就搭建好了!接下来看客户如何设置自动支付。
四、客户如何设置自动支付:两种入口
方式一:结账时保存支付信息
客户在订阅产品结账流程中:
- 填写支付信息(信用卡号、有效期、CVV等)
- 部分支付提供商会自动保存客户的支付信息
- 部分提供商会显示一个选项:"保存此卡用于未来付款"——客户需要主动勾选
> ⚠️ 重要提示:如果客户选择不保存支付信息,他们将无法使用自动支付功能。每次续费都需要手动付款。
方式二:客户门户手动添加
客户也可以登录自己的 客户门户(Customer Portal):
- 在门户中找到支付信息设置区域
- 手动输入并保存信用卡或银行账户信息
- 保存后,系统生成Payment Token,用于后续自动扣款
> 需要eCommerce网站:如果客户通过电商网站订阅,需要确保Website应用已安装并配置。
五、订阅订单上的自动支付标识
配置完成后,在订阅销售订单上可以看到以下关键信息:
| 字段/标签 | 说明 |
|---|---|
| Payment Token(支付令牌) | 显示客户已保存的支付令牌,用于自动扣款 |
| Contract in exception(合同异常) | 勾选后暂停自动扣款,防止重复扣费 |
| Pending Transaction(待处理交易) | 显示是否有正在处理中的交易 |
| Payment Failure(付款失败) | 红色标签,表示自动扣款失败 |
六、自动付款失败怎么办?三步救急
自动扣款不是100%成功的——信用卡过期、余额不足、银行拒绝……各种原因都可能导致失败。Odoo 19 为此准备了一套完整的处理机制。
失败时的系统反应
当自动付款失败时,系统会自动:
- 在订阅订单上添加 Payment Failure(付款失败) 红色标签
- 在 Other Info(其他信息) 标签页的 Subscription(订阅) 区域
- 自动勾选 Contract in exception(合同异常) 复选框
> 为什么勾选 "Contract in exception" ?这是为了防止系统 "误伤" ——如果扣款实际上成功了,但系统没收到确认,不暂停的话可能会重复扣费。这个选项就像一个 "安全闸" ,保护你和客户的利益。
处理步骤:先查Chatter,再分情况处理
第一步:检查Chatter确认付款状态
- 进入 订阅 → 订阅(Subscriptions → Subscriptions)
- 打开标记为 Payment Failure 的订阅订单
- 查看 Chatter(沟通记录),确认付款是否真的失败
情况A:付款确实没有成功
- 进入 开发者模式(Developer Mode)
- 点击 Other Info 标签页
- 取消勾选 Contract in exception 复选框
- 刷新销售订单页面
- 确认 Payment Failure 标签消失
- 系统恢复自动处理续费
情况B:付款实际上已经成功了
- 手动创建一张新的发票并过账(Post)
- 这会自动更新订阅的 Next Invoice Date(下次开票日期)
- 发票创建完成后,进入 开发者模式
- 打开该销售订单
- 点击 Other Info 标签页
- 取消勾选 Contract in exception 复选框
- 刷新页面,确认 Payment Failure 标签消失
恢复自动处理
无论哪种情况,一旦 Contract in exception 被取消勾选:
- Odoo 恢复自动处理续费
- 系统继续按计划生成发票和尝试扣款
- 如果订阅仍然显示 Payment Failure,Odoo 会忽略它,直到订单被手动关闭
七、自动收款的实战最佳实践
| 实践建议 | 具体操作 | 效果 |
|---|---|---|
| 提前提醒客户更新卡片 | 在卡片到期前30天发邮件提醒 | 减少因卡片过期导致的失败 |
| 设置宽限期 | 付款失败后给客户7天缓冲期 | 避免立即中断服务,提升体验 |
| 失败重试机制 | 配置支付提供商自动重试扣款 | 部分失败可在重试后成功 |
| 多渠道通知 | 邮件+短信+应用内通知 | 确保客户知道付款失败 |
| 简化更新流程 | 客户门户一键更新支付信息 | 降低客户操作门槛 |
八、总结:自动收款,让订阅业务真正 "自动化"
- 六大支付提供商:
Adyen、Authorize.net、Flutterwave、Razorpay、Stripe、Xendit,覆盖全球主要市场
- Tokenization核心技术:
客户保存一次,系统自动扣款,安全又便捷
- 双重入口:
结账时保存或客户门户手动添加,灵活满足客户需求
结账时保存或客户门户手动添加,灵活满足客户需求
- 失败保护机制:
Contract in exception 防止重复扣费,Chatter追踪付款状态
Contract in exception 防止重复扣费,Chatter追踪付款状态
- 手动恢复流程:
查Chatter → 分情况处理 → 取消异常标记 → 恢复自动处理
查Chatter → 分情况处理 → 取消异常标记 → 恢复自动处理
记住:订阅业务的终极形态不是 "每个月催客户付款" ,而是 "客户睡着觉,钱自动到账" 。 Odoo 19的自动收款功能,就是帮你实现这个终极形态的 "秘密武器" !