跳转到主要内容

ASC 350-40:内部使用软件的资本化与费用化

发布日期 最后更新 阅读需 2 分钟Mike ThriftMike Thrift
ASC 350-40:内部使用软件的资本化与费用化
本页总览

ASC 350-40——搜索者常输入的350/40——是 FASB 关于内部使用软件的规则:开发成本是立即费用化,还是资本化为无形资产并在以后各期摊销。在传统三阶段模型下(在 ASU 2025-06 强制生效日期前,多数申报者仍采用此模型),答案可以用一张表概括:

阶段发生事项资本化还是费用化?
项目前期需求、供应商演示、可行性、自建 vs 外购费用化(发生时)
应用开发管理层承诺后,编码、配置、测试、集成资本化直接构建成本
实施后期上线后的培训、维护、缺陷修复费用化(新功能可重新开始资本化)

ASU 2025-06(2025 年 9 月 18 日发布;对 2027 年 12 月 15 日之后开始的年度期间强制生效)取消了这些阶段标签,代之以“可能完成”门槛,并表明更多成本将被费用化。以下各节涵盖 ASC 350-40 的内容、阶段细节、2025 年更新、资本化/费用化清单,以及该选择对 EBITDA 和资产负债表的影响。

ASC 350-40 涵盖什么​

ASC 350-40 是 FASB 关于内部使用软件的标准——即你的公司为自身运营而构建或购买、而非作为主要产品出售给客户的软件。示例包括:

  • 内部 CRM、ERP、HR 或会计系统
  • 云基础设施工具和 DevOps 平台
  • 你为客户运营的 SaaS 平台(客户以服务形式访问,而非安装经授权的软件)
  • 内部数据管道、仪表板和分析工具
  • 自定义工作流或后台自动化

如果你销售的是客户自行安装在自有机器上的授权软件,那属于 ASC 985-20(对外销售软件),该标准有不同规则。大多数现代 SaaS 公司属于 ASC 350-40,因为客户以托管服务形式消费软件。

该标准回答的核心问题:当你花钱构建软件时,这笔成本应立即使费用化,还是资本化为无形资产并在未来期间摊销?

旧的三阶段模型(ASU 2025-06 之前)​

几十年来,ASC 350-40 一直采用基于阶段的框架。在 2027 年前对多数申报者仍然有效的旧指引下,软件开发分为三个独立阶段。

阶段 1:项目前期阶段​

这是探索阶段——定义需求、评估技术、获取供应商演示,并决定是自建、外购还是放弃。此阶段的所有成本均发生时即费用化,类似于研发费用。理由:在管理层承诺之前,你还没有一个可能存在的资产。

此处的活动包括:

  • 概念形成和设计备选方案
  • 供应商演示和技术评估
  • 成本效益分析和可行性研究
  • 最终选择方案或供应商

阶段 2:应用开发阶段​

当管理层批准项目、承诺资金且完成可能性较大时,资本化开始。此阶段涵盖实际构建——编码、测试、配置、集成和安装。

此阶段可资本化的成本通常包括:

  • 开发人员、QA 工程师和项目经理的薪资和福利(仅限直接归属于编码、测试和配置软件的时间)
  • 外部开发咨询费
  • 用于构建应用程序的软件许可证和工具
  • 开发中直接消耗的材料和服务成本
  • 利息成本(有限情况下)

资本化在软件基本完成并可供预期用途时停止——通常是在测试完成且系统部署到生产环境时,即使采用渐进式推广。

阶段 3:实施后期阶段​

上线后,持续成本转回费用化处理。培训、维护、缺陷修复和日常支持均予以费用化。例外:增加新功能(而非仅修复或维护现有功能)的增强可以采用与阶段 2 相同的标准进行资本化。

2025 年重大更新:ASU 2025-06​

2025 年 9 月 18 日,FASB 发布了 ASU 2025-06,对 ASC 350-40 进行了显著现代化。该更新对 2027 年 12 月 15 日之后开始的年度期间强制生效,并允许提前采用。

