广东省深圳市中级人民法院民 事 判 决 书（2020）粤03民终3968号上诉人（原审原告）：深圳康程国际会展旅游有限公司，住所地深圳市福田区福田街道福山社区彩田路**福建大厦**1405，统一社会信用证代码914403005586688788。法定代表人：陈国宾，总经理。被上诉人（原审被告）：深圳云旅通科技有限公司，住所，住所地深圳市南山区粤海街道科丰路特发信息港**西侧****社会信用证代码914403005554454256。法定代表人：包云贵，总经理。委托诉讼代理人：杨波，男，汉族，该公司员工。上诉人深圳康程国际会展旅游有限公司（以下简称康程公司）因与被上诉人深圳云旅通科技有限公司（以下简称云旅通公司）技术合同纠纷一案不服广东省深圳市南山区人民法院(2019)粤0305民初19951号民事判决，向本院提起上诉。本院受理后，依法组成合议庭审理了本案。本案现已审理终结。上诉人康程公司上诉请求：1.撤销深圳市南山区人民法院作出（2019）粤0305民初19951号民事判决第二项判决；2.改判云旅通公司向康程公司返还项目款45000元及违约金221元（以85000元为基数，自2019年6月15日起计算，暂计至2019年6月27日，按日万分之二计算至云旅通公司付清款项之日止）；3．判令云旅通公司承担本案一审、二审诉讼费等全部诉讼费用。事实和理由：一、双方没有任何变更《云旅通旅游企业信息化解决方案项目合同》约定的合意，云旅通公司从未交付符合合同约定的网站，康程公司从未认可或曾验收通过了云旅通公司开发的网站。首先，双方书面签订的合同是确定各自权利义务以及委托内容的凭证，根据本案证据可以确认（云旅通公司也自认），其开发的团站板块与合同约定板块有了非常巨大的不同。在此情况下，云旅通公司必须举证双方有过书面的有效的合意，同意合同进行如此重要的变更。云旅通公司称，经过现场调研，形成了《深圳康程国际会展旅游有限公司展会酒店预订B2C平台规格需求说明书》，“此规格说明书有在通过QQ或微信群发送给原告方项目负责人收到并确认”，但是云旅通公司却没有提供任何相应的QQ或微信记录，如何认定康程公司有收到并确认？如何证明双方合意进行如此重大的变更？其次，云旅通公司提供了非常多的邮件，且不论邮件没有进行任何固化，该等邮件中，也没有任何有关康程公司认可双方合同变更的内容，如何通过邮件直接认定云旅通公司已经完成了网站的开发？再次，双方合同第6条约定，验收依据附件《功能清单》，经双方共同签字，并形成书面的验收报告，视为验收完成。正因为云旅通公司开发的网站与合同约定完全不符，因此在双方任何沟通往来中，从未有验收通过或验收报告，在没有康程公司验收通过的情况下，如何能认定云旅通公司已经完成了网站的开发？需要特别说明的是，这里也强调了，云旅通公司应依据《功能清单》开发网站，而不是所谓的其自行编制的规格需求说明书。最后，按照云旅通公司所称的变更后内容，将网站中的订单管理、营销推广、积分管理、返点返佣管理、后台供应商管理等功能全部删除，这几个模块，都是一个酒店预订网站的核心部分，如果删除还能成为一个可用的“互联网＋营销管理”网站么？更有甚者，合同项目名称是“B2C网站建设与酒店预订B2C配套微商城”，可见微商城是该合同不可或缺的一部分，而云旅通公司的开发却直接将微商城这一功能删除，这能获得康程公司的同意？明显与常理不符。二、原审判决直接无视了2018年11月双方合意继续履行的事实，存在事实认定不清的问题。首先，云旅通公司认可了在2018年11月收取了康程公司5000元的款项后，双方重启开发工作。试想，如果在2016年7月就已经完成了开发，那么云旅通公司就直接催付剩余款项就好，为何不但没有任何催付，还在收取款项后继续开发工作？明显表明开发工作并没有完成，原审判决的观点与事实是相矛盾的。其次，开发工作重启后，云旅通公司方仍负有交付符合约定网站的义务，但是云旅通公司没有提供任何证据证明其在2018年11月以后进行了网站交付。再次，开发工作重启后，康程公司方明确要求按照原合同内容进行开发，云旅通公司没有对此提出异议，或提出双方已经书面变更了合同约定，也可以证明，康程公司从没有同意过变更合同。最后，在重启工作后，开发的网站仍然需要根据合同约定进行验收通过，云旅通公司才能完成合同义务，而在康程公司多次微信、律师函催促后，云旅通公司没有给出任何的正当理由或者提供符合约定的网站，明显存在违约行为。三、原审判决对云旅通公司提交的证明其履行合同的证据，存在证据认定不明的问题。云旅通公司庭后确认愿意解除《项目合同》，并提供该项目的全部源代码和开发文与相关后续开发技术支持给康程公司，但康程公司庭前庭后从未被告知此事，康程公司并不知情。综上所述，请求二审法院依据相关法律规定，依法改判。康程公司在二审庭审中补充上诉理由：一、对判决书第9页中记载“原告对被告提交的邮件不予认可”，康程公司有异议，康程公司自始至终承认邮件、QQ、微信等合理性和可依据性，康程公司认为云旅通公司从来没有向康程公司交付合同约定的网站，康程公司从未认可或承认通过云旅通公司开发网站，若有云旅通公司应该提交证据证明。二、对于判决书中记载“原告主张云旅通公司没有依约履行合同，完成网站交易义务的主张，但未举证证明”，康程公司对此有异议。首先，康程公司已经当庭提供一份云旅通公司方自己项目负责人制作的关于《康程展位旅游B2C网站开发说明》的文件，该文件一目了然对比了合同约定的网站内容和实际完工的内容。这份文件康程公司可以再次提交给二审法院，可以证明云旅通公司很多重要模块没有完成。其次，康程公司只需要阐述云旅通公司没有提供就行，没有必要去注明“无”，因为按照科学原理只能证明“有”，不能证明“无”。如果云旅通公司认为“有”，应该提交证据予以证明。三、云旅通公司自始至终没有按照合同约定将完整的网站给原告，无论是云旅通公司做了多少工作，提供给康程公司都是货不对板的产品，无法使用。云旅通公司所做的工作仅仅是物理上所称的“无用功”。四、原审判决无视2018年10月份双方对合约已经履行的事实，存在认定事实不清的问题。云旅通公司未到庭发表答辩意见。康程公司向一审法院起诉请求：1.解除康程公司与云旅通公司签订的《云旅通旅游企业信息化解决方案项目合同》；2.云旅通公司向康程公司返还项目款45000元；3.云旅通公司向康程公司支付违约金221元（以85000元为基数，自2019年6月15日起计算，暂计至2019年6月27日，按日万分之二计算至云旅通公司付清款项之日止）；4.该案所有诉讼费用由云旅通公司承担。一审法院审理查明，2016年1月13日，康程公司、云旅通公司签订《项目合同》，双方约定，项目名称为深圳康程国际会展旅游有限公司（电脑版）酒店预订B2C网站及酒店预定B2C配套微商城；云旅通公司按照康程公司提供的需求进行设计、实施、培训及今后技术服务和支持，项目总价格80000元；深圳康程国际会展旅游有限公司（电脑版）酒店预订B2C网站项目，上线日期为2016年5月1日，金额60000元，酒店预订B2C配套微商城，上线日期为2016年5月1日，金额20000元；康程公司在合同签订后的3个工作日，预付云旅通公司合同款项的50%，计40000元；康程公司在完成项目验收后5个工作日内，支付云旅通公司合同款的40%，计32000元；康程公司在完成项目验收后的1年内，支付云旅通公司合同款项的10%，计8000元；B2C网站的功能模块包括后台网站配置、后台基本设置、后台页面管理、后台酒店产品管理、后台资讯管理、订单管理、营销推广、积分管理、返点返佣管理、后台供应商管理、第三支付平台、银联平台、网站流量统计；微商城的功能模块为酒店产品积分商城；系统验收交付后，该项目约定内的功能模块出现问题，云旅通公司免费服务壹年；在壹年服务期内，针对合同范围外提出的新功能需求及因操作系统版本升级等外部系统环境发生改变所造成的系统问题修正不属于免费技术维护范畴；系统功能以附件（功能清单）为准；需求确认后，双方不能随意变更；如需变更需求，须经双方同意；双方还在合同中约定了其他内容。上述合同签订后，康程公司于2016年1月27日，向云旅通公司支付了第一期合同款40000元。2016年5月17日，云旅通公司为康程公司涉案网站及平台的运营代康程公司创建了阿里云服务器承租订单，并由康程公司支付了相应的租金。2016年5月18日，云旅通公司为康程公司搭建的微商城hkfairbooking.com网站办理了备案手续。2018年12月18日，康程公司又向云旅通公司支付了5000元。2019年5月，康程公司委托律师向云旅通公司发出律师函，称云旅通公司逾期未交付或交付的网站、微商城与约定不符，要求解除《项目合同》，并要求云旅通公司返还其所付的45000元。云旅通公司为证明其实际履行合同的情况，提交了以下证据：1.深圳康程国际会展旅游有限公司酒店预订B2C平台需求规格说明书。该说明书于2016年3月14日由云旅通公司编撰，共八页、四大部分，第一部分是引言，包括编写背景、编写目的等；第二部分是系统概述，包括系统总体结构、系统总体功能、运行环境；第三部分是业务需求分析，包括用户业务分析、展馆展会酒店展示业务分析、订单预订业务分析、在线业务分析、短信发送说明和系统页面展示说明。2.2016年7月25日至2019年4月2日期间，双方的部分往来邮件。这些邮件显示：2016年7月5日，康程国际平台已在云旅通公司内部通过测试，云旅通公司发给了康程公司试用，并随邮件发送了该系统的使用说明书；2016年7月22日，微商城在云旅通公司内部通过测试，云旅通公司将微商城地址发布给康程公司进入试运营阶段，微商城地址为：wx.hkfairbooking.com;2016年11月，云旅通公司内部对康程公司经过测试反馈的问题进行了处理，并于2016年12月1日告诉康程公司，针对之前反馈的内容进行了系统更新，内容详见《康程国际问题反馈修改情况表》；2016年12月26日、2017年1月9日、1月19日，云旅通公司陆续完成了康程公司提出的发票、随团套餐和单订酒店等问题的更新；同时，云旅通公司在2017年1月19日的邮件中表示，项目被要求修改变更很多次，每次康程公司的确认反馈都比较迟缓，由此导致云旅通公司在该项目上消耗太多工时，建议康程公司一定有专人保证对应系统运营，因系统开发测试已经全部完工，希望康程公司在暂不考虑后期变动修改的情况下，先将系统运用起来，并提出让康程公司先支出项目40%的余款，对于康程公司之前所提的改善点，将在收到项目余款后2个月内完成等；2017年5月31日和6月6日，云旅通公司两次发邮件提醒康程公司康程国际的阿里云服务器于6月7日到期需要续费；2017年9月17日，云旅通公司发邮件给康程公司称，康程系统在2016年7月已经完成开发交付给康程公司，且根据康程公司的要求在7月至2017年1月期间对系统进行了调整，康程公司提出的问题均已经完成开发，因康程公司服务器到期未及时续费，导致康程正式系统无法正常使用，现部署测试环境供康程公司查看系统，并向康程公司提供了测试环境的地址及提供了云服务器的报价，该邮件的附件为康程国际项目总体进度表和康程云服务器报价表；2018年11月27日，云旅通公司将涉案项目网站重新部署完成，提交康程公司进行系统验证，并要求康程公司在3个工作日内将反馈验证结果给云旅通公司以便云旅通公司将网站重新部署到康程公司的新云服务器；2019年4月2日，云旅通公司发邮件给康程公司，就双方合同后续的履行提供了三个方案给康程公司进行选择。康程公司以没有收到规格说明书为由，对该证据不予认可，并以邮件或QQ均未公证及对接相关工作的双方负责人均已经离职为由对邮件不予认可。云旅通公司在庭后确认，其愿意解除《项目合同》，并提供该项目的全部源代码和开发文档与相关后续开发技术支持，由康程公司自行完成后续需求功能。一审法院认为，康程公司、云旅通公司签订的《项目合同》系双方真实意思的表示，内容没有违反法律法规强制性规定，为有效合同，双方均应当全面严格履行。当事人对自己提出的诉讼请求所依据的事实或者反驳对方诉讼请求所依据的事实，应当提供证据加以证明，但法律另有规定的除外。在作出判决前，当事人未能提供证据或者证据不足以证明其事实主张的，由负有举证证明责任的当事人承担不利的后果。云旅通公司为证明其已经按合同约定履行了其开发义务，提交了一系列的电子邮件佐证。电子邮件是目前商事活动中最为常见的沟通方式之一，在没有相反证据证明的情况下，该院相信电子邮件亦是该案康程公司、云旅通公司双方常用的沟通方式之一。康程公司对云旅通公司提交的邮件不予认可，但康程公司并没有提交其保留的电子邮件以证明云旅通公司提交邮件的邮箱并非康程公司的工作邮箱，收件的收发人亦不是康程公司的员工或邮件的内容被删除或被修改。康程公司应当就其否认的抗辩主张承担举证不能的不利后果，该院对康程公司否认的质证意见不予采信，并据此对云旅通公司提交的邮件的真实性予以采信。云旅通公司所提交的邮件时间跨度长、邮件与邮件的内容可以相互印证，足以证明云旅通公司已经在2016年7月完成了合同中约定的开发工作，云旅通公司对其抗辩主张已经完成举证责任。康程公司主张云旅通公司没有依约履行合同完成网站交付义务的主张，但未举证证明，该院对康程公司该主张不予采信，康程公司据此要求云旅通公司返还其已付的合同款项45000元及利息，没有依据，该院不予支持。但鉴于康程公司要求解除涉案合同，而云旅通公司对此予以确认，该院对康程公司要求解除合同的诉讼请求予以支持。据此，依照《中华人民共和国合同法》第六十条、第一百零七条，《最高人民法院关于适用《中华人民共和国民事诉讼法》的解释》第九十条，《中华人民共和国民事诉讼法》第六十四条第一款之规定，判决如下：一、解除康程公司和云旅通公司签订的《项目合同》。二、驳回康程公司的其他诉讼请求。该案案件受理费465.26元，由康程公司负担。本院对一审法院认定事实予以确认。另查明，《项目合同》第六条约定：“验收依据附件《功能清单》，经双方共同签字，并形成书面的验收报告，视为验收完成，并具备商业约束效力”“验收标准：全部系统内容安装实施、培训完毕；系统试运行及正常经营”。本院认为，康程公司与云旅通公司签订的《项目合同》约定，云旅通公司以自己的技术力量为康程公司开发建设深圳康程国际会展旅游有限公司（电脑版）酒店预订B2C网站及酒店预定B2C配套微商城，按照康程公司提供的需求进行设计、实施、培训及今后技术服务和支持；康程公司支付相应的报酬。因此，本案应定性为技术合同纠纷，一审定性为合同纠纷，过于宽泛，定性不够准确，本院予以纠正。康程公司与云旅通公司对于《项目合同》的解除不存争议，本案二审的争议焦点在于云旅通公司应否返还康程公司项目款45000元并支付违约金。对此，本院认为，根据《项目合同》的约定，康程公司在合同签订后的3个工作日，应预付云旅通公司合同款项的50%，计40000元。《项目合同》签订后，康程公司依约向云旅通公司支付了第一期合同款40000元。根据查明的事实，云旅通公司在合同签订后依约为康程公司涉案网站及平台的运营代康程公司创建了阿里云服务器承租订单，为康程公司搭建的微商城hkfairbooking.com网站办理了备案手续，编制了深圳康程国际会展旅游有限公司酒店预订B2C平台需求规格说明书，康程国际平台在云旅通公司内部通过测试后，云旅通公司发给了康程公司试用，并随邮件发送了该系统的使用说明书；2016年7月22日，微商城在云旅通公司内部通过测试，云旅通公司将微商城地址发布给康程公司进入试运营阶段，且云旅通公司对康程公司经过测试反馈的问题进行了处理，针对之前反馈的内容进行了系统更新，陆续完成了康程公司提出的发票、随团套餐和单订酒店等问题的更新，并通知系统开发测试已经全部完工，希望康程公司在暂不考虑后期变动修改的情况下，先将系统运用起来。从上述情况来看，云旅通公司已经按照合同的约定完成了约定的项目开发工作，虽然康程公司酒店预订B2C网站及酒店预定B2C配套微商城项目未经过最终的验收程序，根据云旅通公司提交的双方来往的电子邮件，一方面是因为项目被要求修改变更很多次，康程公司未有专人保证对应系统运营，每次康程公司的确认反馈都比较迟缓，由此导致云旅通公司在该项目上消耗太多工时；同时，因康程国际的阿里云服务器到期需要续费，云旅通公司提醒康程公司及时续费，但康程公司一直未续费，导致康程正式系统无法正常使用，在此情况下，云旅通公司向康程公司提供了测试环境的地址及云服务器的报价，2018年11月27日，云旅通公司将涉案项目网站重新部署完成，提交康程公司进行系统验证，并要求康程公司在3个工作日内将反馈验证结果给云旅通公司以便云旅通公司将网站重新部署到康程公司的新云服务器。因此，康程公司酒店预订B2C网站及酒店预定B2C配套微商城项目未经过最终的验收程序，责任并不在云旅通公司。在云旅通公司发邮件给康程公司，就双方合同后续的履行提供了三个方案供康程公司进行选择，康程公司未表示同意并要求解除合同，云旅通公司亦表示同意并提供该项目的全部源代码和开发文档与相关后续开发技术支持，由康程公司自行完成后续需求功能，这说明双方均同意《项目合同》不再履行，双方就《项目合同》的解除达成一致意见。《项目合同》解除后，双方的权利义务关系终止。康程公司以云旅通公司开发的网站未经过验收为由，要求云旅通公司返还项目款并支付违约金，理由不能成立。综上，康程公司的上诉理由不能成立，应予驳回；一审判决认定事实清楚，处理结果正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第（一）项、第一百七十五条之规定，判决如下：驳回上诉，维持原判。二审案件受理费930.53元，由深圳康程国际会展旅游有限公司负担。本判决为终审判决。审判长 康  春  景审判员 李  兴  旺审判员 王  丹  妮二〇二〇年十一月九日书记员 陈霞睿（兼）