Stripe回款比订单额少,不一定是漏收;按同一payout ID拆出手续费、退款、争议、汇兑和期末未结算余额,再与银行到账核对。订单GMV直接对银行流水,会混入跨期和跨币种差额。
订单到银行之间,钱经过了哪四层?
独立站订单额是面向消费者的交易视图,银行入账是结算后的资金视图,中间还经过Stripe余额。第一步不是套一个手续费率,而是确认四层金额各自使用的主键、币种和日期。
| 层级 | 关键字段 | 回答的问题 |
|---|---|---|
| 独立站订单 | order ID、支付状态、退款状态、客户支付币种 | 客户买了什么、支付多少 |
| Stripe支付与余额交易 | PaymentIntent、charge ID、balance transaction ID、gross/fee/net | 这笔支付怎样影响Stripe余额 |
| Stripe payout | payout ID、automatic_payout_id、结算币种、状态 | 哪些余额交易进入这次打款 |
| 银行入账 | 入账币种、金额、日期、trace ID或银行参考号 | 该批资金是否实际到达指定账户 |
Stripe的Balance Transaction对象把交易对余额的净影响定义为amount减fee,并另有status、available_on、exchange_rate、source和reporting_category。财务用这些字段解释“为何少”,比根据官网价目表倒推更可靠,因为实际费用和换汇取决于具体账户与交易。
自动、手动和即时打款,为什么不能用同一张报表?
Stripe官方Payout reconciliation报告面向已启用自动打款的账户,可以把银行收到的payout与其包含的交易批次对应起来,并把报告期末尚未结算的交易单列。若使用手动打款或希望像核银行账户一样核Stripe余额,应使用Balance report。
即时打款的时间和金额由账户自行控制,Stripe官方说明无法识别其中具体包含哪些交易,因此需要用交易历史和余额桥自行分配。选错报表后,最常见的误判是把期末仍在Stripe余额里的钱当成“平台少结”,或把两次手动打款拆错到订单。
| 打款方式 | 优先报表 | 关账锚点 |
|---|---|---|
| 自动打款 | Payout reconciliation明细 | automatic_payout_id |
| 手动打款 | Balance report | 期初余额+期间活动-打款=期末余额 |
| 即时打款 | 余额交易历史与实际发起记录 | 发起时间、金额、币种和交易分配规则 |
怎样用五个ID把订单一路追到银行?
建议把订单号写入支付元数据,并保存下面的对应关系:
- order ID连接独立站销售、取消和退款状态;
- PaymentIntent或charge ID连接Stripe支付对象;
- balance transaction ID取得余额影响、费用、可用日期和汇率;
- payout ID或automatic_payout_id确定结算批次;
- trace ID或银行参考号确认银行端的具体入账。
如果早期订单没有写入元数据,可先用支付时间、金额、客户邮箱等辅助字段匹配,但要把一对多、重复金额和无法唯一定位的记录放入未清池,不能强行自动配对。财精灵可接收独立站订单导出、Stripe Payout reconciliation或Balance报表、Fees明细和银行流水,输出五级主键映射、payout金额桥及未清差异表。
少掉的金额应先归到哪一类?
| 差额类别 | 取数位置 | 容易犯的错 | 处理结果 |
|---|---|---|---|
| 支付与其他费用 | Balance Transaction与Fees report | 按统一费率估算 | 按incurred_by或source归到具体交易 |
| 退款 | refund对象与余额交易 | 订单点了退款就认定本批已扣 | 按实际余额状态和批次确认 |
| 争议与调整 | reporting_category、dispute与adjustment | 混在手续费里 | 单列本金影响、费用和后续转回 |
| 币种转换 | 客户金额/币种、余额币种、exchange_rate | 用月底汇率倒推Stripe结算 | 保存交易级转换结果,再做账面汇兑处理 |
| 期末未结算 | Ending balance reconciliation或Balance report | 当成少打款 | 留作下期Stripe余额,不冲减订单收入 |
Stripe退款文档说明,账户可用余额不足时,银行卡退款可能保持pending,其他支付方式的处理可能不同。因此,“独立站显示已退款”“Stripe余额已扣减”和“客户银行已收到”是三个状态,月末要分别记录。
多币种对账时,哪一个汇率才是资金桥里的汇率?
至少分清客户看到的presentment currency、Stripe余额使用的currency,以及收款银行接受的settlement currency。Stripe官方币种说明指出,当扣款币种与结算币种不同时可能发生转换;Balance Transaction在适用时提供exchange_rate。
经营分析可以按订单币种看各市场销售,资金对账则按Stripe余额和payout币种建立金额桥,银行账再按实际入账币种确认。不要用一个月末汇率把三层金额全部重算成同一个数字;会计折算产生的汇兑差异,与Stripe在交易或结算环节形成的实际转换结果,应分开保留。
假设客户用欧元支付,而Stripe账户以美元形成余额并向美元银行账户打款。订单层保留客户欧元金额,余额层使用Stripe记录的美元amount、fee、net和exchange_rate,payout层汇总美元净额;企业账面再按自身适用的会计政策折算。这样才能知道差额来自平台转换还是企业记账汇率。
到底是“少到账”“没到账”还是“还没结算”?
| 现象 | 先看 | 下一步 |
|---|---|---|
| 银行到账小于订单额 | 同一payout的gross、fee、net与负向类别 | 完成批次金额桥 |
| payout已生成但银行无记录 | payout状态、预计到达日、目的账户 | 取得可用的trace ID后向银行追踪 |
| 订单已支付但未进本次payout | balance transaction的status与available_on | 留在期末未结算余额并跨期跟踪 |
| payout失败或取消 | payout_status与reversed_at | 检查收款账户及后续返回余额 |
Stripe把trace ID定义为银行伙伴生成、用于追踪缺失或延迟payout的唯一标识,但其状态和可用性受银行伙伴、国家与币种支持影响。trace ID解决的是“这一笔payout去了哪里”,不能解释payout本身为什么比订单额小。
两种容易混淆的情况
Stripe后台显示paid,就等于银行当天已经到账吗?
不能只凭paid下结论。还要核对payout的预计到达日、目的账户和银行流水;出现延迟或缺失时,再查看trace ID状态并按Stripe官方指引与银行追踪。
订单币种和银行币种不同,能直接用银行到账除以订单额算手续费率吗?
不能。两者之间可能同时包含币种转换、支付费用、退款、争议和跨期未结算。应先用Balance Transaction的amount、fee、net、currency和exchange_rate还原Stripe余额影响,再核对payout与银行。
Stripe官方取数来源
- Stripe:Payout reconciliation report
- Stripe:Payout reconciliation字段说明
- Stripe:Balance Transaction对象
- Stripe:Fees report
- Stripe:退款并取消付款
- Stripe:Supported currencies
- Stripe:Payout Trace IDs
文档核查日期为2026年8月23日。账户功能、费用、币种和payout支持因注册地、账户配置与支付方式而异,应以对应Stripe账户的Dashboard、合同和当期报表为准。
