你今年签下了 200 万美元的合同,但资产负债表上只显示 40 万美元的递延收入。投资者看了看这两个数字,心算了一下差值,然后问出了那个决定你管线是真是假的问题:另外 160 万美元在哪里,什么时候变成收入?如果你的回答是一张合同到期日的电子表格加一个耸肩,那你等于告诉她你的积压只是传闻。能精确回答这个问题的数字就是剩余履约义务——RPO——而 ASC 606 要求上市公司每季度在附注中披露它。
本指南解释 RPO 衡量什么、它与递延收入和 ARR 有什么区别、披露规则究竟要求什么,以及你如何在不需要收入运营团队的情况下在自己的账本中追踪它。
RPO 实际衡量的是什么
剩余履约义务是分配到一项你尚未履行的承诺上的交易价格。根据 ASC 606,每份客户合同都被拆分为多项单独的履约义务——平台访问、支持计划、入职项目,每一项都是可单独识别的承诺——合同总价按单独售价分摊到各项上。在报告日全部或部分未履行的义务中所占的部分就是你的 RPO:尚待交付的合同工作的总美元价值。
这个定义中有三个属性起主要作用:
- 它是合同性的,不是预测性的。 管线、预测和预期续约都被排除在外。如果客户没有签字,它就不是 RPO。
- 它仅限于可强制执行期间。 只有合同对双方都有约束力的那个窗口才计入,这就是为什么终止权和续约选择权如此重要(详见下文)。
- 它是一项披露,不是资产负债表科目。 你不会在会计科目表中找到 RPO。它存在于财务报表附注中,用于调节你已签约的与已确认的之间的差异。
对于 SaaS 业务,RPO 是会计能给你的最接近合同订单积压的东西:只要你交付,它的每一美元都应该变成收入——前提是客户留下来并付款。
两个部分:递延收入和未开票积压
简写公式很简单:
RPO = 递延收入 + 未开票积压
递延收入——ASC 606 术语中的合同负债——是你已经开票但尚未赚取的部分。现金或应收款已到手;服务仍欠着。未开票积压是镜像:你尚未开票的合同收入,通常是因为多年期交易按年开票或随时间递增。它从不进入资产负债表,这正是投资者要求它的原因。递延收入显示的是冰山一角;RPO 显示的是整座冰山。
走一遍一个具体合同,关系就变得显而易见。假设你签了一份三年期交易,总价值 42 万美元,每年预付开票 14 万美元,服务均匀交付:
- 签约时,在第一次开票之前,RPO 是 42 万美元——全部是积压,没有递延收入。
- 第一年开票后,RPO 仍然是 42 万美元,但其构成翻转了:递延收入是 14 万美元,积压是剩余的 28 万美元。开票在两个部分之间移动美元,但不改变总额。
- 1 月底,你已经交付了一个月的服务并确认了 11,666.67 美元的收入。RPO 降至 408,333.33 美元:递延收入 128,333.33 美元加上未动用的 28 万美元积压。
- 六个月后,大约 7 万美元已被确认,RPO 约为 35 万美元。
注意这些 RPO 美元遵循的生命周期:每一美元从积压开始,在开票时经过递延收入,在赚取时作为收入落在利润表上。这种先开票的节奏覆盖了大多数 SaaS 合同,所以 RPO 和递延收入应该始终能勾稽——当它们不能时,你的开票或确认流程中就有东西坏了。(例外证明规律:当你在开票前交付时,比如按里程碑开票的项目,已赚取但未开票的金额通过合同资产而非递延收入流转。)
ASC 606 要求你披露什么
披露规则位于 ASC 606-10-50-13,它要求两件事:分配到剩余履约义务的交易价格总额,以及对你预期何时确认它的解释。IFRS 15 在第 120 至 122 段中有对应的要求,所以下面的形态对国际申报者也是一样的。
定量部分是标题数字加上按时间分档的细分——大多数申报者使用预计一年内、一到两年之间和两年以上确认的金额,期限更长的业务会添加更多档位。各档位之和必须等于总额,类似合同必须使用相同的时间框架,以便分析师跨分部和跨期间比较。
定性部分是保持数字诚实的叙述:
- 义务的性质——RPO 实际由什么组成,例如订阅访问与专业服务与支持,因为每一项转换为收入的节奏不同。
- 重大判断——你如何决定义务何时得到履行,包括你用来衡量随时间履行的义务进度的方法。
- 可变对价——如何使用量超支、绩效奖金或服务水平(SLA)抵扣等不确定金额被估算,以及哪些因可能发生重大收入转回而被排除在外。
- 重大权利——授予客户的选择权,例如折扣续约,被作为独立义务计入。
标准下一段还藏着另一个要求:如果你使用了下文所述的任何实务简化处理,你必须说明并描述它们所适用的合同。附注必须承认这个数字遗漏了什么。
一年期实务简化处理——以及开票例外
ASC 606-10-50-14 提供了两个逃生口,它们缩小了大多数公司披露的 RPO,且使用时都必须披露。
一年期例外允许你省略任何原始预期期限为一年或更短的合同,从可强制执行协议开始之日起算。对于销售月度和年度计划的 SaaS 业务,这个简化处理几乎吞掉了一切:如果你所有的合同都在十二个月或以下,你披露的 RPO 可能是零或接近零,即使递延收入相当可观。评估取决于不可取消期间,所以一份带自动续约的一年期合同仍然符合条件——续约是未来的选择,不是当前的义务——而一份带客户终止权的多年期交易只计入客户无法离开的期间。没有实质性违约金的随时可终止合同同样被有效排除:可强制执行期限可以忽略不计。
开票权例外适用于你按交付价值直接比例开票的情况——经典的时间和材料约定或按工作小时数月度开票。在那里你的应收款已经捕获了你已赚取的部分,预测未履行的剩余部分会增加文书工作而没有洞察,所以标准免除了你披露它的义务。
实际后果是两家公司的 RPO 数字很少能完美比较。一家拥有三年期企业交易且未使用任何简化处理的供应商报告的是一个充满承诺积压的数字;一家按月条款运营的产品主导型竞争对手几乎什么都不报告。两者都在合规。在比较之前阅读附注中的简化处理披露不是可选的尽职调查——这是知道你正在看什么的唯一方式。
cRPO:分析师实际建模的数字
总 RPO 延伸到你最长合同的期限,这使它既是订单奖杯也是预测难题。分析师通过放大第一个时间档来解决这个问题:当前 RPO,即 cRPO,预计在未来十二个月内确认的部分。它是已通过签字锁定的近期收入,比总 RPO 或 ARR 都更清晰地读作下一年度指标。
在上面三年期 42 万美元的例子中,签约时的 cRPO 是 14 万美元——第一年的确认额——另有 28 万美元在非流动 RPO 中。随着每个月交付,cRPO 燃烧下降,并由新签约和去年的非流动部分滚动向前补充。趋势就是信号:当 cRPO 增长快于已确认收入时,未来几个季度已经在填满;当它在收入攀升时停滞时,增长依赖于当前消费而非新承诺。
公开申报文件显示了这在实践中如何解读。Snowflake 在其截至 2026 年 7 月 31 日的季度中报告了 90 亿美元的总 RPO,其中 54% 预计在未来十二个月内确认——大约 49 亿美元的 cRPO——而总 RPO 同比增长 30%,收入增长为 35%。(RPO 数字每季度都在变动,所以请查看公司最新的申报文件,而不是引用这些数字。)同一份文件带有对消费型业务至关重要的警示:RPO 不一定指示未来的产品收入,因为它无法捕捉客户实际何时消费或是否会消费超出其合同容量。纯订阅供应商的 RPO 按时间表转换;用量型供应商的 RPO 按客户行为转换。
为什么投资者在 ARR 之前读 RPO
ARR 占据头条,但经验丰富的 SaaS 投资者先打开附注。原因是定义上的纪律。ARR 是公司定义的运行率——年化、经常调整、未经审计,并且在整个行业中有十几种不同的计算方式。RPO 是 GAAP 定义的、有合同依据的、经过审计的:每一美元都可追溯到具有可强制执行价格的已签义务。当两者不一致时,RPO 是有凭据的那一个。
这种纪律也是为什么 RPO 能看到 ARR 看不到的东西。一份三年期 300 万美元的交易和一份一年期 100 万美元的交易在第一年可以显示相同的 ARR,但它们的 RPO 相差 200 万美元的承诺未来收入。RPO 奖励多年期企业销售模式,而 ARR 将其扁平化为运行率,而且它是在审计师盯着管理层的情况下做到的。
从业者使用的粗略排序将三个头条指标按大小排列:
RPO > ARR > 递延收入
RPO 跨越所有合同年度,无论是否开票。ARR 将一年的合同价值年化,无论你在期限内处于什么位置。递延收入只包含已开票但尚未赚取的部分。每一个回答不同的问题——什么是承诺的、什么是运行率、什么是欠付的——混淆其中一个与另一个正是积压被重复计算或完全遗漏的原因。
两个相邻指标完善了词汇表。**订单(Bookings)**衡量一个期间内签署的交易——销售活动,而非未来收入——而订单创纪录但 RPO 持平意味着合同流失的速度与签署的速度一样快。开票额(Billings),近似为收入加上递延收入的变化,衡量你开了多少票。从签字到现金的链条是订单到 RPO 到开票额到收入,每一环都为前一环负责。
RPO 误导的四种方式
RPO 的合同依据使它值得信赖,但并非在每种解读中都真实。四个陷阱甚至能抓住仔细的读者:
在不同简化处理之间比较。 如上所述,一年期和开票权例外意味着披露的 RPO 反映合同结构不亚于反映业务势头。在给供应商排名之前,先对开票条款进行标准化并阅读简化处理披露。
将其视为保证收入。 RPO 假设客户留下来、付款并按合同消费。它排除了尚未签署的续约,约束了可能转回的可变对价,并且对信用风险只字不提。客户破产将积压转化为核销,而非收入。像对待任何承诺一样折现 RPO:看承诺人。
忽视消费时机。 对于用量型和混合型业务,合同设定上限而行为设定节奏。客户可以持有大额承诺并缓慢提取,或提前烧完并继续支出超出承诺。在预测之前将 RPO 与消费和净留存数据配对。
让它与账本漂移。 在旁路电子表格中从销售数据计算的 RPO 会悄悄与账本中的递延收入和已确认收入偏离——不同的合同列表、不同的修改处理、不同的时机。能与试算平衡表勾稽的数字才是值得披露的;不能勾稽的是穿着附注外衣的第二套账。
合同修改在最后一个陷阱中值得特别提及。按其单独售价添加可明确区分的商品会创建一份单独的合同,现有 RPO 保持不变;其他任何情况都会强制进行前瞻性重新分摊或累积追补,从而改写剩余义务。每一次期中追加销售、延期和降级销售都是 RPO 事件,而延迟捕获它们的流程会整个季度报告过时的积压。
在你自己的账本中追踪 RPO
你不需要企业收入系统来保持诚实的 RPO。你需要两张明细表和勾稽它们的纪律:一张收入瀑布表,按期间显示每份合同的剩余义务;以及一张递延收入滚动表,在每次结账时将已开票但未赚取的余额勾稽回试算平衡表。如果瀑布表的已确认列加上其剩余列不等于每份合同的总价,或者如果滚动表不能勾稽到分类账,停下来修复管道,然后再向投资者引用任何数字。
纯文本账本让机制变得可见。以下是上面那份三年期 42 万美元合同——第一年开票、现金收款和 1 月的直线确认——完全按照它过账的样子:
2026-01-01 open Assets:Cash:Operating USD
2026-01-01 open Assets:Receivable:Customers USD
2026-01-01 open Liabilities:Deferred-Revenue USD
2026-01-01 open Income:SaaS-Subscriptions USD
2026-01-05 * "Acme Corp" "Year 1 invoice on 3-year 420000 USD contract"
Assets:Receivable:Customers 140000 USD
Liabilities:Deferred-Revenue -140000 USD
2026-01-12 * "Acme Corp" "Year 1 payment received"
Assets:Cash:Operating 140000 USD
Assets:Receivable:Customers -140000 USD
2026-01-31 * "January revenue recognition" "1/12 of year 1"
Liabilities:Deferred-Revenue 11666.67 USD
Income:SaaS-Subscriptions -11666.67 USD在月末,账本直接讲述 RPO 的故事:递延收入持有已开票年份的 128,333.33 美元,未开票的第二年和第三年作为 28 万美元的积压留在账外,RPO 是它们的总和 408,333.33 美元。如果你这样记账,纯文本会计文档展示了如何扩展这个模式——每个客户或群体一个递延收入账户,让滚动表成为单个查询,而不是法证工作。
每月用三项检查闭合循环。第一,每份已签合同都出现在瀑布表中,带有其可强制执行期限和分配价格——没有任何已承诺的东西只存在于 CRM 中。第二,每张发票将其金额从积压转移到递延收入,每个确认分录将递延收入转移到收入,所以 RPO 始终等于两个余额之和。第三,cRPO——瀑布表的未来十二个月——在你的董事会材料中有自己的行,因为它是你的投资者无论如何都会计算的数字。你能从已勾稽的账本中产出所有三项的那个月,就是你的积压不再是传闻而开始成为资产的那个月。





