询问承包商工作进展如何,你通常会得到一种直觉,而不是一个数字。“那个项目挺紧巴巴的。”“我们在厨房改造项目中赚了不少钱。”“露台那个活儿真是让人头疼。”银行余额上涨了,所以情况肯定还不错。
当年末财务报表出来时,情况往往比感觉的要糟糕。公司营收 210 万美元,工时极长,而净利润仅为 4%。在这些项目中,资金在某处流失了——但如果没有工程成本核算,就无法得知是哪些项目、流失了多少以及原因。
工程成本核算是一门能将“那个项目挺紧巴巴”转化为“我们在 Henderson 项目上亏损了 7,400 美元,因为框架人工超时了 60 小时,直到结算时才有人发现”的学科。这是承包商或贸易企业可以采用的最有价值的会计实践,而大多数小型工作室要么做得不好,要么根本不做。
什么是工程成本核算
工程成本核算将每一美元的成本分配给产生该成本的具体项目。与其将成本扔进贴着“人工”或“材料”标签的大桶里,每个项目都应该有自己的账簿。当木工记录了 8 小时工时,这些工时就记在该项目上。当木材交付时,发票就记在该项目上。当你租用两周升降机时,租金也记在该项目上。
它与分步成本法 (Process Costing) 相反,后者适用于生产相同单位产品的企业——如装瓶厂或大宗商品制造商。在那类企业中,每个单位的成本大致相同,因此采用平均法是可行的。承包商的情况则截然相反:每个项目都是定制的。浴室改造和露台扩建几乎没有共同的成本结构。对它们进行平均化处理会掩盖所有关键信息。
工程成本核算的产出是工程成本报告——这是一种对每个进行中项目的预估支出与实际支出进行分类对比的动态分析。如果解读正确,它能在项目资金流失时及时提醒你,让你还有机会采取补救措施。
四大成本类别
每个工程成本核算系统都追踪相同的四个类别。只要保持这些类别的清晰和一致,其他问题都会迎刃而解。
1. 直接人工 (Direct Labor)
在项目现场实际操作人员的工资。这听起来很简单,却是承包商最容易出错的地方——不是因为他们忘记记录工时,而是因为他们记录的是“裸工资”而非“全额负担”人工。我们将在下一节详细讨论,因为这值得专门说明。
2. 直接材料 (Direct Materials)
木材、固定装置、混凝土、电线、石膏板——任何物理上整合进项目中的东西。这里的原则是在供应商发票送达当天就将其归类到正确的项目中,而不是等到月底没人记得哪批货送到哪儿时再处理。堆积如山的未分类发票意味着工程成本核算系统已经失效。
3. 分包商与设备 (Subcontractors and Equipment)
分包商成本、设备租赁费、垃圾清运费、许可费以及其他直接项目开支。这些费用和材料一样随项目变动。如果你拥有设备而不是租用,通常会按小时或天向项目收取内部费率,以便每个项目都能公平地分摊所有权成本。
4. 间接费用 (Overhead / Indirect Costs)
维持公司运营但无法归集到单一项目的成本:办公室租金、估价师薪水、会计软件、一般责任保险、老板的卡车、营销费用。间接费用不会因为难以分配就消失——它必须被分摊到各个项目中,我们将在下文讨论。
劳动力负担陷阱
这是在悄无声息中摧毁承包商利润的常见错误。
一名框架工每小时赚 30 美元。承包商看到了这 30 美元,以此进行投标,并按每小时 30 美元追踪工程成本。但 30 美元并不是该工人的实际成本。在工资之上还包括:
- 雇主负担的工资税(社会保障、医疗保险、联邦和州失业税)
- 工伤赔偿保险——对于技术工种通常占工资的 8% 到 15%,屋顶工则更高
- 医疗保险和退休金供款
- 带薪休假、节假日、培训和认证
- 小型工具、电话补贴、车辆费用
加起来,全额负担人工费率 (Fully Burdened Labor Rate) 通常比基础工资高出 30% 到 50%。那个 30 美元的框架工实际上每小时花费 42 到 45 美元。
如果你的工程成本报告使用 30 美元的裸工资,那么每份报告都会产生同样的误导:项目在进行过程中看起来有利可图,但在结算时却令人失望。你以为利润率是 18%,实际上只有 8%。你又根据同样错误的数字为下一个项目投标,导致定价过低。错误会不断累积。
每年计算一次你的劳动力负担。将年度劳动力相关总成本(工资加上上述所有项目)除以总生产性工资,你就会得到一个负担乘数 (Burden Multiplier)——例如 1.38。将其应用到每份工程成本报告的每一个工时中。这是承包商会计中最具杠杆作用的修正措施。
使用预定分配率分配间接费用
间接费用(Overhead)无法直接追溯到某个具体项目,因此需要使用在年初设定的分配率进行“分摊”。标准公式为:
间接费用分配率 = 预计年度间接费用 ÷ 预计年度分配基础
分配基础是驱动间接费用的任何因素——大多数承包商使用直接人工工时或直接项目总成本。例如:如果你预计明年的间接费用为 360,000 美元,直接人工工时为 24,000 小时。那么你的分配率就是每人工小时 15 美元的间接费用。每个项目每投入一个工时,就分摊 15 美元。
由于该分配率是一个估算值,实际发生的间接费用会略高于或低于你分摊的金额。到年底,你会有一个较小的多分配或少分配余额,这通常会结转至销货成本(如果金额较大,则按比例分摊到各项目中)。不要被这种微小的对账工作吓跑——全年进行不完美的间接费用分摊,远比忽视它并在纳税申报单完成时才“发现”真实的利润率要好得多。
成本代码:归档系统
成本代码是将原始成本转化为可读报告的分类方式。与其只列出一行“材料费”,不如将一次翻修工程细分为混凝土、框架、电气、管道、饰面等。建筑行业有一个正式的标准——CSI MasterFormat,分为 03 分部(混凝土)和 09 分部(饰面)等——大型商业建筑商严格遵守这一标准。
大多数小型承包商不应采用完整的 MasterFormat。与其使用一个你永远无法坚持使用的 600 行标准,不如建立一个包含 15 到 30 个涵盖你实际业务的代码简表。遵循以下三个规则可以使成本代码发挥作用:
- 保持精简。 不要包含你既不亲自执行也不分包的工种。你无法维护的细节只是噪音。
- 在不同项目间保持一致。 每个项目都使用相同的代码结构,即使在小型项目中某些代码未被使用。一致性让你能将今年的项目与两年前的类似项目进行对比。
- 所有环节使用同一套代码。 这是一个典型的致命错误:估算师用一套代码投标,而项目经理用另一套代码跟踪成本。这种不一致打破了估算与实际之间的联系——而“估算与实际对比”正是项目成本核算的全部意义所在。
已承诺成本:预见未来
仅显示已支出资金的项目成本报告就像是一个“后视镜”。能够防止灾难发生的数字是已承诺成本(Committed Cost)。
已承诺成本是指你已承担义务但尚未支付的资金——例如已签署的分包合同、已签发的采购订单、已下单但未收到发票的材料订单。假设一个项目的预算为 50,000 美元,你已经支出了 30,000 美元,并且又签发了 25,000 美元的采购订单。仅查看支出的报告会显示你还剩 20,000 美元。而现实是:你已经在 50,000 美元的预算中承诺支出了 55,000 美元。你超支了 5,000 美元,而且你今天就能预见到这一点——在发票到达之前——而不是在结项时。
完工预计总成本 = 迄今实际成本 + 已承诺成本 + 剩余工作估算成本
每周跟踪这个数字,项目就不会再给你带来“惊喜”。
阅读项目盈利报告
一份有用的项目成本报告会为每个成本代码并列显示五个列:
| 列名 | 它的含义 |
|---|---|
| 原始估算 | 你为该类别投标的金额 |
| 迄今实际成本 | 迄今为止发生的含附加成本的实际支出 |
| 已承诺成本 | 尚未收到发票的采购订单和分包合同 |
| 完工尚需成本 | 你目前对剩余成本的估算 |
| 预计差异 | 原始估算减去预计总成本——这是结论 |
扫描“预计差异”列。如果某个项目仅完成了 40%,但某个代码已经呈现超支趋势,这是一场你仍能扑灭的火灾——你可以重新分配人员、重新谈判变更单或收缩范围。而在结项时才发现的超支,只是一个你不得不去解释的亏损。
每周对每个进行中的项目运行一次报告。按月进行的项目成本核算只是历史课;按周进行,它就是方向盘。
为什么准确的记录使项目成本核算成为可能
项目成本核算只有在基础账目清晰且及时的前提下才有效。每次工资发放都必须按项目拆分工时。每张供应商发票在入账前都必须带有项目和成本代码。每份变更单都必须更新受影响的预算。如果交易累积三周未编码,你的项目成本报告就是虚构的——而你将根据虚构的数字做出真实的决策。
这正是规范、透明的会计工作的价值所在。当每笔交易都被正确编码一次并以你可以实际检查的格式存储时,项目成本报告就成了良好簿记的副产品,而不是月底痛苦的账目重建。那些将记账视为日常习惯,而不是季度性突击的承包商,才是其项目成本核算值得信赖的人。
从第一天起保持项目成本的真实性
项目成本核算不是你购买的一种软件功能;它是一种习惯,即将每项成本(以含附加成本的美元计)分配到产生该成本的项目中,并对照一组一致的成本代码,同时在你仍能采取行动时分析数据。正确处理人工附加成本,使用预定分配率分摊间接费用,跟踪已承诺成本,并每周查看差异列——这样,“那笔生意做紧了”就会变成一个你可以管理的数字。
Beancount.io 提供纯文本会计服务,让你对财务数据拥有完全的透明度和控制权——每笔交易都经过编码、可追溯且具有版本控制,没有黑盒,也没有供应商锁定。免费开始使用,了解为什么开发者和财务专业人士正在转向纯文本会计。要深入了解运行机制,请浏览 文档 或通过 Fava 仪表板 探索报表。