跳转到主要内容

如何对账 Stripe 付款,而不丢失真实收入的踪迹

发布日期 阅读需 4 分钟Mike ThriftMike Thrift
如何对账 Stripe 付款,而不丢失真实收入的踪迹

你的 Stripe 面板显示这周你赚了 10,000 美元。你的银行账户显示存入 9,421 美元。你的记账员问你要记录什么——如果你回答"销售收入 9,421 美元",那么你已经犯了两个错误,这些错误会在报税时、审计时以及第一次退款时像滚雪球一样扩大。

如果你通过 Stripe 收款——无论是网上店铺、带有支付链接的账单、预约网站还是捐款表单——你所 售出 的金额和你 收到 的金额在任何一天都不会一致。Stripe 会扣减费用、对退款和争议进行余额冻结,并延迟结算。你的银行只看到扣除后的余额。美国国税局(IRS)、你的会计师,以及未来想了解上个月利润的你,都需要看到毛收入。

本指南将展示 Stripe 付款的实际运作方式,如何记账以保持收入、费用和退款清晰可查,以及如何在每月不到 30 分钟内完成 Stripe 与银行的对账——而不必构建一个你不愿打开的电子表格。

为什么银行存入的不是你的收入

三件事使得 Stripe 对账看起来比传统银行卡存入更复杂:

1. 净额结算。 Stripe 会在转款前扣除处理费。以美国标准费率 2.9% + 30 美分计算,100 美元的销售额则净额为 96.80 美元进入待处理余额。你的银行永远看不到那 100 美元——但你的收入是 100 美元,支出是 3.20 美元。如果只记录净额,你两方面都会少报。

2. 滚动时差。 默认的 2 个工作日出账计划中,周一的销售额通常周三到账,周二的周四到账,依此类推。自然月的销售额与自然月的到账很少一致。如果把到账当作销售额,收入就会被推后月份。

3. 余额调整。 退款、争议扣款、相关的 Stripe 费用(标准争议 15 美元)、即时付款费用(提前提现时 1%)以及 Billing 或 Radar 等产品的费用,都会从付款中扣除。部分退款时,Stripe也会保留原始费用。每件事都需要不同的科目记录。

解决方法原则很简单:实际发生时记录毛收入,单独记录 Stripe 扣减的费用,将付款视为从 Stripe 余额转出的 转账,而不是新的收入。

Stripe 付款实际上如何运作

把 Stripe 看作一个有自己账本的钱包。

扣款成功 → 资金进入待处理。 当客户付款时,Stripe 会立即将毛收入记入待处理余额,但除非风险控制期结束(通常是 2 天,新账户或高风险业务为 7 天,某些情况最长 14 天),否则不会计入可提现余额。

费用直接从余额中扣除,而不是事后开具账单。 在向客户扣款的同时,Stripe 也会从同一待处理余额中扣除它的费用。你不会另收账单。这就是为什么毛收入和净额必须分开记账。

付款是批量转账。 在你的出账计划中(默认是每日自动),Stripe 会将当日 可提现 的全部余额交易打包,通过 ACH 发送到你的银行。因此,一笔付款可能包含几十上百笔不同日期发生的扣款、退款和费用调整。

有两份报告能说明情况:

  • 付款明细(Dashboard → Payments → Payouts,然后选择某笔付款): 详细列出构成该笔银行存入的每笔扣款、退款和费用。这是对账的唯一依据。
  • 余额报告(CSV 导出): 按活动类型列出每日的毛收入、费用和净额——这是唯一能看到每日毛收入而不受付款时间影响的途径。
  • 月度汇总: 当月收入与现金之间的对比,有助于让 Stripe 与利润表一致。

你不一定每次都用前面说的三种,但每笔到账的银行入账,你需要对应的付款明细。至少有付款明细表。

会破坏账目的两个错误

错误一:把到账净额记入销售收入

当 Stripe 结算的是一笔包含 10,000 美元 毛收入的批次,只记 9,421 美元 作为收入,会造成三个问题:申报贷款或估值时收入被低估;无法扣除费用,永久损失为纳税支出;以及你的 1099-K 将永远不吻合——Stripe 上报的是毛收入额,而不是净付款额。IRS 收到的是毛收入额,你也应该如此记录。

错误二:等付款到账时才记录销售收入

如果等到现金到达银行才记录销售,那么 12 月 30 日的交易在 1 月 2 日到账时,就会落到错误的纳税年度。对于现金制纳税人,交易事件通常发生在 开票日,而不是付款到账日。无论如何,"收入 = 银行到账日"会产生与月结和年末错误,加上退款,问题会越累越大。

正确方法:毛收入、费用支出、付款仅作转账

