上海知识产权法院民 事 判 决 书（2019）沪73知民初53号原告：乘如(上海)国际贸易有限公司，住所地上海市黄浦区。法定代表人：王华惠，董事长。委托诉讼代理人：戎文宏，上海市锦天城律师事务所律师。委托诉讼代理人：黄宇周，上海市锦天城律师事务所律师。被告：上海八图网络科技有限公司，住所地上海市嘉定工业区。法定代表人：张晓博，执行董事。委托诉讼代理人：韩冰清，上海市海华永泰律师事务所律师。委托诉讼代理人：杨越琦，上海市海华永泰律师事务所律师。原告乘如(上海)国际贸易有限公司与被告上海八图网络科技有限公司计算机软件开发合同纠纷一案，本院于2019年2月15日立案。在本案审理中，因案件涉及相关技术问题，本院指派技术调查官王传极参与案件的审理。2019年7月12日，本院依法适用普通程序，公开开庭进行了审理。原告委托诉讼代理人戎文宏、黄宇周，被告委托诉讼代理人韩冰清、杨越琦到庭参加诉讼。本案现已审理终结。原告乘如(上海)国际贸易有限公司向本院提出如下诉讼请求：1.确认原、被告签订的《乘如微信CRM移动项目技术开发合同》已于2018年10月20日解除。2.被告返还原告已支付的项目费用人民币170,000元(以下币种均为人民币)。3.被告返还原告已支付的系统年服务费37,000元。4.被告赔偿原告损失170,000元。事实和理由：2016年9月，原告与被告就微信CRM平台项目(以下简称CRM项目)签订了《乘如微信CRM移动项目技术开发合同》(以下简称CRM合同)，约定了CRM项目的具体功能、完成时间、交付内容和违约责任。在CRM合同履行期间，原告发现被告存在如下违约行为：1.被告完成的CRM项目功能不齐全且存在BUG致使无法使用。2.被告未根据CRM合同的约定向原告交付CRM项目的源代码。3.在CRM合同履行期间，被告擅自暂停服务器致使原告无法使用。原告认为，根据CRM合同第五条第三款第四项的约定，原告就被告的上述违约行为，享有CRM合同解除权，故原告于2018年10月20日向被告送达了《关于解除乘如微信CRM移动项目技术开发合同的通知函》(以下简称解约函)，解除CRM合同并要求被告返还已支付费用、系统年维护费用并赔偿原告损失，但被告对上述解约函置之不理，原告故诉至法院，请求判如所请。被告上海八图网络科技有限公司辩称：1.被告已经履行了除源代码、开发说明文档交付外的全部开发义务，故涉案CRM项目已经全部制作完成，并不存在原告所述的存在BUG而无法使用的情形。2.因原告与被告之间还存在ERP系统的开发，而涉案CRM项目源代码和ERP系统源代码深度融合，需切割后才可向原告交付，但原告拒绝切割交付，致使被告尚未交付涉案CRM项目源代码。3.被告除收到涉案CRM项目17万开发费用外，仅就涉案CRM项目收取了2017年12月18日至2018年12月18日的系统年服务费2.4万元。此外，原告还支付了ERP系统的年服务费1.3万元。综上，被告认为原告在本案中的诉讼主张不能成立，请求本院驳回原告的所有诉讼请求。原告围绕其诉讼请求依法向本院提交了如下证据：1.CRM合同。2.支付凭证。3.《律师函》及寄送证明。4.原告向被告发送的邮件记录。5.无法正常登录状态对比。6.解约函。7.《开发合同》。8.原告与杨静丽的《劳动合同》及其银行流水。9.原告与管香琏的《劳动合同》及其银行流水。10.转账凭证。11.(2019)沪宝证经字第187号公证书(以下简称187公证书)。12.2018年9月9日的电子邮件。13.微信群(noras店铺CRM群)聊天记录。被告根据其辩称意见，向本院递交了如下证据：1.CRM合同。2.系统截图。3.与杨静丽(eastyji)的聊天记录(2017年3月9日)。4.VW网页端系统截图。5.系统使用记录。6.《乘如财务ERP系统开发协议》(以下简称ERP合同)。7.2018年9月5日的电子邮件。8.2018年7月18日微信聊天记录。9.微信访问日志。10.CRM项目源代码。11.与杨静丽(eastyji)的微信聊天记录(2017年3月1日)。12.与杨静丽(eastyji)的微信聊天记录(2016年12月22日下午16：17)。13.BUG系统截图。14.2018年7月11日电子邮件。15.与杨静丽(eastyji)的微信聊天记录(2016年12月22日下午17：21)。本院组织双方当事人对在案证据进行了质证。被告对原告证据1-3、6、11-13的真实性无异议，对证据4中2018年9月10日18：17电子邮件中截图的内容真实性不予认可，对证据5的真实性不予认可，对证据7-10原件和复印件一致无异议，但内容真实性不予认可。原告对被告证据1-9、11-15的真实性无异议，对证据10的真实性未表示异议。本院认为，本案中，1.原告未就其证据5递交原件予以证实，故本院对原告证据5的真实性不予采纳。2.除原告证据5之外，双方当事人对其所递交的证据均提供了原件，且原件与复印件一致，故本院对除原告证据5之外的在案证据的真实性予以确认。3.对于本院确认真实性的证据，本院根据证据所反映的与本案之间的关联性，及其证明力、证明目的，酌情予以采纳。本院经审理查明：原告(甲方)与被告(乙方)签订有CRM合同。该CRM合同中约定的与本案有关的主要内容包括：甲方委托乙方进行微信CRM平台项目的开发工作……一、项目名称：微信CRM移动项目。二、内容及要求：1.开发内容。根据甲方的要求，乙方在规定时间内完成微信CRM移动系统的开发，该系统的设计要求如下：(1)项目版本以及运行环境……(2)支持分辨率……(3)主要功能：根据需求设计进行项目的开发以及测试的工作。具体功能及要求参见项目附件(VeraWang功能明细-XXXXXXXX.xlsx)。该系统分为两套分别部署、每套对接一个微信服务号。一套支持多门店VeraWang品牌，一套支持多门店多品牌。两套互通功能：1.一个系统的员工可以把客户信息推送到另外一套系统的员工。2.老板角色可同时切换两套系统所有门店。(4)甲方提供的资源及项目约定：需求说明书和产品功能详情(附件，微信CRM功能清单，已提供)；两个已认证的微信服务号(未提供)；访问域名(未提供)。(5)乙方需要交付的项目成果及要求：项目界面UI图片(PNG格式，要求支持各手机分辨率，详见来往邮件)；项目源代码以及编译版本；项目开发说明文档；以上文档详见双方来往邮件，邮件具有法律效力。2.开发时间。(1)项目开发周期：2016年10月5日至2016年12月5日。(2)交付方法：自项目正式启动，至项目结束日止，项目分为4个阶段。第一阶段：2016年10月10日，细化具体功能清单。第二阶段：2016年10月24日，提交设计UI。第三阶段：2016年11月14日，项目开始全面上线测试。第四阶段：2016年12月5日前，乙方交付合同中所提及的所有项目成果。三、双方权利义务。1.甲方：(1)甲方有权利督促乙方按规定时间完成项目开发，有增加或修改内容双方需另行协商解决；在不影响进程的情况下，对于甲方的不超过总体工作量5%小规模变动的需求，乙方需要配合甲方需求进行修改……2.乙方……(5)乙方有责任在甲方项目验收合格完成之日起，向甲方提供12个月的免费维护服务，此维护仅指软件bug的修改……四、验收的标准和方式。验收按合同中第二项《功能验收清单》为标准，乙方向甲方提出验收申请，甲方组织有关人员验收。本合同服务项目的保证期为甲方项目验收合格之日起12个月。在保证期内发现产品质量缺陷的，乙方应当负责返工或者采取补救措施。但因甲方使用、保管不当引起问题除外。五、费用和支付方式(如果第二套系统UI不同，需额外加壹万费用)。1.费用。此项目费用合计为17万。2.支付方式：(1)甲方于项目合同签订后5天内向乙方支付第一部分30%项目款项，即51,000元。(2)乙方于2017年12月7日前提交完整产品版本，甲方测试合格后一周内应向乙方支付第二部分50%项目款项85,000元。(3)甲方验收合格后，需经过3个月试运行测试，如无发现任何Bug或者Bug都得到乙方良好解决的情况下，甲方在试运行结束后三个工作日内向乙方支付第三部分20%项目款项34,000元。乙方在收到甲方的付款后交付所有源代码。(4)乙方应在收到甲方相应项目款项后五个工作日内向甲方提供国家规定的发票。3.违约责任……(3)乙方有责任按期并完整地向甲方交付源代码和设计文档，实现项目中的所有功能，如因乙方自身原因，未能按约交付，则每延期一天，甲方将扣除乙方总费用的0.1%作为补偿。对于乙方未能完成或延迟三十个工作日以上完成本合同约定开发内容的，乙方应当赔偿由此给甲方造成的直接经济损失。如确因甲方原因，造成乙方未能按时交付，则乙方不承担由此造成的甲方的损失。4.对于前款乙方给甲方造成损失的，甲方有权除按前款之规定要求赔偿外，并可立即采取以下措施进行弥补：(一)单方解除合同，另行寻求第三方完成该开发内容。由此产生的费用由乙方承担。(二)其他可以弥补甲方损失的措施及行为，费用及损失由乙方承担。(5)上述第(4)条所规定之乙方赔偿甲方损失以及其他承担费用和损失最高限额不超过乙方已收取开发费用……九、运营系统日常维护。此运营服务包含VeraWang品牌系统和多品牌系统两套服务。(一)IT运营服务(2,000元/月，前三个月免费，从第四个月开始按月付费)。1.日常服务器运行。保证服务器24小时正常运行，提供服务。2.反应时间。24小时内给予回复(紧急情况时立即处理)。3.数据备份。保证用户数据的安全和可靠，定期备份系统的正常运行。4.日常培训。系统培训，咨询(微信、电话、远程)；如有必要会进行统一培训。5.阿里云系统。费用由八图科技支付，计入运维费用。6.使用疑难问题解答。使用上不符合实际的，属于系统不熟悉造成误解，日常电话答疑。(二)说明。项目负责人。所有问题可以向项目负责人投诉，所有需求需要项目负责人同意方可修改或增加。甲方负责人：杜军……乙方负责人：张晓博……CRM合同的附件为《系统开发明细-上海八图网络科技》，该附件显示，CRM合同约定的所需完成的CRM项目中包括了门店后台/会员管理/推荐人、我推荐的人。2016年10月24日，原告向被告支付CRM合同第一部分项目款项51,000元。嗣后，被告向上海诺纱贸易有限公司(以下简称诺纱公司)开具CRM合同第一部分项目款项51,000元的发票。2016年12月12日至27日期间，原、被告之间有如下微信聊天记录：1.2016年12月12日，被告“我的报价最后肯定性价比最高的。开发时间最短，而且你们最省心的。即使有人给到你们15万，最后费用下来不会比我的便宜，因为如果别人做，我CRM部分也要收费了，对方功能增加也要收费，后面我和对方对接还要收费，而且三方沟通就难了，后面还得维护两个系统，维护费得出2份”原告“其实肯定是想由你来做的”被告“至少我很容易沟通”原告“我是不是可以这样理解，你给我的报价内容中都是全部由你自己开发的？”被告“是啊”。2.2016年12月27日，被告“联通起来的整体测试和修改估计要一天时间，明天都可以联通”原告“好消息，CRM这部分如何了？”被告“不过，我今天过去得整体给你演示下，就像上次一样，你得提意见，然后就一起修改了。同时也有几个问题需要和你讨论”原告“好的”被告“都是关键的，上周手机测试修改的通了。因为现在整体加了权限，都变复杂了。去了给你演示看再说好了。对了咱们几号上线？现在先上noras是吧”原告“对的，几号取决于你的成果如何，先上noras，应该是这周五吧”被告“周五来得及，我们会加紧测试和修改，周四我还会过来，今天正好一起看看商品批量上传的问题”原告“好”。2017年1月1日，原告向被告出具《付款委托证明》称，委托诺纱公司履行CRM合同项目款项支付，且CRM合同款项发票抬头均为诺纱公司。2017年1月9日，原告向被告发送微信称“明天系统开始正式运行，OK不”被告“可以的，今天你们继续测试，有问题马上反馈给我。我们也在测试。我修改了，你们每人测试和反馈问题啊”原告“那是否应该根据员工登陆后台，而不是仍用总的所有权限的。比方说，我就用我的名字登陆”被告“对啊”。2017年2月，被告向诺纱公司开具CRM合同第二部分项目款项85,000元的发票一张。2017年3月1日至2017年6月6日期间，原、被告之间有如下聊天记录：1.2017年3月1日，原告“老板回复我说近期就会安排，也认可你CRM的部分和您良好的配合度”被告“这周我应该可以收到吧”原告“我个人估计可能在下周，明后天我休年假不在公司”。2.2017年3月9日14：05，被告“前面的5万也是拖了几乎一个月才打给我们。之前的客户是没付款不启动项目的。咱们这个就是因为和杜军熟，就先启动了，然后一直也没提过个费用一直开发投入。而且咱们公司这边的需求也不断改，新功能也加，我们都是没再收费，能协助就尽力协助往前走的。”原告“您这边的配合度是十分，我把进度表提交给老板，这款她应该就会批了，您放心。您公司这边的难处，您有没有跟老板提过？我觉得您还是要跟老板适当提提的，诉诉苦的”被告“好”原告“谢谢”被告“对了，我第二笔费用啥时候申请啊。我可是一直在帮着咱们修改增需求的啊”。3.2017年3月9日14：19，原告“CRM系统，VERA和NORAS上去的话应该是一样的对吧”被告“同一套系统，只是权限来分割的，因此一模一样。代码和数据库都是同一个。如果有bug，两边肯定都有，如果没问题两边都没问题”原告“OK”。4.2017年4月1日，原告“老板前天还问我进度来着，我说CRMOK，应该快了。预约管理，日程安排那块，要有打印功能，同时你看下列表是否可以将详细内容列出来”。5.2017年6月6日，原告“你留意下款项的到账，老板付了。现在我有个CRM做灵活的几个事项需要与你沟通。你今明方便过来吗？”被告“后天可以的，还没收到”原告“前面刚跟老板过了下CRM部分。做得很好，只是希望和客人有关的……”。2017年6月6日，诺纱公司向被告支付CRM合同第二部分项目款项85,000元。2017年8月，被告向诺纱公司开具CRM合同第三部分项目款项34,000元的发票。被告递交的证据13显示，在Noras项目管理系统中，有由杨静丽于2017年7月4日创建，并在7月10日修改的名称为“关于会员推荐这部分一直没有用起来”的项目需求，该项目需求的基本信息显示：所属产品为CRM&经销存；所属模块为商城模块；所属计划为二期计划。需求描述显示：会员推荐这个模块如何使用？如何与会员和店员进行挂钩？体现相应推荐的订单及成交金额。2017年12月13日至15日，原、被告之间有如下聊天记录：1.2017年12月13日，原告“刚才我跟老板谈了下你这边付款的事，本来以我个人的工作作风肯定是要出项目报告小结的，但是从刚才跟你电话沟通来看，我就跳过了这个报告直接把付款申请给到老板了，老板也说付款OK的，所以你先不要急了，另外老板已经让我着手二期CRM项目这块的优化整理尤其是涉及员工绩效考评之类的，到时我和老板确认好后你给个报价。经过这次的磨合，后续我们操作项目进度就可以把握准了”。2.2017年12月15日，被告“凭证方向我改了，你看看。现在先不要管凭证的历史数据，先保证新生成的都是正确的，哪里有问题通知我我来调整。先保证新生成的数据没问题。还有今天一定要把CRM尾款打给我们啊，目前我们还没收到尾款”原告“这个只怕做不到了，老板这两天生病了，昨天今天都没进公司”被告“那没办法了，现在我说了也不好使。反正你们老说店铺也没怎么用系统”原告“在用呀。下周一吧，今天周五，人家生病了，你不见得让人硬来吧。这个你总要体谅体谅包涵包涵的”被告“那我问问，稍后给你消息”原告“而且现在系统都在正常运行了，店铺那边也在积极积极的每天及时操作了”。2017年12月18日，诺纱公司向被告支付CRM合同第三部分项目款项34,000元。2018年6月，被告向诺纱公司开具金额为37,000元的发票，收取项目为“研发和技术服务+CRM系统维护费(年)”。2018年6月29日，诺纱公司向被告支付37,000元。2018年7月11日，被告向原告发送名称为“关于新开诺鱼及第三方供应商新系统的费用和我们的职责”邮件称：关于新开诺鱼及以后的第三方供应商系统，每个每年收取维护费4,500元。我们会提供专人直接对接第三方供应商，提供技术和数据支持；如遇到特别问题需要到现场的，我们也会派人到现场解决问题。所有服务器和网络宽带等由我们提供。鉴于“诺鱼”为非供应商，同时基础数据导入新系统的人工成本比较高，因此“诺鱼”我们只收取一次数据迁移费用4,500元[数据迁移会被整理成一键生成功能，以后新供应商入住时会自动一键生成基础数据]。需要的资料：诺鱼，需要一个二级域名，已经给到我(ny.XXXX.com)。而以后的地方供应商统一用一个域名，以后也要提供。2018年7月18日10：20，原告向被告发送微信称“晓博，我在想诺鱼收费的事情哦，原来这个系统是开给VERA和Noras两套系统平台的，现在Vera一直没有开始使用，而费用我们是Vera一起已经支付结算的对吧，所以诺鱼这部分您看是否再减少些，另外数据同步，我觉得最好可以设计成管理员可以自己动手导出导入的，这样可以有选择性的导入相应的数据，就比如Noras上基础数据边上有引出数据，而新系统平台上可以引入数据，这样Vera或后续以后供应商平台处理起来就好弄些，毕竟涉及保密性的东西有些数据是要更改后引入的”。同日13：44，原告向被告发送微信称“亲，我刚在看我们签的合同，关于服务费CRM上签的是2000元一个月吧，怎么这次收的是3000元/月呢？”被告“加了财务的1000。如果真是收错了，老板能同意”原告“我和她应该也是都这么想的，只是合同上没有写加”。2018年8月21日，原告“@eastyjl@张晓博～微信系统开发，今天CRM网页进不去”“@张晓博～微信系统开发打你电话没人接听”。2018年8月30日晚21：08，原告“@张晓博～微信系统开发你好，系统登不上去了”“北京店铺也登不上了”“给张晓博打过电话无人接听”“怎么现在和你服务器有关的都上不去了呢？网站，共享，CRM系统”。2018年8月31日7：31，被告“服务器好了”。2018年9月4日，原告“@张晓博～微信系统开发会员管理和预约管理中涉及会员管理信息变更的涉及渠道更新的，预约管理中没有自动更新”。被告“这两天在做系统迁移，比较忙，有时间了会尽快处理的”。2018年9月5日，原告向被告发送名称为“答复：回复：CRM项目源代码及开发说明文档至今未移交”的邮件称：请不要混淆，我这封邮件是说的是CRM项目合同不是财务合同，我司已全款支付，你邮件中也提到了CRM已进入维护期，所以请回归主题，请将CRM数据源代码及相关文档移交给我司。同日，被告回复上述邮件称：财务系统是基于CRM系统上开发的，是一套完整的系统，单独移交CRM系统代码，会导致财务系统和CRM数据源割裂，以后数据无法合并，造成数据丢失。切割代码可能造成财务和CRM系统数据永久丢失，我方免责。我方技术建议，为了系统长期稳定和数据完整，不建议切割代码部署。2018年9月6日，原告向被告发送名称为“答复：回复：答复：回复：CRM项目源代码及开发说明文档至今未移交”的邮件(以下简称906邮件)称：无法切割的话将现在的给到我们也是可以接受的，但是需马上移交。贵司若切割源代码，造成的任何后果，都不能免责，都由贵司承担。贵司有义务移交给我司的是完整的源代码与开发文档，是可以能够让系统正常运行的。2018年9月7日，被告向原告发送名称为“回复：答复：回复：答复：回复：CRM项目源代码及开发说明文档至今未移交”的邮件称：到目前为止，你方依然以各种理由和接口拖延支付财务系统“合同约定功能”的尾款。由于你方—直拖欠“合同约定功能”内的款项，给我方造成了巨大的经济负担。2018年9月9日，被告向原告发送名称为“回复：答复：回复：答复：回复：CRM项目源代码及开发说明文档至今未移交”的邮件称：诺鱼已暂停关闭，在进行系统调整修复，以保证CRM系统其它隐患。财务部分的“库存管理”目前也暂停，这部分功能需要调整。CRM部分提供的网站接口，目前鉴于已使用一段时间，如果满意需要支付开发费用2万，如不需要我们就取消该功能。还有CRM内所有的数据导出导入功能，如果满意需要尽快支付新增功能开发费用。CRM内容的其它新增功能请对照最初合同基础功能和目前系统现有功能，如非合同功能而是甲方新增要求也需要开始支付开发费用。财务，鉴于新增功能太多，需要整理调整的地方比较多，因此部分功能会暂时停止使用，具体暂停调整模块我们会后续通知。2018年9月10日10：33，原告向被告发送名称为“答复：回复：答复：回复：答复：回复：CRM项目源代码及开发说明文档至今未移交”的邮件(以下简称XXXXXXX邮件)称：首先，你在未得到我司确认的情况下又再次擅自使我司的系统无法正常运行。其次，你要暂停功能，我们先要签好协议，并同时安排好我司不能使用功能部分的数据如何切换至我司的别的操作系统，不能说停就停。再次，当初系统我司的整个财务数据和库存数据在贵司开发软件上直接启用，是经过你这边说OK的，说有任何系统操作问题及时纠正，保证我司系统的正常运行。如果当时你说这个不能保证，那么我司也不可能上线整个系统。所以，请在没有做签好协议以及具体衔接功能时，请不要莫名擅自停止功能。2018年9月10日18：17，原告向被告发送名称为“关于擅自暂停关闭已有系统功能以及未完成项目”的邮件(以下简称XXXXXXX邮件)称：今天2018年9月10日上午10点登陆系统，无法正常登入“库存管理”这个版块，此版块涉及操作内容：库存查询、库存调整、其他出入库操作(借用归还、领用、其他出库、其它入库)、库存盘点、库存盘点审核、整个库存的出入库记录；下附系统截图。当天2018年9月10日下午16点登录系统，无法正常登入“采购管理”这个版块，此版块涉及操作内容：采购单、采购审核、采购入库、采购付款、供应商管理、汇率管理、采购统计表；下附系统截图。邮件说“库存管理”暂停理由为：功能需要调整，请告知调整到何时可以正常使用，常理应该周日暂停，次日可恢复正常使用，采购管理又怎么说？另外声明一点，这两项功能属于运营运行中的部分，不属于独立财务部分。现有系统上的所有功能，都是要开发者您同意增加，您并未告知收取任何费用事项。合同约定明细中有“甲方有权利督促乙方按规定时间完成项目开发，有增加或修改内容双方需另行协商解决；在不影响进程的情况下，对于甲方的不超过总体工作量5%小规模变动的需求，乙方需要配合甲方需求进行修改”，对于这点，在实际沟通过程乙方并未告知工作量的大小，也未提示告知收取费用问题，答应是与费用收取无关的，也未告知是否影响完成项目进度问题。就双方合作项目的两个项目。CRM项目原本是并未完成交付的，合同中有约定但至今未完成的项目，以及交付问题如下：1.合同约定要交付我司“该系统分为两套分别部署、每套对接一个微信服务号。一套支持多门店VeraWang品牌，一套支持多门店多品牌。两套互通功能”，其中“一套支持多门店VeraWang品牌”并未完成。互通功能中要求“一个系统的员工可以把客户信息推送到另外一套系统的员工”也未完成。2.CRM项目的源代码与开发文档在我司支付尾款至今一直没有进行交付。就上述两项未完成事项，我司保留贵司违约责任并要求赔偿的权利。ERP项目：1.对于你在前述邮件中提到的关于我方一直拖欠“合同约定功能”内的款项的问题，根据我们双方的合同约定，尾款应在贵司将全功能上线且经我方测试合格后支付。截止本邮件发送日，贵司对于整个财务ERP项目仍未完成全部功能上线，因此我司不存在拖欠款项的情况。2.财务ERP项目中依据合同约定至今未完成的项目，涉及多个部门的问题，所有未完成功能大部分都是涉及产品质量缺陷问题的，详见附件1。请贵司依据合同约定完成财务ERP系统全功能上线并完成交付，完成交付后我方将按照合同约定支付尾款。就上述事项，我方保留追究贵司延期交付的违约责任并要求赔偿的权利。此外，贵司应保证已有的系统模块正常运行。贵司未经我司同意擅自暂停系统已有功能，我司保留追究因此而导致我司运营受到的相应损失的权利。该邮件的附件系名称为“CRM&ERP未完成问题汇总XXXXXXXX.xlsx”的文件，该文件中所标识的涉及CRM项目的问题，包括：1.Vera微信端。CRMVera微信端，格式框架与Noras微信端一样。2.两套互通功能。一个系统的员工可以把客户信息推送到另外一套系统的员工。3.门店管理。添加门店时需要区分是否真实门店，因为门店会与官网微信端挂上，所以不是所有门店都会体现，因此需要有个功能可以勾选是否可以外接官网微信端等。2018年9月11日，原告委托诉讼代理人黄宇周律师向被告发送《律师函》，以被告尚未完成微信CRM移动系统中的部分功能(“一套支持多门店VeraWang品牌的系统”以及互通功能要求中的“一个系统员工可以把客户信息推送到另外一套系统的员工”)，且被告尚未向原告交付微信CRM移动系统的项目成果，存在逾期交付的情况为由，要求被告在收到该函之日起的一个工作日内，向原告交付微信CRM移动系统开发项目的全部项目成果，包括微信CRM移动系统中未完成的部分功能并保证系统正常运行。2018年10月20日，原告向被告发送解约函，以被告尚未完成微信CRM移动系统中的部分功能(“一套支持多门店VeraWang品牌的系统”以及互通功能要求中的“一个系统员工可以把客户信息推送到另外一套系统的员工”)；尚未向原告交付微信CRM移动系统的项目成果，存在逾期交付的情况；以及被告自2018年9月起存在擅自关闭CRM系统服务器并且停止CRM系统正常服务的行为为由，通知被告：原告根据CRM合同第五条第三款第四项的约定，于2018年10月20日解除CRM合同及其附属协议，并要求被告退还原告已支付费用207,000元，赔偿原告经济损失170,000元。嗣后，原告与案外人廿驷云信息技术(上海)有限公司(以下简称廿驷云)签订《开发合同》，原告委托廿驷云进行用友CRM移动项目开发，开发最终成果支持两套部署，VERA品牌多门店和多门店多品牌，开发总价281,600元。2018年11月9日，原告向廿驷云支付首付款42,240元。2019年3月19日，原告向廿驷云支付二期款70,400元。原告递交的证据显示，2016年5月30日至2019年5月29日期间，原告雇佣杨静丽为其财务主管。被告递交的证据显示，原告(甲方)与被告(乙方)签订有ERP合同，合同中约定的与本案有关的条款，包括：……甲方委托乙方进行财务ERP系统(含采销库存财务各个环节，以下简称ERP项目)的开发工作……二、内容及要求……2.开发时间。(1)项目开发周期：2016年12月16日至2017年2月15日……六、违约责任……3.乙方有责任按期并完整地向甲方交付源代码和设计文档……审理中，原、被告确认ERP合同尚未履行至交付源代码阶段，双方已产生争议，现已根据ERP合同约定，交付仲裁。2019年3月28日，原告委托代理人使用上海市宝山公证处电脑在互联网上进行了浏览、保存、打印等上网操作，并由上海市宝山公证处于2019年4月22日出具了187公证书，原告并就涉案CRM项目的功能现状是否符合CRM合同约定，向本院出具了《答复函》及其附件。在本案审理过程中，就涉案CRM项目的功能现状是否符合CRM合同约定，本院组织双方当事人使用被告于2019年4月8日递交本院的源代码进行了部署和核实。针对上述187公证书、本院核实情况，双方当事人各自表达了如下意见：原告认为：一、其就涉案CRM项目的功能现状与CRM合同约定内容进行了比对，并向本院递交了《答复函》及其附件、187公证书。原告表示在《答复函》附件中标注为“基本一致、一致、完成、已完成”，属于涉案CRM项目中完成内容符合涉案CRM合同约定的。在《答复函》附件中标注为“未完成、无、未完成存在BUG、未完成无法核实、存在BUG、未做到多门店”，属于涉案CRM项目中完成内容不符合涉案CRM合同约定的。其中：1.微信端/导航栏/verawang、我的；微信端/明星、客户婚礼/明星案例、案例详情(案例图文详情)、标签、realwedding、案例详情(realwedding图文)、我也要；微信端/预约试穿/预约试穿、品牌列表；微信端/品牌故事/故事详情；微信端/最新活动/活动列表、活动详情；微信端/产品中心/分类筛选、筛选详情、预约试穿；微信端/会员中心/我的婚纱、活动预约、产品预约、我的好友；微信端/自助客服/Verawang、常见问题、留言反馈的内容属于符合涉案CRM合同约定的情形。2.微信端/明星、客户婚礼/推荐搭配；微信端/预约试穿/位置定位；微信端/品牌故事/我也要；微信端/最新活动/报名；微信端/产品中心/产品详情、买家秀；微信端/我的婚纱/注册绑定、状态、状态详情、已完成、去评价、分享；微信端/会员中心/绑定识别、个人信息、导购顾问、一键直拨、取消绑定；微信端/门店信息/门店状态；手机管理/角色功能/老板(多家店)、店长(单店)/门店列表、客户管理、添加&编辑客户信息、添加预约、编辑预约、修改接待销售人员、查看接待日志、报表；手机管理/角色功能/员工/客户管理、添加&编辑客户信息、添加预约、编辑预约、查看所有预约、添加接待日志的内容，属于不符合涉案CRM合同约定的情形。二、CRM合同第二条中就CRM项目的主要功能有“该系统分为两套分别部署、每套对接一个微信服务号。一套支持多门店VeraWang品牌，一套支持多门店多品牌。两套互通功能：1.一个系统的员工可以把客户信息推送到另外一套系统的员工。2.老板角色可同时切换两套系统所有门店”的约定。上述“老板角色可同时切换两套系统所有门店”的约定，即为CRM合同附件《系统开发明细-上海八图网络科技》中“手机管理/角色功能/老板、店长、员工的内容”，但该内容完成情况原告无法核实。三、在2019年3月26日庭前会议中，被告演示的是CRM项目后台完成情况，并未演示CRM项目微信端完成情况，而根据CRM合同约定，CRM项目主要内容在微信端。四、就CRM项目源代码交付问题，原告认为，CRM合同中未约定CRM项目源代码的交付需要以其他系统的开发完成为前提，或者需要和其他系统一并交付，因此，不存在CRM源代码无法单独交付的问题，故原告不认同被告关于CRM源代码需要切割交付的表述。在此前提下，原告回复被告要求其马上移交CRM项目源代码，但原告已在邮件中声明如被告只能切割交付，则相应导致的后果应由被告承担。五、CRM项目的完成情况应当以187公证书的公证内容(即原告《答复函》附件统计结果)为准。六、原告在XXXXXXX邮件中提出的针对CRM项目中“至今未完成的项目”中“该系统分为两套分别部署、每套对接一个微信服务号。一套支持多门店VeraWang品牌，一套支持多门店多品牌”，该两套系统是指NORAS系统和VeraWang系统，该两套系统的格式框架一致。被告则认为：一、被告对于原告确认的符合涉案CRM合同约定情形的相关内容并无异议，但对于原告认为不符合涉案CRM合同约定情形的相关内容，被告认为，其中：(一)部分内容在CRM合同履行中，经双方协商取消，包括：微信端/明星、客户婚礼/推荐搭配；微信端/预约试穿/位置定位；微信端/会员中心/取消绑定；微信端/我的婚纱/状态详情、已完成、去评价；手机管理/角色功能/老板(多家店)、店长(单店)/门店列表、修改接待销售人员、查看接待日志、报表；手机管理/角色功能/员工/添加接待日志的内容。(二)部分内容在CRM合同履行中，经双方协商变更，包括：微信端/产品中心/买家秀的内容去除“轮播呈现”。(三)部分内容实际已完成，187公证书未正确显示，包括：微信端/品牌故事/我也要；微信端/最新活动/报名；微信端/产品中心/产品详情；微信端/我的婚纱/注册绑定、状态、分享；微信端/会员中心/绑定识别、个人信息、导购顾问、一键直拨；微信端/门店信息/门店状态；手机管理/角色功能/老板(多家店)、店长(单店)/客户管理、添加&编辑客户信息、添加预约、编辑预约；手机管理/角色功能/员工/客户管理、添加&编辑客户信息、添加预约、编辑预约、查看所有预约的内容。二、就CRM合同第二条中CRM项目的主要功能中“两套互通功能：1.一个系统的员工可以把客户信息推送到另外一套系统的员工”的约定，在CRM合同履行中，双方合意不再进行。三、就CRM项目源代码交付问题，被告认为，CRM项目源代码已经与ERP项目源代码相融合，但原告已确认ERP合同未达到交付源代码条件，而原告拒绝有损失的交付CRM项目源代码，属于拒绝将CRM项目源代码切割后交付。四、CRM项目的完成情况应当以法院核实为准。五、NORAS系统和VeraWang系统的格式框架一致，而两者文案不同，需原告自行调整。针对双方当事人上述有争议部分，本院组织双方当事人使用被告于2019年4月8日递交本院的源代码进行了部署和核实，核实情况为：1.微信端/品牌故事/我也要，有预约按钮，并且可以跳转到预约界面。2.微信端/最新活动/报名，在后台可进行修改，设置预约时间后手机端显示“活动报名”，点击进入可填写预约内容，但无法提交成功。3.微信端/产品中心/产品详情，点击图片可以显示具体详细内容。4.微信端/产品中心/买家秀，可以在后台添加图片，可以在图文详情内随机位置添加图片，不能轮播呈现，后台管理员可编辑备注介绍。5.微信端/我的婚纱/注册绑定、状态、分享，可以注册绑定，“状态”演示过程中能显示“状态2”和“状态5”，经查看源代码确认“状态2”为定制中，“状态5”为已取(归还)。6.微信端/会员中心/绑定识别、个人信息，认可完成。7.微信端/会员中心/导购顾问，被告认为“点击我的-会员中心-我的婚纱，在已购婚纱栏下每个订单内有显示专属顾问”，该专属顾问即为导购顾问，但原告不予认可。7.微信端/会员中心/一键直拨，认可完成。8.微信端/门店信息/门店状态，认可具备添加门店功能，但原告认为多门店信息之前就应添加好，而不是现在添加。9.手机管理/角色功能/老板(多家店)、店长(单店)/客户管理、添加&编辑客户信息，编辑信息功能认可，新建客户信息点击完成后无法跳转页面，但客户信息已添加。10.手机管理/角色功能/老板(多家店)、店长(单店)/添加预约、编辑预约，添加预约测试三次，两次添加后未显示，一次添加后可见添加的信息。11.手机管理/角色功能/员工/客户管理、添加&编辑客户信息，编辑信息功能认可，新建客户信息点击完成后无法跳转页面，但客户信息已添加。12.手机管理/角色功能/员工/添加预约、编辑预约、查看所有预约，认可完成。对于涉案CRM项目源代码和ERP项目源代码是否融合的问题，本院组织双方当事人进行了验证，验证结果显示涉案软件路径“sourcemodulesvwcrm”中文件“site.php”中既包含涉及CRM功能的代码，也包含涉及调用ERP功能的代码。路径“sourcemodulesvwsales”中文件“site.php”中既包含涉及CRM功能的代码，也包含涉及调用ERP功能的代码。本案中，原告以被告存在1.完成的CRM项目功能不齐全且存在BUG致使无法使用。2.未根据CRM合同的约定向原告交付CRM项目的源代码。3.在CRM合同履行期间，被告擅自暂停服务器致使原告无法使用的违约行为为由，行使CRM合同第五条第三款第四项约定的解除权，主张涉案合同于2018年10月20日解除。对此，本院认为，《中华人民共和国合同法》第九十三条第二款规定，当事人可以约定一方解除合同的条件。解除合同的条件成就时，解除权人可以解除合同。第九十六条规定，当事人一方依照本法第九十三条第二款、第九十四条的规定主张解除合同的，应当通知对方。合同自通知到达对方时解除。根据上述法律规定，本案中首先应当判定，原告在本案中主张的解除CRM合同的条件是否成就。而本案中，CRM合同第五条第3款违约责任，第(3)项、第(4)项中约定，“(3)乙方有责任按期并完整地向甲方交付源代码和设计文档，实现项目中的所有功能，如因乙方自身原因，未能按约交付，则每延期一天，甲方将扣除乙方总费用的0.1%作为补偿。对于乙方未能完成或延迟三十个工作日以上完成本合同约定开发内容的，乙方应当赔偿由此给甲方造成的直接经济损失。如确因甲方原因，造成乙方未能按时交付，则乙方不承担由此造成的甲方的损失。4.对于前款乙方给甲方造成损失的，甲方有权除按前款之规定要求赔偿外，并可立即采取以下措施进行弥补：(一)单方解除合同……”根据上述CRM合同约定，原告只有在被告未按期并完整地向原告交付源代码和设计文档，实现项目中的所有功能；且上述违约行为系因被告自身原因；且上述违约行为被告已给原告造成损失的条件同时成就的前提下，才享有CRM合同解除权。而针对原告在本案中主张的被告三个违约行为而言：一、关于原告主张的被告完成的CRM项目功能不齐全且存在BUG致使无法使用的违约行为本院认为，首先，CRM合同第五条第2款支付方式第(2)项约定“(2)乙方于2017年12月7日前提交完整产品版本，甲方测试合格后一周内应向乙方支付第二部分50%项目款项85,000元”。而本院查明的事实表明，2017年1月10日，CRM项目已经开始正式运行，2017年2月，被告已向原告开具第二部分项目款项85,000元的发票。2017年3月1日、9日、4月1日、6月6日原告均表达了对于被告所完成的CRM项目的认可，并最终在2017年6月6日支付了CRM合同第二部分项目款项85,000元。且本案中没有任何证据表明，原告在2017年6月6日付款时，曾与被告确认被告已完成的CRM项目还存在应当完成而未完成部分，因此，上述原告支付CRM合同第二部分项目款项的事实，足以证明，被告提交的CRM项目，已经原告测试合格。原告在2017年6月6日支付CRM合同第二部分项目款项的事实，亦应当视为原告确认CRM项目验收合格。其次，CRM合同第五条第2款支付方式第(3)项约定“(3)甲方验收合格后，需经过3个月试运行测试，如无发现任何Bug或者Bug都得到乙方良好解决的情况下，甲方在试运行结束后三个工作日内向乙方支付第三部分20%项目款项34,000元。乙方在收到甲方的付款后交付所有源代码”，而本院查明事实表明，早在2017年8月，被告已开具了CRM合同第三部分项目款项的发票，在2017年12月13日，原告在微信中有“刚才我跟老板谈了下你这边付款的事，本来以我个人的工作作风肯定是要出项目报告小结的，但是从刚才跟你电话沟通来看，我就跳过了这个报告直接把付款申请给到老板了，老板也说付款OK……”的表述，2017年12月18日，原告向被告支付CRM合同第三部分项目款项，且本案中没有任何证据表明，原告在2017年12月18日付款时，曾与被告确认被告已完成的CRM项目还存在应当修复而未修复的BUG，故原告支付CRM合同第三部分项目款项的行为，应当认为系原告在2017年6月6日对CRM项目验收合格，并经过6个月的运行测试后，认可被告对其提交的CRM项目中所有Bug，都予以了良好的解决。再次，根据涉案合同第三条双方权利义务第2款第(5)项“乙方有责任在甲方项目验收合格完成之日起，向甲方提供12个月的免费维护服务，此维护仅指软件bug的修改……”的约定，被告在2017年6月6日原告对CRM项目验收合格后，对于已提交原告的CRM项目仅存在BUG的修改、维护义务，而不存在对于CRM项目新内容的开发工作。对此，作为涉案CRM合同的签订者原告亦是明知的，且原告在2017年12月13日微信中关于“……老板也说付款OK的，所以你先不要急了，另外老板已经让我着手二期CRM项目这块的优化整理尤其是涉及员工绩效考评之类的，到时我和老板确认好后你给个报价”的表述，亦可印证原告对于涉案CRM合同项下已完成内容的认可以及继续开发二期CRM项目的意向。而原告XXXXXXX邮件以及《律师函》均在原告对CRM项目验收合格十五个月之后，故该XXXXXXX邮件以及《律师函》中有关“未完成微信CRM移动系统中的部分功能”的表述，均不能证明涉案CRM项目确实存在未完成项目。最后，本院注意到，无论是双方对于涉案CRM项目完成内容的确认，还是本院对CRM项目现场核实的结果，都存在涉案CRM合同中有约定，而未在CRM项目中完成的内容。对此，本院认为，其一，虽然原告出具了187公证书，但一方面，该公证书对涉案CRM项目的测试均在电脑上完成，明显不符合使用手机对微信端测试的正常验证方法。另一方面，该公证书出具的时间在2019年4月22日，向本院递交及送达被告的时间，均晚于该日。而被告向本院递交涉案CRM项目源代码的时间在2019年4月8日，此时，被告尚不清楚原告进行了公证，综合本院对涉案CRM项目核实的实际情况，以及没有证据可以证明被告对涉案CRM项目源代码进行了修改，本院认为，应当以本院的核实结果确认涉案CRM项目的实际完成情况。故本院对于原告187公证书显示的测试结果不予采纳。其二，虽然，本院核实结果中亦存在涉案CRM合同中有约定，而未在CRM项目中完成的内容。但是，基于一般的经验法则，在计算机软件开发合同的实际履行过程中，对于原约定内容的增、减、变更均属于较为普遍的现象，而涉案CRM合同中第三条双方权利义务第1款第(1)项“甲方有权利督促乙方按规定时间完成项目开发，有增加或修改内容双方需另行协商解决；在不影响进程的情况下，对于甲方的不超过总体工作量5%小规模变动的需求”的约定，以及在案证据显示的原告CRM合同附件《系统开发明细-上海八图网络科技》中明确的“门店后台/会员管理/推荐人、我推荐的人”功能，由杨静丽在2017年7月4日将“关于会员推荐这部分一直没有用起来”的项目需求列为“二期计划”，亦足以印证原、被告双方对于原合同中约定的CRM项目具体功能，在实际履行中进行了变更，故本案中根据涉案CRM合同的实际履行情况，不能以CRM合同的具体约定事项是否完成，作为判断涉案CRM项目是否实际已经完成的标准。综上，综合在案证据，本院认为，涉案CRM项目已经原告于2017年6月6日验收合格，故本院对于原告关于被告完成的CRM项目功能不齐全且存在BUG致使无法使用的违约行为的诉讼主张，不予采纳，相关诉讼请求不予支持。二、对于原告关于被告未根据CRM合同的约定向原告交付CRM项目的源代码的诉讼主张本院认为，首先，本院对于涉案CRM项目源代码进行了验证，发现CRM项目源代码和ERP源代码确实存在一定程度的融合，按照一般的经验法则，若对其进行切割确实存在数据丢失的可能。根据本院查明的事实，原、被告对于CRM项目的开发工作，一直保持高强度的沟通和协作，ERP项目系自2016年12月16日开始与CRM项目共同由被告开发，至2018年9月双方发生矛盾，已开发近21个月，因此，原告应当知道CRM项目源代码和ERP源代码共同开发且存在一定程度融合，而原、被告之间在2016年12月12日微信聊天记录中“我的报价最后肯定性价比最高的……”，以及XXXXXXX邮件中原告“……当初系统我司的整个财务数据和库存数据在贵司开发软件上直接启用，是经过你这边说OK的……”的表述，均在一定程度上可印证本院的上述观点。故本院对于原告关于CRM源代码可以完整、单独交付的主张，不予采纳。本院认为，原告对于CRM源代码无法单独、完整交付，应当是明知的。其次，原告在其906邮件中称“无法切割的话将现在的给到我们也是可以接受的，但是需马上移交。贵司若切割源代码，造成的任何后果，都不能免责，都由贵司承担”的表述，实际上拒绝了被告切割后交付CRM项目源代码。因此，在涉案CRM源代码无法单独、完整交付，且原告拒绝切割后交付的情况下，涉案CRM源代码未交付，不能认为是被告单方过错所致。再次，在本案审理中，双方确认“ERP合同尚未履行至交付源代码阶段，双方已产生争议，现已根据ERP合同约定，交付仲裁”，故本案中原告尚未举证证明，在ERP合同履行中，被告未交付ERP项目源代码存在过错。最后，根据本院查明的事实，涉案CRM项目在2017年6月6日已经原告验收通过，而是否交付涉案CRM项目源代码，均不影响涉案CRM项目的正常使用。本案中也没有证据表明，涉案CRM项目源代码未交付已经造成原告损失。综上，本院认为，虽然，被告确实未向原告交付CRM项目源代码，但是，鉴于原告尚未证明上述未交付CRM项目源代码系因被告单方过错所致，且上述未交付CRM项目源代码，已给原告造成损失的情况下，原告据以解除涉案CRM合同的条件不成就，故就被告未向原告交付CRM项目源代码的事实，原告并不享有涉案CRM合同的解除权，本院对于原告的诉讼主张不予采纳，相关诉讼请求，不予支持。三、对于原告关于在CRM合同履行期间，被告擅自暂停服务器致使原告无法使用的违约行为的诉讼主张本院认为，一方面，本案中原告主张具有合同解除权的违约行为，应当是指“被告未按期并完整地向原告交付源代码和设计文档，实现项目中的所有功能”的行为，而原告关于被告擅自暂停服务器致使原告无法使用，显然不属于原告可以主张合同解除权的违约行为。另一方面，根据本院查明的事实，可以证实确实属于CRM项目服务器停止服务的情形，仅涉及2018年8月21日、30日微信聊天记录所反映的CRM系统服务器无法登陆，但现有证据均不能证明上述两次CRM系统服务器无法登陆，系被告擅自暂停服务器所致。故本院对于原告关于在CRM合同履行期间，被告擅自暂停服务器致使原告无法使用的违约行为的诉讼主张，不予采纳，相关诉讼请求亦不予支持。综上所述，鉴于原告在本案中关于解除合同的诉讼主张均不能成立，故原告要求被告返还CRM合同款、系统年服务费，赔偿经济损失的诉讼请求，本院均不予支持。据此，依照《中华人民共和国合同法》第九十三条第二款的规定，判决如下：驳回原告乘如(上海)国际贸易有限公司的诉讼请求。案件受理费人民币6,955元，财产保全申请费人民币2,405元，由原告乘如(上海)国际贸易有限公司负担。如不服本判决，可在判决书送达之日起十五日内，向本院递交上诉状，并按照对方当事人的人数提出副本，上诉于最高人民法院。审 判 长  何 渊审 判 员  范静波人民陪审员  顾月琴二〇一九年十一月二十八日法官 助理  朱世悦书 记 员  周 颖附：相关法律条文《中华人民共和国合同法》第九十三条……当事人可以约定一方解除合同的条件。解除合同的条件成就时，解除权人可以解除合同。