判断返工归属,关键不是看谁改得多,而是看触发修改的那句话最早出现在哪里:如果它已经写进双方确认的需求、原型或验收清单,返工应计入乙方工时;如果它从未被确认,只是甲方在开发中途新增或改变主意,则应计入甲方工时或另开变更单。按工时计费的报价天然会把这个问题放大,因为每一次“再调一下”都会直接变成费用。
假设一个项目按工时计费,开发进行到一半时甲方提出:主导航要从横排改成左侧竖排。这笔工时算谁的,常出现两种看似合理的解释。
第一种解释:只要甲方提出,就是甲方买单。 理由是需求由甲方发起,乙方只是执行者。这个解释成立的条件是,原始确认文件里确实没有规定导航形态,或者明确规定“导航样式待定”。此时甲方的确在补一个空白项,计费合理。
第二种解释:只要属于原页面结构,就该乙方承担。 理由是导航本来就在报价范围内,改布局属于把活做对。这个解释成立的条件是,确认过的原型或线框图里已经画了横排导航,且甲方没有在开发前要求改。此时改的是乙方已经承诺的形态,返工应计入乙方。
矛盾点在于:双方往往都记得“说过”,但拿不出那句话出现在哪个版本。工时计费下,谁先能定位到确认节点,谁就掌握归属判断的主动权。
不要靠回忆和口头承诺判断,回到可查的记录。以下三类证据按证明力从强到弱排列。
一个可操作的判断动作:在每次收到修改意见时,先回一句“这条属于原确认范围,还是新增变更?”并让对方在聊天里确认。这个动作本身不产生费用,但它把归属判断从事后争议变成事前确认。结果是,后续账单上每一笔返工工时都能对应到一条确认记录,甲方也更容易接受。
工时计费最容易失控的地方,不是单价,而是范围。建议在报价阶段就把下面几类情况写清楚,避免它们被默认成“乙方应该顺手做”的返工。
这里要注意一个常见误区:把“免费修改几次”当成万能条款。次数限制只约束数量,不解决归属。如果第一次修改本身就是乙方实现错误,它不该消耗甲方的免费次数;反过来,甲方新增的第五个模块,也不该因为“还有免费次数”就被算成返工。
假设某项目报价按工时计费,原确认原型中首页只有一个轮播图。开发完成后,甲方要求把轮播图换成三栏卡片,并说“这个之前提过”。
此时先查确认件:如果原型版本里只有轮播图,且没有后续变更单,那么这次替换属于甲方新增,工时计入甲方。下一步动作是让甲方确认变更单,再安排开发,避免做完再吵。如果原型里本来就画了三栏卡片,而乙方做成了轮播图,则属于乙方返工,工时由乙方承担,甲方不需要为这次修改额外付费。
这个例子的意义不在于具体金额,而在于:同一条修改意见,因为确认节点不同,归属完全相反。按工时计费时,把确认节点固定下来,比事后争论“谁记得说过”更有效。
如果乙方按工时报价,可以要求其在报价单中列出预计工时构成,例如设计、前端、后端、测试各占多少,并注明哪些环节包含修改、哪些环节按变更另计。这样做的作用不是压价,而是让后续每一笔返工都能对应到具体环节。当某环节的返工工时持续增加时,你能更早判断是需求没定清楚,还是乙方实现有问题,从而决定是补充确认件,还是要求乙方承担修复。
归根结底,按工时计费下的返工归属,取决于确认记录而不是口头立场。把“这条算谁的”在动手前问清楚,账单上的争议就会少很多。