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

甲公司、乙公司计算机软件开发合同纠纷民事二审判决书

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

全文

甲公司、乙公司计算机软件开发合同纠纷民事二审判决书 中华人民共和国最高人民法院 民事判决书 (2022)最高法知民终586号 上诉人(原审原告、反诉被告):甲公司。住所地:上海市杨浦区某地2005弄2号(B楼)510-6室。 法定代表人:刘某,该公司总经理。 被上诉人(原审被告、反诉原告):乙公司。住所地:上海市中国(上海)自由贸易试验区张江路665号3层。 法定代表人:朱某,该公司执行董事。 委托诉讼代理人:励敏,某律师事务所律师。 委托诉讼代理人:薛某,某律师事务所律师。 丙公司(以下简称丙公司)丁公司(以下简称丁公司)计算机软件开发合同纠纷一案,不服上海知识产权法院(以下简称原审法院)于2021年5月21日作出的(2020)沪73知民初19号民事判决,向本院提起上诉。本院于2022年4月12日立案后,依法组成合议庭,并于2022年7月20日、11月21日询问当事人。戊公司的法定代表人刘某,己公司的法定代表人朱某及其委托诉讼代理人励敏、薛某到庭参加询问。本案现已审理终结。 丙公司上诉请求:1.撤销原审判决,庚公司丙公司支付软件开发费70000元;2.一、二审案件受理费、辛公司承担。事实和理由为: (一)丙公司在履行双方于2019年4月签订的《高尔夫订场及高尔夫自由行WEB系统项目合同》(以下简称戌87公司)的过程中始终勤勉尽职。1.丙公司已经完成了“高尔夫订场系统及高尔夫自由行系统”(以下简称戌109公司)的开发工作,壬公司部分功能,癸公司无法提供开发所需的第三方接口,子公司开发能力不足。2.2019年5月8日,丙公司丁公司交付了开发成果,丑公司配合验收,但在长达半年的时间里,丁公司消极履行合同,不配合完成验收。寅公司的消极履行合同的行为,才导致了本案诉讼。3.丁公司主张戌109公司存在的16个BUG,其在本案诉讼之前未提出过,且相关BUG并不涉及软件运行的核心问题。卯公司能够及时反馈问题,双方可以在履行合同的过程中求同存异,丙公司也能够对开发的软件及时修改完善。4.辰公司迟延履行,巳公司失去耐心,将部署的服务器从正式环境换到测试环境。而根据戌87公司约定,在测试环境进行验收也属合理,丙公司的行为不构成根本违约,午公司却直接拒绝履约要求解除合同。涉未公司自身经营不善,其对合同的履行已经力不从心。5.原审法院在丙公司积极履行合同、软件开发完成度达到90%的情况下,作出对双方当事人平分责任的判决,难以让人信服。 (二)丁公司解除合同的理由不能成立。2019年5月8日,丙公司交付戌109公司后,合同履行即已进入验收阶段,对于软件出现的小BUG,丙公司只需要对软件进行微调就可以满足使用需求。申公司部分功能,酉公司无法提供第三方接口,巳公司无法就该部分功能继续开发,双方可以就该部分开发内容进行结算或者另行协商,并不影响戌87公司的继续推进。然而,丁公司消极履约,巳公司耗费了大量成本。丙公司为了避免扩大损失,及时采取了止损的措施,将戌109公司从正式服务器移转至测试服务器,该行为并不影响软件的验收。丁公司却以此为由,要求解除合同,显然缺乏事实和法律依据。 (三)原审法院在判决解除合同的基础上,戌公司的诉讼请求,认定事实错误且显失公平。1.戌87公司解除的原因并非戌109公司的问题,亥公司自身经营不善,其无力继续履行合同,丙公司将软件从正式服务器移转至测试服务器后,丁公司一怒之下直接要求解除合同,导致双方合作关系破裂。因此,丙公司并不存在过错,原审法院认甲23公司退还70000元合同款,属于认定事实有误。2.戌109公司的开发完成度已经达到90%甚至更高,原审法院却只以70000元的实际开发成果进行结算,属于认定事实错误。 (四)丙公司有理由怀疑原审判决程序存在重大瑕疵。本案中,原审法院原定于2021年2月25日进行宣判,后却改期至2021年5月21日才作出判决,原审判决结果与原审庭审结果完全迥异。丙公司有理由怀疑受到了不公正的对待。 丁公司辩称:原审判决认定事实清楚,适用法律正确,丙公司的上诉请求应予驳回。事实和理由为:(一)丙公司未全面履行合同,戌87公司约定的第三、四期软件开发费的付款条件未成就。1.戌109公司测试过程中存在各类BUG,大量A、B类BUG始终未能修复,直至本案诉讼期间相关BUG仍然存在,丙公司乙24公司部分的开发。2.戌87公司约定,软件终验通过后支付第三期开发费,而戌109公司未通过终验,丙25公司无需支付第三、四期开发费。3.丁26公司开具相应发票而认定戌109公司已通过终验。(二)戌87公司已经无法继续履行。(三)关于合同解除后的责任承担。1.戊27公司部分功能未开发,该部分费用应予以扣除,但双方对于该部分费用未达成一致。2.丙公司未全面履行合同,存在过错。3.对于软件存在的诸多BUG,丙公司不但没有积极进行修复,己28公司协商的情况下,将戌109公司从服务器中撤回,激化了双方矛盾,导致合同无法履行。 丙公司向原审法院提起诉讼,原审法院于2020年1月9日立案受理,丙公司起诉请求:庚29公司丙公司支付技术开发费70000元。事实和理由为:2019年4月,双方当事人签订戌87公司,辛30公司壬31公司开发戌109公司的开发费用、付款方式等进行了约定。合同签订后,丙公司已经依约完成了所有开发工作,午公司癸32公司支付合同约定的第三、四期开发费。丙公司为维护自身合法权益,故诉至法院。 丁公司原审辩称:丙公司并未完成戌87公司义务。2019年11月4日,丙公司在戌109公司测试过程中,直接撤下了所有代码,停止了戌109公司的测试工作,子33公司的戌87公司目的无法实现,故戌109公司并未完成。 丁公司向原审法院提出反诉请求:1.丑34公司丙公司之间签订的戌87公司已于2019年11月10日解除;2.寅35公司丁公司返还合同款70000元;3.寅35公司丁公司支付违约金7000元。事实和理由为:卯36公司负责完成戌109公司的开发工作。开发成果交付形式为:软件代码以光盘形式提交,同时需提交验收文档,包括:测试报告、数据库字典、代码说明、操作手册。戌87公司还对开发费用和支付方式、计划进度和交验方式、违约责任等进行了约定。合同履行过程中,2019年9月9日,双方开始对戌109公司进行测试,丁公司发现戌109公司存在各种BUG,不能正常使用。丙公司多次修改后,仍未能彻底解决上述问题,导致戌109公司无法进行整体验收。11月4日,丙公司又单方面停止了软件的测试。据此,丁公司有权行使合同解除权。 丙公司原审反诉辩称:戌109公司已于2019年8月1日、15日完成验收,于9月8日上线。丁公司在上线使用后,以验收不通过为由拒绝付款,辰37公司将戌109公司从正式环境移动到测试环境,巳38公司继续测试。嗣后,因双方沟通未果以致涉讼。 原审法院认定事实: 2019年4月,丁公司(甲方)丙公司(乙方)签订戌87公司,就乙方承接甲方“高尔夫订场系统及高尔夫自由行系统项目”的设计及程序开发达成合作协议,双方约定:……二、合作内容。乙方负责完成戌109公司,实施全程服务。产品提交形式:软件代码以光盘形式提交,同时需提交验收文档,包括:测试报告、数据库字典、代码说明、操作手册。详见工作说明书。三、项目费用和支付方式。费用:经甲乙双方沟通明确甲方需求及乙方职责,并在签订合同后的10个工作日内向乙方支付戌109公司的设计及程序开发费用,共计140000元,其中包括定制设计开发服务费用和增值税(税率3%,普通增值税发票类型)。支付方式如下:1.甲方需在签订本合同后的10个工作日内向乙方支付首期款,付款比例30%,付款日期为5月10日,验收日期为5月1日,金额42000元。2.乙方按照甲方需求及原型(不含UI)确定后,经甲方确认本项目一期所有需求后的10个工作日内,甲方向乙方支付第二期款项,付款比例20%,付款日期为5月20日,验收日期为5月10日,金额28000元。3.乙方按照开发计划(日程前提:6月7日,交付UI),在完成本项目二期计划交付甲方且经甲方整体验收合格后的10个工作日内,甲方向乙方支付第三期款项,付款比例40%,付款日期为8月10日,验收日期为7月30日,金额56000元。4.后期维护服务(维护服务包括:和非功能性),在上线30工作日后的10个工作日内,经甲方验收合格后,甲方向乙方支付尾款,付款比例10%,付款日期为9月10日,验收日期为8月30日,金额14000元。以上款项在结算前,乙方提前5个工作日提供等额增值税专用发票至甲方,在约定付款时间内,甲方以银行电汇方式汇入乙方账户……四、双方责任。甲方责任:1.甲方派专人负责工程项目建设的协调工作,并做好经双方协商达成的项目进度表(工作说明书)中甲方所必须完成或指定工期内完成的前置性工作。2.乙方提供的软件到现场后,甲方组织验收,并与有关人员一起对乙方提供的产品进行初验。3.负责项目的组织协调、工程监督和质量验收。乙方责任:1.负责系统设备、软件产品的安装和部署功能实现、实施及培训。2.按本合同的项目内容、要求、计划、进度,负责项目实施和完成本项目的设计、部署、调试,确保本项目按质按期交付验收和完工使用……五、计划进度和交验方式。1.乙方应根据本合同规定的进度和要求完成戌109公司,并交付戌109公司给甲方进行审查。2.乙方应在7月10日之前完成戌109公司的设计及开发工作。3.甲方应在接到乙方关于戌109公司书面的初验申请后的2个工作日内指派技术人员或代表与乙方共同进行初验测试(以下简称初验),初验经测试符合要求的,甲方应签署初验合格证书。4.若初验不合格,乙方应立即对戌109公司重新进行调试,直至测试结果符合初验测试标准。5.初验合格后的1个月为“试运行期”(即免费维护期),“试运行期”结束后,甲方在2个工作日内将指派技术人员或代表与乙方共同进行最终验收(以下简称终验),终验测试符合要求的,甲方签署终验合格证书。6.若终验不合格,乙方应负责更正和修改,直至测试结果符合终验测试标准。7.验收标准定义:(1)A类Bug:交付后的应用程序导致应用崩溃的Bug。(2)B类Bug:交付后的应用程序涉及到功能、逻辑错误的Bug。(3)C类Bug:应用程序出现例如UI调整,文字调整,后台抛出但不会导致程序崩溃的alertBug。8.验收时,不能出现A、B类Bug(关键性标准),C类Bug在乙方交付戌109公司1周内修改完成。9.甲方可根据项目的需要,在本合同履行期限内新增加10%的项目的需求,并对新增需求不另外支付费用。10.乙方将在甲方签署终验合格证书之日起提供6个月的免费质保期,如非甲方原因造成的Bug,在质保期内乙方免费提供修复……12.工程项目的有关文件,源代码、操作指南等,均用中文说明,以文档(文字/图片)和光盘两种形式,在戌109公司交接时,一并移交甲方……七、售后服务与培训。1.甲方签署最终验收合格证书之日起6个月为免费售后服务期……3.合同确认培训对象是甲方指定相关人员、IT技术支持人员。4.培训方式与时间:现场培训与厂商模拟教室培训相结合,培训时间由甲乙双方根据进程友好协商安排组织。5.培训内容:互联网基础知识培训,网站内容管理系统操作培训,以及与项目相关的业务培训。八、违约责任。乙方应在合同所规定的时间内完成和交付本合同规定的项目。如开发工作延时,可经甲方许可设定宽限期,宽限期限内完成项目不追究乙方的违约责任。如乙方在宽限期内仍未依据本合同的规定完成和交付本合同所规定的项目,除依约支付违约金外,甲方有权要求乙方作出补偿和采取补救措施,并继续履行本合同所规定的义务。1.每延期1天,乙方应向甲方支付合同总价1‰的违约金,违约金不超过合同总价的30%。2.如延期时间超过10个工作日,甲方有权终止合同,除前款所约定的违约金外,并要求乙方支付合同总价的5%作为对甲方的赔偿。如甲方由此终止本合同,乙方应在两个星期内返还甲方所支付的所有费用和报酬并依甲方的指示退还或销毁所有的基础性文件和原始资料。3.若乙方所交付的戌109公司出现本合同所指A、B类Bug中的任意一种Bug,甲方有权解除本合同。乙方除承担合同总价格的5%的违约金外,还需全额返还甲方已支付款项,若还不能赔偿甲方损失的,乙方应赔偿甲方因此而遭受的全部损失。4.乙方擅自将本合同项目部分或全部研究开发工作转让第三人承担的,甲方有权终止合同,乙方除应支付本条第三款约定的违约金外,乙方还需双倍返还甲方已支付款项。5.本合同的所有违约,违约金不超过合同的总金额…… 戌87公司签订后,双方通过电子邮件、微信群等进行戌109公司的开发沟通。2019年5月8日,丙公司通过微信向丁公司发送“GOLF-FRONT-UEv1.20508.rp”文件,并称“有若干小调整,午39公司应该都好了”。6月17日,丁公司问“你们这边在等前端的东西要写逻辑是吗?”丙公司回复“现在还没开始,等确认完开始做,但是最好6月内,全部确认完。”丁公司称“明天前端会给到最终版本,我们确认之后就给到你们”。7月2日,丙公司通过微信向丁公司提供网址,并称后台可以看了。7月11日,丙公司丁公司发送名称为“UE阶段验收”的邮件,该邮件的附件包括“高尔夫订场系统UE验收单.docx”和“GOLF-FRONT-UEv1.20710.rp”。7月23日,丙公司通过微信向丁公司发送链接并称“移动端的图出来了,查看一下吧,如果有问题,尽量在设计稿这里就改好敲定下来,之后重构开发了,就能够减少一改多方都需要配合修改的情况”。 2019年8月1日,丙公司丁公司提供了新服务器网址并称“后台我这里就交接给你们了”。8月6日,丙公司丁公司提供了网址并称“可以先看起来,还有几个BUG我们在改,还有发票页的css,在让小林调整,你们可以先大体走下流程,这个是目前测试库”。8月15日,丙公司通过微信甲67公司“WEB端已经迁到生产环境了。”9月9日,丙公司问“别的基础数据都好了,是吧?”丁公司回复“恩,是的。”丙公司表示“数据已经备份完毕,8080端口取消了,可以正式访问了,http://www.gameongreen.com”。 原审中,丁公司表示其在2019年9月9日登录前述www.gameongreen.com网站后,才开始针对戌109公司进行测试,并认为其在针对戌109公司的测试过程中,戌109公司存在:1.编辑数据上传完成后没有数据;2.页面跳转的位置不正确;3.没有订单提示功能;4.网页崩溃;5.微信支付;6.订场价格显示;7.后台数据不能保存;8.后台数据;9.酒店订单未完成等九个问题。丙公司未40公司在测试过程中所提的九个问题中,问题1、4、7、申41公司的网络问题;问题2属于排序规则,丙公司系按惯例开发;酉42公司新增加的短信提示功能,不属于戌87公司约定范围,丙公司已进行报价,午公司未接受;问题5、6并不存在问题;问题9双方明确取消,不再开发。原审法院查明的与上述问题对应的“GOG网站开发”微信群中的微信聊天记录如下: 1.与上述问题1对应的微信聊天记录。2019年9月12日,丙公司称“在检查球场信息录入时,有好几个球场的简介原来我录入过的又没有了。所以现在发现系统里面没有的我在回头检查,麻烦技术帮忙查一下,正常录入以后有少部分球场的简介保存不上是什么原因?另外刚刚有一个球场是刚刚发生的,信息如下:操作的球场ID为8857,操作时间应该是17:05分左右,信息编辑完成后点击了两次确认保存(因为担心保存后数据会没有,所以我都保存两次)然后关闭页面,刷新以后再打开8857球场,但是简介又没有了。这个球场信息没有了,我暂时不操作这个球场,麻烦先帮忙查一下原因。”丙公司问“球场ID最高8631,8857是哪个?”丁公司回复“是8557。”丙公司问“哪个内容没有了?”丁公司表示“现在又有了。”丙公司称“我们网络有问题,要等全部载入完成,这个问题之前Maggie已经提出过了”。9月17日,丁公司问“请看下,这个球场我输入了四遍,就是保存不上,再次打开都没有。是什么原因呢?”丙公司回复“输入的内容复制到这里看下。”丁公司称“按保存是可以保存的,但是再次打开就又没有了……英文的没有了?”丙公司问“这段输入不了,还是英文输入不了?”丁公司回复“不是,是中英文都输入好了。但是再次打开就没有,这样来回搞了四次了,都还是没有。”丙公司说“把要输入但是消失的内容都复制到这里,我来试试。”丁公司表示“貌似现在又有了,我不知道等会回家打开是否还有。等会回家试试。” 2.与上述问题2对应的微信聊天记录。2019年9月17日,丁公司问“那回到这个问题上举个例子,我点预定页第三页的时候,在语言选择上页选择英文,为啥第三页不能直接显示的是英文页,而要跳到第一页,然后再选择第三页才可以?”丙公司回复“这个我想想办法吧,因为切换语言只是刷新本页……关于中英文切换,如果要很完美切换cost会很大。可以参考一下携程等网站,如果检索翻到第二页,切换语言,也是重新再检索的。因为,这不是一个静态的页面,页面上含有表单(一些操作),比如选择国家。选择完以后,还有点过‘检索’和没有点‘检索’2个状态……所以要完整记录,cost会很大,通常都是以表单为单元,恢复到表单最初状态。类似的,下订单也是一个道理。”丁公司问“那你觉得如何解决这个我提到的问题呢,中英文的”丙公司回复“中英文切换条件都会被重置和携程类似”。 3.与上述问题3对应的微信聊天记录。2019年9月27日,丁公司问“第一个问题是订单通知时,需要发短信提示内容。我现在编辑的短信模板里面包含:用户名字、电话、用户卡号、订单日期、时间、订单球场和地址等,所以想和你确认一下系统是否能识别这些内容在短信息里面的?”丙公司回复“应该可以的,个人信息的部分,你要留意下。因为不是必输的,有可能会开一个天窗,比较难看。另外算下长度,那么多信息的话,有可能会超长。”丁公司称“短信内容都不会太长,我们只把需要的内容告知就好了。”丙公司表示“可以。”丁公司问“‘因为不是必输的,有可能会开一个天窗,比较难看’这句话不是太理解。是可能涉及到隐私,还是说识别不了内容的话会空白不好看?这样吧,我发一个模板给你看。”丙公司回复“比如客户,你预定的……系统可以不填姓名,这里就空咯。”丁公司问“我们系统不填姓名可以注册?这样吧,我周日确认一下短信模板内容,然后你帮我看一下什么能识别,什么是识别会有问题的。另外,短信的模板确认以后,我们在运营中发现问题需要增加是否能修改呢……”丙公司表示“模版变化的话,阿里云和程序都可能要变。”丁公司回复“好的,短信的模板在Tower里面已经确认好了,你先看一下内容是不是都能识别。”丙公司表示“等我去看下。” 4.与上述问题4、7、8对应的微信聊天记录。丁公司问“这个后台输入数据的没办法保存啊,点确定完全没有反映。这是啥情况啊?网站挂了?(截图显示:502BadGateway)”丙公司回复“我在外,回去就处理。”丁公司表示“好了请和我们讲一下。”2019年11月1日,丁公司问“能告知啥问题导致不能打开网站吗,这情况不会莫名其妙的出现啊?”丙公司表示“等下打开电脑看下什么问题……哪里不行?”丁公司称“后面一直打不开。”丙公司回复“这个点是哪里出来的,我去看下。”丁公司称“之前是点保存没有反映,然后页面刷新就是‘502’那个页面。”丙公司回复“能截个图吗,我去看下哪里的问题。”丁公司称“就是编辑完保存的按钮,没有反应。”丙公司问“球场?”丁公司称“现在进不去呀。”丙公司回复“能进啊,哪里不好,你们能贴个图吗?我这里能进去啊。”丁公司回复“现在能打开了,就是很慢。”丙公司问“哪个界面慢,我看下。不慢啊,点下去就操作完成了,你录个视屏看看……我这里随便开几个都是可以的,戌43公司网络又不对了?”丁公司称“我在家。”丙公司回复“看看其他网站,速度正常不,我这里电脑看,都是好的。”丁公司表示“傍晚的时候真的打不开,你可以查一下日志。”丙公司称“现在看不了,明天帮你们看吧,你们明天早上再试试看,如果有规律的话,大概率是程序问题(比如某个球场总是打不开),球场编号?”丁公司称“7385,傍晚的时候确实打不开啊,就我截图发你的那个。”丙公司表示“如果是时好时坏的,大概率是网络问题。”丁公司称“7379。”丙公司回复“那个是网关没关上,和程序没关系,就是压根没连到站点。”丁公司表示“那明天早上我们再试下,看看是否还有今天的问题出现,那保存不了是啥情况呢,都叫我们技术看了,他说网没问题,而且其他网站能用啊,7386。”丙公司回复“我这里都好的。”丁公司称“1566,这个球场我之前保存不了。”丙公司回复“也没问题,1566。”丁公司问“那为啥其余网络能打开的情况下,这个后台就是死活打不开呢?是什么问题呢?”丙公司问“你保存的东西,有反应进去吗?”丁公司回复“之前的东西都没有保存下来,1566这个球场。”丙公司称“要上阿里云去看了……这个要排查了,好像不是一次了。”丁公司表示“明天早上我们再试一下网站在办公室,到时候有问题,需要你看下了。”丙公司称“亥44公司的网,访问就特别慢,我们外面访问都是好的。”丁公司表示“慢是通病,但是在慢的情况下其余的网站都能打开,而是后台这个打不开,这就很不正常,明一早找你。”丙公司称“这个就复杂了,要两边对起来看的,应该和程序无关。要看服务器的网络设置,和你们宽带的设置。”11月4日,丁公司表示“又打不开了。”丙公司回复“我现在有事。”丁公司问“刘某,这个网站一直时不时的出现打不开的情况,有哪些原因呢?这个一直这样我们干活都没法正常进行啊。” 5.与上述问题5对应的微信聊天记录。2019年9月30日,丁公司问“有一个问题,我已经操作了退款以后,在订单里面还可以点击确认订单?”丙公司回复“所以我问你了,现在有3个地方可以产生退款,你要根据实际业务操作,如果没有空位,应该是球场拒绝。客户取消的话,一般是web上操作,后台也可以代替操作。”丁公司称“我是退款退不了,所以返回去试一下功能。”丙公司回复“退款是给特殊情况使用的,用于补差之类的,不影响订单现状。”丁公司问“系统设置已经退款完成,以后这里就没有什么操作了,就等款到账吗?”丙公司回复“应该是微信上操作完了,这里再点的,实际退款在微信上退的,这里只是做记录。”丁公司表示“好的,这个环节我和Alan确认一下。”丙公司回复“恩,不理解可以语音沟通,就是说一般的退款,都不要用这个‘退款’,用上面的拒绝或取消。”丁公司表示“好的。” 丙公司在与AlanZhu的微信聊天中,有如下相关内容:2019年10月8日,丙公司丁公司发送GoG-WEB项目合同-补充V1.1(1).docx文件,丙公司称“短信部分你看下,尽快确定一下吧”丁公司回复“确认,文字部分,我在确认啊。”丙公司表示“文字直接在模板里申请就可以了,主要是,在什么时间点,发哪个信息。”10月9日,丙公司问“我们这里,第三笔的发票可以开了吧?”10月15日,丁公司回复“还有些功能没有完成的。”丙公司问“哪些,支付宝在做。”丁公司回复“你把票开过来,还有短信的,尽快处理吧。”丙公司表示“这个都记着的。”10月21日,丁公司问“开始搞了没?”丙公司回复“支付宝好了,已经可以测了,短信,上周李吉云不是说要找你确认吗?在等你们确认的结果啊”……丙公司表示“另外发票上周就送过去了,帮尽快处理一下吧。”丁公司回复“恩,好的,我们周四见下”。10月25日,丙公司问“缺的3个什么功能?发一下。”10月28日,丙公司问“方便发出来了吗,我们这里对一下。”丁公司回复“不好意思,刚下飞机,下午发你……。”10月29日,丙公司称“酒店是知道的,就这个咯,甲45公司,当然也就没有广告位了……上面是最原始的报价单,我把相关项目标了个颜色。”10月30日,丙公司问“你这里确认好了吗,我们尽快吧,拖了有些久了。”10月31日,丙公司问“确认好了吗?”丁公司回复“还没有来得及看呢。”丙公司表示“那今天帮忙看下吧,不要再拖到11月去了,你这里确认好了吗?有疑问尽快沟通,没问题请尽快付款吧。”11月1日,丁公司回复“在看,已经看了。”丙公司表示“给个时间吧,不要拖了,看一眼也就10分钟的事,有异议可以及时沟通的,到本周日之前,希望处理完毕,否则请按全款付清。”丁公司回复“好的,老板。”丙公司表示“今天又没反馈,给个期限吧。”丁公司回复“等下,晚饭中。”11月4日,丁公司问“网站什么情况?”丙公司回复“好,暂停了一下。”丁公司问“什么叫暂停?”丙公司回复“按合同来吧,先测试环境上验收吧,没问题就付款上线,有问题我们继续改。”丁公司回复“看来只能这样。” GameonGreen开发微信群有如下有关微信聊天记录:2019年10月14日,丙公司问“问下,第三笔款,我发票可以开过来了吧,还有补充协议。”10月15日,丁公司回复“恩,发过来,票也开过来。”丙公司表示“好的”。11月3日,丙公司表示“希望各位尽快付款,酒店部分可以在原合同扣除合理的金额,并等价签订补充协议。”丁公司回复“不扣除,把功能完成。”丙公司问“那你什么时候能提供到API,不可能无限等待下去的”。11月6日,丁公司称“我能搞到投资人是我的事情,没有投资,我们项目也要继续。招人是我有能力支付他们的工资和给他们带来价值,如果我不招人,我现在就没有办法和股东交代。”丙公司回复“你们内部的事情,我们不想讨论,项目如何结算,你给个时间吧,直接语音确定吧。” 丙公司与maggie陈徽微信聊天记录有如下有关内容:2019年11月6日,丙公司表示“http://47.110.224.200:7017/index.html,测试环境搭起来了,你们要用的话可以搭,你们要用的话可以用。”丁公司回复“嗯,好的。” 2019年11月10日,丁公司丙公司发送名称为“RE:项目催款信”的电子邮件称:“贵司的邮件已经收到。根据双方在2019年4月签订的合约,及相关内容,1.根据开发计划应该在2019年7月30日验收项目,目前验收还没有通过(乙方单方面切断测试及开发环境)。2.合约第2条,在我方提测项目,时常导致后台断网及失去数据,我方至今没有得到合适的解决方案。3.根据合约9条,新增10%的项目需求不增加费用,乙方已经对相应功能增加收费。4.贵司通过微信威胁我方,并在此间关停我们生产环境,影响我司的正常运营,我司为此增加额外开支。5.根据保密协议及版权协议,贵司不应威胁我司,并误导我司关于版权。6.乙46公司功能,鉴于乙方的能力及大幅延后我司的进展,故甲方决定延后开发,并不表示我司不改变合约。7.合约第8.1条,项目延期违约金30%。8.合约8.2条,甲方有权终止合约,我司要求贵司支付合约总价5%的赔偿,及退还已经支付的费用。如果没有合理的解决,就请律师处理。” 原审中,丙公司表示戌109公司的测试标准以其递交0710版测试清单(以下简称远昊标准)为准,丁公司则认为戌109公司的测试标准应以其递交的炳格标准为准。丁公司同时表示现有证丙47公司,但双方均使用炳格标准进行测试。丙公司则表示从未收到过炳格标准。对此,分别使用远昊标准和炳格标准,对戌109公司进行测试。测试后,丙公司认为,根据远昊标准,戌109公司:1.在原型确认后,根据变更、增加后的需求完成度为100%的,包括:WEB端/首页/首页/折扣的显示方式;WEB端/球场预定/球场首页/俱乐部名-球场名的显示方式、折扣的显示方式、增加价格排序、增加是否有优惠选项;WEB端/球场预定/球场详情/增加网页跳转功能、增加电话号码隐藏/显示功能;WEB端/球场预定/球场预定/增加预定规则的文字信息;后台/球场/球场一览/增加是否显示功能;球场/球场编辑/丁48公司信息、增加球场编号(与其他系统对接用)、增加英语的球场介绍。2.因需求取消而未完成的,其中WEB端/首页/联系我们、戊49公司列表,后台端/酒店/酒店一览、运营/戊49公司设置。3.除上述第1项、第2项外,其余部分已根据远昊标准全部完成,完成度100%。 丁公司认为,根据炳格标准,戌109公司存在如下16个BUG,包括:1.球场预订页面,无法进行价格排序。2.球场预订页面,无法搜索。3.球场预订无法使用微信支付。4.首页搜索,无法用关键词搜索。5.球场列表不稳定,点击分页,无数据显示,并自动跳转第一页。6.后台无法向用户发送系统通知,显示请求异常。7.已支付的订单,后台退款,提示成功,但实际退款金额未到账。8.后台订单-交易统计,退款金额显示错误。9.后台禁用用户,但是依然可以进行登录。10.网站没有部署百度统计相关代码。11.球场端功能全无。12.网站切换在英文状态下,用户端订单列表无法显示球场名称。13.后台订单管理-交易统计无数据。14.编辑球场折扣,无法选择日期。15.球场增加一个套餐,全段同时增加多个相同套餐,在快速多次点击保存的情况下,会出现重复添加。16.某个球场折扣率会70%,计算结果不对,后台填写多少折扣率,就以该折扣率进行计算,现在计算规则是,折扣率=100%-后台填写的折扣率。丁公司认为上述1、8、10、13属于C类BUG,BUG2-5、11属于A类BUG,6-7、9、12、14、15、16属于B类BUG。 己50公司陈述的上述16个BUG,丙公司庚51公司使用不当未对价格进行维护。BUG2、5是aed货币已被删除。BUG3、7系微信支付接口被关闭。辛52公司使用不当,应当输入国家和城市名进行搜索。BUG6、9属于程序问题,测试环境部署代码并非最终代码,测试环境存在问题。BUG8属于前面测试数据的遗留。壬53公司变更需求所致。BUG11代码中已经包含,可以通过查看代码确认。BUG12英文名称未显示是因为英文名没有编辑。BUG13只有点击当日、当月才可查询数据。BUG14无法确认是否属于BUG。BUG15认可属于BUG,但可优化。BUG16属于需求变更,统一表述形式使中英文7折和30%off表述一致。 原审中,就戌87公司约定的“初验”“终验”,丙公司认为,“初验”是指开发完成放到测试服务器上进行测试的阶段,“终验”则是指在测试服务器上验收完毕后,放到正式服务器上即视为验收通过。戌109公司于2019年9月8日部署至正式服务器,应视为验收通过。丁公司则认为,初验是在测试服务器上进行,癸54公司正式服务器才算开始终验,而戌109公司处于整体验收合格前、测试过程中、未通过测试的状态。11月4日,丙公司撤回所有的代码,致使测试中断。 原审中,子55公司在本案中主张的解除条件不成就,戌87公司未履行完毕的情况下,丙公司表示同意继续履行戌87公司,卯公司不同意履行戌87公司,丑56公司支付全款。丁公司则表示不同意继续履行戌87公司,并要求法院根据实际情况对本案予以处理。 原审法院认为,本案的争议焦点在于:寅57公司享有戌87公司解除权,卯58公司有权收取合同全款,以及本案应当如何处理。 关于第一个争议焦点。首先,戌87公司依法成立,合法有效,丙公司、丁公司均应恪守并全面履行戌87公司。然而,根据查明的事实,戌87公司并未完全履行完毕。其一,丙公司确认WEB端/首页/联系我们、戊49公司列表,后台端/酒店/酒店一览、运营/戊49公司设置等未完成,但现有证辰59公司、丁公司协商一致取消需求所致,反而在双方2019年11月3日的聊天记录中,丙公司称“希望各位尽快付款,酒店部分可以在原合同扣除合理的金额,并等价签订补充协议。”丁公司表示“不扣除,把功能完成。”丙公司问“那你什么时候能提供到API,不可能无限等待下去的”。因此,WEB端/首页/联系我们、戊49公司列表、后台端/酒店/酒店一览、运营/戊49公司设置等属于戌109公司中应当完成而未完成的内容。 其二,根据戌87公司第三条项目费用和支付方式中第三款、第四款,丙公司巳60公司午61公司整体验收合格后的10个工作日内,丁公司丙公司支付第三期款项56000元。在戌109公司上线30工作日后的10个工作日内,午61公司验收合格后,丁公司丙公司支付尾款14000元,以及第五条计划进度和交验方式第三款、第五款,丁公司未62公司关于戌109公司书面的初验申请后的2个申63公司共同进行初验测试,初验经测试符合要求的,丁公司应签署初验合格证书。初验合格后的1个月为“试运行期”(即免费维护期),“试运行期”结束后,丁公司在2个工酉64公司共同进行最终验收,终验测试符合要求的,丁公司签署终验合格证书的约定。丁公司丙公司支付涉案第三期、第四期款项的条件在于双方共同验收,戌65公司签署初验合格证书、终验合格证书。但在案证据尚无法证明,双方进行了共同验收,丁公司更未签署初验合格证书、终验合格证书,亥66公司丁公司maggie陈徽2019年11月6日的微信聊天记录中,丙公司甲67公司其已经将戌109公司从乙68公司继续测试,可见就戌109公司的测试并未最终完成。 基于上述理由,戌109公司尚存在WEB端/首页/联系我们、戊49公司列表、后台端/酒店/酒店一览、运营/戊49公司设置等应当完成而未完成的内容,戌109公司尚处在测试验收阶段,故戌87公司尚未履行完毕,其第三期、第四期的付款条件尚未成就,丙69公司在本案中要求支付全款的诉讼请求,不应予以支持。 其次,根据查明的事实,戌87公司未能全部履行完毕,丙公司、丁公司未根据戌87公司约定,予以严格履行,双方均有过错所致。其一,丙公司、丁公司丁70公司列表、后台端/酒店/酒店一览、运营/戊49公司设置等未完成,均具有一定的过错。2019年11月3日的聊天记录显示,戊71公司部分是否开发、开发内容等充分协商、达成一致,己72公司订单相关内容未完成的主要原因,对此,丙公司、丁公司均具有一定过错。 其二,丙公司、丁公司就戌109公司的测试未能最终完成,均具有过错。1.戌87公司第五条第三款约定“初验经测试符合要求的,丁公司应签署初验合格证书”,第五款约定“终验测试符合要求的,丁公司签署终验合格证书”,但在本案审理中,就戌109公司的测试要求,丙公司提供了远昊标准,丁公司则提供了炳格标准,两者具有明显的差别,根据远昊标准并不能得出以炳格标准测得的戌109公司16个BUG的结果。丙公司、丁公司未根据戌87公司的约定明确戌109公司的测试标准,是导致戌109公司未能测试完毕的主要原因,丙公司、丁公司对此均具有过错。2.戌87公司第五条计划进度和交验方式第三款、第五款约定的测试步骤,包括:丙公司书面初验申请——丙公司、丁公司共同进行初验测试——丁公司签署初验合格证书——1个月试运行期——丙公司、丁公司共同最终验收——丁公司签署终验合格证书。但是,在案证据显示,双方根本未按照上述约定步骤进行,庚73公司书面初验申请,双方共同初验测试等情况,辛74公司自行测试并提出修改意见,丙公司壬75公司的测试。丁公司、丙公司未严格根据戌87公司约定步骤进行测试,直接导致双方在测试过程中对于“编辑数据上传完成后没有数据”“网页崩溃”“后台数据不能保存”“后台数据”等问题,癸76公司网络问题,还是戌109公司的质量问题,争执不下。子77公司、丁公司未根据戌87公司的约定步骤,严格执行测试,致使戌109公司未能测试完毕,丙公司、丁公司对此均具有过错。3.原审中,丁公司表示在戌87公司的履行过程中戌109公司存在九个问题,一直无法修复。而查明的事实显示,该九个问题中,丁公司就问题6未能明确描述;其余问题中,丁公司、丙公司就问题1、4、7、丑78公司网络问题,还是戌109公司质量问题争执不下;问题2排序规则、问题3短信模板内容、问题5退款规则、寅79公司订单模块等规则的设定、内容的明确,卯80公司、丁公司协商一致后,才能完成。因此,辰81公司主张的上述测试过程所遇问题,即使仍然存在,巳82公司、丁公司既不能协商一致开发内容,又不能确认就所发现的问题明确解决方案所致,对此,丙公司、丁公司均具有过错。因此,丁公司关于戌109公司测试版本存在多处BUG,一直无法修复,午83公司过错,丁公司据此享有戌87公司解除权的诉讼主张,不予采纳。4.2019年11月4日,丙公司在将戌109公司从正式服务器移转至测试服务器后,已经通过微信将测试服务器的地址告知丁公司的maggie陈徽,因此,丙公司的行为尚不属于以自己的行为不履行戌87公司的根本违约行为,丁公司未84公司的上述行为,享有戌87公司解除权的诉讼主张,不予采纳。但是,需要指出的是,丙公司申85公司友好协商,解决双方之间的争议,酉86公司采取的上述行为,实质引发了双方之间本就存在的矛盾,丁公司戌87公司协商解决,而是在11月10日的邮件中,表达了“有权终止合约,亥88公司支付赔偿,退还已支付费用”的意见,并最终在本案中主张解除合同,双方的上述行为,导致戌87公司最终未能履行完毕。故,丙公司、丁公司就戌87公司未能履行完毕,均具有过错。 基于上述观点,丙公司、丁公司既未能就开发内容、测试标准等协商一致,又未在发现问题后明确解决方案,未根据戌87公司约定严格履行,致使戌87公司未能全部履行完毕,故双方对此均具有过错。因此,丙公司未提交戌87公司约定软件代码、电子文档等,系双方共同过错使戌87公司未能履行完毕所致,丁公司甲89公司未交付约定软件代码、电子文档等,享有戌87公司解除权的诉讼主张,不予采纳。 关于第二个争议焦点。首先,基于前述分析,丁公司并不享有戌87公司的解除权,且戌109公司并未实际完成,辰37公司丁公司本应求同存异,正面戌109公司开发中存在的问题,明确戌109公司的测试要求、开发内容、互相配合,继续履行戌87公司,但在本案审理中,丁公司表示不同意继续履行戌87公司,并要求法院根据实际情况对本案予以处理。丙公司表示同意继续履行戌87公司,卯公司不同意履行戌87公司,丑56公司支付全款。对此,戌87公司尚存在部分内容未开发,测试工作未完成等非金钱债务未履行,乙90公司、丁公司互相配合、协商一致,丁公司明确表示不履行的情况下,丙91公司履行,故戌87公司尚遗留有不适于强制履行的债务标的,而上述不适于强制履行的债务标的不再履行,亦足以导致戌87公司目的无法实现。丁92公司在诉讼中明确表示不同意履行,且要求法院根据实际情况予以处理,实质是在戌87公司目的不能实现的情况下,戊93公司丙公司之间基于戌87公司的权利义务关系。故根据《中华人民共和国民法典》(以下简称民法典)第五百八十条的规定,确认戌87公司终止履行。 其次,合同终止后,尚未履行的,终止履行;已经履行的,根据履行情况和合同性质,当事人可以要求恢复原状、采取其他补救措施,并有权要求赔偿损失。合同因违约解除的,解除权人可以请求违约方承担违约责任,但是当事人另有约定的除外。本案中,其一,如前所述,就戌87公司,丙公司、丁公司尚存在继续开发、共同测试、支付款项、交付软件等合同义务未履行,而在戌87公司终止履行后,丙公司、丁公司基于戌87公司的权利义务亦同时终止,丙公司、丁公司均无需继续履行前述未尽之合同义务。 其二,戌87公司终止履行后,戌87公司目的显然已经无法实现,因此,在此情况下,丙公司己94公司返还已支付的款项70000元。然后,丙公司、丁公司应分别就其在合同履行过程中“未就开发内容、测试标准等协商一致;未在发现问题后明确解决方案;未根据戌87公司约定严格履行;互相争执致使戌87公司最终终止履行”之过错,分担因戌87公司终止履行产生的损失。对于戌87公司终止履行产生的损失金额,根据戌87公司的履行情况、戌109公司的完成程度、丁公司、丙公司就戌109公司开发投入的人力、物力、实际工作量、丙公司、丁公司就戌87公司终止履行的过错程度等因素以及过失相抵原则,庚95公司辛96公司经济损失70000元。鉴于,如上文所言,丙公司壬97公司返还已支付的款项70000元,癸98公司子99公司的经济损失70000元后,丁公司丑100公司支付其他费用。 综上,原审法院依照民法典第五百八十条,《最高人民法院关于适用<中华人民共和国民法典>时间效力的若干规定》第十一条规定,判决:一、原告(反诉被告)甲公司与被告(反诉原告)乙公司之间的《高尔夫订场及高尔夫自由行WEB系统项目合同》终止履行;二、寅101公司的本诉请求;三、卯102公司的反诉请求。本诉案件受理费1550元,财产保全申请费720元,辰103公司负担。反诉案件受理费862.5元,巳104公司负担。 本院二审期间,丙公司补充提交了五组证据:第一组证据,2019年3月13日、3月28日、11月3日的电子邮件三份,午105公司未106公司的原因无法完成,双方约定除去此部分功能,该部分不应在验收范围内。此外,申107公司已经进行了部分开发,不应完全扣除。第二组证据,2019年7月22日、8月2日、8月9日、8月15日、8月18日的电子邮件五份及关于BUG问题的答复,拟证明7月22日已将戌109公司逐步交付测试,并非9月8日才开始验收,9月8日前发现的问题均已修复,酉108公司进行了答复。第三组证据,丙公司内部测试结果截图,戌109公司自行测试并提出修改意见、丙公司未参加测试的认定错误。第四组证据,2019年3月6日电子邮件一份,拟证明软件开发相关工作量的报价。 丁公司质证认为,上述证据不属于二审新证据。 亥110公司提交的上述证据,本院认证意见如下:1.丙公司提交的第一、二组证据系针对原审判决补充提交的证据,甲111公司因故意或者重大过失逾期提供证据,且与有关合同履行的案件基本事实相关,对该组证据的真实性、合法性予以认可,乙112公司的证明目的,本院将予以综合认定。2.亥110公司提交的测试结果,因系其自行制作,真实性无法确认,本院不予认可。 针对原审判决第4页记载“丁公司丙113公司就戌109公司提出的测试标准,本院对其真实性予以确认”,丙公司认为该测试标准未在戌87公司履行过程中出现过,对其真实性不应予以认可。本院认为,综合全案证据,双方当事人就戌109公司的测试时间、测试标准、测试结果均存在争议,至于因何原因造成合同履行陷入僵局,将在文书说理部分详述。 针对原审判决第10页记载的9个问题,丙公司丁114公司在案件审理过程中根据双方聊天记录归纳的问题,有些当时已经修复了,戊115公司合同履行期间并没有及时反馈。经查,原审判决记载“丁公司并认为其在针对戌109公司的测试过程中,戌109公司存在:1.编辑数据上传……等9个问题。丙公司未40公司在测试过程中所提的九个问题中,问题1、4、7、申41公司的网络问题;问题2属于排序规则,丙公司系按惯例开发……”原审判决针对双方争议列明当事人各自主张,并无不当,本院予以确认。 本院另查明: 戌87公司记载:合同有效期为2019年4月24日至2020年4月23日。丁公司于2019年5月20日支付了第一笔合同款42000元,8月20支付了第二笔合同款28000元。 2019年3月6日,丙公司己116公司的“高尔夫项目-报价V1.0”记载:PM(管理)单价为2500元,数量为8,合计20000元;SE(设计)单价为2000元,数量为8,合计16000元;PG(开发)单价为1500元,数量为72.5,合计108750元;TEST(测试)单价为1200元,数量0,合计0。总价款为144750元。其中,与酒店功能有关的工作量记载如下:酒店预定首页,PG:2;酒店详情,PG:2;酒店预定,PG:2;酒店广告位设定,PG:0.5等。二审中,丙公司陈述该报价单中“单价”是开发人员的每天工作量对价,“数量”是预计开发的天数,并表示可以以该报价单作为戌109公司实际开发工作量的参考。 2019年3月13日,丁公司发送的电子邮件记载:“酒店API我们目前在看这2家,bookingee.com已经到协议阶段。” 2019年3月28日,丙公司发送的电子邮件记载:“1.根据最新沟通,项目范围仅微调,不影响报价,项目金额烦请确认。2.同步原型将开始由范围确认,进入页面级的细节确认,请协助进行确认,有必要的话,可以随时电话沟通……3.酒店和支付部分,还请最终确认,将影响部分原型和开发的最终确定。” 2019年7月22日、8月2日、8月9日,丁公司庚117公司发送了以下电子邮件:“Hi刘某,附件为我跟Alan测试出来的BUG,附件中的15个地方还需要你修改下。已附上图文。”“我们有Tower系统,可以处理和追踪相应的bug,要不用?”“前段BUG测试请见附件。”8月15日,丙公司辰81公司上述电子邮件进行了回复,附件名称为“前段BugsGOGO809”。 2019年9月8日,丙公司发送的邮件记载:“一、Web及后台上线。1.9月8日上线(完成);2.DB备份(完成);3.8080端口去除(完成);4.HTTPS(待完成)。二、IOS上线。计划9月30日执行……四、项目结算及交接。1.按合同阶段支付第三期费用。2.9月8日-10月8日试运行(如有bug,及时修复);3.预定10月8日终验,按合同阶段支付第三期费用;4.再次备份,交付代码,交还后台高权账号。” 2019年11月3日,丁公司发送的电子邮件记载:“我们内部讨论下,还是按合约来走,没有完成的部分都完成吧,辛118公司,壬119公司API。售后服务,合约上是6个月,不是你电话里说的3个月。”同日,丙公司回复的电子邮件记载:“1.根据合同,UE/UI确定后,将确定本次开发范围。故酒店部分已不包含在本次开发工作中,对于工作量差额,我方愿意精算统计后,在合同总额上进行增减。2.癸120公司部分,可单独设定补充协议,费用=本次扣除金额,具体执行时间待提供API后确定,不影响本次项目的验收和付款。” 关于开发成果的交付与验收,丙公司陈述其先后交付了软件的后台、前端和球场端三个部分,于2子121公司提供的阿里云服务器上,丁公司发送了相关的账户和密码,并通过微信交付了操作手册。11月4日,其只是关闭了部署在该服务器上的戌109公司的相关功能,而并没有删除该软件。丁公司则认为,丙公司开发的软件未通过验收,其也没有签署相关的初验合格证书。 本院认为:本案为计算机软件开发合同纠纷。丙公司丁公司签订的戌87公司系双方当事人真实意思表示,内容不违反法律、行政法规的强制性规定,合法有效。本案二审的争议焦点为:(一)戌87公司是否应当终止履行;(二)戌87公司终止履行的后果。 (一)关于戌87公司是否应当终止履行 民法典第五百八十条规定,当事人一方不履行非金钱债务或者履行非金钱债务不符合约定的,对方可以请求履行,但是有下列情形之一的除外:(一)法律上或者事实上不能履行;(二)债务的标的不适于强制履行或者履行费用过高;(三)债权人在合理期限内未请求履行。有前款规定的除外情形之一,致使不能实现合同目的的,人民法院或者仲裁机构可以根据当事人的请求终止合同权利义务关系,但是不影响违约责任的承担。《最高人民法院关于适用<中华人民共和国民法典>时间效力的若干规定》第十一条规定,民法典施行前成立的合同,当事人一方不履行非金钱债务或者履行非金钱债务不符合约定,对方可以请求履行,但是有民法典第五百八十条第一款第一项、第二项、第三项除外情形之一,致使不能实现合同目的,当事人请求终止合同权利义务关系的,适用民法典第五百八十条第二款的规定。 本案中,戌87公司有效期为2019年4月24日至2020年4月23日,根据约定戌87公司的有效期已经届满。而且,戌87公司的类型为计算机软件开发合同,作为开发方的主要义务是根据合同约定在一定期限内开发完成并向委托方交付符合要求的开发成果,该合同义务属非金钱债务。根据已查明事实,丙公司丑122公司部分功能未开发,寅123公司卯124公司的原因,并主张除去该部分开发内容,辰125公司巳126公司按合同约定将该部分完成。可见,午127公司部分功能开发与否达成一致意见。除此之外,软件测试完善、BUG修复、售后服务与人员培训等工作亦未完全履行完毕,上述内容的履行均需要双方当事人相互配合、共同推进,原审法院在合同有效期届满且丁公司明确拒绝继续履行并主张解除合同的情况下,认定戌87公司具有不适于强制履行的债务标的应终止履行,并无不当,本院予以确认。 (二)关于戌87公司终止履行的后果 合同终止后,尚未履行的,终止履行;已经履行的,根据履行情况和合同性质,当事人可以要求恢复原状、采取其他补救措施,并有权要求赔偿损失。本案中,丙公司认为其已按约定交付了合格的开发成果,不存在违约行为,未128公司支付全部开发款项,故本案中确定戌87公司终止履行的后果,申129公司履行合同的情况及双方当事人是否存在违约行为。 根据戌87公司关于付款方式的约定,与第四期14000元合同款对应的是“后期维护服务”,其中主要包括了质保和培训两部分内容。关于质保戌87公司约定,“甲方签署最终验收合格证书之日起6个月为免费售后服务期……”“如非甲方原因造成的Bug,在质保期内乙方免费提供修复。”关于培训戌87公司约定,“培训方式与时间:现场培训与厂商模拟教室培训相结合,培训时间由甲乙双方根据进程友好协商安排组织。”“培训内容:互联网基础知识培训,网站内容管理系统操作培训,以及与项目相关的业务培训。”本案中,戌87公司履行尚未进入后期维护与服务阶段,在戌87公司终止履行后,尚未履行的终止履行,丙公司酉130公司提供戌109公司的后期维护和培训服务,丁公司也无需支付第四期14000元合同款。 戌131公司部分功能,包括WEB端/首页/联系我们、戊49公司列表,后台端/酒店/酒店一览、运营/戊49公司设置等未开发完成。根据2019年11月3日的邮件内容,丙公司认为该部分内容不属于本次开发工作的范畴,并主张就该部分工作量差额,可以在原合同款上进行结算。至于该部分工作量对应的合同价款,丙公司提交的“高尔夫项目-报价V1.0”相关内容可以在一定程度上作为参考依据。其中,癸120公司部分PG(开发)的数量超过6.5,在合同终止履行的情况下,戊27公司部分功能对应的开发费应从140000元的合同款中予以扣除。 关于已开发部分是否符合合同约定及相应的责任承担。戌87公司约定“乙方提供的软件到现场后,甲方组织验收,并与有关人员一起对乙方提供的产品进行初验”,还约定“甲方应在接到乙方关于戌109公司书面的初验申请后的2个工作日内指派技术人员或代表与乙方共同进行初验测试(以下简称初验),初验经测试符合要求的,甲方应签署初验合格证书。”在戌87公司履行过程中,丁公司对戌109公司进行测试后,通过电子邮件、微信向丙公司提出了包括“……测试出来的BUG,附件中的15个地方还需要你修改下”“编辑数据上传完成后没有数据”“页面跳转的位置不正确”等问题,丙公司也是通过电子邮件或微信对上述问题进行回复。在案证据表明,丙公司亥132公司提出书面的初验申请,辰125公司甲133公司共同进行软件测试。丙公司、丁公司未按合同约定由相关人员在一起对测试环境、网络设置、测试标准共同进行确认,以至于直至本案诉讼期间,双方就“初验”“终验”的具体方式以及戌109公司的测试标准均未达成一致意见,也导致就戌109公司“网页崩溃”“后台数据不能保存”等是属于网络问题还是软件质量问题,双方当事人各执一词。可见,在合同履行的过程中,丙公司、丁公司都没有严格按合同约定履行自己的义务,致使双方就软件质量是否符合验收标准无法达成一致意见,并由此产生嫌隙,影响了合作的信任基础。乙134公司、丁公司对软件开发的完成度以及软件质量存在不同认识,造成双方就合同款支付条件达成与否产生分歧。丙公司认为其已交付了符合约定的开发成果,合同约定的第三期付款条件已经成就;丁公司则认为戌109公司尚存在诸多问题,丙135公司的付款要求。丙公司丁136公司催要合同款无果的情况下,将部署在正式服务器上的软件关闭,由此双方矛盾激化,最终致使合作关系破裂。 综上,双方当事人均未严格按约定履行自己的合同义务,面对分歧时未能坦诚沟通、求同存异,未能妥善协商解决矛盾,也未能采取有效措施积极推进合同继续履行,对此双方均存在过错。 基于以上分析,原审法院综合考虑戌87公司的实际履行情况、戌109公司的完成程度、双方就戌109公司的开发投入、双方当事人的过错程度等因素,戊137公司已经支付70000元合同款的情况下无需再支付其他费用,并无明显不当,本院予以确认。 己138公司上诉提出的原审法院宣判日期更改事宜,亦不属于法律规定的程序瑕疵,本院不予支持。 综上所述,丙公司的上诉请求不能成立,应予驳回。原审判决认定事实清楚,适用法律正确,应予维持。依照《中华人民共和国民事诉讼法》第一百七十七条第一款第一项之规定,判决如下: 驳回上诉,维持原判。 二审案件受理费1550元,甲公司负担。 本判决为终审判决。 审判长 崔某 审判员佘朝阳 审判员柯某 二〇二二年十二月十五日 法官助理李瑞梅 书记员谭某 本案法律依据 中华人民共和国民法典 第580条1款1项 中华人民共和国民法典 第580条1款2项 中华人民共和国民法典 第580条1款3项 中华人民共和国民法典 第580条2款 最高人民法院关于适用《中华人民共和国民法典》时间效力的若干规定 第11条 中华人民共和国民事诉讼法(2021修正) 第177条1款1项

同类案例

在法小和里继续

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