律师咨询_法律援助_法律服务

乘如上海国际贸易有限公司上海八图网络科技有限公司计算机软件开发合同纠纷二审民事判决书

2021-05-22 13:58发布

中华人民共和国最高人民法院

民 事 判 决 书

(2020)最高法知民终222号

上诉人(原审原告):乘如(上海)国际贸易有限公司。住所地:上海市黄浦区南苏州路381号406C07室。

法定代表人:王华惠,该公司董事长。

委托诉讼代理人:戎文宏,上海市锦天城律师事务所律师。

委托诉讼代理人:黄宇周,上海市锦天城律师事务所律师。

被上诉人(原审被告):上海八图网络科技有限公司。住所地:上海市嘉定工业区叶城路1630号3幢1342室。

法定代表人:张晓博,该公司执行董事。

委托诉讼代理人:韩冰清,上海市海华永泰律师事务所律师。

委托诉讼代理人:杨越琦,上海市海华永泰律师事务所律师。

上诉人乘如(上海)国际贸易有限公司(以下简称乘如公司)因与被上诉人上海八图网络科技有限公司(以下简称八图公司)计算机软件开发合同纠纷一案,不服上海知识产权法院于2019年11月28日作出的(2019)沪73知民初53号民事判决,向本院提起上诉。本院于2020年2月25日立案后,依法组成合议庭进行了审理。本案现已审理终结。

乘如公司上诉请求:撤销(2019)沪73知民初53号民事判决,并依法改判支持乘如公司的全部诉讼请求。

事实与理由:乘如公司依据合同约定享有解除权,并可要求八图公司赔偿损失。(一)八图公司完成的×××项目功能不齐全且存在Bug无法使用。1.《乘如微信×××移动项目技术开发合同》(以下简称×××合同)第四条约定了验收的标准和方式。而在本案中八图公司从未提交验收申请的证据;在双方提交的证据中,也没有关于验收通过的证据材料;在原审法院的事实认定中,也未有双方组织过验收且验收合格表述。故依据合同的约定以及客观事实,双方从未对×××项目进行过验收,而乘如公司的付款行为不能作为验收合格的依据。2.乘如公司提交的(2019)沪宝证经字第187号公证书(以下简称187公证书)、原审法院组织双方对源代码进行部署和核实的情况以及八图公司在原审庭审的陈述,都可以确认×××项目部分功能未按照合同的约定完成。在乘如公司提交的众多聊天记录中,亦有明确×××项目存在众多Bug和项目不能使用的情况。3.原审法院认为×××项目在实际履行过程中进行了变更,不能以×××合同的约定事项是否完成作为×××项目是否已经完成的标准没有依据。对于原约定内容增减变更的确属于较为普遍的现象,但基于一般的经验法则,该些变更应由乘如公司主动提起,或者双方合意后变更。本案中,八图公司从未对上述事项提交任何证据,双方也没有删减、变更原约定功能的合意。4.原审法院对于187公证书未予采纳错误。尽管该公证书对×××项目的测试均在电脑上完成,但在电脑微信端进行的演示足以证明×××系统的完成情况,除设备不同外,与手机微信端进行演示并无根本区别。并且原审法院对于八图公司提交的×××项目源代码的勘验也是在电脑上进行。因此,该验证方法应被认可。另一方面,187公证书的出具时间是2019年4月22日,实际进行的时间在187公证书上有记载,是2019年3月28日,早于八图公司向原审法院递交×××项目源代码的时间2019年4月8日,因此,在2019年3月28日至2019年4月8日这段期间,八图公司完全有时间对×××项目源代码进行修改。原审法院以187公证书出具时间晚于源代码提交时间为由认为八图公司未对×××项目源代码进行修改,实属不当。