这一变化是结构性的:三阶段模型已被移除。FASB 明确删除了所有对项目阶段的引用,因为传统框架不适合现代敏捷和迭代开发实践——在这些实践中,需求不断演变,“阶段”相互重叠或并行运行。

新的基于原则的门槛​

在修订后的标准下,仅当以下两个条件均满足时,你才能资本化软件成本:

  1. 管理层授权:管理层已授权并承诺为项目提供资金。
  2. 可能完成门槛:项目可能完成,且软件将实现其预期功能。

第二个测试承担着实际工作。FASB 引入了一个称为重大开发不确定性的概念来评估完成是否可能。你必须评估:

  • 软件是否包含尚未通过编码或测试验证的新颖或未证实功能
  • 性能要求是否仍未确定或需进行重大修订

如果存在重大不确定性,资本化必须推迟,直至不确定性消除。FASB 已表示,预计新规则将导致更多软件成本被费用化,尤其是在需求持续迭代的 SaaS 公司。

这在实践中意味着什么​

对于正在构建真正新事物的初创公司——AI 代理平台、新型自动化引擎——新规则可能会将更多支出推入早期运营费用。对于增强定义明确系统的成熟公司,实际影响较小。无论哪种方式,从机械式阶段检查转向基于判断的门槛,意味着公司需要更清晰的管理决策、技术可行性和项目状态文档。

可资本化与不可资本化的内容:实用清单​

无论你采用旧阶段模型还是新的基于原则的测试,可资本化与可费用化支出之间的界限在精神上相似。这里是一份实用清单。

通常可资本化​

  • 构建阶段开发人员、设计师和 QA 的直接人工成本
  • 这些员工的分配工资税和福利
  • 外部咨询和承包商开发费
  • 开发中直接消耗的软件、工具和云基础设施成本
  • 上线后开发新功能的成本(实质扩展能力的增强)
  • 开发转换软件(将旧数据迁移到新系统的软件)的成本,而非数据转换活动本身

通常费用化​

  • 前期研究、供应商选择和可行性分析
  • 对员工进行新系统培训
  • 数据清理、对账和记录迁移
  • 日常维护、缺陷修复和小的重构
  • 重大开发不确定性期间发生的软件成本
  • 与开发无直接关系的一般行政管理费用
  • 营销、支持和上线后的客户成功活动

时间跟踪问题​

最大的实际挑战是分配工程时间。一名高级工程师每周工作 40 小时,不太可能 100% 从事可资本化工作——他们还在调试生产环境、指导团队成员、参加站会以及为遗留系统审查拉取请求。如果没有可靠的时间跟踪方法(按项目标记的工程工单、时间跟踪软件或正式的分配调查),资本化估算将无法通过审计审查。

对财务报表的影响​

对同一笔金额进行资本化与费用化会产生截然不同的财务报表。

损益表影响​

资本化成本在支出发生的期间不会计入损益表。相反,它会被摊销——对于内部使用软件,通常按三到五年的直线法摊销。因此,第一年 100 万美元的资本化工程支出可能每年仅产生 20 万至 33.3 万美元的摊销费用,从而显著提高第一年的营业利润。

这就是为什么EBITDA 从资本化中获益。摊销按定义被排除在 EBITDA 之外——因此,将更多开发成本资本化会把资金从营业费用(会降低 EBITDA)转移到摊销(不会降低)。审查 SaaS 指标的投资者通常会看“资本化研发前 EBITDA”或使用现金研发的 rule-of-40 计算,以透视这一动态。

资产负债表影响​

资本化软件作为长期无形资产列示,通常标记为“资本化软件开发成本”或类似名称。这会:

  • 增加总资产和权益
  • 仅当收益增长快于资产基数时,才提高资产回报率(ROA)
  • 创造一项必须进行减值测试的资产——如果项目被放弃或其价值下降

如果项目在开发中途被放弃,先前资本化的成本必须核销——这会产生一笔突然的、通常是重大的损失。这是新 ASU 2025-06 如此强调可能完成门槛的原因之一。

现金流量表影响​