使用三个账户来保持 Stripe 会计准确。用到 Beancount 的格式如下:

  • Assets:Receivables:StripeAssets:Stripe:Pending — 你的 Stripe 待收余额
  • Income:Sales — 毛收入
  • Expenses:PaymentProcessingFees — Stripe 费用
  • Assets:Bank:Checking — 净结算入账

以下是典型一天的记账模式。你获得了 2,000 美元毛销售额。Stripe 扣收 61 美元(2.9% + 每笔 30 美分)。

每笔销售发生时(或每日批量):

2026-08-12 * "Stripe sales 2026-08-12"
  Assets:Stripe:Pending          2000.00 USD
  Income:Sales                  -2000.00 USD
 
2026-08-12 * "Stripe fees 2026-08-12"
  Expenses:PaymentFees      61.00 USD
  Assets:Stripe:Pending          -61.00 USD

现在,你的 Stripe 待支付余额是 1,939 美元,收入为 2,000 美元,并可抵扣 61 美元费用。

两天后 Stripe 付款(比如该批次 1,939 美元):

2026-08-14 * "Stripe payout po_1a2b3c to checking"
  Assets:Bank:Checking           1939.00 USD
  Assets:Stripe:Pending         -1939.00 USD

付款日没有新增收入,只有转账。现在 Assets:Stripe:Pending 余额与 Stripe 的可用+待处理总额一致,银行也有干净的记录。

如果你愿意,也可以从余额 CSV 批量处理每日销售,而不是逐笔分析——那也行。只要保持毛收入/费用分开,并保持是转账。审计依然能通过。

销售税、运费、平台费怎么办?

如果你通过 Stripe 税务或其他方式征收销售税,不要将毛收入全部作为纯收入。在销售时分账:

  Assets:Stripe:Pending          1080.00 USD
  Income:Sales                  -1000.00 USD
  Liabilities:SalesTaxPayable      -80.00 USD

Stripe 额外收取的运费、平台佣金或应用费用,都应单独记入相应的费用科目或负债科目——不能混在销售里。

复杂情况的处理,不失条理

退款:冲减收入,而不是新费用

客户支付 150 美元,你全额退款。Stripe 从余额中扣回 150 美元,保留原始费用(它在某些旧费用或某些新更改中会退回部分费用),但一般来说默认保留,没有额外费用。记录为:

2026-08-15 * "Refund for invoice 1024"
  Income:Sales                    150.00 USD   ; 冲减收入
  Assets:Stripe:Pending          -150.00 USD

原来的 4.65 美元费用已经入账,继续保留在费用中——你已经为这笔并实际没成功支付了处理费。如果你在特定退款中 Stripe 退回部分费用,则相应调减 Expenses:Fees 科目。

对于部分退款,例如订单 200 美元退 50 美元,只冲减 50 美元销售收入。在销售税退款时区分很重要:在大多数州,只有把税款退给客户并留证,才能追回已缴的税。

争议和拒付:两步不是一步

当一笔 200 美元的扣款被争议:

  1. Stripe 立即从你的余额中冻结 200 美元并收取 15 美元争议费(如果你败诉,且不符合相关无责条件,费用会升至 25 美元)。
  2. 如果你胜诉,Stripe 退回 200 美元,但你保留那 15 美元费用。

记录为:

2026-08-18 * "Dispute opened ch_abc $200 + $15 fee"
  Assets:Stripe:Disputed          200.00 USD
  Expenses:PaymentFees             15.00 USD
  Assets:Stripe:Pending           -200 15.00 组合

(上面的数字似乎有误,应该是 -215.00 USD。下面是一个更顺的版本:)

2026-08-18 * "Dispute opened ch_abc $200 + $15 fee"
  Assets:Stripe:Disputed          200.00 USD
  Expenses:PaymentFees             15.00 USD
  Assets:Stripe:Pending           -215.00 USD
 
2026-08-25 * "Dispute won – funds returned"
  Assets:Stripe:Pending           200.00 USD
  Assets:Stripe:Disputed         -200.00 USD

如果你败诉,将冻结在争议中的 200 美元转到坏账科目,保留该费用。不要让争议金额一直停在待处理余额里,它可以作为单独的应收款项,让你知道有多少风险敞口。

即时付款和手动付款

你的银行卡即时付款成本是 1%(有最低收费)。那是独立的融资成本:

2026-08-20 * "Instant payout $5000, 1% fee"
  Assets:Bank:Checking           4950.00 USD
  Expenses:PaymentFees             50.00 USD
  Assets:Stripe:Pending         -5000.00 USD

一笔付款包含多笔交易

一笔 9,421 美元的付款可能组成为:

  • 47 笔扣款共 10,000 美元
  • 包含在内的一些费用(如 290 美元处理费)
  • 一笔 200 美元的核心冻结
  • 一笔 89 美元即时付款费包含在批次中

