你在一个周五下午瞥了一眼企业的支票账户——147,000美元。两处商业屋面翻新工程正在进行中,三个住宅项目排在下周,你刚刚收到了一项94,000美元公寓大楼项目的50%定金。这感觉像是最棒的一个月。
然后你的会计打来电话。实际上你少计了38,000美元的账款,而你最大的一项工程自上周以来已经悄悄损失了两个百分点的利润率。银行余额在现金方面没有撒谎,但在利润方面绝对撒了谎。
正是这种脱节,使得每一项跨越数周的屋面工程——尤其是那些跨月进行的商业、多户住宅或保险驱动的项目——最需要一份报告甚于其他一切:在制品(WIP)进度表。做对了,它就是你所做一切财务决策的蓝图。做错了或者干脆不做,无论银行流水看起来多健康,你都是在盲目飞行。
为什么银行余额无法告诉你屋面工程是否盈利
屋面工程是典型的工程成本核算业务,但存在严重的时点错配:
- **你按里程碑开票,而不是按施工进度。**签约时收定金,封顶后收进度款,收尾清单完成后收尾款。现金流入与实际完成的工作关系不大。
- **你在赚取收入之前就要购买材料。**瓦片、TPO卷材、金属板和紧固件往往在工人进场前几周就记入你的信用卡。
- **人工和分包费用前置。**拆除班组和金属板分包商在工程早期就开出账单,而如果你等到完工才记账,此时工程显示的收入仍为零。
- **保修金占用现金。**在商业项目中,业主扣留10%的金额直到最终验收,意味着一个20万美元的项目在你自己付清所有费用后,仍有2万美元的应收款被占用数月。
如果你采用收付实现制或简单的权责发生制记账——即只在开票时确认收入——那么有两大笔定金的月份看起来利润丰厚——直到下个月人工、清运和材料账单纷至沓来,却没有对应的开票收入。反过来,如果你在一个月内完成了最多的实际施工,却因为还没开票而看起来像是亏损,那就是时点错配的问题。
WIP进度表通过将收入与实际完成的工作量挂钩来解决这个问题,而不是看你恰好什么时候发出了发票。
WIP进度表到底是什么
把WIP进度表想象成一页仪表盘,显示每一份进行中的屋面合同。每一行是一个工程。每一列回答一个具体问题:
- 我们承诺建什么、多少钱? 合同价格、已批准的变更单、修订后的合同价值。
- 到目前为止我们花了多少? 累计工程成本——材料、人工、分包、设备租赁、许可证、清运费。
- 完成它还需要多少成本? 预计完工成本(工头的诚实预测,不是最初估算)。
- 我们完成了多少? 完工百分比,根据成本计算得出。
- 我们赚了多少收入? 截止目前的应计收入,基于完工百分比。
- 我们开了多少票,开多了还是少了? 截止目前的合同开票额以及超/欠开票余额。
至少每月更新一次,WIP进度表会让你、你的注册会计师以及任何向你放贷或提供担保的人清楚地了解每项工程的状况。
完工百分比法,分步详解
对于跨会计期间的工程,公认会计准则(GAAP)——以及针对较大型承包商的税法——要求你在工作进展过程中确认收入。只要工程成本准确,计算就很简单。
支撑每行WIP的两个公式
1. 完工百分比 = 累计发生成本 ÷ 预计总成本
预计总成本不是最初的投标价,而是截至目前的累计成本加上预计完工成本。如果任何一个数字过时了,百分比就是错的。
2. 截止目前的应计收入 = 完工百分比 × 修订后的合同价格
修订后的合同价格是原始合同加上已签署的变更单。未经批准的变更单不应提前增加收入。
然后:
- 本期应确认收入 = 截至目前应计收入 − 以前期间已确认收入
- 截至目前毛利润 = 截至目前应计收入 − 截至目前已发生成本
- 超额/不足开票 = 截至目前开票额 − 截至目前应计收入
如果开票额超过应计收入,你就是超开票了。如果应计收入超过开票额,你就是不足开票。两者本身没有绝对的好坏——但都说明了问题。
一个带真实数字的屋面工程示例
以一项42平方的商业TPO卷材屋面翻新为例:
- 原合同:180,000美元
- 已批准的保温板升级变更单:12,000美元
- 修订后合同价格:192,000美元
- 截至目前已发生成本:86,000美元(拆除、ISO保温板、卷材、一半人工)
- 预计完工成本:54,000美元(剩余人工、封边金属、保修、收尾)
- 截至目前开票额:115,000美元(定金+封顶进度款)
第一步:预计总成本 = 54,000 = 86,000 ÷ 192,000 = 86,000,所以截至目前毛利润 = 86,000 = 115,000已开票 − 2,888欠开票**
你完成的工作略多于已开票的部分。现金流紧张了2,888美元,但利润率保持不变。如果预计完工成本在没有任何变更单的情况下攀升至62,000美元,完工百分比下降,应计收入下降,利润率就会蒸发——尽管银行账户当天没有任何变化。这个预警就是重点。
超开票与不足开票:现金流藏在哪里
这是大多数屋面承包商粗略浏览后就会后悔的部分。
超开票(开票额 > 应计收入)意味着你已经收取了尚未完成工作的现金。在资产负债表上,它作为负债列示——通常标注为超出成本的收款或递延收入。感觉很好:瓦片还没铺上,现金就已到账。但过度超开票会掩盖工程利润下滑,因为完工成本估算过于乐观。放贷方和担保方在超开票没有明确理由却激增时会感到不安。
不足开票(应计收入 > 开票额)意味着你已经完成了工作但尚未开票。它作为资产列示——超出开票额的成本或欠开票。不断增长的欠开票余额会给现金流带来压力,通常表明开票滞后、遗漏了变更单,或者班组消耗的工时没有进入付款申请。如果你一直处于不足开票状态,实际上是在为客户的屋顶融资。
一个健康的屋面业务通常接近中性,并略微偏向超开票,尤其是在你通过谈判获得优厚定金和里程碑付款条件的商业项目中。关键不是看单个月份的数字,而是看趋势及其背后的原因。
如何建立一套真正有效的屋面WIP进度表
你不一定需要复杂的软件才能开始,尽管专门的施工会计工具会在正确设置工程成本后自动生成这些数据。一个电子表格,每个进行中的工程一行,再加上这些列就够了:
| 列 | 填写内容 | 数据来源 |
|---|---|---|
| 工程名称/编号 | 例如:24-118 — Maple Grove公寓C栋 | 工程清单 |
| 合同价格 | 原始签署金额 | 已签署的投标书 |
| 已批准的变更单 | 已签署的金额,而非口头承诺 | 变更日志 |
| 修订后合同价值 | 合同 + 已批准的变更单 | 计算 |
| 投标时成本估算 | 原始预算成本 | 估算 |
| 截至目前已发生成本 | 实际入账的工程成本 | 工程成本分类账 |
| 预计完工成本 | 工头更新的预测 | 现场 + 办公室 |
| 预计总成本 | 已发生 + 待发生 | 计算 |
| 完工百分比 | 已发生 ÷ 预计总成本 | 计算 |
| 截至目前应计收入 | 完工百分比 × 修订后合同价格 | 计算 |
| 截至目前开票额 | 向业主开具的发票总额 | 开票系统 |
| 超/(欠)开票 | 开票额 − 应计收入 | 计算 |
| 截至目前毛利润 | 应计收入 − 已发生成本 | 计算 |
| 修订后毛利润/利润率 | 修订后合同 − 预计总成本 | 预测 |
两个纪律决定成败:
1. 工程成本必须按工程、按期入账。 如果你的簿记员把所有家得宝和美国ABC Supply的收据都归入一个笼统的“材料费”,然后到年底再整理,那你的完工百分比就是天方夜谭。每一张材料单、每一个工时、每一张分包发票、每一笔清运费和吊车租赁费,在进入分类账之前都必须标注工程编号。
2. 预计完工成本必须与现场同步,每月更新。 这个数字不是用中标价减去已花金额。它是“完成它实际上需要多少钱?”。如果工头报告说一个4天的瓦片工程还需要多一天的收尾人工,这一行——以及相应的收入——就需要立即改变。
毁掉你WIP(和账本)的屋面行业特有陷阱
1. 在签署前就开始施工的变更单
风暴破坏、隐蔽的屋面板腐坏和业主要求的升级是日常。如果工人在口头约定的基础上多安装了30平方的防水垫层,你增加了预估成本却没有相应地调整合同价格,你的WIP就会显示人为的利润率下降。原则是:完成工作时成本增加,但收入只有在变更单签署并定价后才增加。在单独的列中跟踪未经批准的变更工程,并持续跟进直至签订正式变更单。
2. 消失在单一应收款中的保修金
在一个25万美元的商业项目中,10%的保修金意味着2.5万美元在实质性完工时无法使用。如果你把每张发票都记为普通应收账款,当留置权发票在合同上还未到期时,你的账龄表会显示客户已经逾期45天。建立一个单独的应收保修金科目,分摊每笔进度款:例如,60,000美元的发票,借记应收账款54,000美元,借记应收保修金6,000美元,贷记开票额。当保修金释放时,再转入普通应收账款。这样你的WIP和回款预测都会更合理。
3. 供应商押金和材料预购
提前三个月锁定一卷立边金属板面板的价格听起来很谨慎——但如果这些面板没有在当月份记录,而是躺在“库存”或“工程成本”里,就会造成问题。如果你在安装前就将它们计入工程费用,就会提前抬高完工百分比,并预支尚未赚取的利润。将预购材料记入手头材料或预付工程成本科目,只有在安装时才转入工程成本。
4. 保修工作和返工
提供2年的工艺保修是一个卖点,但每一次收尾后的维修电话都是一笔没有对应收入的成本。将一小部分保修计提纳入原始预算(例如合同价的0.5%-1%),并在收尾前将其保留在待发生成本中。当你从WIP中释放工程时,将剩余计提转入保修准备金,这样未来的漏水问题就不会扭曲新工程的利润率。
5. 按类别打包的分包商和人工成本
如果你的屋面人工是一项笼统的费用,分包商也简单按供应商归类,就无法诊断工程为何失色。将工程成本细分为一致的科目——拆除人工、垫层与封顶、陡坡安装、平屋面膜、泛水与金属件、清运费、许可证、设备租赁、分包商按工种分类、保修准备金。一致的代码让你可以跨20个工程按阶段比较估算与实际,并发现你的泛水成本每次都超支18%。
6. 保险和补充收入
在暴风雨修复工程中,保险公司的初始范围、补充协议和可收回折旧往往在不同时间到达。只将书面批准的内容纳入修订后合同价格。你“知道就快批下来了”的补充协议在没批下来之前不是收入。为待定补充建立一个渠道列,让WIP反映实际情况,同时平台跟踪机会。
为准确WIP提供数据支撑的工程成本核算
WIP进度表的准确性完全取决于其背后的工程成本分类账。
- 每笔成本在入账前都要指定工程和科目。 信用卡、支票和供应商账单没有工程标签就不应该被清算。
- 每周核对,而不是每季。 每周五生成一份进行中工程的成本报告,并与工头日志进行对比。在当周发现一个4,700美元的翻斗车误计入了管理费而不是24-118工程,远好过于年底才发现。
- 通过考勤核对人工。 如果班组按工程和成本代码打卡——无论是通过考勤应用还是简单的日报表——人工就跟着屋顶走,而不是沉淀在工资单里。附加成本(税费、工伤险)应按费率计算,而非拍脑袋。
- 包含完整的负担成本。 材料费是显而易见的。还要加上工伤补偿保险(屋面行业在建筑行业中费率居前)、工资税、差旅费和设备折旧或租赁费。一个仅从材料和工资看有35%利润率的工作,在加上负担后可能只有21%。
- 将间接费用与工程成本分开。 办公室租金、预算和你的卡车分期付款属于间接费用。把它们归入工程成本会虚增完工百分比;反之,把真正的工程成本留在管理费中则会产生相反的效果。
如果你使用QuickBooks,设置Projects或Job Cost模块、类别跟踪或Contractor+、JobTread等插件可以自动化标签处理。电子表格工程成本日志在规模小时可以应付,但需要手动双重录入,随着业务量增加会难以维持。
税务规则:何时必须采用完工百分比法
并非每家屋面公司都必须为税务目的采用完工百分比法,但门槛比许多老板想象的要低。
- 住宅建筑合同——如果预计成本的80%以上用于四个或更少单元的住宅单元(典型的住宅翻新),通常豁免强制完工百分比法。你可以使用完成合同法或其它允许的方法。
- 其他建筑合同的小承包商豁免——如果你前三个纳税年度的平均年度总收入低于通胀调整后的限额(2026年约为3,100万美元)且合同预计在开始后两年内完成,那么这些非住宅合同就可以豁免第460条完工百分比法的要求。只要有一项超标(总收入或合同期),就必须采用。
- 不符合豁免条件的合同必须在税务上采用完工百分比法,这通常会加速收入确认,而不是等到最后一颗钉子才做。大型商业和多户住宅项目往往属于此类。
即使你在税务上获得豁免,银行和担保公司仍然希望看到基于完工百分比法的WIP进度表,因为这是唯一能让收入与实际情况匹配的视角。许多屋面公司采用完工百分比法编制管理账目,年终再与CPA一起为税务目的进行调节。
这不是税务建议——门槛会根据通胀调整,你的情况可能会涉及其他豁免。在改变收入确认方法之前,请咨询精通施工的注册会计师确认。
银行、担保公司和买家如何解读你的WIP
如果你打算贷款购买新的吊车,提高授信额度,为100万美元的学区项目获得保函,或者最终卖掉公司,除财务报表外,第三方首先要求的就是WIP进度表。
他们会关注:
- 毛利润下滑。 预测的完工时毛利率是否低于同一工程上月?同一工程连续两个月利润率下滑是危险信号,表明预估过于乐观或漏掉了变更单。健康的承包商会在被问及之前主动解释。
- 欠开票的账龄。 持续60天的欠开票在不断增长,说明你在为工程垫资,且可能没有理清开票流程。60天的超开票由精心谈判好的付款计划支撑,通常是没问题的,前提是有意为之。
- 集中度。 70%的积压工程是否来自单一业主的单一项目?无论WIP多好,这都是风险。
- 与WIP挂钩的积压工程。 积压工程是未赚取的收入加上已签署但尚未开始的工程。一个90万美元的积压工程加上4万美元的欠开票,与超开票8万美元的同等积压工程,描绘的现金图景截然不同。
保留6个月的滚动WIP历史记录——而不仅仅是单张进度表——表明你是在主动管理,而不是被动应对。
每月WIP结算:一个8步流程
每个月的最后一个工作日留出两小时,与你的办公室经理、簿记员和主工头一起执行以下步骤:
- 冻结工程成本。 确保截至月底的所有材料收据、分包商发票和工时表都已正确入账到相应工程。
- 更新待发生成本估算。 与工头逐一核对每个进行中的工程。记录剩余人工天数、未清材料、最终金属件、检查和收尾项。
- 记录变更单。 区分已批准和待批准。只有签署的变更单才能调整修订后的合同价值。
- 运行计算。 让电子表格计算完工百分比、应计收入和超/欠开票。
- 审查利润下降或上升。 对于任何预测利润率变化超过一个百分点的工程,记录原因。如果变化是真实的,更新估算。
- 与总账核对。 WIP累计成本、开票额、超开票和欠开票的总额应与资产负债表对上。如果对不上,说明有工程标签遗漏了。
- 相应开票。 使用WIP决定是提前开票(如果欠开票且合同允许)还是推迟(如果已经超开票且成本预测即将上升)。
- 分享一页纸摘要。 将汇总后的WIP发送给CPA,如果需要,也发给贷方——附上变化最大的两三个工程的简要说明。
持续这样做,比每季度的会后冲刺更有效,那种冲刺总是发生在做出决定之后。
导致WIP无效的常见错误
- 把投标时的估算视为不可改变。 原始预算只是有根据的猜测。坚持它们永不改变,只会保证WIP永远脱离现实。
- 让成本滞留在错误的月份。 下月才入账的迟到供应商发票会显示上月更完整——也更“有利可图”——但实际上并非如此。应计已知成本。
- 凭感觉开票,而不是依据进度表。 与完工百分比脱节的随机进度发票会造成过大的超/欠开票波动,让所有人困惑。
- 没有单独跟踪保修金。 埋藏起来的保修金会虚增逾期应收款,并掩盖真实的现金时点。
- 一个人更新成本,另一个人更新开票,而从不对齐。 WIP存在于现场、办公室和会计的交汇处。保持协作性。
- 忽视小型住宅项目。 即使是跨越月底30/31日的3天瓦片工程,也会增加WIP工作量。将小型工作批量处理到简化的WIP中,或在符合条件时使用完成合同法——但务必选择一种规则并坚持下去。
WIP之后最重要的三个数字
一旦进度表准确了,三个KPI值得每月出现在所有者的管理报告中:
- 工程毛利率,预估与实际对比。 如果进行中工程的综合利润率在下降,而已完成工程的利润率也在下降,那是定价或生产环节出了问题,而不仅仅是一个坏工程。
- 欠开票额占月度收入的比例。 持续高于15-20%表明你把现金留在了屋顶上。收紧开票周期或重新谈判付款时间表,往往能释放比贷款更多的营运资金。
- WIP和保修金中的资金占用天数。 有多少天的收入被占用在欠开票和应收保修金中?按季度观察这一趋势,可以判断增长是在自我融资,还是在悄悄吞噬每一分钱。
简化你的财务管理
仅凭银行余额、直觉和年末的疯狂分类支出来管理屋面业务,是让好手艺人在遇到从未预见到的现金流紧张时措手不及的原因。一个纪律严明的月度WIP进度表——建立在清晰的工程成本核算和诚实的待发生成本上——使每项工程都成为一个关于应计收入、实际成本和预期现金流的透明故事。
要保持故事准确,就需要簿记能够正确、及时地将每张收据、每张工时卡和每张变更单记入相应工程。这正是Beancount.io的用武之地:透明的纯文本记账,支持版本控制,并且支持AI,让你的WIP与分类账本挂钩,分类账本又与实际情况挂钩——而不是依赖你希望它是正确的黑匣子电子表格。免费开始使用,看看为什么开发者和财务专业人士都在转向纯文本会计。