资本化开发成本通常归类为投资活动(而非经营活动),这会使经营现金流看起来更强。精明的投资者在比较公司时会对此进行调整——但标题数字仍然受益。

让公司陷入困境的常见错误​

审计师和收购方会反复看到同样的错误。

资本化授权前成本​

经典错误是将在管理层正式批准项目之前投入的工程时间资本化。如果没有文档化的授权和资金承诺,这些成本本应费用化。确保你有会议纪要、董事会批准或书面签署,以确定管理层何时作出承诺。

缺乏项目级文档​

如果监管机构或审计师问“展示你资本化的项目”,而你只能指向一般工程支出,你就会失败。你需要逐项目记录:范围、授权日期、预算、状态和计费时间。

将所有工程时间视为可资本化​

高级工程师修复缺陷、审查代码、参加会议并响应事件。所有这些都不可资本化。简单地按百分比乘以工程团队薪资的公司很少能通过审计。

上线后继续资本化​

软件可供预期用途之日,资本化即停止。此后的缺陷修复、性能调优和小幅改进都是运营费用。新的、独立范围的功能可以开始新的资本化期间——但常规上线后工作不能。

忘记减值测试​

资本化软件是一项资产,如果价值下降,资产必须减值。如果你将产品束之高阁、淘汰某项功能或从根本上重写系统,你必重新评估并很可能核销之前的余额。

如何建立可辩护的流程​

如果你决定资本化适合你的公司,流程与政策同样重要。

  1. 撰写软件资本化政策。 定义哪些项目符合条件、你的授权流程、使用寿命估计以及如何分配时间。获得 CFO 或审计委员会的签署。

  2. 在项目层面跟踪工程时间。 这是基础性输入。无论你使用 Jira 标签、项目跟踪器中的自定义标签还是正式工时表,你都需要能够证明“工程师 X 将 Y% 的时间用于项目 Z 上的可资本化工作”。

  3. 记录管理层批准。 每个可资本化项目都需要授权证据——经签署的书面批准、董事会会议纪要或领导层签署的项目章程。

  4. 定期重新评估重大不确定性。 在新规则下,你需要监控功能是否仍然新颖或未证实,以及需求是否趋于稳定。每季度与工程领导层进行审查是合理的。

  5. 为每个项目建立摊销表。 每个资本化项目在可供使用时开始摊销,你需要跟踪该资产的成本基础、累计摊销和剩余寿命。

  6. 项目变化时进行减值测试。 每当你放弃、重大重写或淘汰资本化工作,请进行减值分析,并按需计提核销。

为什么这对簿记很重要​

软件资本化是那种第一天簿记纪律在多年后回报的领域之一。B 轮融资期间的投资者会查看你的试算平衡表;出售过程中的收购方会追查交易到日记账分录;IRS 可能会将你的 GAAP 处理与 Section 174 研发税收处理进行比较,后者有自己规则。如果你的账簿没有将资本化项目与运营费用分开,无法将工程时间计费与具体项目关联,或没有维护干净的摊销表,那么每次审计和尽职调查周期都会变得痛苦。

解决方案在概念上很简单:保持干净的科目结构、在项目层面跟踪时间,并记录每笔资本化分录背后的决策。从一开始就这样做可以避免日后代价高昂的清理。

保持你的软件会计审计就绪​

无论是你正在资本化第一个内部平台,还是在数十个项目上运行摊销表,干净的财务记录都是基础。Beancount.io 提供纯文本会计,让你拥有透明、版本控制的账簿——每笔分录可追溯、每个科目可审计、每个报告可复现。对于跨多个项目跟踪资本化开发的软件公司,拥有像代码一样可读的账簿是一个显著优势。免费开始,看看为什么开发者和财务专业人士正在转向纯文本会计。

分享这篇文章

关注这个话题

来源:https://beancount.io/zh/blog/2026/05/03/software-capitalization-asc-350-40-internal-use-software-capitalize-vs-expense-guide

发布日期: 2026年5月3日

最后更新: 2026年9月14日