跳转到主要内容

承诺基线加超额:ASC 606 究竟希望你如何确认基于用量的 SaaS 收入

发布日期 阅读需 2 分钟Mike ThriftMike Thrift
承诺基线加超额:ASC 606 究竟希望你如何确认基于用量的 SaaS 收入
本页总览

你刚签下公司短暂历史上最大的一笔交易:每年 12 万美元的承诺,再加上超出包含额度后每次 API 调用 0.10 美元。你的计费系统已经在计量了,而显而易见的记账方式似乎是"他们用多少就确认多少收入"。这个直觉恰好对这份合同的一半是对的——而在另一半上错得足以在年末给你的审计师送上一笔调整。

基于用量的定价如今已是 SaaS 公司收费的默认方式,而非稀奇的例外:2025 年有超过 59% 的 SaaS 企业采用了基于用量的结构,而两年前这一比例约为 40%。这些交易大多不是纯粹的按量付费。它们是混合型的——一个换取折扣的承诺基线,加上其上的计量超额。在 ASC 606 下,这一个签名分裂成两条收入流,且确认时点规则截然相反。基线是固定对价,无论客户是否用了一次 API 调用,都要在合同期内分摊。超额是可变对价,要等计量表。本指南解释其中的原因,并给出实现它的记账分录。

一份合同,两种收入处理​

从结构开始,因为其他一切都是由它推导出来的。一份承诺基线加超额的交易有三个可变部分:

  • 承诺最低额。 无论怎样客户都要为一年支付 12 万美元。作为交换,他们获得平台访问权以及一个包含额度——比如每月 100 万次 API 调用——其有效费率远低于标价。
  • 超额计量表。 超出额度的用量按超额费率计费,通常是每月后付。在我们的例子里,每次调用 0.10 美元。
  • 一个签名,一个期限。 通常十二个月,往往预先开票或按季度开票,尽管服务是在一年中逐步交付的。

ASC 606 让这份合同走过它的五步模型——识别合同、识别履约义务、确定交易价格、分摊价格、在义务履行时确认收入——并得出一个分裂的裁决。承诺的 12 万美元是十二个月内持续交付的服务的固定交易价格,因此按时间确认收入,通常按直线法每月 10,000 美元。超额是可变对价:其金额取决于未来用量,因此在使用发生时确认,或者只有在你能够通过一个刻意设置的高门槛——约束条件——时才能预先估计。同一个客户,同一张发票,两个时钟。

实际后果立竿见影。在客户只消耗 40 万次调用的淡月,你仍然确认全部 10,000 美元的基线收入——客户买的是一年的访问权,而一月的十二分之一已经交付。在 150 万次调用的高峰月,你确认 10,000 美元加上 50 万次超额调用乘以 0.10 美元,即 50,000 美元的用量收入。基线从不随用量下降,超额也从不被平滑进什么都没发生的月份。

为什么基线要按直线法确认​

基线部分的会计逻辑是故事中较平静的一半。你的履约义务不是"100 万次 API 调用"——而是整月随时准备为客户服务,这是一系列不同的每日或每月服务期间,ASC 606 将其视为随时间履行的义务。衡量进度的正确尺度是流逝的时间,而最简单忠实的模式就是直线法:每月确认承诺额的十二分之一。

每一家大型基于用量的供应商在这一半上都殊途同归。Datadog 的 10-K 表明,对于按比例分摊的承诺合同金额,收入自平台可用之时起在订阅期内按比例确认。Alkami 销售按月最低额计费的基于交易的银行软件,表达得更直白:最低交易费按直线法确认,而超过最低额的交易费用在交易处理的当月确认。最低额对应时间的流逝;超额对应计量表。

有一个著名的异议者值得了解,因为你的审计师会知道它。Snowflake 在客户消费计算、存储和传输时确认收入——即使是在多年容量承诺之下——理由是价值转移发生在消费时,而非时间。这一立场被显著披露,并用公司特定的事实加以辩护。除非你准备写好那份备忘录并在审计中为其辩护,否则就把基线按直线法处理。这是审计师对早期 SaaS 公司的预期处理方式,偏离它需要一份书面立场,而不是耸耸肩。

为什么超额要等计量表​

超额是可变对价,而 ASC 606 对可变对价持怀疑态度。只有当不确定性解决时很可能不会发生重大转回——即约束条件——你才可以将它计入交易价格。对于已经发生并已被计量的用量,不再有任何不确定性,因此在用量当月确认超额收入总能通过这一门槛。这就是为什么"他们用多少就确认多少"是大多数 SaaS 公司选择的默认做法,也是审计师最少质疑的做法。

另一种方法是预先估计全年超额总额,并与基线一起按比例确认。New Relic 正是这样做的:它根据历史数据加上前瞻性因素预测超出承诺的用量,将估计限制在它预期有权获得的范围,并在期限内确认该金额。这符合准则,并能产生更平滑的收入——但要注意它对什么提出了要求。你需要足够的历史来可靠地预测、一套有记录的估计方法、一份约束分析,以及当实际数出现偏差时的调整流程。对于一家只有六个月计量数据、且只有一个用量每季度翻倍的大客户的初创公司来说,那份底稿还不存在。在 incurred 时确认超额,直到你的历史为你赢得估计的权利。

准则中还有一处悄然支撑着这种简单做法。由于你的订阅是一系列不同的月度服务期间,与特定月份相关的使用费可以在可变对价分摊例外下全部分摊到该月。用大白话说:你不需要预测全年就能正确记录一月。一月的计量表读数属于一月,句号。