将每个组成部分记入其各自科目,但将整笔转账记为一项。从导出明细查看拆分金额——照着记录。银行流水仍然是一个数,但现在可以与每美分一致。

ASC 606:收入何时确认

对于大多数通过 Stripe 销售商品或一次性服务的小企业,收入确认很简单:你在完成履约义务时确认毛收入——通常是交付商品、提供下载或服务完成时,而非 Stripe 付款时。

因为 Stripe 的延迟结算让人想按付款确认信息。千万别。如果你 8 月 30 日发货,Stripe 9 月 2 日付款,收入属于 8 月。

两种常见特殊场景:

预付订阅或押金。 客户在 8 月 1 日支付 600 美元可获得 6 个月,那么 8 月只赚到 100 美元,把 500 美元放到递延收入中:

2026-08-01 * "Annual plan 6mo, collected via Stripe"
  Assets:Stripe:Pending           600.00 USD
  Liabilities:DeferredRevenue     -600.00
 
2026-08-31 * "August revenue recognized"
  Liabilities:DeferredRevenue      100.00
  Income:Sales                    -100.00

通过平台销售而非卖家使用你的客户支付与支付网关的关系不对。利润率也取决于谁控制客户关系,例如,通过 marketplace、Stripe Connect 收款时,你的账目可能只记净额而非总额。

遇到这种情况需要判断收入是 10,000 美元还是平台收取 30% 后的 7,000。从而决定你的收入。

当有疑问时,付款永远不会是确认收入的时间。实际上是履约时间。

30 分钟完成月度对账

按如下步骤做:

  • 第一步:导出当月付款明细。 在 Dashboard 中进入 Payments → Payouts,按日期过滤,导出每笔付款的详细信息(或合并对账 CSV)。你要得到每笔银行入账对应的所有交易 ID。
  • 第二步:补齐毛收入与费用。 对每行 Charge 和 Refund,确认有对应日期的毛收入或冲减记录,以及费用科目(而不是付款日期)。如果你用批次,则将每日余额总数与你的账本一致。
  • 第三步:记录付款转账。 对于每笔银行入账,按净额记录从 Assets:Stripe:PendingAssets:Bank:Checking 的转账,注明 Stripe 付款 ID(如 po_3N...)。
  • 第四步:核对待处理余额。 月末 Assets:Stripe:Pending 应等于 Dashboard 中 Stripe 的待处理和可用余额。如果不一致,说明漏了费用、退款或固定。修正之后再结账。
  • 第五步:与 1099-K 对照毛收入。 Stripe 会在 表格 1099-K 报告 处理金额。你的 Income:Sales 加上退款冲销,应与日历年的 1099-K 毛收入一致,而不是银行存入总额。两者相差 15,000 美元是完全正常的——这是费用和时间差异。每年整理一次,避免审计时解释不清。

如果你用 QuickBooks、Xero 或其他会计软件,套用相同结构:创建 Stripe 清算科目,记录毛收入、费用,且在到账时转出。清算科目长期除待处理余额外应为零。

可直接复制的 Beancount 示例

实际中可以使用文内的 Beancount 示例——此处只是再次展示一次,因为内容较长所以省略。(开发注:这部分原文是含 beancount 块,已按原样呈现)

Beancount 示例代码(在上文 "The Right Way" 已经提供,这里同样适用)

常见错误与规避

  • 忘记记录退款的手续费。 Stripe 通常是保留原费用的。你冲销了收入,但没有发冲销费用,造成退款订单的利润被高估。
  • 把即时转账费用当作银行免费。 它们实际上是处理成本应属于支付处理费用,这样才能看到你的真实成本。
  • 忽略余额为负的情况。 例如当退款争议总额超过新销售,会从你的银行扣款结清负数,应记为从银行向 Stripe 的转出,而不是额外费用。
  • 未拆分销售税。 该缺点会导致所得税与消费税都不准确。
  • 按付款月份不是销售月份来计算利润。 前者是现金流量,不是业务表现。如果你需要两者,却让它们彼此错位。

从最开始就保持财务记录

Stripe 让人们很容易收钱。但它不会自动让你的账目反映真实盈利、你付出多少以及你还欠什么。简单的毛-费-转账结构,在正确日期记账并核对,是真的有用的——这让年结、贷款申请和第一次销售税审计变得不那么难受。

Beancount 给你的,比 Stripe Dashboard 更大的透明度:纯文本、版本控制、这是一个可审计的历史。你的数据始终在你手中,你的历史可以审核,你的收入行为和银行及 1099-K 描述一致。 立即免费开始 整理你的 Stripe 记录。

分享这篇文章