福建省厦门市中级人民法院
民事判决书
(2020)闽02民初1048号
原告(反诉被告):上海兆客信息系统有限公司。住所地:上海市青浦区双联路158号2层L区235室。
法定代表人:罗超,该公司董事长。
委托诉讼代理人:徐玮康,北京盈科(上海)律师事务所律师。
委托诉讼代理人:谢立嘉,北京盈科(上海)律师事务所律师。
被告(反诉原告):厦门宝岛高维科技有限公司。住所地:福建省厦门市软件园二期望海路23号305室B单元。
法定代表人:周真锋,该公司董事长。
委托诉讼代理人:张瑞平,上海锦天城(厦门)律师事务所律师。
委托诉讼代理人:李施娜,上海锦天城(厦门)律师事务所律师。
原告上海兆客信息系统有限公司(以下简称兆客公司)因与被告厦门宝岛高维科技有限公司(以下简称宝岛公司)计算机软件开发合同纠纷一案,向本院起诉。本院受理后,宝岛公司以兆客公司为反诉被告提起反诉,本院经审查予以准许,并依法组成合议庭,对两案合并公开开庭进行了审理。兆客公司的委托诉讼代理人徐玮康、谢立嘉,宝岛公司的委托诉讼代理人张瑞平、李施娜到庭参加诉讼。本案现已审理终结。
兆客公司向本院提出诉讼请求,请求判令:1.解除案涉《宝岛大数据分析项目合同》;2.宝岛公司向兆客公司支付服务费43.20万元;3.宝岛公司向兆客公司支付迟延付款违约金4.32万元;4.宝岛公司向兆客公司支付律师费和差旅费损失4.96万元。事实和理由:兆客公司与宝岛公司于2019年4月11日签订案涉《宝岛大数据分析项目合同》,由兆客公司向宝岛公司提供大数据分析平台产品开发服务。合同约定大数据分析平台项目总金额72万元(含税),分四期支付。合同签订后,兆客公司依约为宝岛公司开发产品,宝岛公司也向兆客公司支付了首期服务款28.80万元。2019年8月16日,案涉产品开发完成,兆客公司将产品交付宝岛公司,同日宝岛公司正式上线使用。2019年8月16日,兆客公司通过电子邮件提请宝岛公司对该项目进行检测验收。但宝岛公司虽使用该系统却未按约及时履行验收义务。即使在兆客公司催告后,宝岛公司仍拒绝履行验收义务,已经严重违反了合同约定,并导致合同无法继续履行,故诉至法院,提出如上诉讼请求。
宝岛公司针对兆客公司的本诉辩称,第一,兆客公司至今未完成案涉大数据分析平台系统的全部开发内容,且未真正向宝岛公司交付案涉系统。兆客公司在庭审中亦明确表示不交付源代码,因此,应认定兆客公司没有履行且拒绝履行系统交付义务。第二,兆客公司实际开发的成果不符合案涉合同约定,比如大数据平台和搭建的数据仓库存在质量问题,案涉系统的基础数据、客户数据在从CRM数据抽取到Impala等中间库后,与实际数据不符,导致须以相应数据为基础进行分析展示的BI图表的分析结果错误。经宝岛公司指出和交涉后,直至2020年1月兆客公司仍未能修改完成,兆客公司已构成根本违约。第三,兆客公司本应在2019年6月的第3周届满前完成案涉系统的全部开发内容,通过UAT测试并提交测试报告,在2019年6月底通过系统验收并提交系统验收报告。但兆客公司的实际开发进度严重逾期和滞后于约定进度,应依约承担违约责任。第四,兆客公司自认案涉系统系其与第三方网易(杭州)网络有限公司合作开发完成,但并未举证证明,故其已侵犯第三方版权,严重违反我国著作权法和案涉合同第5、6条款约定。宝岛公司有权解除案涉合同,且无须支付任何开发费用。第五,兆客公司至今未能交付全部、合格的工作成果,也不具备交付技术与能力,宝岛公司签订案涉合同的根本目的已落空。宝岛公司不仅不用向兆客公司支付剩余款项,还有权要求兆客公司承担相应违约责任。
宝岛公司向本院提出反诉请求,请求判令:1.解除案涉《宝岛大数据分析项目合同》;2.兆客公司向宝岛公司返还已支付的服务费28.80万元及资金占用费(资金占用费以28.80万元为基数,分两段计算,第一阶段以中国人民银行同期贷款利率为计息标准,自2019年5月17日起计算至2019年8月19日止为3271.2元;第二阶段以中国人民银行授权全国银行间同业拆借中心公布的贷款市场报价利率(LPR)为计息标准,自2019年8月20日起计算至实际返还全部款项之日止,暂计至2020年9月3日为14441.6元);3.兆客公司向宝岛公司支付违约金8.64万元;4.兆客公司向宝岛公司支付律师费5.50万元;5.兆客公司承担诉讼费用。事实和理由:宝岛公司承接案外人星创视界(中国)集团有限公司(下称星创视界公司)宝岛BI项目,并与兆客公司签订案涉合同,约定兆客公司向宝岛公司(实际使用人为星创视界公司)提供大数据分析平台产品开发服务,服务费总金额为72万元。项目合同签订后,宝岛公司依约于2019年5月17日向兆客公司支付了首期款项28.80万元。但兆客公司却无法按时完成开发任务,且已开发的部分不符合约定和要求,存在诸多重大错误和瑕疵。经宝岛公司反复沟通,兆客公司一直无法完成整改,仅一味反复、单方要求宝岛公司给予“合格”的验收结果并支付费用。兆客公司上述行为已严重违反合同约定,致使宝岛公司签订项目合同的根本目的无法实现,严重影响星创视界公司的业务经营管理计划和需求,给宝岛公司和星创视界公司造成严重损失。因此,依照案涉合同4.2等条款的约定及合同法相关法律规定,宝岛公司有权解除项目合同,兆客公司应返还宝岛公司已支付的全部费用并支付相应的资金占用费。兆客公司还应依约支付宝岛公司已支付金额的30%作为违约金,并依案涉合同4.3条款的约定赔偿律师费5.50万元。
兆客公司针对宝岛公司的反诉辩称,应驳回宝岛公司所有反诉请求。案涉合同没有约定项目完成期限,宝岛公司之前也未提出项目逾期的异议。兆客公司已经完成了全部功能性开发工作,项目需求书中约定的软件基本功能均可运行,没有功能瑕疵,应当认为兆客公司已经基本完成了合同约定的工作内容。宝岛公司所谓的标签错误不属于案涉合同约定项目的开发范围,其将标签验收强制前置在案涉合同项目验收之前缺乏依据。
当事人围绕诉讼请求依法提交了证据,本院组织当事人进行了证据交换和质证。对当事人无异议的证据,本院予以确认并在卷佐证。对有争议的证据,本院综合分析如下:
1.关于宝岛公司提交的证据4、证据5中除了聊天记录之外的证据。本院认为,上述证据系宝岛公司单方制作的材料,尚无证据证明兆客公司予以确认,故对其证明目的,本院不予采信。
2.关于宝岛公司提交的证据9《验收情况的说明》。本院认为,上述证据系上海叽叽网络科技有限公司(以下简称叽叽公司)单方制作的材料,尚无证据证明兆客公司予以确认,故对其证明目的,本院不予采信。
根据当事人陈述和经审查确认的证据,本院认定事实如下:
(一)案涉《宝岛大数据分析项目合同》的内容
2019年4月11日,宝岛公司(甲方)与兆客公司(乙方)签订案涉《宝岛大数据分析项目合同》,主要约定:1.1本合同规定由兆客公司向宝岛公司提供大数据分析平台产品及服务,整体实施范围在《附件一:宝岛大数据分析平台项目系统实施-报价单》中具体约定。2.本合同应自双方签字盖章后生效,合同有效期为2019年4月11日至项目实施上线三个月后截止。3.1此项目含大数据分析平台产品及实施服务费用。产品及实施服务金额总计(含6%增值税)72万元。3.2.1在合同签署后5个工作日内,兆客公司出具发票,宝岛公司支付项目总金额的40%,金额为28.80万元。3.2.2在项目启动实施后,系统开发并完成UAT测试合格后,兆客公司出具发票,宝岛公司支付实施服务金额的20%,金额为14.40万元。3.2.3系统正式上线并签字确认后,兆客公司出具发票,宝岛公司支付实施服务金额的30%,金额为21.60万元。3.2.4系统正式上线试运行三个月后,兆客公司出具发票,宝岛公司支付实施服务金额的10%,金额为7.2万元。3.3宝岛公司若有新需求或者变更,将由兆客公司评估相应工作量,邮件提交服务工时单(附件二:宝岛大数据分析平台服务工单、验收单),宝岛公司审议批准后,兆客公司实施开发,每月按照实际确认的工单结算。该条款下还附有工作流程图,主要是叽叽公司提报需求,宝岛公司评估需求,宝岛公司与兆客公司沟通后双方确认需求,叽叽公司与宝岛公司验收确认后向兆客公司支付款项等。4.1宝岛公司应按时履行验收和付款义务,如因宝岛公司经兆客公司在合理时间内书面催告仍没有按照约定的时间签字确认需求及验收,导致项目延迟且项目进度款延迟支付,或宝岛公司已签字验收但无正当理由拒不付款,则每拖延一日,宝岛公司应向兆客公司支付延迟支付款项的0.3%作为违约金,但是此项违约金总额不得超出全部合同总金额的6%。若宝岛公司逾期付款超过30个工作日,兆客公司有权解除合同且不承担任何责任,而宝岛公司仍有义务支付兆客公司已经完成服务部分的服务费及上述违约金。4.2兆客公司应按合同的约定按时履行义务(本合同第11条规定的不可抗力除外),完成相应工作、交付约定文件或设计开发成果,如果因为兆客公司的原因,兆客公司未能在本合同约定时间内提供相应服务,则每延迟一日按照本阶段已经支付金额的0.3%计算滞纳金。但不能超过本合同约定金额的6%。若兆客公司超过10个工作日仍无法提供合格的项目成品时,宝岛公司有权解除协议,要求兆客公司支付本阶段已经支付金额的30%作为违约金,违约金的支付将由宝岛公司在下次付款时扣除。如果因兆客公司原因造成协议解除,则兆客公司应自协议解除之日起10日内向宝岛公司支付违约金。4.3本合同项下所称的损失均包括因一方违约行为而产生的律师费、诉讼费、鉴定费、差旅费,不包括任何一方预期或可能产生的费用。5.知识产权。兆客公司提供的系统基础模块由兆客公司享有著作权,兆客公司为宝岛公司单独订制开发的系统,著作权及使用权归宝岛公司所有,在未得到宝岛公司书面授权的情况下,兆客公司不得将其交付于除宝岛公司关联公司之外的其他第三方使用。如兆客公司开发的系统侵犯第三方合法权利,则由兆客公司承担相应责任。6.保密条款。兆客公司声明并保证其没有也不会侵犯或盗用与其履行本合同下的服务相关的任何第三方的任何版权、专利、商标、商业秘密或者其他财产权。若任何第三方对兆客公司提供的产品提出侵犯版权、专利、商标、商业秘密或其他财产权,兆客公司应负责解决并承担一切法律和经济责任,宝岛公司不承担责任。7.1下列行为的发生将构成对本协议的严重违约,并赋予非违约方终止本协议或者终止在以下行为发生之时未完成的任何订购单的权利。(1)一方未履行本协议项下的任何义务,且在受到对方书面通知后10天内未纠正此等不履行行为。(3)未经宝岛公司事先书面同意,兆客公司转让本合同项下的权利义务。7.2合同期内,宝岛公司有权随时跟进、检查本协议项目开展。若兆客公司实际阶段性工作进度较《项目实施计划》的约定拖延超过10天,或者兆客公司阶段工作成果不能满足《项目需求说明书》阶段要求的,为避免损失扩大,宝岛公司可提前终止本协议,除项目已经完成部分按照约定付款,宝岛公司有权要求兆客公司退还合同未完成部分的款项,并要求兆客公司支付相应的滞纳金和违约金。7.3项目实施过程中,若《项目需求说明书》签收确认后,宝岛公司需求发生重大变化导致本协议的履行已经没有实际意义的,宝岛公司需提前10天内向兆客公司提出,变更项目内容或提前终止本协议,宝岛公司应向兆客公司支付无异议部分应付未付款项。7.4任何情况下,除了第8条明确规定的事由外,任何一方不得以任何理由在本协议届满之前停止履行。8适用法律。具体包括管辖法院的约定。9对违约的弃权。任何一方对对方违反本协议某项规定之违约的同意或弃权,无论明示或者暗示,均不得被视为对任何其他的、不同的或后续的违约或不遵守协议的同意或者弃权。11本合同,包括其附件及其被签署的附表,构成双方间就此标的事项的最终表述,并取代之前与此相关的所有合同、陈述或理解。本合同只可以双方签署书面补充合同的方式修改或修正。12其他规定。除非以一份由双方被授权的职员书面单独签署的合同进行修改外,本合同不得被修改。
另查明,《宝岛大数据分析项目合同》附件一(宝岛大数据分析平台项目系统实施-报价单)载明产品原价85.40万元,中间优惠价74.094万元,最终优惠价为72万元(报价不含项目差旅费)。其中,服务内容有三项,具体为:A:标准兆客大数据平台产品,加税后折扣价为47.70万元。B:大数据分析平台基础实施(分为B1:大数据分析平台基础实施、B2:项目实施管理),成本价分别为18.90万元、6万元,加税后折扣价分别为20.034万元、6.36万元。C:产品2天使用培训,为数据BI产品培训服务,加税后折扣价0。
《宝岛大数据分析项目合同》附件一后附有《宝岛CRM升级费用明细》,对前述服务内容B、C进行细化。(1)B分为B1、B2。B1:大数据分析平台基础实施,成本价18.90万元,分为两个模块:B1.1数据仓库搭建、B1.2客群洞察分析。B1.1数据仓库搭建模块包含4个功能:搭建HADOOP平台、现有CRM数据同步到HADOOP平台、迁移过程数据验证、分析更加灵活且可支撑更大数据量。B1.2客群洞察分析模块包括4个功能:基于客户标签进行客户分组、人群细分管理、人群洞察分析、人群结果数据导出。(2)B2项目实施管理成本价6万元,分为两个实施环节。B2.1系统开发环节(3.5万元)包括项目进度管理与汇报、项目风险与沟通管理、项目测试与质量管理、测试用例与数据准备、UAT操作培训管理。B2.2系统上线环节(2.5万元)包括上线部署管理、数据初始化工作、正式上线。(3)C系统培训,分为大数据平台产品培训(报价5000元)、运营分析报表开发技术支持(按照实际发生工作量结算)。
《宝岛大数据分析项目合同》还附有《分析图表说明》。《分析图表说明》有A人群洞察图表(含概览、RFM、忠诚度、活动偏好、需求特征模块),B消费特征图表(含购物篮分析、B/L分析);C活动报告图表。每张图表均下分如上若干次图表,每个次图表亦下分若干小图表,共计82个小图表,每个小图表均有详细载明图表名、图表类型、时间周期、维度、指标。
(二)案涉《星创视界(宝岛)BI项目需求说明书》的内容
2019年5月30日,宝岛公司与兆客公司签订《星创视界(宝岛)BI项目需求说明书》。其开头载有:“2019年5月6日:V1.0版本;2019年5月13日:V1.1版本:P5修改导入数据日期、忠诚度名字;P29、P34按5月13日SUSAN邮件要求修改图表说明”。其后还载明如下内容:1.1此文档介绍兆客公司为星创视界宝岛品牌搭建的BI系统,并对各个子模块及其功能模块、系统流程进行需求概要说明,同时非功能性需求以及合作中待解决的问题也将作为此文档的一部分被记录在案。2.星创视界BI系统定位:不但为集团总部提供灵活可自行配置图表的BI平台工具,同时为大区至门店在CRM平台提供BI图表展示分析功能。3.数据采集全部来源于CRM现有数据库,将CRM现有数据库平移到Impala数据库并持续按周期更新数据。4.BI图表需求(具体内容下一段展开)。5.BI平台功能。分为五部分:(1)报告(编辑报告、刷新数据、书签、导出、发布、全屏);(2)驾驶舱(下钻图表、导出和查看数据);(3)数据源(数据模型、数据连接);(4)项目中心(权限管理、血缘管理、回收站);(5)用户中心&消息提示。6附件,包括附件一(宝岛BI项目图表详情);附件二(人群分租定义);附件三(卡登记变迁说明);附件四(各品类价格带定义);附件五(年龄段定义);附件六(标签说明);附件七(商品层级分类)。
《星创视界(宝岛)BI项目需求说明书》之“4.BI图表需求”部分开头载明:“本期BI图表共分为三个模块(A人群洞察、B消费特征、C活动报告),三个模块会同时在BI平台以及CRM平台展示,如在BI平台这三个模块中新增、删除图表则CRM平台会同步修改。如新增模块,则只会在BI平台中展示,CRM平台中不会展示,如需展示需要额外做集成开发。该部分还载明,案涉项目BI图表细分为82个小图表:(1)人群洞察页签(含概览、RFM、会员忠诚、活动偏好、需求特征),包括51个小图表;(2)消费特征页签(含购物篮洞察、B/L对比分析),包括18个小图表;(3)活动报告页签,包括13个小图表,特别说明只能在CRM中展示,看单个活动效果。以上82个小图表均有详细载明图表名、图表类型、维度、指标、说明、确定修改结论、修改点。此外,个别图表详细说明、图表详细定义均载明查看前述六个附件。
《星创视界(宝岛)BI项目需求说明书》之“4.BI图表需求”部分还特别载明:(说明)由于BI项目需求特点,需要对现有CRM标签进行修改以及新增一些标签,清单和逻辑请查看《附件六:标签说明》,需与CRM团队单独处理,不在此次项目范围之内。《附件六:标签说明》将标签细分三个类型:价值贡献、交易行为、新增标签。前两个类型具体包含各类客户忠诚度、活跃度、累计折扣率等15个标签,后一个类型包括各类客户价值度、DEFM类客户活跃度等9个标签,24个标签均有对应的备注栏加以说明。
(三)关于《CRM系统运维合同》的相关事实
2019年2月,宝岛公司与兆客公司签订《CRM系统运维合同》,内容主要载明如下:1.1本合同规定了兆客公司向宝岛公司提供CRM系统运维服务,整体实施范围在附件一(宝岛运维费用报价)中具体约定。2.本合同应自双方签字盖章后生效,有效期为2019年2月19日至2021年2月19日。3.3宝岛公司若有新的需求或者变更,将由兆客公司评估工作量,邮件提交运维服务工时单(附件二:厦门宝岛高维CRM系统运维服务工单、验收单),宝岛公司审议批准后,兆客公司实施开发,每月按照实际确认的工单结算。该条款下还附有工作流程图,主要是叽叽公司提报需求,宝岛公司评估需求,然后宝岛公司与兆客公司进行沟通后双方确认需求等。此外,虽然《CRM系统运维合同》内将附件二标题称为“厦门宝岛高维CRM系统运维服务工单、验收单”,但《CRM系统运维合同》所附附件二载明的标题为“厦门宝岛高维CRM系统运营/运维服务验收单”。
2019年6月25日,兆客公司向宝岛公司发送的一封邮件载有如下主要内容:(昨天)双方在标签的工作量上进行了沟通,之前在工作量上有分歧的部分已经沟通清楚。请宝岛公司尽快对标签的报价进行审批,以免影响项目上线。邮件内有一个附件,标题为《宝岛CRM项目修改_新增标签费用清单20190625.xlsx》。附件内有两张表格:表1《宝岛CRM项目修改&新增标签费用明细》、表2《厦门宝岛高维修改&新增标签服务验收单》。表1载有开发内容、实施管理保障两大栏内容。表1的开发内容栏有修改标签逻辑、新增标签两大项,两大项下又细分了24个小标签,具体包含各类客户忠诚度、活跃度、累计折扣率等15个修改标签,以及各类客户价值度、DEFM类客户活跃度等9个新增标签,每个小项均有对应的说明、报价。表1的实施管理保障栏载有需求调研、系统开发、系统上线后三个环节及其对应的报价。表1下方还载明“此份报价单不含运维费用”“实施总计(含6%增值税)9.9746万元”。表2是针对表1所载24个小项内容的空白验收单。
2019年7月3日,宝岛公司回复兆客公司前述6月25日的邮件,内容主要为:CRM项目修改&新增标签费用清单已向资讯长和马总请示,审批通过,请推进项目后续操作。
(四)关于案涉合同履行的相关事实
2019年4月16日,兆客公司向宝岛公司发送标题为《宝岛BI平台项目启动会20190415》的PPT文件一份。该文件首页标题为“星创宝岛SCRM BI平台项目启动会”,项目背景介绍涵盖了CRM系统、BI平台功能等内容;项目计划&交付物内载明2019年4月19日准备硬件资源、2019年6月系统上线等计划。
2019年5月17日,宝岛公司支付服务费28.80万元。
2019年8月16日,兆客公司将“宝岛大数据分析平台”软件在阿里云服务器上线,并向宝岛公司发送标题为《宝岛BI项目成功上线》的邮件,内容主要为:宝岛BI系统以及CRM嵌入功能已经正式上线。本次上线内容除BI平台标准功能,还包括三个模块的定制化图表:人群洞察、消费特征、活动报告。BI平台链接:htt://39.100.112.195/dash/folder/1,账号密码之前已发送,保持不变。新建的门店未来在CRM中看到的图表,必须要在这三个模块之中,可以新增TAB,这样门店在CRM中才能看到。如新增模块并且要嵌入CRM中,需要额外开发。目前BI平台的数据为一般会员量,标签数据初始化已经完成,需要将剩余一半会员导入Impala,预计在周一可以完成,不影响BI平台使用。BI平台数据全量导入后,请校验下各模块图表数据及CRM嵌入部分情况,没有问题的话请邮件回复一下,作为BI项目的验收。
另查明,双方多次通过微信群、邮件进行业务沟通。对于标签问题,宝岛公司提出“BI、CRM的计算逻辑也要修改”,兆客公司认可后称“BI计算金额的逻辑是通过CRM来的,要改的话也要修改CRM逻辑”。对于BI平台展示数据与CRM系统数据不一致问题,兆客公司于2019年10月提出“BI平台展示的数据采自Impala数据库,Impala的数据需与CRM数据同步,但两者数据同步需要以数值逻辑一致为前提,故BI平台数据校验应以Impala数据库为参照,而不是直接跟CRM数据校验”,并提供了Impala数据库账号和密码供宝岛公司校验。后,宝岛公司将BI平台展示的数据与Impala数据库校验后提出若干问题,兆客公司进行了回应。
2019年11月18日,宝岛公司向兆客公司发送标题为“BI标签相关修改”邮件一封,兆客公司于2019年12月25日回复“麻烦确认以下逻辑,我们是否理解正确”,及相应的便签修改点内容。宝岛公司于2019年12月26日邮件回复“内容确认,没有问题”。
2019年12月12日,兆客公司通过微信群询问“BI的验收,除了这些标签,没有问题了吧?”宝岛公司回复“先验收标签,再验收BI图表,然后是嵌入SCRM的验收”。兆客公司回复“好的,先核对标签”。2019年12月13日,宝岛公司提出标签仍存在问题,兆客公司回复BI验收完再修正标签问题。后双方针对标签问题又进行了多次沟通。
2019年12月18日,兆客公司询问“标签今天有发现问题吗”,宝岛公司回复“还没看,年底了,事情多,下午应该有时间”。2019年12月20日,兆客公司提出标签内容改动的地方大,不但要改标签逻辑,接口也要改。宝岛公司询问如果要改的是否需要再另外报价收费以及预估需要多久。2019年12月25日,兆客公司向宝岛公司索取确认计算逻辑的邮件一封。2020年1月2日,兆客公司提出13个标签修改、自行测试通过了,要求宝岛公司自行测试下。宝岛公司回复“最好是测一下,不过要下周”。2020年1月3日、1月6日、1月8日,兆客公司分别催促宝岛公司进行标签测试,宝岛公司均以人员没空或者未在岗为由未开展。2020年1月17日,宝岛公司负责联系的员工张娜被兆客公司移出微信群。
2020年2月14日,兆客公司向宝岛公司发送邮件意见,以宝岛BI系统以及CRM嵌入功能自2019年8月上线至今已经6个月为由,催促对方尽快对该系统进行验收,并要求对方在2020年2月23日前对系统进行验收并给出意见。若有异议,要求2月23日前一次性完整提出,逾期未给出验收意见的,将视为验收合格。该邮件也包含前述2019年8月16日的邮件内容。
2020年2月15日,宝岛公司回复兆客公司前述2020年2月14日的邮件,内容主要为:BI项目自上线以来,一直处于验收不通过的状态,直到2020年1月8日依然有很多问题尚未解决。故在1月中判定为失败项目,不会再验收项目。叽叽公司在2019年12月底曾向兆客公司提出了系统问题,但兆客公司一直没有回复,希望兆客公司一并回复。问题主要是:1.因兆客公司SCRM系统的问题,导致系统在计算消费者积分的时候产生错误,兆客公司承诺要查清问题,但是一直没有答复。该问题已经造成了损失,会向兆客公司追讨。2.兆客公司SCRM系统每个月会收取维护费用,请兆客公司告知具体维护内容。因为没有看到维护内容,已经在1月份告知兆客公司,希望终止维护合同,并考虑向兆客公司追讨维护费用。
2020年2月15日,兆客公司回复宝岛公司前述2020年2月15日邮件到:1.兆客公司一直在催促验收,从未接到宝岛公司任何验收不通过的正式书面告知。仅凭一句简单的“验收不通过”或“判定为失败项目”,不是合法合规的验收结果。2.BI系统项目和新增标签CRM项目为不同项目,BI项目应根据项目范围进行单独的功能性验收,不应与新增标签CRM项目测试混同。3.兆客公司再次要求在2月23日之前对BI系统进行验收并给出正式的书面验收意见。4.运维服务的服务范围应参考双方CRM运维合同约定。兆客公司一直有提供维护服务。宝岛公司拖延支付合同费用已经三个月余,应依约支付。5.因为宝岛公司之前停用了兆客公司的系统账户和权限,导致兆客公司无法继续查清和解决消费积分问题,希望宝岛公司给予配合好派员跟进。
(五)关于涉案软件的演示比对等情况
庭审中,双方同意以《星创视界(宝岛)BI项目需求说明书》作为开发功能需求依据,与当庭登陆的“宝岛大数据分析平台系统”进行演示比对,校验数据以2019年12月26日4时的中间库数据为准。排除双方争议的24个标签内容,宝岛公司认为BI图表存在问题,认可其他项目软件功能可以实现。本院围绕BI图表的82个约定功能需求,组织双方进行了现场演示。演示结果为72个BI小图表符合功能需求约定,10个BI小图表数据出错。此外,宝岛公司主张24个标签也属于案涉项目约定的开发需求,应当一并进行演示比对。兆客公司辩称24个标签与案涉项目开发需求无关,也不具备比对的条件。
庭审中,宝岛公司主张该系统登陆时下方标注有“网易公司版权所有”字样,可以证明案涉软件系盗版产品,违反了案涉合同约定,应当认定兆客公司存在根本违约行为,且为了查清案情,应当追加网易(杭州)网络有限公司作为本案第三人应诉。兆客公司主张案涉“宝岛大数据分析平台系统”由其与网易(杭州)网络有限公司合作开发,版权方为网易(杭州)网络有限公司。
庭审中,兆客公司确认起诉前未向宝岛公司交付案涉项目的软件源代码,其起初辩称依约无需交付软件源代码,只要软件在服务器上安装部署后就已完成交付义务,后来又辩称交付源代码仅是附随义务,愿意当庭提交给宝岛公司。宝岛公司主张交付软件源代码是合同主要义务,兆客公司当庭同意交付已经超过交付时间,宝岛公司不愿意接收源代码。
为了本案诉讼,兆客公司与北京盈科(上海)律师事务所签订委托代理合同,支付了约定的律师代理费4.46万元。宝岛公司与上海锦天城(厦门)律师事务所签订委托代理合同,支付了约定的一审律师代理费5.50万元。
以上事实,有兆客公司提交的《宝岛大数据分析平台项目合同》及其附件、《CRM系统运维合同》、委托代理合同及律师费发票、双方往来邮件,宝岛公司提交的《宝岛大数据分析项目合同》及其附件、《星创视界(宝岛)BI项目需求说明书》、网银电子回执、(2020)沪长证经字第2855号公证书、(2020)沪长证经字第2856号公证书、法律事务委托合同、银行进账单、厦门增值税专用发票、双方往来邮件及微信聊天记录等证据以及庭审笔录在案佐证,可以认定。
本院认为,本案为计算机软件开发合同纠纷,双方所涉法律事实发生在民法典实施之前,根据《最高人民法院关于适用〈中华人民共和国民法典〉时间效力的若干规定》第一条第二款规定,应适用当时的法律、司法解释的规定,但是法律、司法解释另有规定的除外。《中华人民共和国合同法》第八条规定,依法成立的合同,对当事人具有法律约束力。当事人应当按照约定履行自己的义务,不得擅自变更或者解除合同。第六十条规定,当事人应当按照约定全面履行自己的义务。当事人应当遵循诚实信用原则,根据合同的性质、目的和交易习惯履行通知、协助、保密等义务。本案中,兆客公司与宝岛公司签订的涉案合同系双方当事人的真实意思表示,且未违反效力性强制性规定,应为合法有效,本院予以确认,双方均应依法依约行使权利并履行义务。综合双方本反诉的分歧意见,本案的争议焦点为:1.案涉24个标签修改任务的法律关系定性;2.双方是否存在违约行为及合同是否应予解除;3.双方的诉求是否能够得到支持。以下逐一评析。
(一)案涉24个标签修改任务的法律关系定性
宝岛公司主张案涉24个标签修改任务是《宝岛大数据分析项目合同》项下开发任务的一部分。对此,兆客公司不予认可,主张标签修改任务是另案《CRM系统运维合同》项下的法律关系,与本案讼争合同无关。
本院认为,第一,《星创视界(宝岛)BI项目需求说明书》明确约定“由于BI项目需求特点,需要对现有CRM标签进行修改以及新增一些标签,清单和逻辑请查看《附件六:标签说明》,需与CRM团队单独处理,不在此次项目范围之内”。而兆客公司2019年6月25日向宝岛公司发送的邮件及宝岛公司2019年7月3日的回复邮件中涉及的表1所载明的24个标签需求,均与上述《附件六:标签说明》载明的24个标签功能内容完全相同,可见案涉标签修改依约“不在此次项目范围之内”。第二,《宝岛大数据分析项目合同》3.3条约定若有新功能需求变更,所应采取的审批服务工时单为附件二《宝岛大数据分析平台服务工单、验收单》。相较之下,兆客公司2019年6月25日向宝岛公司发送的邮件及宝岛公司2019年7月3日的回复邮件所采用的审批表2《厦门宝岛高维修改&新增标签服务验收单》与前述表格不同,反而与《CRM系统运维合同》所载的附件二《厦门宝岛高维CRM系统运营/运维服务验收单》大致相同。综上,无论是从双方原先合同约定,还是事后实际履行看,双方已经明确将24个标签修改任务排除在案涉宝岛大数据分析项目之外,两者是独立的合同关系,不能混同为一体。宝岛公司关于案涉24个标签修改任务是案涉项目一部分的主张,与事实不符,本院不予采信。
虽然如前所述,24个标签修改与案涉宝岛大数据分析项目开发分属两个独立合同,但是基于以下理由,两者具有一定关联性,属于普通关联性合同。首先,《宝岛大数据分析项目合同》约定“本合同规定由兆客公司向宝岛公司提供大数据分析平台产品及服务”。《星创视界(宝岛)BI项目需求说明书》约定“数据采集全部来源于CRM现有数据库,将CRM现有数据库平移到Impala数据库并持续按周期更新数据”。可见,双方签订合同时就已知晓案涉宝岛大数据分析项目需要依托CRM数据。其次,结合兆客公司关于“BI平台展示的数据采自Impala数据库,Impala的数据需与CRM数据同步,但两者数据同步需要以数值逻辑一致为前提”的陈述及宝岛公司的对应回复等微信聊天内容可知,双方均已知晓要实现CRM数据与案涉项目平台数据同步就必须修改标签。换言之,案涉24个标签修改是案涉项目得以实施的基础,否则案涉项目的BI平台数据必然无法与CRM数据同步,对此双方均事先知晓,且在知晓下的前提下,双方仍将标签修改与案涉项目进行分开约定。此种安排系双方当事人的真实意思表示,双方均应依约履行,并承当相应的合作风险。
(二)双方是否存在违约行为及合同是否应予解除
(1)宝岛公司是否存在违约问题。承前所述,尤其是宝岛公司也一直向兆客公司主张“先验收标签,再验收BI图表”,可见宝岛公司是明知标签修改的重要意义。但在兆客公司2019年12月18日、2020年1月3日、2020年1月6日、2020年1月8日分别催促宝岛公司测试标签时,宝岛公司或以人员没空或以未在岗为由未予直接回应。之后双方在邮件沟通中,宝岛公司未再对24个标签修改任务提出具体修改要求。2020年2月14日,在兆客公司通过邮件催促宝岛公司最迟在2020年2月23日前对案涉项目提出意见下,宝岛公司明确不再进行案涉项目验收。在兆客公司进行解释并提出异议下,宝岛公司未再回复,也未恢复此前兆客公司被停用的账户权限。可见,宝岛公司经兆客公司合理催告后怠于测试验收、停用兆客公司账户是案涉项目难以推进的主要原因之一,其行为已构成违约,应承担相应的违约责任。此外,即便双方曾约定了开发周期,但是双方事后达成的新开发需求必然对开发周期有所影响,且在宝岛公司怠于履行测试、验收,并停用兆客公司账户权限等协作义务下,仍然要求兆客公司遵守原先开发周期明显不合理,故对宝岛公司关于兆客公司迟延履行等主张,本院不予支持。
(2)兆客公司是否存在违约问题。首先,2019年8月16日,兆客公司通过邮件告知宝岛公司“宝岛BI项目成功上线”,但邮件内容反映该软件上线仅为测试所需。且从双方事后的多轮沟通,尤其是事后还达成标签修改任务看,此时(2019年8月16日)BI平台数据根本不具备与CRM数据核验一致的条件。兆客公司主张此时已经完成了开发任务且交付完成,不符合客观事实,本院不予支持。同时,兆客公司作为开发方,具有一定的技术优势。其明知标签修改是案涉项目开发的前提,仍故意引导宝岛公司在后续开发中忽视标签进行测试验收,并通过将负责联系的宝岛公司员工踢出聊天群等方式拒绝双方进一步沟通,均有违诚实守信的合同原则。这不仅是导致双方产生后续争议的重要原因之一,也是案涉项目难以推进的主要原因之一。其次,基于软件开发的特点,将案涉软件部署到服务器是交付的一种方式,但并非一上线部署就履行完毕了全部软件交付义务,尤其是部署上线仅为测试之用,而非交付最后的合格产品。《宝岛大数据分析项目合同》5知识产权条款约定“兆客公司为宝岛公司单独订制开发的系统,著作权及使用权归宝岛公司所有”。在双方无特别约定下,案涉项目系统的著作权显然应当包括系统源代码,但兆客公司在本案起诉前并无向宝岛公司交付源代码的意愿,且庭审中还主张“版权方为网易(杭州)网络有限公司”,此等行为明显违反合同前述约定,构成违约,应当承担相应的违约责任。
(3)案涉合同是否解除问题。经当庭演示的情况表明,案涉项目系统基本可以运行,且82个小图表需求中,仅10个数据出错,72个符合功能需求约定。可见前述功能瑕疵未导致软件主体功能无法正常使用,且软件还处于修改完善阶段,若是双方对标签修改约定能善意履行,宝岛公司积极履行测试、验收义务,兆客公司诚信披露工作进展,那么在整体项目最后完成前兆客公司仍有机会持续调整优化性能及最终交付合格软件。据此,从在案证据看,兆客公司已经履行了基本符合约定的阶段性任务,至于案涉项目无法如期完工,宝岛公司、兆客公司均有责任。简言之,双方在预知标签修改排除在案涉项目外有合同风险下,本应共同善意履行合同,共同推进标签修改以促成BI平台与CRM系统的数据同步,以实现BI平台准确展示数据的合同目的。但如前所述,双方履行都不符合合同约定,都违背了合同应负的义务。现双方均主张解除合同,可见双方更无继续履行合同的意愿。基于此,加之《宝岛大数据分析项目合同》的履行涉及到较多的协作事项需双方善意履行,涉案合同生效至今历经二年有余,从大数据分析平台系统的更迭速度、态势等客观因素分析,宝岛公司的合同目的已难以实现,故结合本案的实际情况,本院确认涉案合同于本判决生效之日起解除。
(三)各方的诉求能否得到支持问题
双方当事人的诉求及观点已在前述,不再赘引。《中华人民共和国合同法》第九十七条规定:“合同解除后,尚未履行的,终止履行;已经履行的,根据履行情况和合同性质,当事人可以要求恢复原状、采取其他补救措施、并有权要求赔偿损失。”《宝岛大数据分析项目合同》约定案涉项目的原价为85.40万元,中间优惠价为74.094万元,最终优惠价为72万元(报价不含项目差旅费)。根据约定,项目的三个服务内容及对应的中间优惠价分别为:A标准兆客大数据平台产品(47.70万元)。B大数据分析平台基础实施,由B1大数据分析平台基础实施(20.034万元)、B2项目实施管理(6.36万元)组成。B1分为B1.1数据仓库搭建、B1.2客群洞察分析。B1.1包含4个功能:搭建HADOOP平台、现有CRM数据同步到HADOOP平台、迁移过程数据验证、分析更加灵活且可支撑更大数据量。B1.2包括4个功能:基于客户标签进行客户分组、人群细分管理、人群洞察分析、人群结果数据导出。B2分为B2.1系统开发环节(成本价3.5万元,包括项目进度管理与汇报、项目风险与沟通管理、项目测试与质量管理、测试用例与数据准备、UAT操作培训管理),以及B2.2系统上线环节(成本价2.5万元,包括上线部署管理、数据初始化工作、正式上线。C系统培训,分为大数据平台产品培训(报价5000元)、运营分析报表开发技术支持(按照实际发生工作量结算)。
本院认为,涉案合同签订后,宝岛公司依约履行了其首期28.80万元的付款义务,兆客公司亦着手开发软件。但在合同履行中,双方均存在一定的违约行为,故应综合权衡案涉项目工作量、约定的优惠价、项目的开发进度,结合合同解除后,兆客公司客观上无需继续进行修正、维护、开发,其客观上减少了需要付出的劳动等情况确定兆客公司应获得的工作对价。具体分析如下:第一,关于A标准兆客大数据平台产品的工作对价。虽然因为标签修改问题尚无法直接将CRM数据与BI数据进行一一核验,但是经庭审比对案涉82个BI小图表中,仅10个BI小图表数据出错,结合标签修改双方另有约定、数据库搭建在“B大数据分析平台基础实施”项目中也会评价等因素,参考A项目的中间优惠价为47.70万元等情况,本院酌定兆客公司此项应获得的工作对价为38万元。第二,关于B大数据分析平台基础实施项目的对价。案涉项目已经初步部署上线,可以推定B2项目实施管理已经初步完成,参考其报价为6.36万元,及合同解除后兆客公司已无必要继续下一步的实施管理等因素,本院酌定兆客公司应获得的工作对价为3.90万元。B1项目包括8个功能模块,其中“现有CRM数据同步到HADOOP平台、迁移过程数据验证、分析更加灵活且可支撑更大数据量”4个功能模块是案涉系统数据采集、同步的核心支撑,但在标签仍有争议下,此4个模块的实际完成量,应当由兆客公司举证证明,否则应自行承担举证不能的不利后果。现兆客公司并无进一步举证,结合B1项目报价为20.034万元、B1项下其他功能模块的完成程度等因素,本院酌定兆客公司应获得的工作总对价为8.50万元。第三,兆客公司并无证据佐证有项目差旅费支出、运营分析报表开发技术支持等其他服务产生,对该类费用的主张,本院不予支持。据此,本院酌定兆客公司应获得的工作总对价为50.40万元(38+3.90+8.50)。因宝岛公司已经支付首期款28.80万元,两项折抵后,宝岛公司仍应当向兆客公司支付服务费21.60万元。
关于双方所主张的违约金、资金占用费,以及差旅费、律师费等问题。兆客公司向宝岛公司主张违约金4.32万元、律师费和差旅费4.96万元。宝岛公司向兆客公司主张28.80万元对应的资金占用费、违约金8.64万元、律师费5.50万元。本院认为,宝岛公司已经支付的28.80万元属于依约应支付的服务费,也未超出宝岛公司实际应付总额,故宝岛公司主张此项资金占用费,缺乏事实和法律依据,本院不予支持。兆客公司主张差旅费,但未提供证据予以佐证,应由其承担举证不能的不利后果,本院不予支持。《中华人民共和国合同法》第一百二十条规定,当事人双方都违反合同的,应当各自承担相应的责任。根据《宝岛大数据分析项目合同》4.1、4.2、4.3等条款所约定的违约金、损失计算方式,考量双方律师费支出及律师在本案的工作量,以及本案双方对标签修改的风险应当有所预见却未善意履行合同、双方存在的前述违约行为相互间具有关联性等因素,本院酌定兆客公司应支付的违约金、律师费共计为6万元,宝岛公司应支付的违约金、律师费共计为6万元,以上相折抵后,双方对此项不再付给付义务。此外,宝岛公司当庭申请追加网易(杭州)网络有限公司作为本案第三人应诉,但根据在案证据及兆客公司的陈述,已可查清待证事实,故对宝岛公司的该项申请不予支持。
综上所述,依照《最高人民法院关于适用〈中华人民共和国民法典〉时间效力的若干规定》第一条第二款,《中华人民共和国合同法》第六条、第八条、第六十条、第九十七条、第一百二十条,《中华人民共和国民事诉讼法》第十三条、第六十四条第一款、第二百三十二条规定,判决如下:
一、上海兆客信息系统有限公司与厦门宝岛高维科技有限公司签订的《宝岛大数据分析项目合同》于本判决生效之日起解除。
二、厦门宝岛高维科技有限公司应于本判决生效之日起三日内向上海兆客信息系统有限公司支付服务费216000元。
三、驳回上海兆客信息系统有限公司的其他诉讼请求。
四、驳回厦门宝岛高维科技有限公司的其他反诉请求。
如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百五十三条规定,加倍支付迟延履行期间的债务利息。
本诉案件受理费9048元,由上海兆客信息系统有限公司负担6000元,厦门宝岛高维科技有限公司负担3048元。反诉案件受理费4003.35元,由厦门宝岛高维科技有限公司负担。
如不服本判决,可以在判决书送达之日起十五日内,向本院递交上诉状,并按照对方当事人的人数提出副本,上诉于最高人民法院。
审判长 叶鑫欣
人民陪审员 滕明涛
人民陪审员 谢解生
二○二一年八月二十日
书记员 颜佳艺
附:相关的法律、法规
《最高人民法院关于适用〈中华人民共和国民法典〉时间效力的若干规定》
第一条民法典施行后的法律事实引起的民事纠纷案件,适用民法典的规定。
民法典施行前的法律事实引起的民事纠纷案件,适用当时的法律、司法解释的规定,但是法律、司法解释另有规定的除外。
民法典施行前的法律事实持续至民法典施行后,该法律事实引起的民事纠纷案件,适用民法典的规定,但是法律、司法解释另有规定的除外。
《中华人民共和国合同法》
第六条当事人行使权利、履行义务应当遵循诚实信用原则。
第八条依法成立的合同,对当事人具有法律约束力。当事人应当按照约定履行自己的义务,不得擅自变更或者解除合同。
依法成立的合同,受法律保护。
第六十条当事人应当按照约定全面履行自己的义务。
当事人应当遵循诚实信用原则,根据合同的性质、目的和交易习惯履行通知、协助、保密等义务。
第九十七条合同解除后,尚未履行的,终止履行;已经履行的,根据履行情况和合同性质,当事人可以要求恢复原状、采取其他补救措施,并有权要求赔偿损失。
第一百二十条当事人双方都违反合同的,应当各自承担相应的责任。
《中华人民共和国民事诉讼法》
第十三条民事诉讼应当遵循诚实信用原则。
当事人有权在法律规定的范围内处分自己的民事权利和诉讼权利。
第六十四条第一款当事人对自己提出的主张,有责任提供证据。
第二百三十二条在案件受理后,法庭辩论结束前,原告增加诉讼请求,被告提出反诉,第三人提出与本案有关的诉讼请求,可以合并审理的,人民法院应当合并审理。
执行申请提示:
《中华人民共和国民事诉讼法》
第二百三十九条申请执行的期间为二年。申请执行时效的中止、中断,适用法律有关诉讼时效中止、中断的规定。
前款规定的期间,从法律文书规定履行期间的最后一日起计算;法律文书规定分期履行的,从规定的每次履行期间的最后一日起计算;法律文书未规定履行期间的,从法律文书生效之日起计算。