北京市第一中级人民法院民 事 判 决 书（2021）京01民终5324号上诉人（原审原告、反诉被告）：宋杰，男，1989年5月6日出生，住山东省临沂市兰山区。委托诉讼代理人：鲁莹，山东鸿之恒律师事务所律师。被上诉人（原审被告、反诉原告）：柚子（北京）移动技术有限公司，住所地北京市朝阳区。法定代表人：邹达，总经理。委托诉讼代理人：刘闯军，男，1989年8月18日出生，住北京市昌平区。上诉人宋杰因与被上诉人柚子（北京）移动技术有限公司（以下简称柚子公司）定作合同纠纷一案，不服北京市海淀区人民法院（2020）京0108民初34016号民事判决，向本院提起上诉。本院于2021年6月4日立案后，依法组成合议庭进行了审理，本案现已审理终结。宋杰上诉请求：1.撤销一审判决，依法改判或发回重审；2.因本案发生的诉讼费用、律师费用、评估费用等均由柚子公司承担。事实与理由：一审查明事实不清，适用法律错误。一、对于本案项目交付的问题，一审法院仅侧重于项目整体的交付，而忽略了每个合同条款均对双方当事人产生约束力。合同2.2条约定了项目开发的阶段性交付工作，合同3.2.1条约定乙方应按照合同约定完成本项目，且合同4.2条约定了分期支付开发费用，显然该分期付款与阶段性项目工作的交付能够对应。故柚子公司理应按照合同约定如期完成每个阶段的项目开发工作并交付给宋杰确认。柚子公司已收取宋杰的开发费用，就应当如期完成工作，柚子公司不能按期交付每一阶段的开发成果即构成违约，应当按照合同7.2条、7.5条的约定承担违约责任，一审法院将合同7.2条约定的“交付工作”片面的认定为整体成果的交付，使合同2.2条、7.5条的约定形同虚设，系认定事实错误。二、合同附件三《项目需求说明书》中，明确了甲方的需求中包含活体识别这一功能，宋杰提交的扫微APP项目沟通群的微信聊天记录中显示，2019年10月14日宋杰向柚子公司指出涉案开发项目的人脸识别存在问题，直到2019年12月26日柚子公司才解决了人脸识别的问题。故柚子公司称的2019年10月18日交付，并非实际交付日期。因柚子公司在项目开发过程中的工作失误，其会议纪要中显示柚子公司错误认为百度AI无法达到静态人脸活体识别，且在后续调研中也说明百度AI无法达到要求，从而误导宋杰选择其他第三方平台，浪费大量时间，最终宋杰询问百度工程师证实百度AI可以达到要求，且告知柚子公司后方使用百度AI接口完成软件开发要求，柚子公司工作失误造成开发时间延长，柚子公司于2020年1月7日才最终完成项目开发并交付扫微APP明显构成违约。柚子公司辩称，同意一审判决。宋杰向一审法院提出诉讼请求：1.判令柚子公司支付开发成果违约金64440元；2.由该案所引发的诉讼费用、律师费用等均由柚子公司承担。柚子公司向一审法院提出反诉请求：1.判令宋杰支付柚子公司延期支付违约金人民币16800元（2019年10月18日-2020年1月8日期间乘以应付费用42000元的千分之五）；2.判令宋杰赔偿柚子公司人力损失费人民币16800元（3周共21天乘以800人/天）；以上费用共计33600元；3.判令诉讼费用由宋杰承担。一审法院认定事实：2019年6月19日，宋杰（甲方）与柚子公司（乙方）签订了技术开发合同（以下简称合同），约定，甲方委托乙方开发《扫微APP项目》，并支付开发费用，乙方接受委托并进行项目开发。开发总费用为14万元，具体付款方式如下：1.合同签订后3个工作日内甲方向乙方支付42000元；2.乙方完成产品原型和UI设计并经甲方确认后3个工作日甲方向乙方支付42000元；3.在项目功能验收阶段同时，甲方需向乙方支付42000元；4.在双方进行项目交付并签订《项目交付确认单》前，甲方向乙方支付14000元。违约责任7.2约定，乙方应按期交付工作，如无正当理由迟延交付，每延迟一天，应向甲方支付相当于甲方已支付开发费千分之五的费用作为违约金。对此，柚子公司认为违约金约定过高，要求酌减。合同同时约定，甲方按照七个阶段的时间和方式完成：第2.2.4约定UI界面设计及确认阶段（第四阶段）：2019年7月1日至2019年7月11日，产品原型经甲方确认后，由乙方开始按照产品原型设计进行UI界面设计，设计完成后经由甲方进行确认，未经双方书面或邮件同意、确认后不得单方修改；第2.2.5约定项目开发和测试阶段（第五阶段）：2019年7月12日至2019年10月14日，设计图文件经甲方确认后，乙方开始进行项目开发和测试工作；第2.2.6约定项目功能验收阶段（第六阶段）：2019年10月15日至2019年10月24日，乙方按《项目需求说明书》中描述完成全部功能开发和测试后提交甲方进行功能验收。如验收结果需乙方进行程序的调整和修改，双方商定调整和修改的周期。安装包确认及修改以邮件方式发送给甲方确认邮箱地址。第2.2.7约定项目交付阶段，甲方完成全部功能验收后甲乙双方开始进行项目交付工作，乙方在甲方支付合同尾款后10个工作日内将全部项目源代码、工程文件和相关资料提交给甲方，甲方完成确认后签订《项目交付确认单》，乙方将《扫微APP项目》交付给甲方。……以上阶段是乙方正常的开发周期，上述工作需要甲方支付开发费用，提供资源或进行内容确认时，甲方应及时支付开发费用、提供资源或进行内容确认，超过1个工作日没有及时支付开发费用、提供资源或进行内容确认的，项目将进入暂停状态，项目开发周期自动顺延；乙方提交甲方确认人验收的内容，甲方超过10个工作日未确认或未验收，或未提出不合格证明的，视为甲方确认或验收合格。双方于2019年7月2日又签订了合作补充协议（以下简称补充协议），约定在合同基础上增加城市定位……第三方服务集成等内容，宋杰应在补充协议签订后3个工作日内支付项目需求变更的费用12000元。合同以及补充协议签订后，宋杰于2019年6月24日支付给柚子公司42000元；于2019年7月2日支付给柚子公司12000元；于2019年7月30日支付给柚子公司42000元；于2020年1月8日支付给柚子公司42000元；于2020年3月10日支付给柚子公司14000元。一审庭审中，宋杰向该院提交了验收证明，经该院询问：1.UI界面设计及确认阶段（第四阶段）双方最终的确认时间为2019年7月29日，对此，柚子公司主张是宋杰一直不予确认，柚子公司不断把设计给宋杰，宋杰不断修改，最终才导致2019年7月29日才予以确认。对此，宋杰不予认可。就上述主张，柚子公司提供了电子邮件，显示双方在UI设计阶段，由于前段时间的需求新增沟通评估，故需要增加8个工作日，项目开发完成交付时间为2019年11月14日。双方对此予以确认。宋杰对此主张柚子公司即使按照顺延时间，也已经延迟4天交付，故依据合同7.2约定，应支付违约金。对此，柚子公司认为宋杰的主张不符合软件开发的交付规则，是整体交付，不是分段交付，应按合同2.2.7的约定进行交付。2.双方确认项目开发和测试阶段（第五阶段）中的项目开发是指APP端开发、服务端开发、接口联调（需要宋杰提供第三方接口）。柚子公司主张：（1）该阶段最终完成时间为2019年10月18日，按照双方的补充协议，可以延迟10个工作日；（2）柚子公司将涉案APP交给宋杰确认时，宋杰要求APP带有人脸识别功能，柚子公司使用了百度系统，但由于宋杰认为不能满足需求，故需要更换，后来柚子公司经过调研对比，最后还是用的百度系统，所以耽误了很长时间。而宋杰陈述最终完成时间2020年1月7日。柚子公司就上述主张提供了2019年11月7日等电子邮件予以证明。3.双方确认项目功能验收阶段（第六阶段）最终完成时间是2020年1月7日。一审法院认定上述事实的证据有：合同、邮件记录、微信聊天记录、转账汇款电子回单、验收证明及当事人一审庭审陈述意见等。一审法院认为，宋杰与柚子公司签订的合同以及补充协议系双方真实意思表示，未违反国家效力性强制性法律规定，系有效，双方均应遵守执行。合同约定乙方应按期交付工作成果，如无正当理由迟延交付，每延迟一天，应向甲方支付相当于甲方已支付开发费千分之五的费用作为违约金，该案中的工作成果应为整体成果即为扫微APP，而不是开发扫微APP中经历的各个阶段。从查明事实来看，柚子公司于2019年10月18日已经完成了项目APP开发，按照双方补充协议约定延迟10个工作日，故柚子公司于2019年10月18日完成APP开发并不违约。柚子公司将上述APP提交给宋杰后，由于宋杰对人脸识别系统需要重新进行选择，故柚子公司对扫微APP重新进行了修改，并最终于2020年1月7日提交给宋杰，宋杰于当日予以验收。由此可见，柚子公司并不存在违约行为，故宋杰要求柚子公司支付违约金的诉讼请求，无事实依据，该院不予支持。因该院已经认定柚子公司于2020年1月7日交付成果并不属于违约行为，且项目最终验收时间为2020年1月7日，故宋杰于2020年1月8日支付42000元符合“合同2.2.6款验收阶段同时，宋杰支付开发费用”的约定，故宋杰并不存在违约行为，故对柚子公司要求宋杰支付违约金的反诉请求，该院不予支持。至于柚子公司提出人力损失费的反诉请求，无事实与法律依据，该院不予支持。综上，该院依据《最高人民法院关于适用时间效力的若干规定》第一条、《中华人民共和国合同法》第六十条，《中华人民共和国民事诉讼法》第六十四条之规定，判决：一、驳回宋杰的全部诉讼请求；二、驳回柚子公司的全部反诉请求。二审中，宋杰向本院提交如下证据：1.柚子公司工作人员李月豫2019年11月2日下午6点07分发送给宋杰的邮件，证明柚子公司认为百度AI系统本身没有识别活体真人功能，从而得出百度系统不适用宋杰委托开发程序的错误结论，导致工作出现延期交付；2.柚子公司开发的委托系统的界面截图，证明项目第六阶段的交付时间为2020年1月7日。柚子公司认为上述证据不属于二审新证据，对证据1、证据2的真实性认可，证明目的不认可。本院经审查认为，宋杰二审中提交的证据不能证明其欲证明之事项，本院对此不予采信。本院经审理查明的事实与一审法院查明的事实一致。本院认为，根据双方当事人一、二审的诉辩主张，本案的争议焦点为柚子公司是否按约交付了工作成果。本案中，宋杰与柚子公司签订的《技术开发合同》和《合作补充协议一》系双方真实意思表示，且未违反法律、行政法规的强制性规定，应属合法有效，双方应按照约定履行各自义务。根据已查明事实，柚子公司于2019年10月18日完成案涉APP开发并向宋杰提交后，宋杰需要对人脸识别系统重新进行选择，故柚子公司对扫微APP重新进行了修改，柚子公司最终于2020年1月7日将修改后的扫微APP提交给宋杰。同时，宋杰在对项目进行验收后，于2020年1月8日向柚子公司支付了42000元款项，该付款行为与案涉合同中“合同2.2.6款验收阶段同时，宋杰支付开发费用”的约定相符，故该履行行为可以认定，此时宋杰已经对扫微APP项目进行了整体验收。宋杰主张因柚子公司在项目开发过程中的工作失误导致误认为百度AI人脸识别无法达到要求，以及该失误造成开发时间延长，柚子公司于2020年1月7日才最终完成项目开发并交付扫微APP明显构成违约，但现有证据无法证明其主张，本院不予支持。一审法院关于案涉项目的工作成果为整体成果，柚子公司不存在违约行为的认定并无不当，本院不持异议。综上，宋杰的上诉请求不能成立，应予驳回；一审判决认定事实清楚，适用法律正确，应予以维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项之规定，判决如下：驳回上诉，维持原判。二审案件受理费1411元，由宋杰负担（已交纳）。本判决为终审判决。审 判 长 杜卫红审 判 员 刘 慧审 判 员 邵 普二〇二一年八月二十四日法官助理 德 智书 记 员 王 磊