你在三月份签下一份 60 万美元的合同,为一家餐厅做空间装修,预计明年二月完工。到了 12 月 31 日,你的施工队已经完成了大部分粗装工作,你已经花了 24 万美元,客户也已支付了 20 万美元的进度款。现在你的会计问了一个决定你这一年的问题:那 60 万美元里,有多少算作今年的收入?
现金回答不了这个问题。你收到了 20 万美元,但开票金额不是收入。成本也无法直接回答。真正能回答的是你的进度衡量——你对工程完工程度有据可查的估算——而在 ASC 606 下,你必须从两大类衡量方法中选择一种:投入法,追踪投入工程的努力;或产出法,追踪产出的价值。这个选择会改变你利润表上的数字、你的纳税申报表,以及银行在续签授信额度前会翻阅的在建工程明细表。本指南解释这两种方法,用实例展示计算过程,并指出那些会把常规工程变成重述的常见错误。
长期合同为什么需要进度衡量
大多数销售都很简单:你交付商品,控制权转移给客户,你在那一刻确认全部收入。长期合同则不同,因为你是逐渐履行承诺的,跨越数周或数月。ASC 606 规定,当履约义务是按时段履行时,你必须通过衡量向完全履行该义务推进的进度,按时段确认收入。
一份合同只要满足以下三项测试中的至少一项,就符合按时段确认收入的条件:客户在你履约的同时即取得并消耗利益(月度清洁合同);你的工作创造或改良了客户已经控制的资产(翻新客户的大楼);或者你的工作创造了一项对你没有其他用途的定制资产,并且你对迄今已完成的工作拥有可强制执行收款权(按买方规格建造定制机械)。建筑施工、定制制造、长期咨询业务,以及有明确交付物的多月代理服务费合同,通常都归属于此。
一旦进入按时段确认收入的范畴,准则只提供两大类进度衡量方法。投入法看你已经投入了什么——已发生的成本、已完成的工时、已消耗的材料——相对于你预期总投入的比例。产出法看已经产出了什么——已交付的单位、已达成的里程碑、已完成工作的勘测——相对于承诺总量的比例。两者都可接受。但它们不能互换,为合同选错方法是项目型企业最常见的收入重述触发因素之一。
两种方法一览
| 投入法 | 产出法 | |
|---|---|---|
| 衡量什么 | 已耗费的努力:成本、工时、已用材料 | 已取得的成果:单位、里程碑、经认证的完工量 |
| 常见衡量指标 | 成本比例、工时、机器小时 | 已交付单位、里程碑、勘测、已过时间 |
| 最适用场景 | 产出难以直接观察(服务、进行中的定制建造) | 交付物可计数或可观察(生产批次、分阶段项目) |
| 最大风险 | 低效看起来像进度;前置的材料采购会虚增完工比例 | 里程碑与开票挂钩而非与价值挂钩;里程碑之间的在制品不可见 |
| 典型使用者 | 总承包商、定制制造商、咨询顾问 | 单价合同承包商、分阶段交付的制造商、订阅式服务 |
投入法:衡量投入的努力
投入法将完工百分比计算为迄今已使用的投入除以预期总投入,然后将该百分比乘以合同价格,得出应确认的累计收入。其逻辑是间接的——努力是进度的代理指标——这既让投入法灵活,也使其容易被误用。
成本比例法:项目工程的默认方法
成本比例法是最广泛使用的投入法,对大多数承包商来说也是起点的假设。公式是:
完工百分比 = 迄今已发生成本 / 总估计成本 迄今应确认收入 = 完工百分比 × 合同价格
以那个 60 万美元的餐厅装修为例。到年末,你已发生 24 万美元成本,而总估计成本为 40 万美元。那就是 60% 完工,因此累计收入为 36 万美元——尽管你只开了 20 万美元的发票。已赚取收入与已开票金额之间 16 万美元的差额是资产负债表上的一项资产(通常称为已发生成本与估计收入超过开票额的部分,或简称合同资产),而这正是在建工程明细表逐项追踪的内容。
注意这个方法对你的要求:一个可信、最新的总成本估算。如果那 40 万美元的估算因木材价格飙升而漂移到 48 万美元,而你从未更新,那么下游的每一个收入数字都是错的。ASC 606 将估算变更视为累计追赶调整——你从合同开始重新计算,并将差额计入当期——所以过时的估算不会悄然消退。它们会一次性引爆。
工时、人工成本和机器小时
成本并不总是努力的最佳代理指标。在一个单项昂贵部件主导预算的工程上——比如在一个 40 万美元的厨房装修中,一台 9 万美元的商用烤箱——提前购买烤箱会让成本比例法尖叫"25% 完工",而施工队才刚刚进场。当材料扭曲了画面时,许多企业改用工时或人工成本来衡量:迄今完成工时除以预期总工时。一家设计机构可能会用计费工时对比固定费用品牌重塑项目的预算工时。一家土方工程承包商可能会用机器小时。
权衡在于数据纪律。成本比例法运行在你已经在维护的会计系统上。工时法运行在时间追踪上,而时间追踪必须完整并按工程编码,否则毫无意义。如果月底你一半施工队的工时躺在一个未分配的桶里,那么工时衡量就是虚构的。
未安装材料调整
这就是成本比例法内部设下、会绊倒成长中承包商的陷阱。假设你在十二月收到了用于餐厅的 5 万美元定制灯具,但要到二月才安装。钱已经花了,材料也在现场,但客户是否收到了价值 5 万美元的东西?没有——ASC 606 明确如此规定。当一项成本与你的进度不成比例时,你必须调整:将未安装材料从进度计算的分子和分母中都剔除,并按成本确认这些材料的收入,利润为零。
用数字说明:剔除灯具后,已发生成本降至 19 万美元,总估计成本降至 35 万美元,真实工作的完工率为 54%,加上 5 万美元零利润的过手收入。不作调整而计入灯具会同时虚增完工比例和毛利。审计师会专门测试这项调整,因为在仍躺在板条箱里的材料上确认毛利,是——无论有意与否——把明年的利润拉到今年来的最简便方法之一。
产出法:衡量产出的价值
产出法直接衡量结果:客户实际收到了什么?准则制定者认为,当产出可观察时,它们是对业绩最忠实的描绘,正是因为它们跳过了代理指标,直接对事物本身计数。问题在于,对事物计数有时昂贵、有时不可能、有时在两次计数之间会产生误导。
已交付单位与已生产单位
最干净的产出衡量就是计数。一家签约交付 200 件定制橱柜的橱柜厂,每交付一件就确认合同价格的 1/200。一家按单价合同施工的铺路承包商——10 万平方英尺、每英尺 5 美元——按已完成并验收的每平方英尺确认收入。
注意边界条件:已交付单位只有在交付即为控制权转移时刻时才适用。如果你的合同在货物进入你仓库、等待客户提货的成品状态下才转移控制权,那么按发货量计数会低估你的进度和收入。要将衡量方法与合同的转移时点相匹配,而不是出于习惯对着发货码头。
里程碑
里程碑法在既定事件发生时确认收入:地基浇筑、预埋管线验收、最终检查通过。当每个里程碑代表真正转移的一块价值时,里程碑法有效。当里程碑实际上是披着进度外衣的开票计划时,它们就失败了——"签约时 30%、中期 40%、完工时 30%"告诉你的是现金何时流动,而不是价值何时转移。
即使是诚实的里程碑也有盲点:里程碑之间什么都不发生。一个为期六个月的阶段只在末尾设一个里程碑,前五个月显示零进度,然后断崖式跳升。如果你的里程碑如此稀疏,就要在方法之外辅以判断,看中期进度是否需要确认,或者选择一种每月都会变动的方法。
已完成工作的勘测与评估
在较大工程上,独立勘测——建筑师对完工百分比的认证、工程师对已挖运土方的测量——可能是最站得住脚的衡量方法,因为有资质的第三方为其作证。担保公司和贷款机构喜爱经认证的勘测,原因正在于此。缺点在于成本:在小工程上支付月度认证费用,可能超过精确性本身的价值。对大多数小承包商来说,务实的答案是受证据约束的内部勘测——照片、每日日志、主管签署的估算——而不是在月底最后一天在办公室里凭空编出的数字。
已过时间
对于随时可履行的义务——一年的 IT 支持、维护合同、设施使用权——进度往往随日历推移,按时段直线确认是有意义的产出衡量。每过一个月,就转移年价值的十二分之一。不要把这套逻辑生搬硬套到努力不均衡的履约义务上:一个网站在六个月里直线确认收入,而全部开发都发生在第五和第六个月,这会误报每一个中期。
有权开票的实务简便方法
有一个值得了解的捷径。如果你的合同允许你开具的金额与迄今交付的价值直接对应——每小时咨询服务 200 美元、每交付一件 10 美元——你可以直接按你有权开票的金额确认收入。这一实务简便方法在按小时收费的专业人士中很受欢迎,理由充分:发票本身就是进度衡量。一旦开票与价值背离,例如针对不均衡交付物的固定月费,或预付的进场费,它就不能用了。而且和所有产出法一样,它不能用来在实际控制权转移之前确认收入。
同一份合同,两个答案:为什么选择很重要
把两种方法放在同一个工程上看利害关系。一位承包商签下一份 50 万美元的合同,预期成本 40 万美元。在第二个月,她购买并收到了 12 万美元的结构钢,要到第四个月才会架设,另外在人工和其他成本上花了 4 万美元。
在未调整的成本比例法下,她是 16 万 / 40 万 = 40% 完工,确认 20 万美元收入,毛利 4 万美元——大部分是靠一张采购订单赚来的。在绑定钢材架设和阶段完工的里程碑法下,她可能只有 15% 完工,收入 7.5 万美元。在正确调整后的成本比例法下(钢材剔除、按成本确认零毛利),她在真实工作上确认约 5.7 万美元进度收入,加上 12 万美元零毛利的钢材收入。三种看似都站得住脚的计算,三种不同的利润,同一项工程,同一个月。三种情况下现金流完全相同——只有报告出来的故事不同。这就是为什么审计师在要你的数字之前会先要你的方法备忘录。
如何选择——以及审计师会核查什么
准则的测试标准是一句值得记住的话:方法必须忠实描绘你向完全履行该义务推进的业绩。在实践中,这分解为五项检查:
- 每项履约义务只用一种衡量方法。 一份包含设计和建造两个不同阶段、属于不同履约义务的合同,可以为各自使用不同的衡量方法。单一履约义务只能有一种衡量——你不能人工部分按工时确认、材料部分按交付确认。
- 类似合同之间保持一致。 你用于一项餐厅装修的方法,必须用于所有类似的装修。逐项工程挑选方法以平滑利润,正是"一致性"要求所要防止的。
- 剔除不能描绘进度的投入。 浪费的材料、因你自己的错误而返工、未安装的货物以及异常低效,都要从投入计算中剔除。你的错误不是进度。
- 每期更新估算。 总成本、总工时和完工百分比都是活的数字。每月结账时从合同开始重新计算累计收入,并将变化作为追赶调整入账——这种纪律是任何项目型企业的月度结账常规。
- 记录推理过程。 为每种合同类型写一份简短备忘录——为何选这种衡量方法、为何适合这些履约义务、估算如何更新——这是你与两年后那些因没人记得当初为何选此方法而出现的痛苦审计调整之间唯一的屏障。
如果进度根本无法合理衡量,这最常发生在工程混乱的头几周,准则有一个过渡安排:在衡量变得可靠之前,只按已发生成本确认收入(零毛利)——前提是你预期能收回这些成本。这是一个临时避难所,不是一种方法。
在账簿中入账
无论你选择哪种方法,月度簿记的形状都一样:累计工程成本,根据你的进度计算确认已赚收入,并追踪已赚收入与已开票金额之间的差额。这个差额是项目会计的心跳——开票不足是资产(工作已做而尚未开票),开票过多是负债(已收现金而工作未做)。
如果你用纯文本记账,那项餐厅工程的月末分录如下所示。先是成本计入工程,然后进度计算驱动收入分录和合同资产余额:
2026-12-31 * "December job costs - Harbor Restaurant build-out"
Expenses:Job-Costs:Harbor-Restaurant 240000.00 USD
Assets:Checking -240000.00 USD
2026-12-31 * "Recognize revenue, 60% complete on $600,000 contract"
Assets:Contract:Harbor-Restaurant 360000.00 USD
Income:Contract-Revenue:Harbor-Restaurant -360000.00 USD
2026-12-31 * "December progress billing #2"
Assets:Accounts-Receivable 200000.00 USD
Assets:Contract:Harbor-Restaurant -200000.00 USD这些分录之后,合同账户持有 16 万美元的借方余额——你的开票不足,可对照进度计算加以证明——利润表显示 36 万美元收入对应 24 万美元工程成本。在此账簿之上运行一个 Fava 仪表盘,能把那些工程账户变成你银行家想看的在建工程明细表,而 Beancount 文档涵盖了你可以添加的余额断言,使一个手滑输错的进度分录大声报错,而不是被送到你的纳税申报表上。
你的月末进度流程
从合同开始,而不是从软件开始:确认每项履约义务都符合按时段确认收入的条件,并写下你选择的唯一衡量方法及理由。在计算任何东西之前,先更新你的总成本或总努力估算,并把未安装材料从投入法衡量中剔出。从合同开始计算累计收入,减去你已确认的部分,将差额入账——这个减法就是累计追赶调整,也正是过期估算浮出水面的地方。最后,对每一项在建工程核对开票与已确认收入,并让由此产生的开票不足和开票过多与你的资产负债表勾稽一致。每个月都这样做,年末那个问题——这份合同有多少是今年的收入——自己就会给出答案。