(二)八图公司未根据×××合同的约定向乘如公司交付源代码。1.原审法院认为乘如公司对于×××项目源代码无法单独、完整交付应当是明知的与事实不符。乘如公司认可的仅仅是ERP项目与×××项目均由八图公司进行开发,但并没有认可×××项目源代码和ERP项目源代码的共同开发,二者并非同一概念。乘如公司认可×××项目与ERP项目均由八图公司开发的行为并不能视为乘如公司同意将两个系统的源代码融合在一起,乘如公司从未同意过×××项目源代码和ERP项目源代码的融合。乘如公司原审提交的《关于源代码融合及其他相关技术问题的意见》也从技术角度阐述了两套系统的源代码没有必要融合以及融合是开发者基于减少自身工作量、节省成本的考虑所造成的。2.乘如公司系婚纱贸易公司,且联络人系财务人员,非计算机专业从业人员,如无明确告知,乘如公司无法从常人的角度理解和辨识什么叫两源代码融合。八图公司从未告知过。原审法院推断乘如公司明知两源代码融合毫无事实根据。3.乘如公司在2018年9月6日向八图公司发送的名称为“答复:回复:答复:回复:×××项目源代码及开发说明文档至今未移交”的邮件(以下简称906邮件)中所称“无法切割的话将现在的给到我们也是可以接受,但是需马上移交。贵司若切割源代码,造成的任何后果,都不能免责,都由贵司承担”的表述,并非是在拒绝八图公司切割后交付×××项目源代码,而是在被告知源代码已经融合的事实之后,对于八图公司可能的切割交付所造成的后果的一种警示。根据双方在×××合同中的约定,乘如公司所要求的就是×××项目源代码,而非×××项目与ERP项目融合后的源代码,而×××项目源代码无法单独、完整交付是八图公司单方过错所致。4.原审法院忽略了双方的合同约定,无论在×××合同中,还是在《乘如财务ERP系统开发协议》(以下简称ERP合同)中,均未表述过两源代码要融合,必须共同完整提交。在双方提交的所有证据中,也没有两源代码需要融合的合意。5.在没有征求过乘如公司同意的情况下,八图公司私自将两源代码融合,并无法按约交付,足以可见是八图公司单方之过错。综上,八图公司私自将×××项目的源代码与ERP项目的源代码进行融合属单方过错。即便现在八图公司将其切割交付,两源代码都会造成损伤,致使乘如公司遭受损失。乘如公司据以解除涉案×××合同的条件成就,享有合同解除权。

(三)在×××合同履行期间,八图公司擅自暂停服务器致使乘如公司无法使用,使得乘如公司失去对×××项目的控制权。八图公司作为技术供应商,利用其技术优势控制×××系统,使得乘如公司作为实际权利人丧失了对×××项目的实际权利,其行径实质就是未完整交付整个×××项目源代码和设计文档、实现项目中的所有功能,亦属于未完整交付之行为。乘如公司所提交的无法登入比对图与其他微信聊天记录都可以印证系八图公司私自暂停系统服务器,其他证据也反映了×××项目服务器多次无法登录的事实。八图公司作为服务器服务商,若非因其原因暂停服务,应举证证明,但八图公司没有提供任何证据。八图公司停止服务器的真实目的是要挟乘如公司增加ERP系统费用。

八图公司辩称:请求驳回乘如公司的全部上诉请求,维持原判。乘如公司主张的三大违约行为均不存在,且不能同时成立,乘如公司不享有×××合同的解除权。(一)×××项目已经乘如公司验收合格,不存在功能不全以及Bug的情况。(二)八图公司未交付×××项目源代码存在合理理由,且系乘如公司过错导致,未交付源代码也未给乘如公司造成任何损失。(三)八图公司不存在擅自暂停服务器的行为,且乘如公司是否享有合同解除权与该行为无关。

乘如公司向原审法院提起诉讼,原审法院于2019年2月15日立案受理。乘如公司向原审法院起诉请求:1.确认乘如公司、八图公司签订的《乘如微信×××移动项目技术开发合同》已于2018年10月20日解除。2.八图公司返还乘如公司已支付的项目费用人民币170000元(以下币种同)。3.八图公司返还乘如公司已支付的系统年服务费37000元。4.八图公司赔偿乘如公司损失170000元。

八图公司向原审法院答辩称:1.八图公司已经履行了除源代码、开发说明文档交付外的全部开发义务,故涉案×××项目已经全部制作完成,并不存在乘如公司所述的存在Bug而无法使用的情形。2.因乘如公司与八图公司之间还存在ERP项目的开发,而涉案×××项目源代码和ERP项目源代码深度融合,需切割后才可向乘如公司交付,但乘如公司拒绝切割交付,致使八图公司尚未交付涉案×××项目源代码。3.八图公司除收到涉案×××项目170000元开发费用外,仅就涉案×××项目收取了2017年12月18日至2018年12月18日的系统年服务费24000元。此外,八图公司还支付了ERP项目的年服务费13000元。

原审法院认定事实:

乘如公司(甲方)与八图公司(乙方)签订有×××合同。该×××合同中约定的与本案有关的主要内容包括:甲方委托乙方进行微信×××平台项目的开发工作……一、项目名称:微信×××移动项目。二、内容及要求:1.开发内容。根据甲方的要求,乙方在规定时间内完成微信×××移动系统的开发,该系统的设计要求如下:(1)项目版本以及运行环境……(2)支持分辨率……(3)主要功能:根据需求设计进行项目的开发以及测试的工作。具体功能及要求参见项目附件(VeraWang功能明细-20160920.xlsx)。该系统分为两套分别部署、每套对接一个微信服务号。一套支持多门店VeraWang品牌,一套支持多门店多品牌。两套互通功能:1.一个系统的员工可以把客户信息推送到另外一套系统的员工。2.老板角色可同时切换两套系统所有门店。(4)甲方提供的资源及项目约定:需求说明书和产品功能详情(附件,微信×××功能清单,已提供);两个已认证的微信服务号(未提供);访问域名(未提供)。(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%项目款项,即51000元。(2)乙方于2017年12月7日前提交完整产品版本,甲方测试合格后一周内应向乙方支付第二部分50%项目款项85000元。(3)甲方验收合格后,需经过3个月试运行测试,如无发现任何Bug或者Bug都得到乙方良好解决的情况下,甲方在试运行结束后三个工作日内向乙方支付第三部分20%项目款项34000元。乙方在收到甲方的付款后交付所有源代码。(4)乙方应在收到甲方相应项目款项后五个工作日内向甲方提供国家规定的发票。3.违约责任……(3)乙方有责任按期并完整地向甲方交付源代码和设计文档,实现项目中的所有功能,如因乙方自身原因,未能按约交付,则每延期一天,甲方将扣除乙方总费用的0.1%作为补偿。对于乙方未能完成或延迟三十个工作日以上完成本合同约定开发内容的,乙方应当赔偿由此给甲方造成的直接经济损失。如确因甲方原因,造成乙方未能按时交付,则乙方不承担由此造成的甲方的损失。4.对于前款乙方给甲方造成损失的,甲方有权除按前款之规定要求赔偿外,并可立即采取以下措施进行弥补:(一)单方解除合同,另行寻求第三方完成该开发内容。由此产生的费用由乙方承担。(二)其他可以弥补甲方损失的措施及行为,费用及损失由乙方承担。(5)上述第(4)条所规定之乙方赔偿甲方损失以及其他承担费用和损失最高限额不超过乙方已收取开发费用……九、运营系统日常维护。此运营服务包含VeraWang品牌系统和多品牌系统两套服务。(一)IT运营服务(2000元/月,前三个月免费,从第四个月开始按月付费)。1.日常服务器运行。保证服务器24小时正常运行,提供服务。2.反应时间。24小时内给予回复(紧急情况时立即处理)。3.数据备份。保证用户数据的安全和可靠,定期备份系统的正常运行。4.日常培训。系统培训,咨询(微信、电话、远程);如有必要会进行统一培训。5.阿里云系统。费用由八图科技支付,计入运维费用。6.使用疑难问题解答。使用上不符合实际的,属于系统不熟悉造成误解,日常电话答疑。(二)说明。项目负责人。所有问题可以向项目负责人投诉,所有需求需要项目负责人同意方可修改或增加。甲方负责人:杜军……乙方负责人:张晓博……×××合同的附件为《系统开发明细-上海八图网络科技》,该附件显示,×××合同约定的所需完成的×××项目中包括了门店后台/会员管理/推荐人、我推荐的人。

2016年10月24日,乘如公司向八图公司支付×××合同第一部分项目款项51000元。嗣后,八图公司向上海诺纱贸易有限公司(以下简称诺纱公司)开具×××合同第一部分项目款项51000元的发票。

2016年12月12日至27日期间,乘如公司、八图公司之间有如下微信聊天记录:1.2016年12月12日,八图公司“我的报价最后肯定性价比最高的。开发时间最短,而且你们最省心的。即使有人给到你们15万,最后费用下来不会比我的便宜,因为如果别人做,我×××部分也要收费了,对方功能增加也要收费,后面我和对方对接还要收费,而且三方沟通就难了,后面还得维护两个系统,维护费得出2份”乘如公司“其实肯定是想由你来做的”八图公司“至少我很容易沟通”乘如公司“我是不是可以这样理解,你给我的报价内容中都是全部由你自己开发的?”八图公司“是啊”。2.2016年12月27日,八图公司“联通起来的整体测试和修改估计要一天时间,明天都可以联通”乘如公司“好消息,×××这部分如何了?”八图公司“不过,我今天过去得整体给你演示下,就像上次一样,你得提意见,然后就一起修改了。同时也有几个问题需要和你讨论”乘如公司“好的”八图公司“都是关键的,上周手机测试修改的通了。因为现在整体加了权限,都变复杂了。去了给你演示看再说好了。对了咱们几号上线?现在先上noras是吧”乘如公司“对的,几号取决于你的成果如何,先上noras,应该是这周五吧”八图公司“周五来得及,我们会加紧测试和修改,周四我还会过来,今天正好一起看看商品批量上传的问题”乘如公司“好”。

2017年1月1日,乘如公司向八图公司出具《付款委托证明》称,委托诺纱公司履行×××合同项目款项支付,且×××合同款项发票抬头均为诺纱公司。

2017年1月9日,乘如公司向八图公司发送微信称“明天系统开始正式运行,OK不”八图公司“可以的,今天你们继续测试,有问题马上反馈给我。我们也在测试。我修改了,你们每人测试和反馈问题啊”乘如公司“那是否应该根据员工登陆后台,而不是仍用总的所有权限的。比方说,我就用我的名字登陆”八图公司“对啊”。

2017年2月,八图公司向诺纱公司开具×××合同第二部分项目款项85000元的发票一张。

2017年3月1日至2017年6月6日期间,乘如公司、八图公司之间有如下聊天记录:1.2017年3月1日,乘如公司“老板回复我说近期就会安排,也认可你×××的部分和您良好的配合度”八图公司“这周我应该可以收到吧”乘如公司“我个人估计可能在下周,明后天我休年假不在公司”。2.2017年3月9日14:05,八图公司“前面的5万也是拖了几乎一个月才打给我们。之前的客户是没付款不启动项目的。咱们这个就是因为和杜军熟,就先启动了,然后一直也没提过个费用一直开发投入。而且咱们公司这边的需求也不断改,新功能也加,我们都是没再收费,能协助就尽力协助往前走的。”乘如公司“您这边的配合度是十分,我把进度表提交给老板,这款她应该就会批了,您放心。您公司这边的难处,您有没有跟老板提过?我觉得您还是要跟老板适当提提的,诉诉苦的”八图公司“好”乘如公司“谢谢”八图公司“对了,我第二笔费用啥时候申请啊。我可是一直在帮着咱们修改增需求的啊”。3.2017年3月9日14:19,乘如公司“×××系统,VERA和NORAS上去的话应该是一样的对吧”八图公司“同一套系统,只是权限来分割的,因此一模一样。代码和数据库都是同一个。如果有bug,两边肯定都有,如果没问题两边都没问题”乘如公司“OK”。4.2017年4月1日,乘如公司“老板前天还问我进度来着,我说×××OK,应该快了。预约管理,日程安排那块,要有打印功能,同时你看下列表是否可以将详细内容列出来”。5.2017年6月6日,乘如公司“你留意下款项的到账,老板付了。现在我有个×××做灵活的几个事项需要与你沟通。你今明方便过来吗?”八图公司“后天可以的,还没收到”乘如公司“前面刚跟老板过了下×××部分。做得很好,只是希望和客人有关的……”。

2017年6月6日,诺纱公司向八图公司支付×××合同第二部分项目款项85000元。

2017年8月,八图公司向诺纱公司开具×××合同第三部分项目款项34000元的发票。

八图公司递交的证据13显示,在Noras项目管理系统中,有由杨静丽于2017年7月4日创建,并在7月10日修改的名称为“关于会员推荐这部分一直没有用起来”的项目需求,该项目需求的基本信息显示:所属产品为×××&经销存;所属模块为商城模块;所属计划为二期计划。需求描述显示:会员推荐这个模块如何使用?如何与会员和店员进行挂钩?体现相应推荐的订单及成交金额。

2017年12月13日至15日,乘如公司、八图公司之间有如下聊天记录:1.2017年12月13日,乘如公司“刚才我跟老板谈了下你这边付款的事,本来以我个人的工作作风肯定是要出项目报告小结的,但是从刚才跟你电话沟通来看,我就跳过了这个报告直接把付款申请给到老板了,老板也说付款OK的,所以你先不要急了,另外老板已经让我着手二期×××项目这块的优化整理尤其是涉及员工绩效考评之类的,到时我和老板确认好后你给个报价。经过这次的磨合,后续我们操作项目进度就可以把握准了”。2.2017年12月15日,八图公司“凭证方向我改了,你看看。现在先不要管凭证的历史数据,先保证新生成的都是正确的,哪里有问题通知我我来调整。先保证新生成的数据没问题。还有今天一定要把×××尾款打给我们啊,目前我们还没收到尾款”乘如公司“这个只怕做不到了,老板这两天生病了,昨天今天都没进公司”八图公司“那没办法了,现在我说了也不好使。反正你们老说店铺也没怎么用系统”乘如公司“在用呀。下周一吧,今天周五,人家生病了,你不见得让人硬来吧。这个你总要体谅体谅包涵包涵的”八图公司“那我问问,稍后给你消息”乘如公司“而且现在系统都在正常运行了,店铺那边也在积极积极的每天及时操作了”。

2017年12月18日,诺纱公司向八图公司支付×××合同第三部分项目款项34000元。

2018年6月,八图公司向诺纱公司开具金额为37000元的发票,收取项目为“研发和技术服务 ×××系统维护费(年)”。2018年6月29日,诺纱公司向八图公司支付37000元。

2018年7月11日,八图公司向乘如公司发送名称为“关于新开诺鱼及第三方供应商新系统的费用和我们的职责”邮件称:关于新开诺鱼及以后的第三方供应商系统,每个每年收取维护费4500元。我们会提供专人直接对接第三方供应商,提供技术和数据支持;如遇到特别问题需要到现场的,我们也会派人到现场解决问题。所有服务器和网络宽带等由我们提供。鉴于“诺鱼”为非供应商,同时基础数据导入新系统的人工成本比较高,因此“诺鱼”我们只收取一次数据迁移费用4500元[数据迁移会被整理成一键生成功能,以后新供应商入住时会自动一键生成基础数据]。需要的资料:诺鱼,需要一个二级域名,已经给到我(××)。而以后的地方供应商统一用一个域名,以后也要提供。

2018年7月18日10:20,乘如公司向八图公司发送微信称“晓博,我在想诺鱼收费的事情哦,原来这个系统是开给VERA和Noras两套系统平台的,现在Vera一直没有开始使用,而费用我们是Vera一起已经支付结算的对吧,所以诺鱼这部分您看是否再减少些,另外数据同步,我觉得最好可以设计成管理员可以自己动手导出导入的,这样可以有选择性的导入相应的数据,就比如Noras上基础数据边上有引出数据,而新系统平台上可以引入数据,这样Vera或后续以后供应商平台处理起来就好弄些,毕竟涉及保密性的东西有些数据是要更改后引入的”。同日13:44,乘如公司向八图公司发送微信称“亲,我刚在看我们签的合同,关于服务费×××上签的是2000元一个月吧,怎么这次收的是3000元/月呢?”八图公司“加了财务的1000。如果真是收错了,老板能同意”乘如公司“我和她应该也是都这么想的,只是合同上没有写加”。

2018年8月21日,乘如公司“@eastyjl@张晓博~微信系统开发,今天×××网页进不去”“@张晓博~微信系统开发打你电话没人接听”。

2018年8月30日晚21:08,乘如公司“@张晓博~微信系统开发你好,系统登不上去了”“北京店铺也登不上了”“给张晓博打过电话无人接听”“怎么现在和你服务器有关的都上不去了呢?网站,共享,×××系统”。2018年8月31日7:31,八图公司“服务器好了”。

2018年9月4日,乘如公司“@张晓博~微信系统开发会员管理和预约管理中涉及会员管理信息变更的涉及渠道更新的,预约管理中没有自动更新”。八图公司“这两天在做系统迁移,比较忙,有时间了会尽快处理的”。

2018年9月5日,乘如公司向八图公司发送名称为“答复:回复:×××项目源代码及开发说明文档至今未移交”的邮件称:请不要混淆,我这封邮件是说的是×××项目合同不是财务合同,我司已全款支付,你邮件中也提到了×××已进入维护期,所以请回归主题,请将×××数据源代码及相关文档移交给我司。同日,八图公司回复上述邮件称:财务系统是基于×××系统上开发的,是一套完整的系统,单独移交×××系统代码,会导致财务系统和×××数据源割裂,以后数据无法合并,造成数据丢失。切割代码可能造成财务和×××系统数据永久丢失,我方免责。我方技术建议,为了系统长期稳定和数据完整,不建议切割代码部署。

2018年9月6日,乘如公司向八图公司发送906邮件称:无法切割的话将现在的给到我们也是可以接受的,但是需马上移交。贵司若切割源代码,造成的任何后果,都不能免责,都由贵司承担。贵司有义务移交给我司的是完整的源代码与开发文档,是可以能够让系统正常运行的。

2018年9月7日,八图公司向乘如公司发送名称为“回复:答复:回复:答复:回复:×××项目源代码及开发说明文档至今未移交”的邮件称:到目前为止,你方依然以各种理由和接口拖延支付财务系统“合同约定功能”的尾款。由于你方—直拖欠“合同约定功能”内的款项,给我方造成了巨大的经济负担。

2018年9月9日,八图公司向乘如公司发送名称为“回复:答复:回复:答复:回复:×××项目源代码及开发说明文档至今未移交”的邮件称:诺鱼已暂停关闭,在进行系统调整修复,以保证×××系统其它隐患。财务部分的“库存管理”目前也暂停,这部分功能需要调整。×××部分提供的网站接口,目前鉴于已使用一段时间,如果满意需要支付开发费用2万,如不需要我们就取消该功能。还有×××内所有的数据导出导入功能,如果满意需要尽快支付新增功能开发费用。×××内容的其它新增功能请对照最初合同基础功能和目前系统现有功能,如非合同功能而是甲方新增要求也需要开始支付开发费用。财务,鉴于新增功能太多,需要整理调整的地方比较多,因此部分功能会暂时停止使用,具体暂停调整模块我们会后续通知。

2018年9月10日10:33,乘如公司向八图公司发送名称为“答复:回复:答复:回复:答复:回复:×××项目源代码及开发说明文档至今未移交”的邮件(以下简称9101033邮件)称:首先,你在未得到我司确认的情况下又再次擅自使我司的系统无法正常运行。其次,你要暂停功能,我们先要签好协议,并同时安排好我司不能使用功能部分的数据如何切换至我司的别的操作系统,不能说停就停。再次,当初系统我司的整个财务数据和库存数据在贵司开发软件上直接启用,是经过你这边说OK的,说有任何系统操作问题及时纠正,保证我司系统的正常运行。如果当时你说这个不能保证,那么我司也不可能上线整个系统。所以,请在没有做签好协议以及具体衔接功能时,请不要莫名擅自停止功能。

2018年9月10日18:17,乘如公司向八图公司发送名称为“关于擅自暂停关闭已有系统功能以及未完成项目”的邮件(以下简称9101817邮件)称:今天2018年9月10日上午10点登陆系统,无法正常登入“库存管理”这个版块,此版块涉及操作内容:库存查询、库存调整、其他出入库操作(借用归还、领用、其他出库、其它入库)、库存盘点、库存盘点审核、整个库存的出入库记录;下附系统截图。当天2018年9月10日下午16点登录系统,无法正常登入“采购管理”这个版块,此版块涉及操作内容:采购单、采购审核、采购入库、采购付款、供应商管理、汇率管理、采购统计表;下附系统截图。邮件说“库存管理”暂停理由为:功能需要调整,请告知调整到何时可以正常使用,常理应该周日暂停,次日可恢复正常使用,采购管理又怎么说?另外声明一点,这两项功能属于运营运行中的部分,不属于独立财务部分。现有系统上的所有功能,都是要开发者您同意增加,您并未告知收取任何费用事项。合同约定明细中有“甲方有权利督促乙方按规定时间完成项目开发,有增加或修改内容双方需另行协商解决;在不影响进程的情况下,对于甲方的不超过总体工作量5%小规模变动的需求,乙方需要配合甲方需求进行修改”,对于这点,在实际沟通过程乙方并未告知工作量的大小,也未提示告知收取费用问题,答应是与费用收取无关的,也未告知是否影响完成项目进度问题。就双方合作项目的两个项目。×××项目原本是并未完成交付的,合同中有约定但至今未完成的项目,以及交付问题如下:1.合同约定要交付我司“该系统分为两套分别部署、每套对接一个微信服务号。一套支持多门店VeraWang品牌,一套支持多门店多品牌。两套互通功能”,其中“一套支持多门店VeraWang品牌”并未完成。互通功能中要求“一个系统的员工可以把客户信息推送到另外一套系统的员工”也未完成。2.×××项目的源代码与开发文档在我司支付尾款至今一直没有进行交付。就上述两项未完成事项,我司保留贵司违约责任并要求赔偿的权利。ERP项目:1.对于你在前述邮件中提到的关于我方一直拖欠“合同约定功能”内的款项的问题,根据我们双方的合同约定,尾款应在贵司将全功能上线且经我方测试合格后支付。截止本邮件发送日,贵司对于整个财务ERP项目仍未完成全部功能上线,因此我司不存在拖欠款项的情况。2.财务ERP项目中依据合同约定至今未完成的项目,涉及多个部门的问题,所有未完成功能大部分都是涉及产品质量缺陷问题的,详见附件1。请贵司依据合同约定完成财务ERP系统全功能上线并完成交付,完成交付后我方将按照合同约定支付尾款。就上述事项,我方保留追究贵司延期交付的违约责任并要求赔偿的权利。此外,贵司应保证已有的系统模块正常运行。贵司未经我司同意擅自暂停系统已有功能,我司保留追究因此而导致我司运营受到的相应损失的权利。该邮件的附件系名称为“×××&ERP未完成问题汇总20180905.xlsx”的文件,该文件中所标识的涉及×××项目的问题,包括:1.Vera微信端。×××Vera微信端,格式框架与Noras微信端一样。2.两套互通功能。一个系统的员工可以把客户信息推送到另外一套系统的员工。3.门店管理。添加门店时需要区分是否真实门店,因为门店会与官网微信端挂上,所以不是所有门店都会体现,因此需要有个功能可以勾选是否可以外接官网微信端等。

2018年9月11日,乘如公司委托诉讼代理人黄宇周律师向八图公司发送《律师函》,以八图公司尚未完成微信×××移动系统中的部分功能(“一套支持多门店VeraWang品牌的系统”以及互通功能要求中的“一个系统员工可以把客户信息推送到另外一套系统的员工”),且八图公司尚未向乘如公司交付微信×××移动系统的项目成果,存在逾期交付的情况为由,要求八图公司在收到该函之日起的一个工作日内,向乘如公司交付微信×××移动系统开发项目的全部项目成果,包括微信×××移动系统中未完成的部分功能并保证系统正常运行。

2018年10月20日,乘如公司向八图公司发送《关于解除乘如微信×××移动项目技术开发合同的通知函》(以下简称解约函),以八图公司尚未完成微信×××移动系统中的部分功能(“一套支持多门店VeraWang品牌的系统”以及互通功能要求中的“一个系统员工可以把客户信息推送到另外一套系统的员工”);尚未向乘如公司交付微信×××移动系统的项目成果,存在逾期交付的情况;以及八图公司自2018年9月起存在擅自关闭×××系统服务器并且停止×××系统正常服务的行为为由,通知八图公司:乘如公司根据×××合同第五条第三款第四项的约定,于2018年10月20日解除×××合同及其附属协议,并要求八图公司退还乘如公司已支付费用207000元,赔偿乘如公司经济损失170000元。

嗣后,乘如公司与案外人廿驷云信息技术(上海)有限公司(以下简称廿驷云)签订《开发合同》,乘如公司委托廿驷云进行用友×××移动项目开发,开发最终成果支持两套部署,VERA品牌多门店和多门店多品牌,开发总价281600元。2018年11月9日,乘如公司向廿驷云支付首付款42240元。2019年3月19日,乘如公司向廿驷云支付二期款70400元。

乘如公司递交的证据显示,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公证书,乘如公司并就涉案×××项目的功能现状是否符合×××合同约定,向原审法院出具了《答复函》及其附件。在本案原审审理过程中,就涉案×××项目的功能现状是否符合×××合同约定,原审法院组织双方当事人使用八图公司于2019年4月8日递交原审法院的源代码进行了部署和核实。针对上述187公证书、原审法院核实情况,双方当事人各自表达了如下意见:

乘如公司认为:一、其就涉案×××项目的功能现状与×××合同约定内容进行了比对,并向原审法院递交了《答复函》及其附件、187公证书。乘如公司表示在《答复函》附件中标注为“基本一致、一致、完成、已完成”,属于涉案×××项目中完成内容符合涉案×××合同约定的。在《答复函》附件中标注为“未完成、无、未完成存在BUG、未完成无法核实、存在BUG、未做到多门店”,属于涉案×××项目中完成内容不符合涉案×××合同约定的。其中:1.微信端/导航栏/verawang、我的;微信端/明星、客户婚礼/明星案例、案例详情(案例图文详情)、标签、realwedding、案例详情(realwedding图文)、我也要;微信端/预约试穿/预约试穿、品牌列表;微信端/品牌故事/故事详情;微信端/最新活动/活动列表、活动详情;微信端/产品中心/分类筛选、筛选详情、预约试穿;微信端/会员中心/我的婚纱、活动预约、产品预约、我的好友;微信端/自助客服/Verawang、常见问题、留言反馈的内容属于符合涉案×××合同约定的情形。2.微信端/明星、客户婚礼/推荐搭配;微信端/预约试穿/位置定位;微信端/品牌故事/我也要;微信端/最新活动/报名;微信端/产品中心/产品详情、买家秀;微信端/我的婚纱/注册绑定、状态、状态详情、已完成、去评价、分享;微信端/会员中心/绑定识别、个人信息、导购顾问、一键直拨、取消绑定;微信端/门店信息/门店状态;手机管理/角色功能/老板(多家店)、店长(单店)/门店列表、客户管理、添加&编辑客户信息、添加预约、编辑预约、修改接待销售人员、查看接待日志、报表;手机管理/角色功能/员工/客户管理、添加&编辑客户信息、添加预约、编辑预约、查看所有预约、添加接待日志的内容,属于不符合涉案×××合同约定的情形。二、×××合同第二条中就×××项目的主要功能有“该系统分为两套分别部署、每套对接一个微信服务号。一套支持多门店VeraWang品牌,一套支持多门店多品牌。两套互通功能:1.一个系统的员工可以把客户信息推送到另外一套系统的员工。2.老板角色可同时切换两套系统所有门店”的约定。上述“老板角色可同时切换两套系统所有门店”的约定,即为×××合同附件《系统开发明细-上海八图网络科技》中“手机管理/角色功能/老板、店长、员工的内容”,但该内容完成情况乘如公司无法核实。三、在2019年3月26日庭前会议中,八图公司演示的是×××项目后台完成情况,并未演示×××项目微信端完成情况,而根据×××合同约定,×××项目主要内容在微信端。四、就×××项目源代码交付问题,乘如公司认为,×××合同中未约定×××项目源代码的交付需要以其他系统的开发完成为前提,或者需要和其他系统一并交付,因此,不存在×××源代码无法单独交付的问题,故乘如公司不认同八图公司关于×××源代码需要切割交付的表述。在此前提下,乘如公司回复八图公司要求其马上移交×××项目源代码,但乘如公司已在邮件中声明如八图公司只能切割交付,则相应导致的后果应由八图公司承担。五、×××项目的完成情况应当以187公证书的公证内容(即乘如公司《答复函》附件统计结果)为准。六、乘如公司在9101817邮件中提出的针对×××项目中“至今未完成的项目”中“该系统分为两套分别部署、每套对接一个微信服务号。一套支持多门店VeraWang品牌,一套支持多门店多品牌”,该两套系统是指NORAS系统和VeraWang系统,该两套系统的格式框架一致。

八图公司则认为:一、八图公司对于乘如公司确认的符合涉案×××合同约定情形的相关内容并无异议,但对于乘如公司认为不符合涉案×××合同约定情形的相关内容,八图公司认为,其中:(一)部分内容在×××合同履行中,经双方协商取消,包括:微信端/明星、客户婚礼/推荐搭配;微信端/预约试穿/位置定位;微信端/会员中心/取消绑定;微信端/我的婚纱/状态详情、已完成、去评价;手机管理/角色功能/老板(多家店)、店长(单店)/门店列表、修改接待销售人员、查看接待日志、报表;手机管理/角色功能/员工/添加接待日志的内容。(二)部分内容在×××合同履行中,经双方协商变更,包括:微信端/产品中心/买家秀的内容去除“轮播呈现”。(三)部分内容实际已完成,187公证书未正确显示,包括:微信端/品牌故事/我也要;微信端/最新活动/报名;微信端/产品中心/产品详情;微信端/我的婚纱/注册绑定、状态、分享;微信端/会员中心/绑定识别、个人信息、导购顾问、一键直拨;微信端/门店信息/门店状态;手机管理/角色功能/老板(多家店)、店长(单店)/客户管理、添加&编辑客户信息、添加预约、编辑预约;手机管理/角色功能/员工/客户管理、添加&编辑客户信息、添加预约、编辑预约、查看所有预约的内容。二、就×××合同第二条中×××项目的主要功能中“两套互通功能:1.一个系统的员工可以把客户信息推送到另外一套系统的员工”的约定,在×××合同履行中,双方合意不再进行。三、就×××项目源代码交付问题,八图公司认为,×××项目源代码已经与ERP项目源代码相融合,但乘如公司已确认ERP合同未达到交付源代码条件,而乘如公司拒绝有损失的交付×××项目源代码,属于拒绝将×××项目源代码切割后交付。四、×××项目的完成情况应当以法院核实为准。五、NORAS系统和VeraWang系统的格式框架一致,而两者文案不同,需乘如公司自行调整。

针对双方当事人上述有争议部分,原审法院组织双方当事人使用八图公司于2019年4月8日递交原审法院的源代码进行了部署和核实,核实情况为:1.微信端/品牌故事/我也要,有预约按钮,并且可以跳转到预约界面。2.微信端/最新活动/报名,在后台可进行修改,设置预约时间后手机端显示“活动报名”,点击进入可填写预约内容,但无法提交成功。3.微信端/产品中心/产品详情,点击图片可以显示具体详细内容。4.微信端/产品中心/买家秀,可以在后台添加图片,可以在图文详情内随机位置添加图片,不能轮播呈现,后台管理员可编辑备注介绍。5.微信端/我的婚纱/注册绑定、状态、分享,可以注册绑定,“状态”演示过程中能显示“状态2”和“状态5”,经查看源代码确认“状态2”为定制中,“状态5”为已取(归还)。6.微信端/会员中心/绑定识别、个人信息,认可完成。7.微信端/会员中心/导购顾问,八图公司认为“点击我的-会员中心-我的婚纱,在已购婚纱栏下每个订单内有显示专属顾问”,该专属顾问即为导购顾问,但乘如公司不予认可。7.微信端/会员中心/一键直拨,认可完成。8.微信端/门店信息/门店状态,认可具备添加门店功能,但乘如公司认为多门店信息之前就应添加好,而不是现在添加。9.手机管理/角色功能/老板(多家店)、店长(单店)/客户管理、添加