判断返工归属,先看触发返工的原因是否落在“已冻结并确认”的范围里。若需求、设计稿或接口文档已经书面确认并冻结,之后因甲方新增想法、更换素材或改变业务规则导致的返工,通常算甲方承担;若因乙方理解偏差、漏做已确认功能或交付物与确认稿不一致导致的返工,通常算乙方承担。工时计费下,这个判断直接决定这部分工时是否计入账单,也决定下一步是继续追加变更单还是要求免费修复。
变更型返工,指原确认范围没有错,是确认之后需求本身变了。缺陷型返工,指原确认范围没变,但交付结果没达到确认标准。两者的工时归属相反,判断依据也完全不同。
如果两类证据都不完整,不要急着按“谁提出谁付费”处理。此时更稳妥的动作是先补一份现状说明,把“原本确认了什么、现在实际是什么、差异点在哪”写清楚,再让双方对差异点签字或书面回复。这个动作本身会消耗少量工时,但它决定了后续返工是走变更流程还是走修复流程,避免整段返工被笼统计入或笼统免单。
当项目有明确的确认基线,比如已确认的需求文档、已签字的设计稿、已冻结的字段和流程说明,返工归属可以直接按差异点判断。
实施动作是:把返工内容逐条拆成“差异点”,每个差异点标注它是否超出确认基线。超出基线的,列入变更单,按工时计费;未超出基线的,列入缺陷修复,不计入甲方账单。做完这一步,下一步就是让甲方只对变更单部分确认,缺陷部分进入修复排期。
假设一个场景:确认稿里写明“订单列表按创建时间倒序”,交付后甲方要求改成“按支付时间倒序”。这属于确认后新增要求,是变更型返工,工时归甲方。反过来,确认稿写明倒序,交付却是正序,这是缺陷型返工,工时归乙方。两者的表面动作都是“改排序”,但归属相反,原因就在于确认基线是否被突破。
这里的例外是:如果确认基线本身写得含糊,比如只写“列表排序合理”,那双方都可以往自己有利的方向解释。此时不应直接套用上述规则,而应先把含糊项补成可验证的表述,再判断返工归属。补表述的工时,一般由提出含糊需求的一方或双方协商分担,不宜单方面计入某一方。
如果项目开始时没有书面确认,或者关键前提已经变化,比如业务模式调整、上游系统替换、合规要求更新,原来的确认基线可能整体失效。这时按旧基线判断返工归属会失真。
此时的选择不是直接争论“这算谁的”,而是先做一次基线重建:把当前仍然有效的需求、已交付且被接受的部分、以及因前提变化而必须重做的部分分开列出。重建之后,只有“因前提变化而必须重做”的部分才进入新的工时评估;其余部分仍按原逻辑判断。
实施动作可以这样安排:先冻结一份“当前有效范围”清单,再让甲方确认哪些是前提变化导致的新增,哪些是原有缺陷。结果是,新增部分走变更报价,缺陷部分走修复,前提变化导致的重做部分单独列一项并注明假设条件。这个动作会让账单看起来更复杂,但能避免把前提变化造成的全部工时都推给某一方。
例外情况是:如果前提变化是由乙方交付质量引发的,比如乙方交付的系统无法支撑原有业务量,导致必须重做,那这部分重做不应算作甲方变更。判断依据是前提变化的触发源,而不是变化发生的时间点。
无论哪种条件,实际执行时都建议保留一份返工归属记录,至少包含:返工条目、触发原因、对应确认基线、归属结论、计入哪张工时单。这份记录不需要复杂格式,用普通文档或表格即可。
它的作用不是追责,而是让下一次报价有依据。当同一类返工反复出现,比如甲方频繁在确认后改字段,或乙方频繁漏做已确认状态,记录会暴露问题集中在哪一端。下一步就可以针对集中出现的一端调整流程:甲方侧加强确认前评审,乙方侧加强交付前自检。调整之后,同类返工的工时占比会变化,这个变化才是判断流程是否有效的依据,而不是单看某一次返工归了谁。
需要提醒的是,返工归属判断和最终收费方式是两件事。工时计费下,归属决定这部分工时是否进入账单;但如果合同里另有封顶、包干或阶段验收条款,归属结论还要和这些条款一起看。只凭归属结论就断定最终价格,容易在结算时出现新的分歧。