最后一个时点陷阱是把开票与收入确认混为一谈。如果你在一月预先为 12 万美元的承诺开票,一月的收入仍然只有 10,000 美元——其余 110,000 美元留在递延收入里。反过来,一月交付但直到二月账单运行才开票的超额用量仍然是 january 收入;在月末你将其计提为未开票或应计收入。现金和发票是账单事件。时间的流逝和计量表是收入事件。你的结账清单必须把两者分开。

记账分录,配上真实数字​

以下是账上的示例交易。Acme 于一月五日签约:每年 12 万美元承诺,每月包含 100 万次调用,每次超额调用 0.10 美元。一月用量为 1,021,000 次调用——超出额度 21,000 次,即 2,100 美元。二月安静,只有 80 万次调用,因此完全没有超额。

2026-01-05 * "Invoice Acme annual platform commit"
  Assets:Receivable:Acme                120000.00 USD
  Liabilities:Deferred-Revenue:Acme     -120000.00 USD
 
2026-01-31 * "January: release 1/12 of commit"
  Liabilities:Deferred-Revenue:Acme       10000.00 USD
  Income:Subscription-Revenue             -10000.00 USD
 
2026-01-31 * "January overage: 21000 calls over allowance at 0.10"
  Assets:Receivable:Acme                   2100.00 USD
  Income:Usage-Revenue                      -2100.00 USD
 
2026-02-28 * "February: release 1/12 of commit, usage under allowance"
  Liabilities:Deferred-Revenue:Acme       10000.00 USD
  Income:Subscription-Revenue             -10000.00 USD

读一读账本讲述的故事。一月在 12 万美元的开票上确认了 12,100 美元——110,000 美元的差额是递延收入,是对尚未提供服务的一项负债,而非利润。二月确认了平直的 10,000 美元,尽管用量下降了五分之一,因为基线买的是访问权,不是调用。而超额分录只存在于计量表超过额度的月份。如果你的收入账户没有呈现恰好这种形状——平坦的基线加上尖峰式的用量——那么上游某处接线错了。

注意分开的收入账户。把订阅基线与用量收入分开并非装饰:正是它让你能够从总账而非电子表格中报告净收入留存率、用量附加率和承诺覆盖率。在合同第一天就建好这两个账户,别等到第一次审计时。

四种招来审计调整的错误​

签约时把承诺额记为收入。 12 万美元的发票感觉像一笔销售,销售团队也会告诉你它在一月就成交了。但你只交付了十二个月服务中的一个月。一月那 10,000 美元之外的一切都是递延收入。把全部承诺额提前入账的公司不只是错报了一个月——他们借用了未来十一个月的收入,并会以令人尴尬的重述来偿还。

把不规则的超额平滑到安静的月份。 把高峰月 50,000 美元的超额平均分摊到相邻季度看起来很整齐,但除非你预先估计了总额、记录了约束分析并做了调整,否则就是错的。没有那份底稿,每个月的计量表读数就留在它自己的月份里。审计师通过按期间比较已确认用量收入与已计量用量来测试这一点;平滑的线对尖峰的表是最快失效的测试。

让开票日历驱动收入确认。 年度预付开票诱使团队按发票日期确认收入。季度调整发票诱使他们在实际开票时才确认超额。两个方向都违反规则:基线跟随服务日历,超额跟随用量日历,两者都不跟随开票日历。为已计量但未开票用量做的月末计提,是大多数年轻财务团队缺失的那笔分录——把结账安排在月末之后几天,专门为了等计量表落定。

忘记未使用的承诺额。 如果 Acme 年末时在其总配额下还差 200 万次调用,而合同写明不用即作废,那笔差额并不会自动成为十二月的额外收入。未使用的预付金额——失效额——只有在有纪律的政策下才确认:按权利行使的用量比例确认,或在行使可能性变得极低时确认。在十二月之前写好政策,一致地应用它,并加以披露。在审计过程中才发现失效额,是干净意见被拖延的原因。

承诺加超额的月末结账清单​

把上述规则变成一个可重复的结账流程。每月按此顺序:

  1. 导出计量数据并与计费引擎核对。 按客户计费后用量应当与计费系统的开票输入逐笔核对到调用级别。入账前先调查差异——计量中断是收入完整性问题,不是 IT 工单。
  2. 释放基线。 每份活跃承诺额的十二分之一从递延收入转入订阅收入。递延收入瀑布表——期初余额加新发票减释放额滚到期末余额——是审计师最先要求的控制;在 Fava 中筛选你的递延收入账户查看它,形状错误会立刻显现。
  3. 从计量表登记超额,然后计提未开票的尾部。 已开票的超额借记应收款;最后一次账单运行之后计量的用量借记应计收入。两者都在用量当月贷记用量收入。
  4. 调整任何估计。 如果你按比例估计超额,就将年初至今已确认与年初至今已计量进行比较,并登记补提。如果你在发生时确认,这一步只是一个五分钟的合理性检查——这是初创公司应先从这里开始的又一个理由。
  5. 审查承诺覆盖率。 对每个客户,将累计用量价值与累计已释放基线进行比较。用量远超承诺的客户是扩张的对话对象;远低于承诺的客户是续约风险,可能还有未来的失效额分录。无论哪种,财务都应该比销售先发现。

从这个月的计量数据导出开始:把它与你的总账确认的数字核对,按基线和用量拆分,并确认两个时钟在独立运行。如果确实如此,你的承诺加超额记账已经领先于大多数同等规模的公司——而你的下一次审计也变得更短了。

来源:https://beancount.io/zh/blog/2026/11/09/committed-baseline-plus-overage-asc-606-usage-based-revenue-recognition-guide

发布日期: 2026年11月9日