北京市第二中级人民法院民 事 判 决 书（2021）京02民终2908号上诉人（原审被告、反诉原告）：广州市融信达供应链管理有限公司，住所地广东省广州市荔湾区周门北路40号301房（仅限办公）。法定代表人：罗金平，总经理。委托诉讼代理人：康维星，男，广州市融信达供应链管理有限公司监事。委托诉讼代理人：邓江**，北京市双全律师事务所律师。被上诉人（原审原告、反诉被告）：中铸云商网络科技（北京）有限公司。法定代表人：冯相远，总经理。委托诉讼代理人：巩伟，男，中铸云商网络科技（北京）有限公司副总经理。委托诉讼代理人：秦宜义，北京市两高律师事务所律师。上诉人广州市融信达供应链管理有限公司（以下简称融信达公司）因与被上诉人中铸云商网络科技（北京）有限公司（以下简称中铸公司）服务合同纠纷一案，不服北京市丰台区人民法院（2019）京0106民初37770号民事判决，向本院提起上诉。本院于2021年2月9日立案后，依法组成合议庭，于2021年3月3日公开开庭审理了本案。上诉人融信达公司之委托诉讼代理人邓江**、被上诉人中铸公司之委托诉讼代理人巩伟、秦宜义到庭参加诉讼。本案现已审理终结。融信达公司上诉请求：撤销一审判决第一项、第三项，改判中铸公司向融信达公司支付服务费756000元、违约金75600元、律师费60000元，驳回中铸公司的全部诉讼请求。事实与理由：一审法院认定事实不清，一审判决认为融信达公司未完成第一阶段开发工作与事实不符，事实上融信达公司已超额完成了第一阶段工作，通过公证书、微信聊天记录、公开展会演示等均可以证实；一审判决认定中铸公司付款条件尚未成就是错误的，双方以实际履行行为变更了原合同规定的交易方式，融信达公司将软件数据上传至云端，中铸公司自行下载安装到其终端并测试；一审判决没有确认IOS端和安卓端软件的完成度，事实上，融信达公司开发的IOS端和安卓端软件已根据中铸公司的要求上架了苹果市场和安卓端各平台，正常的商业惯例和行业标准中，只有完成了功能性测试和安全性测试，才能进行上架。一审法院适用法律错误，认定中铸公司解除合同属于行使法定解除权是错误的，融信达公司的交付方式不影响中铸公司的签约目的，即取得符合技术标准的软件，中铸公司已经取得了软件并成功上架，因此不能认定融信达公司有违约行为，应依法确认中铸公司无权行使法定解除权。中铸公司拒不支付相关费用、且起诉要求解除合同的行为属于单方面中止合同，应当向融信达公司支付相关费用及违约金。一审法院适用举证责任错误，融信达公司提交的上传软件数据的证据，已经尽到了证明责任，如中铸公司认为交付的软件不符合第一阶段的要求，应由其提交证据加以证明；应依法认定融信达公司已经完成了第一阶段的开发及第二阶段的大部分开发工作。中铸公司辩称：不同意融信达公司的上诉请求和理由，请求驳回上诉，维持原判。融信达公司主张完成了第一阶段的开发工作缺乏事实依据，截至7月12日，第一阶段的软件修改工作仍然在进行，软件不存在验收交付及开始外部测试的条件；融信达公司主张根据交易习惯将软件进行交付没有事实和法律依据，双方明确约定了交易方式，包括软件的验收方式，融信达公司声称适用交易习惯没有法律依据。中铸公司向一审法院起诉请求：1.确认中铸公司、融信达公司签订的《交易平台项目服务合同》于2018年10月12日解除；2.融信达公司返还中铸公司支付的预付款216000元；3.融信达公司承担诉讼费。融信达公司向一审法院提起反诉，要求：1.中铸公司向融信达公司支付服务费864000元（即拖欠的剩余三笔服务费：包括第二笔服务费432000元、第三笔服务费324000元、第四笔服务费108000元）；2.中铸公司向融信达公司支付违约金86400元（按拖欠服务费总额的10%计算）；3.中铸公司赔偿融信达公司为维护合法权益而支出的律师费60000元；4.中铸公司承担本案全部诉讼费。一审法院认定事实：2018年4月13日，委托方中铸公司（甲方）和受托方融信达公司（乙方）签订《交易平台项目服务合同》，约定乙方根据甲方的特定具体需求，在甲方取得非专有许可的基础软件上，开发标的软件。该合同第二条第（二）款“标的软件的移交、安装和初验”中约定：1、标的软件移交和安装：（2）乙方将标的软件、相关技术文件移交给甲方时，甲方签署签收单，进行签收。（3）甲方应根据前述第（2）条款在签收单上加盖甲方公章或由本合同中指定的经办人本人签收，如果不是由本合同中指定的经办人签收，签收人应持有甲方加盖公章的《授权委托书》，否则乙方有权拒绝移交，由此造成的延误，乙方不承担责任；甲方的经办人为陶建勇。（4）安装调试：乙方提供安装调试、使用培训；交付地点：甲方现场或者甲方指定中国境内（港澳台除外）。（6）安装：乙方协助甲方对标的软件进行安装，安装调试工作应在双方约定的环境下进行，甲方应保证安装系统的基础环境、原始数据、硬件设备等不影响标的软件的正常安装，如因甲方不具备安装条件导致乙方无法顺利完成安装软件的，乙方不承担责任。2、标的软件的初验：双方根据本合同附件约定的标准对标的软件进行初验，标的软件符合初验验收标准的，甲方应在当天签发初验证书。如标的软件不符合初验验收标准的，甲方应向乙方书面确认标的软件不符合验收标准的部分。标的软件的确不符合验收标准的，乙方应进行修改并将符合验收标准的标的软件重新提交甲方验收，直到甲方签发初验证书。该合同第二条第（三）款“标的软件的试运行与终验”中约定：标的软件在初验后开始为期三个月的试运行，试运行期满再次确认标的软件符合本合同附件约定的验收标准即为终验，甲方应在当天签发终验证书。双方在合同第三条总价和付款方式中约定：总价1080000元；在合同签订完成之日起10个工作日内，甲方向乙方支付合同总价的20%作为预付款，计216000元；在第一阶段开发成果外部测试（见附件“项目建设工期要求”）完成之日起10个工作日内，甲方向乙方支付合同总价40%的款项，计432000元；在终验（见附件“项目建设工期要求”）完成之日起10个工作日内，甲方向乙方支付合同总价30%的款项，计324000元；在终验完成之日起三个自然月内，甲方向乙方支付合同总价10%的款项，计108000元。双方在合同第十条违约责任中约定：如果甲方未在本合同规定的期限内向乙方支付任一期款项，除不可归责于甲方的原因以外，每延迟一日，应向乙方支付相当于未付款部分总价千分之一的违约金，此项违约金数额不超过本合同本金的10%；任何一方违反本合同任一约定均构成违约，违约方应就此向另一方承担责任，赔偿另一方因此造成的相应损失和为维护后者的合法权利而发生的所有支出，但如本合同另就违约行为和责任另有具体规定的，应遵循该规定。上述合同附件一中的“一、产品与价格”载明供应链3.0基础平台，金额98.5万元；供应商评价功能开发费，金额3万元；供应商搜索查询功能开发费，金额2万元；实施费，金额4.5万元；以上合计108万元。“二、功能清单”包括采购管理、销售管理、应收应付、CRM管理、仓库事务、库存盘点、基础数据、系统管理。“四、项目建设工期要求”载明项目总建设工作包含：软件需求调研、培训、设计、开发、测试、验收、维护服务五个阶段。包含：软件需求调研，任务为现场调研，包括甲方业务需求调研和技术需求调研，并制作系统原型、出具解决方案；培训，任务为招聘和培训项目小组人员；设计，任务为基于甲方需求说明书的基础上，进行系统设计。系统设计包括概要设计、详细设计和数据库设计。设计第一版IU。修改甲方的第一版IU；第一阶段开发，任务为按照设计方案和实施计划进行软件开发；内部测试，任务为包括功能性测试和含安全性测试；第一阶段验收交付，任务为测试通过后，验收并出具验收申请报告，时间为2018年5月7日；外部测试，任务为包括功能性测试和含安全性测试，时间为2018年5月19日至2018年9月20日；第二阶段开发，任务为根据新的需求进行开发工作，时间自2018年10月8日开始；内部测试，任务为包括功能性测试和含安全性测试；项目初验，任务为测试通过后，进行初验并出具初验报告；项目终验，任务为初验三个月后，进行终验并出具终验报告；维护服务期，任务为系统的责任维护内容为适应性维护、更正性维护、日常技术维护和配套工具软件保修，保障系统正常运作。上述合同签订后，中铸公司向融信达公司支付预付款216000元。合同签订当日，融信达公司组建名称为“中铸+融信达技术开发群”，该群共11人，其中包括宋嘉良（中铸宋嘉良）在内共有三人为中铸公司的职员。在该微信聊天记录中，融信达公司与宋嘉良沟通了涉案软件的开发设计需求和修改方案等事宜。该微信聊天记录显示：2018年4月20日，宋嘉良问：“请问网页开发开始了吗？”融信达公司工作人员回复：“已经开始了，现在完成了登陆页”。2018年4月28日，融信达公司工作人员称：“如果只是做出静态的APP页面，大概需要一个多星期，但现在有些交互方式也是变动了，可能就要组合修改一下各种现在已有的接口和对接，加上去时间就差不多要一个月”，宋嘉良问：“静态的是说只能看不能操作？”融信达公司工作人员称：“对”。2018年5月23日，宋嘉良问：“交易平台网页实现网上开店功能还需要哪些开发和要求？”融信达公司工作人员回复：“还需要实现求购信息接入报价，供应信息接入询价，购物车功能，员工管理，收发货功能和评价功能”，宋嘉良又问：“另外现在的页面只是个暂时的吧，页面上还需要很多调整，比例和很多细节上都不对”。2018年5月31日，宋嘉良发送名称为“交易平台修改提案”文件。2018年6月1日，宋嘉良发送名称为“企业店铺功能需求修改”文件。2018年6月4日，宋嘉良问：“是否可以给一个时间表，网页修改和最后线上开店是需要多久呢？”2018年6月5日，融信达公司工作人员发送排期表截图，并称：“上面那部分是平台现有已经有的功能，我们这边整理对接就可以了，但下面那部分涉及到了功能的二次开发，你们那边的技术团队组建了吗？这部分可能要他们接手来开发”。排期表截图上载明上面功能模块工期还需26天。宋嘉良又问：“根据一期的要求，是否可以在增加（部分功能）？”融信达公司工作人员回复：“可以”，宋嘉良称：“好的，开发时间应该就是26+5=31天”。2018年6月20日，宋嘉良问：“请问交易平台什么时候可以交付呢？”融信达公司工作人员回复：“按照之前我们讨论的那个排期，大概是要7月20号完成我们上次说的那些功能”。之后，双方继续就网页修改进行沟通。2018年7月12日，双方停止沟通交流。庭审中，中铸公司提交宋嘉良离职证明、协商解除劳动合同协议书、劳动合同书，证明宋嘉良系其公司平面设计人员，非计算机专业人员。对此，融信达公司不予认可，认为宋嘉良系该项目负责人。经法院联系宋嘉良，其表示因工作原因不能到庭说明情况。2018年10月8日，中铸公司向融信达公司发出《律师函》，载明因融信达公司未按《服务合同》及附件一约定的建设工期移交、安装、初验标的软件，合同目的难以实现，通知融信达公司解除《服务合同》，并就解除后的相关事宜进行协商。融信达公司于2018年10月12日收到上述《律师函》，并于2018年10月23日通过电子邮件向中铸公司发出《催款函》，要求中铸公司按照合同约定支付432000元。庭审中，融信达公司称涉案软件已开发完成并交付，具体为：2018年5月9日完成安卓系统APP的交付，指的是上传至APP商店；2018年5月11日完成PC端交付，即放到阿里云上，将密码发给中铸公司；2018年5月17日完成苹果系统APP的交付，上传至苹果商店，将密码交给中铸公司；2018年5月17日完成第一阶段成果交付，中铸公司在5月16日至5月19日期间参加的展览会上也对外推出了其开发的平台；第二阶段成果，一是2018年5月31日中铸公司提出交易平台修改提案，二是2018年6月1日提出企业店铺功能需求修改，三是2018年7月10日在合同外提出的新的开发需求，2018年7月12日其修改好最后一个融资页面，至此完成了第二阶段需求，通过更新PC端、APP后台数据的形式实现交付，交付日期为2018年7月12日。对此，中铸公司不予认可，并表示融信达公司未按照合同约定将涉案软件安装在其公司电脑上并经其公司签收。融信达公司称中铸公司总经理同意和认可其交付方式，但未提交证据证明。对于法院询问是否可以按合同约定交付涉案软件时，融信达公司称：“软件由我方保存，但是后台数据已经上传至阿里云，因云端服务器没有支付租金，数据已经丢失。开发期间的阿里云租金是我方支付的，只有一年的临时使用期，和邓超、宋嘉良说过这个事，但是没有证据”。对于涉案软件的使用情况，融信达称：“我方可以看到中铸公司没有订单和交易额”。庭审中，融信达公司提交APP上架截图、开发界面打印件及员工劳动合同和工资支付证明，证明其工作成果。对其证明目的，中铸公司均不予认可。融信达公司亦提交委托代理协议、银行业务回单和发票，证明律师费支出。中铸公司对该证据的真实性不持异议，但认为融信达公司的主张没有依据。一审法院认为，依法成立的合同，对当事人均具有法律约束力，当事人应当按照约定履行自己的义务。本案中，中铸公司与融信达公司签订的《交易平台项目服务合同》，系双方当事人真实意思表示，且其内容未违反法律、行政法规的强制性规定，应属合法有效，双方当事人均应严格履行各自的合同义务。根据合同约定，融信达公司应在其基础软件上按照中铸公司的具体需求，开发标的软件并将软件按照合同约定交付中铸公司使用。庭审中，融信达公司认为其已经完成软件开发。对此，法院认为，根据双方微信群聊天记录中融信达公司工作人员向中铸公司发送的排期表截图，可以得知截止2018年6月5日融信达公司称实现第一阶段功能模块还需26天；2018年6月20日，融信达公司工作人员又称大概在7月20号完成双方讨论的功能；直至2018年7月12日，双方还就网站页面的设计和功能进行讨论。综上，法院认为融信达公司并未完成第一阶段开发工作，中铸公司的付款条件尚未成就，故法院对融信达公司要求中铸公司支付服务费864000元的反诉请求，不予支持。庭审中，融信达公司主张其以将涉案软件上传至APP商店和阿里云端的形式完成交付。法院认为，融信达公司主张的交付方式不符合合同约定，且融信达公司未提交证据证明中铸公司同意其变更交付形式，故法院对融信达公司的相关主张不予采信。当事人一方迟延履行债务或者有其他违约行为致使不能实现合同目的的，当事人可以解除合同。本案中，融信达公司未按合同约定的建设工期移交、安装、初验标的软件，致使中铸公司的合同目的难以实现，中铸公司有权解除合同。中铸公司以《律师函》的形式函告融信达公司，融信达公司于2018年10月12日收到上述函件，双方合同即告解除。中铸公司要求法院确认双方签订的《交易平台项目服务合同》于2018年10月12日解除的诉讼请求，于法有据，法院予以确认。合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施，并有权要求赔偿损失。本案中，融信达公司作为违约方，其要求中铸公司赔偿违约金并支付律师费的反诉请求，缺乏事实和法律依据，法院均不予支持。考虑到融信达公司确为中铸公司提供软件开发设计服务，投入了一定的人力物力财力，故法院对中铸公司要求融信达公司退还预付款216000元的诉讼请求，亦不予支持。综上，一审法院依照《中华人民共和国合同法》第六十条、第九十四条、第九十六条、第九十七条，《最高人民法院关于适用＜中华人民共和国民事诉讼法＞的解释》第九十条、第九十一条之规定，判决：一、确认中铸云商网络科技（北京）有限公司与广州市融信达供应链管理有限公司于2018年4月13日签订的《交易平台项目服务合同》于2018年10月12日解除；二、驳回中铸云商网络科技（北京）有限公司的其他诉讼请求；三、驳回广州市融信达供应链管理有限公司的全部反诉请求。本院二审期间，各方当事人对一审查明的事实均无异议，本院予以确认。本案二审期间，融信达公司补充提交证据1.（2020）京01民终1839号判决书，以证明双方当事人约定的中铸公司经办人陶建勇于2018年7月离职，中铸公司隐瞒联系人真实情况，不通知融信达公司，导致合同解除的责任在中铸公司；证据2.中铸公司总经理邓超的申请，以证明邓超对本案事实清楚，应由其说明情况。中铸公司质证称，对证据1真实性认可，证明目的、关联性不认可，陶建勇离职与合同无关；对证据2真实性、证明目的、关联性均不认可。本院认为：中铸公司与融信达公司签订的《交易平台项目服务合同》，系双方当事人真实意思表示，且其内容未违反法律、行政法规的强制性规定，合法有效，双方当事人应当按照约定履行自己的义务。依据本案查明的事实，合同约定的第一笔款项即合同总价20%的预付款已经支付，且软件研发工作已经开展，双方对此均无异议；双方争议的核心问题在于，合同约定的第二笔款项的支付条件是否已具备。按照合同约定，在第一阶段开发成果外部测试完成之日起10个工作日内，支付合同总价40%的款项，计432000元；合同附件一“四、项目建设工期要求”对第一阶段开发、内部测试、第一阶段验收交付、外部测试进行了具体描述。据此可以认定，中铸公司支付第二笔款项的前提条件是“第一阶段开发成果外部测试完成”。依据现有证据，不能证明双方按照合同约定开展了“第一阶段开发成果外部测试”工作。融信达公司上诉主张其已经完成软件交付，对此，本院认为，在软件开发服务合同中，“软件交付”与“开发成果外部测试”不是同一概念，开发出的软件是否具备实际使用功能需要进行测试；在合同明确约定“第一阶段开发成果外部测试完成”为第二笔款项支付条件的情况下，融信达公司应就其开发的软件已经完成了“外部测试”承担举证责任。鉴于融信达公司未能举证证明完成了合同约定义务，故不能认定融信达公司已经完成了第一阶段开发工作，因此中铸公司第二笔款项的付款条件尚未成就，本院对融信达公司要求中铸公司支付服务费的上诉主张不予支持。依据现有证据，融信达公司不能证明中铸公司存在违约行为，故融信达公司要求中铸公司赔偿违约金并支付律师费的上诉主张，没有依据，本院均不予支持。关于解除合同的问题，当事人一方迟延履行债务或者有其他违约行为致使不能实现合同目的的，当事人可以解除合同。本案中，融信达公司未按合同约定完成标的软件开发任务，中铸公司以《律师函》的形式告知融信达公司解除合同，一审法院据此确认双方所签订的《交易平台项目服务合同》于2018年10月12日解除，并无不妥，本院不持异议。综上所述，融信达公司的上诉请求不能成立，应予驳回；一审判决认定事实清楚，适用法律正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项规定，判决如下：驳回上诉，维持原判。二审案件受理费12716元，由广州市融信达供应链管理有限公司负担（已交纳）。本判决为终审判决。审 判 长 梁立君审 判 员 赵胤晨审 判 员 曹 雪二〇二一年三月十五日法官助理 何海云书 记 员 胡翔宇