广东省广州市中级人民法院
民 事 判 决 书
（2018）粤01民终2537号
上诉人(原审原告、原审反诉被告）：广州市乐拓电子科技有限公司，住所地广州市海珠区。
法定代表人：王斌法，该公司经理。
委托诉讼代理人：蒙晓丽，广东红棉律师事务所律师。
委托诉讼代理人：杨春莹，广东红棉律师事务所律师。
被上诉人（原审被告、原审反诉原告）：广州蘑菇文化传播有限公司，住所地广州市海珠区。
法定代表人：钟里，该公司总经理。
委托诉讼代理人：尤涛，广东强邦律师事务所律师。
上诉人广州市乐拓电子科技有限公司（以下简称乐拓公司）因与被上诉人广州蘑菇文化传播有限公司（以下简称蘑菇公司）合同纠纷一案，不服广州市海珠区人民法院（2017）粤0105民初2345号民事判决，向本院提起上诉。本院于2018年2月5日立案，依法组成合议庭审理了本案，现已审理终结。
乐拓公司上诉请求：1.撤销一审判决第二项，改判乐拓公司无需退还蘑菇公司首付款15万元；2.撤销一审判决的第四项，改判支持乐拓公司的以下请求，具体为：（1)判令蘑菇公司支付乐拓公司进度款150000元及逾期支付的利息；（2）判令蘑菇公司支付乐拓公司违约金166389元（以50万为基数，按人民银行同期利率的四倍计算，从2016年1月31日开始计算至2017年9月21日)；3.本案一、二审诉讼费用由蘑菇公司承担。事实与理由：一、乐拓公司已严格按合同约定，完成涉案APP的开发工作，包括UI设计、APP框架搭建等，并向蘑菇公司进行过演示，将源码发送给了蘑菇公司。软件开发进度延后的原因在于蘑菇公司未及时提供开发需求文档，且一再更改需求，导致项目延迟。所以，即使乐拓公司没有提交证据证明双方后期协商确定的具体时间，但从双方持续沟通的实际行为来看，可以认定双方已以实际行为改变了合同的约定。乐拓公司与蘑菇公司签订的《音乐互动教学APP委托开发协议》中并没有乐拓公司需退还蘑菇公司款项的条款，根据合同法的规定，只有在乐拓公司的行为构成根本违约，导致合同目的无法实现时，蘑菇公司才有权解除合同并要求乐拓公司退还款项。但乐拓公司已严格履行了合同义务，完成了合同项目的开发工作，并将工作成果交付给了蘑菇公司，乐拓公司不存在根本违约行为，本案并不适用该规定。故一审法院认为乐拓公司未在合同约定时间完成开发工作，且未将完成部分的源代码交付给蘑菇公司，故需要退还15万首期款属于事实认定和法律适用错误。二、乐拓公司已按照协议约定完成了UI搭建及APP的整体框架搭建，蘑菇公司未按时付款，已构成违约。庭审时，陈某的作证可推测陈某已将UI设计稿发送给蘑菇公司。另外，陈某承认，APP整体框架在2016年3月底或4月左右已完成，并向蘑菇公司进行过演示，APP的主体功能已开发完成，可以使用。本案中，从陈某的证言看，设计工作至少已完成了“前端页面编码”阶段，远在UI设计之后。从而可以证明，在陈某向蘑菇公司进行演示的时候，UI设计早已完成并经蘑菇公司确定，项目才得以继续进行完成主体设计并进行演示。2017年2月7日，蘑菇公司向乐拓公司发送《律师函》，《律师函》中承认乐拓公司向其提供过程序，但称无法测试及上线使用。也就是说乐拓公司已经完成了合同要求的APP研发设计，并将源代码交付给了蘑菇公司。乐拓公司已完成了项目的研发工作并将成果交付给了蘑菇公司，蘑菇公司应按照合同的第二项第2条的第2小点的约定，向乐拓公司按时支付进度款15万元，但蘑菇公司至今未付。三、蘑菇公司没有正当理由，拒绝支付进度款，且未经催告程序，单方面终止与乐拓公司间的合同，根据法律和双方协议的约定，蘑菇公司的行为构成违约，应承担违约责任，已造成乐拓公司的经济损失，应予以赔偿。综上，蘑菇公司在本案中的违约行为明显，请二审法院依法改判，支持上诉人的全部上诉请求。
蘑菇公司辩称，不同意上诉人乐拓公司的上诉请求，同意一审判决。其认为乐拓公司未完成案涉APP开发的任何工作。双方签订案涉开发合同后，乐拓公司就第一时间将工作转委托给了证人陈某所在银*公司，并与该公司签订了1.0版本的委托开发合同。该情况是蘑菇公司起诉前陈某才告知，之前以为陈某是乐拓公司的员工。即便是陈某所在的公司，任何开发工作也均未完成。由于对方没有在限期内完成开发工作，蘑菇公司不得已发出《律师函》，要求解除合同，赔偿损失，采取弥补措施，与另外的公司签订开发合同。现在案外人公司开发的软件已经上线，版本到了3.3。蘑菇公司没有使用过乐拓公司开发的软件。案涉开发的软件是蘑菇公司的系统中比较核心的东西，对蘑菇公司而言比较重大。蘑菇公司是不同意上诉人对案涉合同进行转委托的。乐拓公司无权要求蘑菇公司支付任何费用。
蘑菇公司向一审法院起诉请求：1.乐拓公司向蘑菇公司退还已支付的合同首期款15万元；2.乐拓公司向蘑菇公司支付违约金38000元（以50万元为基准，从起诉之日即2017年3月31日起至支付完毕之日止按照每日千分之二计算）；3.解除蘑菇公司与乐拓公司于2015年12月8日签订的《音乐互动教学APP委托开发协议》；4.本案诉讼费用由乐拓公司承担。
乐拓公司向一审法院提起反诉请求：1.蘑菇公司向乐拓公司支付进度款15万元及逾期付款利息（从2016年1月31日起至实际支付完成之日止按银行同期贷款利率计算）；2.蘑菇公司向乐拓公司支付违约金（从2016年1月31日起至支付完成之日止以50万元为基准按照每日千分之二计算）；3.蘑菇公司向乐拓公司赔偿经济损失15万元；4.本案反诉费用由蘑菇公司承担。
一审认定事实：2015年12月8日，蘑菇公司（甲方）与乐拓公司（乙方）签订了《音乐互动教学APP委托开发协议》，约定，甲方委托乙方开发“音乐互动教学APP”，其中包括APP的1.0版本UI设计、APP1.0版本架构开发、APP1.0版本模块功能开发；项目开发的时间为合同首付款到账之日起90个工作日；甲方支付合同约定该项目软件开发总费用，合计金额50万元；支付方式：（1）预付款，本合同经双方签字盖章生效后，甲方需在3个工作日内以银行转账方式支付本合同金额中的30%即150000元。（2）进度款：APP整体UI初稿定稿，整体功能框架搭建完毕，以测试版上线运行前，支付合同总价的30%即150000元……（6）乙方收到验收款后2个工作日内以移动硬盘方式，将项目源代码整体移交给甲方；甲方应在2015年12月15日前及时提供有关该项目产品的相关资料，并提供开发需求文档，因素材提供不及时，或反馈不及时，导致的项目延期，甲方承担全部责任，甲方指定高翔作为本项目的负责人，乙方指定王斌法作为本项目的负责人，监督工程质量和施工进度，协调甲乙双方在项目进展中的相关工作，与本合同项目相关的文件、单据等一经甲方指定负责人书面签字确认即视为甲方的确认；甲方负责提供功能描述，需求文档、安装配合为乙方现场安装调试提供必要的协助；甲方应按合同要求，及时支付款项、及时安排验收，因甲方款项支付不及时，影响软硬件调试时间，造成工期延误，甲方承担全部责任；乙方提供的方案一经双方确认后，甲方原则上不可随便变更，确须变更的，应至少提前3日通知乙方，由此造成乙方工期延误的，乙方不承担违约责任；双方合作期间，乙方对甲方提供的文字及图片等有关资料未经甲方许可不得以任何方式泄露给第三方；在制作过程中，乙方必须严格按照甲方的需求进行，对甲方提出的合理修改要求，乙方应协助实现，并交甲方验收通过，对甲方提出之有可能影响双方约定的完成时间的修改要求，乙方有权提出延期请求，由双方协商确定具体时间；因乙方工艺、品质原因导致验收不合格，甲方有权利要求乙方进行整改或重做，以保证项目质量，因乙方原因导致需整改或重做而延长时间的，给甲方造成的损失的，乙方须对损失继续赔偿；甲方不按照合同约定支付相应款项，每逾期一日加收相当于合同约定总金额1%的违约金；乙方不按照合同约定按时完工，每逾期一日加收相当于合同约定总金额1%的违约金；合同期有效期间，甲方若单方面解除合约，对乙方造成的经济损失由甲方负责赔偿，赔偿金额为合同总金额的30%；等。2015年12月11日，蘑菇公司向乐拓公司支付了首期款15万元。2016年2月25日，陈某的邮箱“296×××＠ｑｑ.ｃｏｍ”向高翔的邮箱“308×××＠ｑｑ.ｃｏｍ”发出邮件，邮件主题为“【乐拓】蘑菇音乐软件需求规格说明书”；2016年3月15日，高翔的邮箱向陈某的邮箱发出邮件，邮件主题为“蘑菇在线h5介绍文档”；2016年5月18日，陈某的邮箱向高翔的邮箱发出邮件，邮件主题为“蘑菇音乐设计原型”和“设计说明书”。2017年2月9日，蘑菇公司向乐拓公司注册地址发出律师函，要求乐拓公司退还首期款并赔偿损失，该邮件于2017年2月10日签收。蘑菇公司以乐拓公司未完成合同义务为由，于2017年3月31日向一审法院提起诉讼。
诉讼中，蘑菇公司申请证人陈某出庭作证，其陈述称：其是广州银*软件科技有限公司的员工，乐拓公司委托其公司开发涉案项目，乐拓公司的负责人王斌法负责沟通，项目的开发大多数由其负责；蘑菇公司、乐拓公司签订的合同工期是3个月，但是经其评估，工期至少要5个月以上才能完成，且资金需要80万元，现项目基本上已经完成，但时间耽搁太久，蘑菇公司就提出解除合同，原本约定3个月完成，但实际已经耗时差不多8个月；2016年2月25日的邮件是由其发出的，针对这个邮件，双方有沟通过，下一步其进行了编写代码和UI设计，大概3、4月份APP的整体功能搭建完毕，并向蘑菇公司演示过；等。
乐拓公司为抗辩以及反诉，提供了以下证据予以证实：
1.UI定稿邮件截图及附件内容，邮件收件人为“896×××＠ｑｑ.ｃｏｍ”；
2.蘑菇APP程序邮件截图及附件内容光盘，邮件收件人为“896×××＠ｑｑ.ｃｏｍ”；
以上证据1、2用于证明乐拓公司已经按协议约定完成了UI设计及程序设计，但蘑菇公司拒不支付进度款。
3.蘑菇公司向乐拓公司发出的律师函，其中函件中载明，“上述协议签订后，蘑菇公司按约定支付了合同首付款15万元，但自合同签订之日起至今贵司没有能够完成协议约定的委托事项，贵司提供的程序根本无法测试及上线使用，导致蘑菇公司向第三方签订的服务合同亦无法履行，给蘑菇公司造成巨大损失”，该证据用于证明蘑菇公司承认乐拓公司已按合同约定向其提交了UI定稿，蘑菇公司应给付第二期款。
4.乐拓公司设计人员与法定代表人的微信聊天记录，聊天记录的最后显示日期为2016年5月31日，该证据用于证明蘑菇公司在项目开发过程中多次变更需求，致使开发时间延长。
蘑菇公司质证认为，对于证据1、2，该收件人的邮箱与乐拓公司没有任何关系，也不是公司任何工作人员的邮箱，另外UI设计以及程序设计的内容，没有经过蘑菇公司认可，是否属于开发协议中约定的整体功能框架搭建完毕存有争议，且乐拓公司并非独立完成，而是委托第三方公司进行设计；对于证据3，三性无异议，但对其证明目的有异议，工作成果不是由乐拓公司完成，且UI定稿也没有证据表明已经完成并交付给蘑菇公司，所以蘑菇公司有权拒绝交付相应的款项；对证据4，三性不予认可。
对于开发方案是否确认，蘑菇公司表示2016年2月25日的邮件即是证人为蘑菇公司起草的开发需求文档，蘑菇公司已予以确认，且该邮件就是确认的开发方案；乐拓公司认为该项目有作初步的约定，但自始至终未完成完整的开发文档，没有完整的开发方案。
蘑菇公司表示，证人完成的工作成果有草拟产品策划书、部分完成了相关的APP、UI设计、部分完成了APP框架搭建，陈某完成上述成果后根据乐拓公司提交的证据显示已经提交给乐拓公司。
一审法院认为：蘑菇公司乐拓公司签订的《音乐互动教学app委托开发协议》是双方当事人的真实意思表示，没有违反法律、行政法规的强制性规定，依法成立并生效。
本案争议的焦点是乐拓公司是否按时完成合同所约定的开发义务。首先，《音乐互动教学APP委托开发协议》约定，蘑菇公司应在2015年12月15日前及时提供有关该项目产品的相关资料，并提供开发需求文档，因素材提供不及时，或反馈不及时，导致的项目延期，蘑菇公司承担全部责任，乐拓公司提供的方案一经双方确认后，蘑菇公司原则上不可随便变更，从该约定可以看出，蘑菇公司有向乐拓公司及时提供开发需求文档的义务，乐拓公司有最终提供开发方案并交由双方一致确认的勤勉义务，诉讼过程中，蘑菇公司表示2016年2月25日的邮件即是证人为蘑菇公司起草的开发需求文档，蘑菇公司已予以确认，且该邮件就是确认的开发方案，故因蘑菇公司未及时提供开发需求文档而造成项目工期延期的责任由蘑菇公司自行承担；其次，该协议还约定，蘑菇公司认为乐拓公司提供的方案确须变更的，应至少提前3日通知乐拓公司，由此造成乐拓公司工期延误的，乐拓公司不承担违约责任，在制作过程中，乐拓公司必须严格按照蘑菇公司的需求进行，对蘑菇公司提出的合理修改要求，乐拓公司应协助实现，并交蘑菇公司验收通过，对蘑菇公司提出之有可能影响双方约定的完成时间的修改要求，乐拓公司有权提出延期请求，由双方协商确定具体时间，在合同履行过程中，乐拓公司认为蘑菇公司多次变更需求，但并未提交证据证实双方协商确定的具体时间；最后，开发协议约定，开发时间为合同首付款到账之日起90个工作日，即使从2016年2月25日开始起算开发时间，截至起诉之日，已远远超过合同约定的开发时间即90个工作日，乐拓公司并未举证证实已由双方确认的详细开发方案，APP整体UI初稿定稿、整体功能框架搭建完毕的对应项目内容，以及该部分开发义务已经完成，故一审法院认定乐拓公司并未在合同约定的时间内完成开发义务。
现蘑菇公司要求解除上述开发协议，符合法律规定，一审法院予以支持。蘑菇公司于2017年2月9日向乐拓公司注册地址发出律师函，该邮件于2017年2月10日签收，在律师函中，蘑菇公司要求乐拓公司退还首付款，视为蘑菇公司要求终止合同的履行，故合同解除的时间应以蘑菇公司发出律师函后签收的时间即2017年2月10日为准。合同解除后，因乐拓公司并未举证证实其已经将已完成部分的源代码交付给蘑菇公司，故蘑菇公司要求乐拓公司退还首付款15万元，符合法律规定，一审法院予以支持。对于蘑菇公司要求乐拓公司支付违约金的请求，合同解除后，乐拓公司不需要继续履行合同，已不存在逾期完工的事宜，故蘑菇公司要求乐拓公司从起诉之日起开始计付违约金，一审法院不予支持。乐拓公司反诉要求蘑菇公司支付进度款以及逾期付款违约金，并赔偿乐拓公司经济损失，没有事实依据，一审法院不予支持。
一审法院判决：一、确认蘑菇公司与乐拓公司签订的《音乐互动教学APP委托开发协议》于2017年2月10日解除；二、乐拓公司在判决生效之日起10日内向蘑菇公司退还首付款15万元；
三、驳回蘑菇公司的其他诉讼请求；四、驳回乐拓公司的全部反诉请求。如果未按判决指定的期间履行给付金钱义务，应当依照《中华人民共和国民事诉讼法》第二百五十三条之规定，加倍支付迟延履行期间的债务利息。一审本诉受理费4060元、反诉受理费3256元，由蘑菇公司负担本诉受理费821元，乐拓公司负担本诉受理费3239元、反诉受理费3256元。
二审中，双方当事人没有提交新证据，本院对一审认定的事实予以确认。
另查，陈某于2017年5月22日出具《证人证言》：其是广州银*软件科技有限公司的法定代表人和股东。2016年4月7日，乐拓公司与银*公司签订《在线视频互动教学系统1.0版本委托开发合同》。委托银*公司开发一个完整的音乐平台，包括移动APP、PC桌面客户端、WEB网站、WEB后台管理系统。而后得知，乐拓公司与蘑菇公司签订了涉案协议，并将涉案协议的开发项目和内容转包至银*公司。乐拓公司仅支付了银*公司3万元，剩余服务费用并未支付，因此至今银*公司并未将任何上述合同内约定的音乐平台，包括移动APP、PC桌面客户端、WEB网站、WEB后台管理系统交付给乐拓公司。
陈某一审时出庭作证称：2015年10月乐拓公司与蘑菇公司签订合同，12月才找到银*公司。签订的合同（期限）为3个月，且约定非常粗略，乐拓公司经过2个月才找到银*公司，在合同约定的工期内根本无法完成，最终也没有完成项目…APP源代码以及相应的操作的文档均在其手上，乐拓公司是没有的。设计出来的APP可以使用，只是没有完全开发完毕，还有细节没有完全测试完，主体部分是完成了的，因为时间不够，APP的整体功能大概3、4月搭建完毕的，搭建完毕后是与蘑菇公司核实过的。
二审期间，乐拓公司称：陈某是蘑菇公司一审申请的证人，作证称参与的工作都是以乐拓公司员工身份与蘑菇公司进行交流的。软件的框架搭建，陈某已经交付给了蘑菇公司的负责人高翔，但没有证据证明。对于进度款的约定，UI定稿、整体功能框架搭建完毕后，对方就应支付进度款。源代码交给对方的前提是对方支付了款项。对方支付进度款后，才交付源代码给对方上线运行，否则乐拓公司没有任何可以把控的东西。其并无证据证明测试上线已经完成并可以使用，测试环节也没有验收；认为陈某已经完成整个项目的开发，但源代码在陈某手上，就差最后一步源代码以硬盘的方式交付对方，但陈某以邮件的方式将源代码发送给了蘑菇公司。对具体完成涉案合同约定哪些功能模块并不清楚。
本院认为，关于乐拓公司有无依约履行并完成涉案软件开发的问题。乐拓公司上诉称其已完成了涉案软件的开发，并将源代码发送给了蘑菇公司。但在二审庭审中，乐拓公司又确认，源代码仍在陈某手上，就差最后一步源代码以硬盘的方式交付蘑菇公司，并无提供充分证据证明其开发的软件部分测试上线已经完成并可以使用，测试环节也没有验收。结合陈某的证言可以证实，涉案软件的开发并未最终完成，因乐拓公司未支付款项，源代码以及相应的操作均为其持有，并未交付给乐拓公司及蘑菇公司，可进一步印证涉案软件的开发并未按时完成及交付蘑菇公司的事实。可见，乐拓公司上诉主张与其二审庭审的意见相互矛盾，没有足够的证据予以证明，本院不予采信。一审认定乐拓公司并未在协议约定的时间内完成开发义务，证据充分。
基于乐拓公司未能依约履行并完成涉案软件开发的合同义务，导致合同目的无法实现，已构成根本违约。根据《中华人民共和国合同法》第九十四条第四款的规定“有下列情形的，当事人可以解除合同：（四）当事人一方延迟履行债务或者有其他违约行为致使不能实现合同目的”，故蘑菇公司有权解除涉案开发协议。一审法院支持蘑菇公司诉请解除协议，并以乐拓公司于2017年2月10日签收蘑菇公司要求解除合同的律师函，认定涉案开发协议于2017年2月10日解除，依据充分，处理正确。
根据《中华人民共和国合同法》第九十七条，合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其它补救措施，并有权要求赔偿损失。基于涉案开发协议，一审判决支持蘑菇公司诉请乐拓公司返还其已支付的首付款15万元，理据充分。乐拓公司不同意退还，理由不成立，不予采纳。至于进度款及违约金问题。乐拓公司未在协议约定的时间内完成开发义务，本身已构成违约；双方协议解除后尚未履行的，终止履行。乐拓公司仍上诉请求蘑菇公司继续支付进度款15万元及其逾期利息，并支付逾期付款违约金，依法无据，不予支持。
综上所述，上诉人乐拓公司的上诉请求，依法无据，应予驳回；一审判决认定事实清楚，适用法律正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项、第一百七十五条之规定，判决如下：
驳回上诉，维持原判。
二审案件受理费6495元，由上诉人广州市乐拓电子科技有限公司负担。
本判决为终审判决。
审判长 黄海珠
审判员 张朝晖
审判员 练长仁
二〇一八年五月十五日
书记员 罗永娟
陶智斌