法小和 · 知识产权法律知识库
法条原文 · 司法解释 · 裁判案例(已脱敏)
资料库 / 裁判案例 / 甲公司、某科技股份有限公司计算机软件开发合同纠纷民事二审民事判决书

甲公司、某科技股份有限公司计算机软件开发合同纠纷民事二审民事判决书

裁判文书最高人民法院裁判日期 2023-03-24案由 商业秘密
引注:(2022)最高法知民终1404号

全文

甲公司、某科技股份有限公司计算机软件开发合同纠纷民事二审民事判决书 中华人民共和国最高人民法院 民事判决书 (2022)最高法知民终1404号 上诉人(原审被告、反诉原告):甲公司。住所地:上海市嘉定区。 法定代表人:刘某某,该公司执行董事兼总经理。 委托诉讼代理人:张某,某律师事务所律师。 委托诉讼代理人:周某,某律师事务所律师。 被上诉人(原审原告、反诉被告):某科技股份有限公司。住所地:西藏自治区拉萨市经济技术开发区。 法定代表人:欧某某某,该公司董事长兼总经理。 委托诉讼代理人:郭某某。 委托诉讼代理人:陆某,某律师事务所律师。 乙公司(以下简称乙公司)丙公司(以下简称丙公司)计算机软件开发合同纠纷一案,不服上海知识产权法院于2021年11月29日作出的(2020)沪73知民初146号民事判决,向本院提出上诉。本院于2022年7月13日立案后,依法组成合议庭,于2022年9月23日对本案进行了询问。乙公司的委托诉讼代理人张某,丙公司的委托诉讼代理人郭某某、陆某,到庭参加了询问。本案现已审理终结。 乙公司上诉请求:撤销原审判决,丁公司的诉讼请求,戊公司全部反诉请求。事实与理由:(一)涉案软件开发工作未完成,亦未通过最终验收。1.丙公司未完成开发工作,15个问题分别记载于《原告开发系统尚未解决的问题汇总表(补充提交法院版)》的第3-8项、第17项、第19-23项、第25-27项。2.己公司应完成开发的工作内容,乙公司庚公司提出开发和完善要求。辛公司未能充分、明确地在功能要求中列明,但其中有些问题(例如第5、8、21、22、23、25项)属于基于涉案软件本身目的及场景应用应当具备的功能,并非在规格说明书中未列明就可不具备;即使是需求变更,丙公司也应予以配合,特别是变更的需求系出于软件功能完善的目的;合同约定在总工作量不超过2个月的范围内,丙公司不再另行收费,合同2017年5月签订,2017年7月11日进行UAT初验,丙公司该部分开发工作整个耗时不满2个月。由此可见,即使存在需求变更,丙公司拒绝配合完成仍属违约,且该违约行壬公司需求。3.2017年7月11日签订的《库融项目UAT验收报告》不能作为认定涉案软件开发工作已完成并通过验收、乙公司付款条件成就的依据。该报告仅是上线前的阶段性测试,并非最终验收,癸公司始终未予解决;该报告形成后实际还进行过几次UAT测试。丙公司并未提起过最终验收申请,子公司付款的前提。(二)丑公司已基本如期完成开发任务无事实和法律依据。1.自2018年1月30日起,丙公司乙公司的合理要求即开始不再回应和理睬,其以实际行为表明不再继续履行合同,构成违约。此外,乙公司寅公司解决问题的事实,卯公司继续履约的意思表示。2.辰公司。根据合同约定,包括首付款在巳公司先行开具发票,丙公司首张发票的开具时间为2017年12月4日,远晚于合同签订生效时间,亦晚于其主张的系统验收时间。3.乙公司午公司已开发部分软件至2018年1月的情况,恰能证明涉案软件已交付部分不符合合同约定,乙公司的合同目的无法实现。否则,乙公司不会将花费两百多万元开发的软件仅使用几个月,亦不会再委托第三方再行开发软件。4.丙公司未公司交付源代码,其也未提供证据证明已交付。《库存采购项目管理简章》中虽然反映软件代码的交付时间是在验收之前,申公司已交付的事实。原审判决仅凭《库存采购项目管理简章》酉公司戌公司交付源代码有误。5.合同约定“乙方应保证系统于2017年7月6日上线”,丙公司亦存在违约情况,亥公司支付违约金。(三)原审判决酌定金额及认定利息支付起算时间点有误。1.涉案合同分为软件和服务两部分,甲23公司分金额为1161200元,乙24公司未履行的服务除2018年1月30日后这段期间外,丙25公司应提供的“工作量增加在两个月以内”且不再另行计费的需求变更服务,丁26公司明确拒不履行。戊27公司未完成全部开发工作,己28公司仅能使用已开发部分软件几个月的事实,原审判决扣减约38万的合同金额,扣减比例仅为15%,有失公允。2.原审判决以“丙公司最后开具发票的日期为起算日(2018年3月9日)”认定利息起算时间点有误。首先,丙公司最后开具发票的时间为2018年9月17日,乙公司收到的时间为2018年9月21日;其次,根据合同约定,乙公司付款时间为收到发票后的十五个工作日。据此,即便按照原审判决的认定,利息起算日也应为2018年10月18日(扣除法定节假日及双休日)。 丙公司辩称:(一)乙公司未及时缴纳上诉费,应按撤诉处理。(二)丙公司已依约完成软件产品开发并完成交付,已交付包括源代码在内的所有开发成果,乙公司组织进行了产品的验收,并出具了验收报告,随即上线运行投产、使用了涉案软件产品。乙公司的合同目的已实现,其未支付合同价款,已构成违约。(三)丙公司乙公司使用软件过程中及时全面地提供了产品服务。根据双方往来邮件可知,2018年1月,乙公司庚29公司业务部门的联络与沟通,终止了双方业务意见的交换。此后,乙公司仍在继续使用涉案软件产品,且未提出运维需求,至本案诉讼时已经超出了合同约定的一年运维期限。丙公司并不存在未完成运维服务的事实。(四)乙公司提出的未解决问题属于运维问题,辛30公司运维所产生的费用进行协商,达成书面意见才能够实施。2018年1月之后,壬31公司中断了双方的联络,相关运维工作未继续开展。同时,运维问题不影响合同目的的实现、涉案软件产品的使用。自涉案软件交付后,到本案诉讼发生时,已超过了两年的质量异议期。乙公司在此期间未出具正式的书面质量异议,应视为产品符合质量要求,乙公司无权再主张产品质量问题。 丙公司向原审法院提起诉讼,原审法院于2020年1月17日立案受理。丙公司起诉请求:1.乙公司向丙公司支付合同款2481200元;2.乙公司向丙公司支付逾期付款违约金(以2481200元为基数,自2017年6月15日起至实际付清合同全款之日止,按每日万分之一计算)。事实和理由:2017年5月,丙公司乙公司签订《供应链金融系统技术开发合同》,癸32公司子33公司定制开发“库存融资(新车、二手车)全流程业务系统”与提供技术服务。涉案合同就涉案软件的研究开发经费及报酬、项目需求、验收、付款方式等进行了约定。2017年7月,丙公司已经依约完成委托项目所有的开发工作,丑34公司使用,并启动涉案软件验收流程。2017年7月11日,乙公司出具了《库融项目UAT验收报告》,涉案软件正式上线并持续运行至今。乙公司虽未按照涉案合同约定出具验收单,但涉案软件上线运行至今已超过合同约定质保期限,应视为涉案软件已经验收合格。涉案合同约定合同总价款2481200元,乙公司寅35公司支付涉案款项,丙公司卯36公司开具发票,辰37公司巳38公司支付任何一期涉案款项。 乙公司原审辩称:(一)丙公司未完成涉案合同约定义务,未完成涉案软件的开发,涉案软件也未通过验收,自2018年起也未提供任何服务。(二)丙公司已经开发完成的部分软件存在诸多瑕疵,乙公司无法正常使用,已于2018年1月另行开发其他系统,丙公司所称的涉案软件持续使用至今与事实不符。(三)丙公司违约金计算的基数、起算时间有误,违约金过高。 乙公司反诉请求:1.午39公司乙公司签订的《供应链金融系统技术开发合同》。2.丙公司乙公司支付违约金74436元。3.丙公司乙公司赔偿损失412500元。事实和理由:丙公司未40公司的需求完成开发和服务工作,申41公司签订涉案合同的根本目的不能实现,只能另行开发系统,丙公司应赔偿该部分损失。鉴于涉案合同已无继续履行的可能,丙公司酉42公司支付违约金。 丙公司原审辩称:涉案合同约定解除及法定解除的条件均不成立。乙公司的反诉请求没有事实及法律依据。丙公司已经履行涉案合同约定的全部义务,不构成违约。 原审法院认定事实: (一)涉案合同的签订及履行情况 2017年4月17日,乙公司戌43公司郭某某等人发送主题为“库存融资项目管理简章审阅”的邮件,内容为:“陈总监,您好!我总结了一些本项目在考勤、沟通、代码规范等方面的需特别关注的内容,希望可以为后续流程的顺利开展打好基础。更具体的内容,如质量管理、研发流程规范等项目实施方案请参照标书中相关规定。”该邮件的附件为“库存采购项目管理简章.docx”(以下简称《管理简章》)。该《管理简章》显示,“……三、系统开发关键点规范……4.代码走查管理:1)要求供应商项目代码在易鑫SVN服务器进行管理;地址http://10.0.8.35/svn/CodeFarmerClub/SupplyChainFinance......3)项目经理或技术负责人需每周对项目代码进行check&review一次,保证代码质量;周例会汇报代码走查情况;4)开发人员需一周内完成代码review代办;5)每周易鑫技术负责人会对代码走查工作进行监督,并抽查代码质量。四、文档管理需将各阶段文档分类放入指定文件夹。文件夹地址:http://10.0.8.35/svn/CodeFarmerClub/ArchitectureM/库融/库融系统交付文件......”。 2017年5月,乙公司(甲方)与丙公司(乙方)签订《供应链金融系统技术开发合同》,就乙方承接甲方“库存融资(新车、二手车)全流程业务系统定制开发项目”的开发与技术支持达成合作协定,双方约定:……第二条乙方义务。……七、乙方按照本合同附件一中关于项目开发与维护服务的要求为甲方提供项目开发与维护服务。……九、系统正式上线运行起一年内乙方提供免费的运行维护服务,服务内容包括但不限于系统bug修复、稳定性分析、软件使用上的支持、简单的需求调整等。……第三条甲方义务。……五、甲方按照本合同约定按时支付合同金额。第四条合同金额。本合同总金额为2481200元。其中,供应链金融平台V3.0简称:TS-SCF报价金额1320000元,服务报价金额1161200元。第五条支付和结算方式。……三、合同生效后十个工作日内,甲方向乙方支付合同总金额的30%,即744360元。四、项目验收后十个工作日内,甲方向乙方支付合同总金额的60%,即1488720元。五、项目验收合格,系统运行满一年且期间未出现较大问题和故障后,甲方向乙方支付合同总金额的10%,即248120元。六、乙方在甲方每次付款前十五个工作日内应向甲方提供符合国家规定的增值税专用发票,以使甲方作为支付款项的依据……第六条需求的变更。一、项目开发与维护服务期间,甲方有权对工作需求进行变更并书面通知乙方,乙方应在收到甲方变更通知后,配合甲方工作需求进行相应调整。二、工作需求变更后,如果乙方工作量增加两个月以内的,甲方不相应增加应向乙方支付的费用;如乙方工作量增加幅度大于两个月的,双方应就相应增加费用进行协商,达成一致的书面协议。……第八条知识产权。一、本合同生效前甲乙方所拥有的知识产权、版权等仍属甲乙方各自所有。履行本合同所产生的所有工作成果(包括但不限于发明、发现、相关技术资料、文档、程序源代码、可执行程序等)的知识产权归甲方所有。……第十条验收。一、乙方项目制定与开发的各个阶段成果均应提交并通过甲方验收,具体项目阶段划分参见附件三所示。对于未通过验收的部分,乙方应在接到甲方书面通知后进行整改或重做,直到通过甲方验收。因验收不通过造成其他项目工作延误的,经双方协商一致可顺延工作时间,但最晚不得影响双方合同约定的系统正式上线时间。二、系统正式上线运行一个月内,由甲方组织验收;验收通过,甲方向乙方出具书面验收单;验收不通过,乙方应在接到甲方书面通知后进行免费整改,直到通过甲方验收为止。三、验收标准:系统符合合同约定的工作需求,各种技术文档齐全,以通过甲方验收为准。第十一条乙方违约责任。一、因乙方原因造成开发与维护服务工作失败的,乙方应当退还甲方已支付的全部款项及同期存款利息,并赔偿甲方因此而遭受的损失。二、如因乙方原因造成开发与维护服务工作延误而未能按照约定的验收时间提交验收的,乙方应保证系统于2017年7月6日上线,自该日起向甲方支付违约金,违约金按合同总金额的0.1‰乘以逾期天数计算。三、乙方开发与维护服务成果中的软件在安装、使用过程中发现存在缺陷或瑕疵的,甲方有权要求乙方在接到甲方通知后免费进行修复;如因瑕疵给甲方造成损失的,乙方还应当赔偿甲方因此遭受的损失。四、乙方未按本合同约定履行开发与维护服务义务,应承担继续履行、采取补救措施和赔偿损失等违约责任,有违约情形的,乙方应按合同总金额的3%向甲方支付违约金。……第十二条甲方违约责任。一、如甲方逾期支付款项,则甲方应自逾期之日起每日向乙方按合同总金额的0.1‰乘以逾期天数计算支付违约金。如因乙方原因造成开发与维护服务工作延误,甲方延期付款的,甲方不承担任何违约责任。……第十七条合同附件。本合同包括以下附件,附件是本合同不可分割的组成部分。如附件内容与本合同存在冲突之处,应当以本合同内容为准。附件一:功能清单;附件二:非功能性需求清单;附件三:项目各阶段交付时间表;附件四:工作说明书以及验收标准或要求。 上述合同约定的附件三“项目各阶段交付时间表”中载明:“用户验收测试的开始时间为2017年6月14日,结束日期为2017年7月4日,文件交付清单包括《性能测试报告》等,文档最晚交付日期为2017年7月7日,即用户验收完成后三个工作日内提交。” 上述合同约定的附件四“工作说明书以及验收标准或要求”的工作说明书部分载明:“2、交付文档及时间:在项目实施的每个阶段,除了提交代码及部署平台,还将会提供一系列的过程工作文档作为工作成果的一部分。”验收标准或要求部分载明:“交付成果是指乙方在执行甲方所分派工作的过程中形成的有形产出物,包括文档、源代码和系统程序三种形式。完成标志为以上所有文档(含源代码)提交甲方确认签字以及系统运行上线。验收流程说明:乙方完成所有项目任务后,向甲方提交所有按本文档要求的提交件;乙方根据项目目标要求,编制验收方案,确定验收方法、时间、双方责任等;……甲方根据验收方案,通过测试、确认、检验等方法进行验收,综合验收结论作出验收报告;如验收结果符合验收标准,则验收通过,甲方出具验收报告,否则乙方进行修改,待修正稳定运行后,重新提交验收申请。” 2017年7月11日,乙公司出具《库融项目UAT验收报告》(以下简称《验收报告》),《验收报告》记载:“1.测试总结。共执行业务功能用例267个,财务方面功能和ERP接口测试测试用例44个,共计311个,3个未通过,但不影响主要业务流程,详见遗留问题。测试过程中遇到工作流无法推进、流转状态错误、规则未按需求设置等问题,但已按需解决。1.1用例执行情况:业务功能及其他接口:测试用例完全执行,总计上报362个BUG,除4个未解决以外,全部经过复测已解决。ERP接口:总计测试22个会计实践,已全部测试通过,测试中出现3个BUG,已复测通过。1.2遗留问题及处理方式:业务功能遗留问题一:4个未解决的BUG。①评估环节分析员退补意见向客户显示未实现;②运营现场录入证件时对于客户分机构显示未实现;③二手车置换申请通过后,协同端客户可收到站内信提醒;④在评估流程中,“评估类型”和“产品名称”字段对风控分析员开放修改。处理方式:接受上线,在7月21日前迭代完成。业务功能遗留问题二:Alix由于开发较晚,目前尚处于UAT环节,未能与库融系统同步达到可交付状态。处理方式:由于Alix发起接口调用,不影响库融系统独立运作,接受上线,但供应商需要配合Alix接口完成按排期于7月13日上线。财务需求方面遗留问题:①银企直联放款失败后只返回失败结果及原因,无对失败的线上处理流程,可线下处理,手动更新系统状态;②财务进行还款审核页面缺少上传附件功能;③融资信息查询、会计事件查询、费用信息查询、财务放款、车辆还款查看5个页面中显示字段信息待补充;④在车辆还款查看界面增加“导出EXCLE”按键。处理方式:接受上线,遗留问题接受于上线后7月30日前迭代完成。1.3测试结论总结:测试用例已完全执行。遗留问题主要用于优化使用体验,不影响主要业务流程,也不会造成业务风险,同时已制定了可接受的处理方案。因此,至此系统可上线。2.测试结果确认:同意以上测试结果,并签收此文档。乙公司郭某某、黄立在业务部门的项目验收负责人签字处签字确认。该《验收报告》亥44公司的印章,乙公司在庭审中确认该报告为其出具的UAT验收报告。 2017年7月12日,乙公司甲45公司凡某、郭某某等发送主题为“库融系统发版流程与注意事项【重要】”的邮件,该邮件内容为:“凡某、郭经理好:库融系统于7-11日投产,后续生产发版事项请按以下流程与注意事项执行:1.业务类问题发版:●紧急发版,修复线上bug,不存在新功能上线。……●正常迭代发版,包含新功能、遗留问题等,走正常上线流程,……2.技术类问题发版:……3.生产数据修复,……” 2017年7月20日,丙公司乙公司发送主题为“2017-7-20上线投产申请”的邮件,该邮件显示:“郭总、郝某,你们好!库融系统上线后,遗留部分问题已于2017年7月18日、2017年7月19日、2017年7月20日UAT测试完成,现在申请进行生产投产操作,请批准!本次投产后所有需求均已开发完成!上线内容如下:11224金融端(运营现场)-乙46公司的客户的合格证;11466风控分析员退补意见没有展示许某某杨某;11847银企直联放款失败后只返回失败结果及原因,无对失败的线上处理流程;11585二手车置换申请批准后,协同段需要消息提醒;11818金融端-运营审批驳回至运营综合驳回至客户用款申请,该笔用款申请仍然保留在运营综合的待办事项中。已经过SIT测试,测试相关报告及投产文档见附件!”同日,乙公司向丙公司发送主题为“答复:2017-7-20上线投产申请”邮件称:“郭经理好,请确认凡某描述的内容是否正确。确认本次uat验收是否通过并上线。需要附带验收报告。”同日20时40分,乙公司徐某回复上述邮件称:“郝某,你好。库融系统本次迭代功能验收通过,测试用例和验收报告如附件。……”同日20时41分,乙公司丙47公司郝某、丙公司凡某等人发送主题为“Re:答复:2017-7-20上线投产申请”邮件称“同意”。上述邮件所涉附件为《库融系统验证遗留问题-测试用例及结果》,丁48公司郭某某、徐某等,戊49公司徐某,修订内容为“库融系统验证遗留问题测试”。上述附件的“测试用例”部分记载08、09、10、20、21、22、23项功能测试的测试要求及前置条件均为“已对接Alix系统”,场景、功能描述及测试步骤均涉及与Alix系统的指令接受或数据交换。上述附件的“测试总结”部分则显示已对7月11日的《验收报告》的部分问题进行修正,具体为:“……二、测试总结。共执行业务功能用例32个,ERP接口测试测试用例4个,共计36个,之前遗留的1个bug不予解决,但不影响主要业务流程,详见遗留问题。2.1用例执行情况。业务功能及其他接口:库融系统遗留问题测试用例完全执行,除之前遗留的1个bug和3个财务问题不予解决以外,全部经过复测已解决。ERP接口:总计测试4个会计事件,已全部测试通过。2.2遗留问题及处理方式。业务功能遗留问题一:1个未解决的BUG。在评估流程中,评估类型和产品名称字段对风控分析员开放修改。处理方式:库融系统不予解决。实务中通过以下方式解决:在金融顾问发起协同编辑前,要求与风控确认,填错重新发起评级。财务需求方面财务遗留问题①财务进行还款审核页面缺少上传附件功能;②融资信息查询、会计事件查询、费用信息查询、财务放款、车辆还款查看5个页面中显示字段信息待补充;③在车辆还款查看界面增加‘导出EXCEL’按键。处理方式:库融系统不予解决,待后期系统二期再予更新,已经财务确认。2.3测试结论总结。测试用例已完全执行。遗留问题主要用于优化用户使用体验,不影响主要业务流程、也不会造成业务风险,同时已制定了可接受的处理方案。因此,至此系统可上线。……” 2017年8月3日,乙公司向丙公司发送邮件反馈了字体替换问题,同日,丙公司回复邮件对字体替换问题进行了分析,并称按合同约定正式上线后一个月为现场维护,自7月11日库融系统上线后,截至到目前(8月3日)系统一直正常良好运行。己50公司的要求,由于目前没有业务发生,丙公司将安排现场人员暂时离场,待有正式业务发生时再安排人员现场支持一周,庚51公司在有业务发生前一周通知。同月7日,乙公司向丙公司发邮件更改了字体替换要求。同月8日至9日,丙公司乙公司发送邮件称对协同端首页BANNER中的字体进行了调整,现已部署到UAT环境,请安排人员进行验证。 2017年8月21日至同年9月5日间,丙公司乙公司之间的往来邮件显示,丙公司辛52公司提出的变更需求“增加个人征信自查功能”进行了页面设计、开发并于9月4日在UAT环境部署进行测试,壬53公司向丙公司发送邮件反馈了测试发现的3个bug。 2017年9月15日,乙公司向丙公司发送邮件反馈了测试发现的3个问题,请求予以解决。 2017年9月22日,乙公司向丙公司癸54公司开发的维护库融系统的规则管理平台时遇到的问题,请求予以支持,子55公司更新系统中已有的模型,将相关模型部署到库融系统的UAT和生产环境。 2017年9月26日,乙公司向丙公司发送邮件称:本周因库融系统-生产环境正式开始试运营,期间难免会发生一些bug。请安排人员对每天产生的bug予以解决。 2017年9月27日,乙公司向丙公司发送邮件反馈当天库融系统发生客户信息丢失的问题。 2017年9月28日,乙公司向丙公司发送邮件反馈库融系统在生产环境中无法正常使用人行个人征信接口,请求安排技术人员解决,丙公司通过邮件进行了回应。乙公司丑56公司的及时支持。 2017年10月12日、16日,乙公司寅57公司发送邮件要求对库融系统进行安全漏洞修复和数据接口优化,同时要求解决相关bug问题。同月17日,丙公司乙公司回复邮件称:本次数据接口调整属于新增需求,已安排相关人员进行实施。 2017年10月19日,乙公司向丙公司发送邮件称:“目前对金融端开放公网域名目前有三套方案:1.协同端重新设计开发部分不涉及资金交互的金融端功能,从而实现互联网访问。2.针对安全测试报告的漏洞进行修复。3.协同端不变,金融端进行漏洞修复,但考虑到金融端完全放到公网,可能会存在未知漏洞。是否可以将金融端,部署两套……”同月26日,丙公司乙公司回复邮件称:经过对三套方案进行分析,综合考虑本次需求涉及的对系统的架构的改动和应对现阶段业务的运行建议使用第一套方案,时间周期为32个月。 2017年11月21日,乙公司向丙公司发送邮件称:库融系统正式环境已有较多客户进件,在实际操作中发现运行速度较慢,系统反馈延迟较为明显。同月22日,丙公司乙公司回复邮件称:近期在生产运行上出现的6个问题,其中4个属于操作问题,1个属于程序bug,不影响系统运行,已修复尚未投产;1个属于数据特殊,系统被校验住,目前已经完成投产。 2017年11月29日,乙公司向丙公司发送邮件反馈库融业务生产环境试运营阶段发现的具体问题,同月30日,丙公司乙公司回复邮件进行了回应。 卯58公司乙公司共同建有名为“易鑫-天阳库融测试群”微信群,自2017年11月10日至2018年1月30日止,乙公司辰59公司人员在该微信群内,就涉案软件测试、使用过程中陆续出现的问题进行交流和沟通。 丙公司提交的涉案项目运行业务数据表显示自2017年11月23日起至2018年1月18日止,乙公司通过涉案项目软件运行发放145笔贷款。乙公司确认上述数据的真实性。卯58公司巳60公司员工午61公司确认现在系统还在使用,但是有很多问题。原审庭审中,乙公司确认未62公司开发的系统。 2017年12月4日,丙公司乙公司开具发票号为00285462,金额为744360元申63公司;2018年3月9日,丙公司乙公司开具发票号为00307415、0030418、00307419,金额分别为168720元、1000000元、320000元的增值税专用发票三张。同日,丙公司乙公司出具《协商解决函》,酉64公司。原审庭审中,丙公司陈述由于注册地址进行变更故延迟开具了发票,乙公司确认收到上述发票及函件。 ◊2◊丙公司开发成果的完成情况 原审审理中,双方当事人在技术调查官的主持下,戌65公司提供的问题清单(共27项)亥66公司甲67公司服务器上的工作成果进行了演示、测试。其中,乙公司明确其提出的第1、2项问题已解决;第12、13、14、15、18项问题属于偶发性问题,可视为问题已解决或不存在;第9-11、16、19-23、25项则确认问题无法演示。对于第3项问题“Alix系统无法与库融系统同步达到可交付状态”,丙公司认为7月11日验收时已明确因Alix系统的延迟确实未完成对接,但在7月20日已完成了接口的开发及对接。对于第4项问题“银企直联放款失败后只返回失败结果及原因,无对失败的线上处理流程”,丙公司认为该问题即为7月20日邮件中提到的已解决的第11847号问题,该问题在7月20日已验收通过,同时依据双方往来邮件确认的《易鑫车贷库存融资平台系统需求规格说明书v1.7》也存在“银企直联放款”和“冲正”两种解决方案,但勘验时鉴于不具备外部系统无法对解决方案进行进一步验证。对于第5项问题“财务还款审核页面缺少上传附件功能”,丙公司乙公司共同确认属于新增项目需求,丙公司认为该问题已在7月11日《验收报告》中明确待系统上线后于7月30日前迭代完成,乙公司则认为这种变更不需要耗费很多时间来更新。对于第6项问题“融资信息查询、会计事件查询、费用信息查询、财务放款查看、车辆还款查看页面中未显示字段信息待补充”,丙公司认为该项功能已验收通过,在勘验时出现问题可能是源代码已被改动。对于第7项问题“车辆还款查看界面无导出excel按键”、第8项问题“无密码重置、密码遗失后无法找回”,丙公司认为属于新增项目需求,乙公司则认为是应当具备的功能。对于第17项问题“客户用款时发现有些品牌没办法选择车型”,丙公司认为出现该问题应为偶发性问题,勘验时由于软件无法与其他系统进行数据交互故而导致数据无法返回显示在列表中。对于第24项问题“没有基础关键业务节点,自动发放必须义务告知客户的短信通知”,丙公司认为依据双方往来邮件确认的《易鑫车贷库存融资平台系统需求规格说明书v1.7》,仅有“还款提醒”“逾期提醒”“银企直联扣款结果”三种场景需要发送短信,乙68公司均确认无法演示。乙公司则认为虽然无法演示上述三种场景,但授信流程中也要有短信提示。对于第26项问题“没有针对数据定时跑批、重要接口调用在失败情况下的系统预警机制”,丙公司认为属于新增项目需求,乙公司确认在《易鑫车贷库存融资平台系统需求规格说明书v1.7》中没有提到预警需求,但认为是应当具备的功能。对于第27项问题“丙69公司内网使用”,丙公司丁70公司属于新增需求且已告知工作量。 上述事实,戊71公司提交的《供应链金融系统技术开发合同》及附件、《库融项目UAT验收报告》《库存融资业务数据表》、双方之间的往来邮件及附件的打印件、电话录音整理、发票,乙公司提交的《供应链金融系统技术开发合同》及附件、双方之间的往来邮件及附件的打印件、(2018)沪静证经字第416号公证书以及双方当事人的陈述予以佐证。乙公司提交的《库融系统研发顾问合同》,因无相关付款凭证予以佐证,不能确定合同已真实履行,相关费用已实际支付,原审法院不予采信。 原审法院认为,第一,关于在合同履行过程中双方是否存在对方主张的违约行为。首先,依照涉案合同的约定,根据合同所涉软件的开发进度,乙公司分阶段支付相应款项,己72公司至今连首付款都未支付,庚73公司开发的软件未达到开发要求而导致合同目的无法实现,但从在案证据来看,辛74公司提起本诉以前,乙公司壬75公司主张过任何权利。 其次,涉案合同附件三“项目各阶段交付时间表”记载的用户验收测试起止时间为2017年6月14日至7月4日,文档最晚于用户验收完成后三个工作日交付,涉案合同则明确癸76公司组织验收,验收标准为系统符合合同约定的工作要求且各种技术文档齐全,子77公司向丙公司出具书面验收单。丑78公司于2017年7月11日出具《验收报告》,上述《验收报告》出具的时间与合同附件约定的时间基本相符,且《验收报告》明确记载测试结论为“遗留问题主要用于优化使用体验,不影响主要业务流程,也不会造成业务风险,同时已制定可接受的处理方案,系统可上线”。因此,寅79公司已基本如期完成了合同约定的开发义务,卯80公司第二阶段的付款条件即项目验收后十个工作日内支付合同总金额的60%也基本达成。 再次,涉案合辰81公司提供免费的运行维护服务如bug修复等,双方之间往来的邮件及聊天记录显示在2017年7月11日验收之后直至11月间,丙公司针对《验收报告》中的遗留巳82公司也通过了遗留问题的测试,乙公司午83公司也基本安排人员进行了跟进及回复。未84公司已部分完成了项目开发完成后的运行维护服务。 此外,案件审理过程中,原审法院己50公司申85公司开发的成果予以演示和测试,其中部分问题不能演示,部分问题已有双方往来邮件等证据证明已解决,部分问题属于未进行明确详细约定的需求,仅有个别少量问题确实存在。并且,从涉案项目的运行业务数据来看,自2017年11月直至2018年1月,乙公司也在持续使用涉案项目开展业务。酉86公司关于涉案项目未能达到约定的要求致使合同目的不能实现的主张不符。 最后,关于源代码是否交付的问题。涉案合同中并未约定源代码及相关文档的具体交付形式,戌87公司出具的《管理简章》及合同的附件中均明确记载源代码及相关文档的交付为分阶段逐步提交至服务器,并且按照上述文件的要求,乙公司还会有专门人员对源代码及文档的逐步上传进行检查,待所有源代码及文档均交付完毕后,乙公司才会启动验收程序进行测试验收并出具验收报告。亥88公司的陈述相符,也是软件开发过程中的常规交付方式,甲89公司也已如期出具验收通过的验收报告。因此,乙90公司已履行完毕所有源代码及相关文档的交付义务。 综上,丙公司丙91公司的需求完成涉案软件的开发,丁92公司应按照涉案合同的约定支付相关开发费用,丙公司戊93公司未按约支付开发费用构成违约的主张成立;丙公司己94公司主张的未按照要求开发软件及交付源代码等致使合同目的不能实现的违约行为。 第2◊关于涉案合同的处理。庚95公司主张解除合同,但其主张合同解除的理由不能成立。本案中,涉案合同尚存在少量开发问题以及未按约定的期限提供运行维护服务等非金钱债务未履行,辛96公司乙公司互相配合、协商一致。壬97公司陈述其已启用新的软件,丙公司开发的软件已不再使用,且距离涉案软件上线运行迄今已超过一年,丙公司对于涉案软件因双方产生纠纷而未全部完成为期一年的运行维护义务已无履行的必要。原审法院确认涉案合同终止履行。 丙公司丙91公司的需求完成涉案软件的开发,丁92公司应按照涉案合同约定支付相关开发费用,但鉴于涉案软件的开发确实还存在小部分问题需要完善,丙公司也仅部分完成了项目开发完成后的运行维护服务。癸98公司也不需要再履行上述义务,子99公司丑100公司全额支付全部开发费用的诉请酌情予以支持,酌定的金额为2100000元。丙公司寅101公司应依照合同第十二条约定向其支付违约金,乙公司则主张违约金过高请求予以调整。卯102公司辰103公司逾期支付开发款导致的损失,其亦因自身原因未按合同约定的时间开具发票,故原审法院确定按照以下方式计算乙公司巳104公司的违约金数额:以原审法院确定的乙公司巳104公司的合同款为本金,午105公司最后开具发票的日期为起算日(2018年3月9日),支未106公司实际支付合同款日止的利息,2019年8月19日之前按同期中国人民银行公布的贷款基准利率计付;2019年8月19日之后按同期全国银行间同业拆借中心公布的贷款市场报价利率(LPR)计付。 申107公司的反诉请求,如前所述,乙公司酉108公司未履行开发义务导致合同目的不能实现的主张与事实不符,故对其反诉诉请不予支持。 原审法院判决:一、甲公司戌109公司合同款项2100000元;并以2100000元为本金,支付自20亥110公司实际支付合同款日止的利息,2019年8月19日之前按同期中国人民银行公布的贷款基准利率计付;2019年8月19日之后按同期全国银行间同业拆借中心公布的贷款市场报价利率(LPR)计付;二、甲111公司的其余本诉请求;三、乙112公司的全部反诉请求。丙113公司未按判决指定的期间履行给付金钱义务,应当按照《中华人民共和国民事诉讼法》(2017年修正)第二百五十三条之规定,加倍支付迟延履行期间的债务利息。一审本诉案件受理费26649元,由某科技股份有限公司负担4095元,甲公司负担22554元;一审反诉案件受理费4302元,甲公司负担。二审中,各方当事人均未向本院提交新的证据材料。丙公司在二审询问中认可,关于涉案合同最后一笔10%的款项,其开具发票的时间为2018年9月17日。原审查明的其他事实属实,本院予以确认。本院另查明,涉案合同第二条第九项约定,系统正式上线运行起一年内乙方提供免费的运行维护服务,服务内容包括但不限于系统bug修复,稳定性分析,软件使用上的支持,简单的需求调整等。涉案合同附件三《项目各阶段交付时间表》记载,项目阶段分为:需求分析、系统设计、开发及单元测试、集成测试用例编写、集成测试、用户验收测试用例编写、用户验收测试、投产演练、用户培训、上线、现场运维。附件四《工作说明书以及验收标准或要求》记载,验收流程为:乙方完成所有任务、乙方编制验收方案、甲方审批验收方案、乙方提请验收、测试、确认、分析、检验、验收评审、结束。再查明,乙公司于2022年3月11日收到原审法院通知缴纳二审案件受理费的短信,但短信中未告知具体缴费银行及缴费方式。乙公司提交书面说明,表示因2022年3月份上海市爆发新冠肺炎疫情,无法前往银行缴费。在封控解除后,乙公司于2022年3月25日前往银行缴纳了二审案件受理费。本院认为,本案中,乙公司因疫情不可抗力影响,未按期缴纳二审案件受理费,但其在解封后已尽快补缴,不影响本案二审审理。根据当事人的诉辩意见及查明事实,本案二审争议焦点为:(一)涉案软件是否已经开发完成并通过验收;(二)丙公司已经开发完成的软件是否符合合同约定;(三)乙公司应支付款项及利息起算时间如何确定。◊1◊涉案软件是否已经开发完成并通过验收 本案中,乙公司丁114公司未完成涉案软件的开发,交付的软件仍存在15项问题未解决,其2017年7月11日出具的《验收报告》仅针对上线前的阶段性测试,并非最终验收,不能作为认定涉案软件开发工作已完成并通过验收的依据。丙公司辩称,其在软件产品开发完成之后,已交付全部产品的源代码和文档才会进入7月11日的验收阶段。乙公司在出具《验收报告》后,即刻投入生产并使用了该产品,且已产生大量业务收入。 本院认为,首先,根据涉案合同约定,系统正式上线运行一个月内,乙公司组织验收,验收通过,乙公司向丙公司出具书面验收单,合同并未约定初次验收和最终验收。其次,附件三“项目各阶段交付时间表”记载了涉案软件开发及服务的各个项目阶段,己50公司2017年7月11日出具的《验收报告》,其验收的内容涵盖了涉案软件开发的各个项目阶段。再次,戊115公司完成所有开发任务后再提请验收。己116公司2017年7月11日出具的《验收报告》属于对涉案软件开发完成后的整体验收报告。乙公司主张该《验收报告》系阶段性测试而非最终验收,显然与《验收报告》的内容、结论及合同附件的约定相矛盾。结合涉案软件上线运行后已发放上百笔客户贷款的事实,丑公司丙91公司的需求完成涉案软件的开发,且通过验收,并无不当。 (二)丙公司已经开发完成的软件是否符合合同约定 乙公司提出涉案软件存在15项问题,部分问题系软件本身应当具备的功能而未开发,部分问题系工作量不超过两个月的需求变更,丙公司应对变更后的需求予以开发而庚117公司需求。对此,本院认为,首先,《验收报告》明确记载测试结论为“遗留问题主要用于优化使用体验,不影响主要业务流程,也不会造成业务风险,同时已制定可接受的处理方案,系统可上线”,乙公司在二审审理过程中对此也予以认可。其次,原审法院已己50公司提供的勘验环境和问题表格对涉案软件进行演示和测试,认定其中部分问题不能演示,部分问题有双方往来邮件等证据证明已解决,部分问题属于未明确约定的需求,仅有少量问题确实存在。再次,涉案软件上线后已投入生产,并正式产生多笔贷款业务。综合以上情节,可以认定涉案软件的功能基本符合合同约定。 关于源代码交付问题,乙公司丁114公司未公司交付源代码,其也未提供证据证明已交付。丙公司则提供服务器截屏辛118公司的服务器。对此本院认为,涉案合同约定验收标准为系统符合合同约定的工作需求,各种技术文档齐全。合同附件四约定交付成果包括文档、源代码和系统程序三种形式。验收流程说明记载,丙公司完成所有项目任务后,乙公司提交所有按本文档要求的提交件,壬119公司编制验收方案,乙公司进行验收、出具验收报告。乙公司出具的《管理简章》则记载,源代码及各阶段文档的交付方式为分阶段逐步上传至服务器,乙公司技术负责人每周对源代码及文档进行检查。根据以上约定内容可知,丙公司需将包括源代码在内的文档癸120公司,然后进行验收。乙公司出具《验收报告》、软件正式上线运营后,乙公司未就源代码交付事宜提出异议。本案中,丙公司已提供证据证子121公司服务器。丑公司已履行完毕所有源代码及相关文档的交付义务,并无不当。 (三)乙公司应支付款项及利息起算时间如何确定 乙公司丁114公司未履行的服务除2018年1月30日后这段期间外,丙25公司应提供的“工作量增加在两个月以内”且不再另行计费的需求变更服务,原审判决仅扣减约38万的合同金额,有失公允。对此本院认为,乙公司2017年7月11日出具《验收报告》后,涉案软件系统已正式上线运行,丙公司自2017年7月至2018年1月,丑122公司提出的字体替换、增加个人征信自查功能等变更需求安排技术人员进行了开发,就运行中产生的部分bug也安排技术人员进行了解决,对数据接口调整等新增需求,亦安排技术人员予以实施。寅123公司在涉案软件系统上线运行后,已履行了部分运行维护服务。原审判决基于涉案软件卯124公司仅部分完成运行维护服务,辰125公司支付2100000元开发费用,并无不当。丙公司巳126公司逾期支付开发款而遭受的损失,且因其自身原因未按合同约定的时间开具发票,午127公司巳104公司的合同款为本金,午105公司最后未128公司巳104公司的违约金数额,亦无不当。 乙公司丁114公司最后开具发票的日期为2018年9月17日,丙公司亦表示认可,本院对此予以确认,申129公司支付利息的起算日调整为2018年9月17日。 乙公司还主张合同约定系统于2017年7月6日上线,涉案软件逾期上线,丙公司酉130公司支付违约金。对此本院认为,涉案合同约定,戌131公司原因造成开发与维护服务工作延误而未能按照约定的验收时间提交验收的,丙公司应保证系统于2017年7月6日上线,但在实际开发过程中,乙公司提出了部分新增项目需求,亥132公司。甲133公司解除合同、支付违约金的诉讼请求,并无不当。综上,乙公司的上诉请求部分成立。依据《中华人民共和国民事诉讼法》第一百七十七条第一款第二项之规定,判决如下:一、维持上海知识产权法院(2020)沪73知民初146号民事判决第三项。二、撤销上海知识产权法院(2020)沪73知民初146号民事判决第一项、第二项。三、甲公司于乙134公司合同款项2100000元;并以2100000元为本金,支付自201丙135公司实际支付合同款日止的利息,2019年8月19日之前按同期中国人民银行公布的贷款基准利率计付,2019年8月19日之后按同期全国银行间同业拆借中心公布的贷款市场报价利率(LPR)计付。四、甲111公司的其他诉讼请求。如未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百六十条之规定,加倍支付迟延履行期间的债务利息。一审本诉案件受理费26649元,由某科技股份有限公司负担4095元,甲公司负担22554元;一审反诉案件受理费4302元,甲公司负担。二审案件受理费27495元,甲公司负担。本判决为终审判决。 审 判 长 吴 蓉 审 判 员 李 丽 审 判 员 周桂荣 二〇二三年三月二十四日 法官助理 郑文思 书 记 员 谢思琳 本案法律依据 中华人民共和国民事诉讼法(2017修正) 第253条 中华人民共和国民事诉讼法(2021修正) 第177条1款2项 中华人民共和国民事诉讼法(2021修正) 第260条

同类案例

在法小和里继续

把这条案例当成参考,用你自己的案情做一次相似检索,可以同时看到相关法条、司法解释和更多同类案例。
在知识库中打开