北京大陆航星质量认证中心股份有限公司、北京瑞泰安科信息技术有限公司计算机软件开发合同纠纷民事二审民事判决书
来源:中国裁判文书网
中华人民共和国最高人民法院
民 事 判 决 书
(2021)最高法知民终928号
上诉人(原审被告):北京大陆航星质量认证中心股份有限公司。住所地:北京市海淀区玉泉路甲12号七层。
法定代表人:**,该公司结算会计。
委托诉讼代理人:***,北京隆诺律师事务所律师。
委托诉讼代理人:**,男,该公司员工。
被上诉人(原审原告):北京瑞泰安科信息技术有限公司。住所地:北京市海淀区上地十街1号院6号楼1层118-40。
法定代表人:***,该公司董事长。
委托诉讼代理人:**,北京德恒律师事务所律师。
委托诉讼代理人:袁淑芬,北京德恒律师事务所律师。
上诉人北京大陆航星质量认证中心股份有限公司(以下简称大陆航星公司)因与被上诉人北京瑞泰安科信息技术有限公司(以下简称瑞泰安科公司)计算机软件开发合同纠纷一案,不服北京知识产权法院于2020年9月22日作出的(2017)京73民初1841号民事判决,向本院提起上诉。本院于2021年4月26日立案后,依法组成合议庭,并于2021年6月15日询问当事人。大陆航星公司的委托诉讼代理人***、**,瑞泰安科公司的委托诉讼代理人**到庭参加询问。本案现已审理终结。
大陆航星公司上诉请求:1.撤销原审判决;2.驳回瑞泰安科公司要求支付合同款46000元及利息的诉讼请求;3.驳回瑞泰安科公司要求支付公证费7600元的诉讼请求;4.瑞泰安科公司承担本案一、二审诉讼费用。事实和理由:第一,瑞泰安科公司法定代表人***于2017年7月2日向大陆航星公司发送邮件称“现在,我正式通知贵公司,这个项目我方进入暂停开发、支持状态,什么时候把24个‘未完成部分’的问题都搞清楚,我方再开工。”即瑞泰安科公司已明确表示不履行《技术开发合同》(以下简称涉案合同)义务,已经构成严重的违约行为。第二,瑞泰安科公司未全面履行涉案合同义务。1.瑞泰安科公司未完成涉案合同附件1约定的软件应当具备的62个方面的主要功能中的第30-37项,此外,仍有34项具体功能未完成;2.瑞泰安科公司未按照涉案合同约定向大陆航星公司提交需求分析报告、系统设计报告、系统维护手册、安装调试文档等有关文档;3.瑞泰安科公司未履行涉案合同约定的在涉案软件交付前完成安装、调试、检验、测试、培训等工作;4.瑞泰安科公司未按照涉案合同约定提出验收申请,也未配合大陆航星公司组织验收。第三,原审法院推定瑞泰安科公司“在2017年6月30日完成了涉案合同义务”缺乏事实依据。1.***镜像文件的形成时间为2017年10月20日,而软件目标程序文件,大部分都在2017年8月-10月被修改,因此,瑞泰安科公司用2017年10月20日的软件镜像文件无法证明其依约履行了合同义务;2.原审法院错误认定大陆航星公司向瑞泰安科公司发送的《CRM未完成部分最终汇总1》“未涉及第30-37项功能等实质性问题”“仅涉及功能实现的优劣细节”,并据此作出瑞泰安科公司已经完成了涉案合同义务的推定,属于事实认定错误;3.以瑞泰安科公司完成了第30-37项功能,即推定其完成了涉案合同义务,与事实不符,瑞泰安科公司至今未交付开发完成的软件,未提供相关文档,亦未履行调试、检验、验收、培训等合同义务。第四,原审法院未重点审查瑞泰安科公司是否履行了合同义务,反而审查大陆航星公司是否履行了合同义务,偏离了争议焦点,瑞泰安科公司不能因大陆航星公司新增合同外工作内容或者未及时完成相关配合,就拒不履行合同义务。第五,涉案合同并无关于公证费或律师费负担的约定,亦无法律法规规定合同违约方应承担对方支出的公证费或律师费,原审法院判令大陆航星公司承担7600元公证费,于法无据。
瑞泰安科公司辩称:瑞泰安科公司已经在2017年6月30日完成全部合同义务,不存在任何违约行为,大陆航星公司应当支付涉案合同尾款。原审判决认定事实清楚,适用法律正确。请求驳回上诉,维持原判。
瑞泰安科公司向原审法院提起诉讼,原审法院于2017年10月26日立案受理,瑞泰安科公司起诉请求:1.判令大陆航星公司向瑞泰安科公司支付合同款46000元,以及迟延支付该款的利息(以同期银行贷款利率为标准,自2017年3月11日起计算至实际支付之日止);2.判令大陆航星公司向瑞泰安科公司支付合理支出公证费7600元,律师费5000元。事实和理由:2016年12月15日,瑞泰安科公司和大陆航星公司签订涉案合同,约定大陆航星公司委托瑞泰安科公司进行项目名称为“CRM客户关系管理系统一期”的软件开发工作,合同总价款为9.2万元,并约定有支付期限。2017年6月,瑞泰安科公司向大陆航星公司交付了服务器及全部开发的软件及流程,但大陆航星公司否认瑞泰安科公司完成的合同义务且不予支付合同尾款,违反合同义务并给瑞泰安科公司带来了损失,故诉至法院。
大陆航星公司辩称,瑞泰安科公司交付的软件不符合合同要求,未完成涉案合同义务,故请求法院判决驳回瑞泰安科公司的诉讼请求。
原审法院认定事实:
一、关于合同关系
2016年12月15日,大陆航星公司(甲方)与瑞泰安科公司(乙方)签订涉案合同,该合同约定有以下主要内容:
1.第一条项目名称及要求中明确,技术内容为附件一:CRM综合管理系统一期需求与功能设计,项目建设内容为附件一:CRM客户关系管理系统一期需求与功能设计。
2.第三条项目进度及周期中约定,其中具体项目名称“客户使用个人空间PC端(流程功能)”“用户行为记录PC端”,项目开始日期均为2017年1月1日,项目完成日期均为2017年3月1日。
3.第四条权利义务中约定,乙方的权利和义务内容中第2-6项为:(2)乙方应根据合同要求,提供符合国家软件开发标准的文档,包括需求分析报告、系统设计报告等文档;(3)负责在甲方指定的场所进行系统现场安装、联调;(4)负责对甲方指定人员进行免费技术培训;(5)乙方应为甲方提供的业务信息和数据承担保密义务;(6)配合第三方进行软件功能测评、安全测评工作,以及对测评过程发现的缺陷进行免费修复。
4.第五条开发费用及支付中约定,研发开发费用总额为92000元;第一次为甲方在合同生效后3个工作日内向乙方支付,首付款46000元;第二次为乙方完成研究开发项目上线运行后,并经甲方验收后3个工作日内支付27600元;第三次为研究开发项目全部完成,经甲方验收合格后5个工作日内支付18400元。
5.第八条检验和测试中约定,在系统上线试运行前,乙方应对系统进行详细而全面的检验与测试,并出具一份证据系统符合本合同及甲方要求的书面检验测试报告;系统现场安装、调试、检验与测试等。
6.第九条项目验收中约定,乙方应在验收前,提交以下文档作为研究开发成果的一部分由甲方进行验收:系统维护手册;安装调试文档。系统上线试运行无故障五天后,乙方可提出验收申请,由甲方组织双方人员在3日内对系统进行验收。验收合格,甲方应以书面方式出具验收单,当所有的系统都经甲方验收合格后,经双方负责人签字认可,视为系统验收合格,正式交付给甲方。
7.第十三条违约责任中约定,甲方违反本合同第五条约定,应当赔偿乙方的损失;乙方违反本合同第三条约定,应当按合同总额的2‰/日支付违约金。
涉案合同附件一“CRM客户关系管理系统一期需求与功能设计”中明确,系统分类“领导、管理员使用”,终端分类“PC端访问”,功能名称(即第30-37项)包括:用户行为记录,用户浏览产品记录,用户浏览产品时长,用户需求记录,用户在线时长,用户缴费情况,用户满意度,用户提出的建议。
二、关于合同履行情况
(一)瑞泰安科公司提交了其工作人员与大陆航星公司工作人员在2016年12月至2017年6月期间的QQ和电子邮件沟通记录等,同时提交了“HXQC客户关系管理系统需求与设计说明书(2017年1月版)”,用以证明在合同履行过程中,大陆航星公司存在增加涉案合同外的大量工作内容、拖延完成对接工作导致无法继续开发等情况,并且在此情况下,瑞泰安科公司仍然已于2017年6月基本完成涉案合同及新增内容并进行了交付。
1.瑞泰安科公司提交的用于证明大陆航星公司变更和增加其工作内容以致延误工期的证据,主要是瑞泰安科公司员工***与大陆航星公司员工**的聊天记录及邮件往来。其中:
2016年12月22日,**要求更换“培训简介、培训计划、会员制度、通知公告”,并要求增加视频内容等。
2016年12月27日,**向***发送“首页效果图文档”,并表示“你们弄吧,回头说多少钱就行了,我弄还得研究”,证明有合同增项,并超出合同约定的价款;2016年12月28日,**要求调整认证流程图等;2016年12月30日,**要求“上面的明星客户展示删了吧”,用以证明仍在调整页面内容等。
2017年1月15日,**提出“就是两个查询和收发通知”“这个回款情况字段改个名字”“通知以后最好可以做跳转”“就是如果收到核对发票信息的通知,点这里直接跳转到财务信息填写页面”,***称“好的,需求我已经记下了”,**还指出“这个应该在外面,不应该在认证申请里,一级菜单再加上行为记录”“这四个按钮点完了是‘更多’的效果,点质量应该去质量,环境去环境”,另外还提出了调研需求,证明大陆航星公司提出了新增合同外工作内容的要求。
2017年1月17日,**给***发邮件,其中载有“需求文档为页面资料完善内容,在不影响开发进度的情况下适时完善,用友、**必须存在在友情链接中”,证明大陆航星公司提出新增工作内容的要求。
2017年1月19日,**向***发了更改的图片,同时指出“我要认证这个登录口别忘加入注册”“图变化不大,我这边规则变化有一些”,并要求根据发送的业务主流程图进行优化。另外,**称“还要碰具体某些节点抓取哪些数据”“逻辑关系基本OK了……主要最近大家都忙,老系统按钮还不全”,证明大陆航星公司的需求在当时还没有明确。另外,**指出“这个节点那个页面是没有财务信息的,需要提取财务信息表内的某一字段,确认是否到齐款后,发出微信,动作一数据读取,动作二进行判断,动作三发微信”,***问“这么说,功能是我们这边来做?”**回复“明天约**任谈一下”“现在就是做也得做不做也得做”,证明大陆航星公司提出了新的需求,并要求瑞泰安科公司继续推进工作。***询问“年会之前把那个流程搞完?”**表示认可,同时称“当初没想那么复杂,当初那个流程也就几个点吧,我跟他说很复杂,他说没事,这还是正常流程,特殊情况很多”“财务还想加个到款银行接口的功能”,证明涉案合同涉及的流程少于实际工作量,合同履行过程中存在很多复杂情况。
2017年2月8日,**称“联系我们菜单地图中由‘百度地图’更换为‘**地图’;-技术部经理***提出”,用以证明大陆航星公司修改涉案合同约定工作内容。
2017年2月20日,**指出“多了一个案卷整理”;2017年3月14日,**发送“内训网页改”的文档,新增了软件功能开发要求。
2017年2月27日,**向***发邮件,要求完善字段合同来源代码,后又于2017年2月28日,要求调整接口微信推送通知。
2017年3月20日,**向***发邮件,其中记载“根据现有ERP业务对开发文档进行了部分修订,部分修改删除接口卸载文章末尾,一期在不增加费用的情况下增加外派权限下查看名下企业的全部工作流,请整理一下附件我们再核实,不明白的随时沟通,接口处不明白的也可直接联系**任进行沟通,另需要乙方对‘未在CRM里注册、登陆、申请认证的ERP系统客户工作流程及信息传递至数据库内’功能进行评估并报价”。
2017年4月17日,**向***发邮件,其中记载“甲方已确认好开发内容,请乙方对文档进行格式调整并完善部分缺失内容(例:网站后台可维护范围、部分单独接口),双方签字进行开发”。
2017年4月18日,***向**发邮件,其中记载“项目需求与设计确认书已经完善完毕,增加了网站后台维护内容说明,外派查看名下企业相关的流程跟踪图,管理员和领导查看所有企业的流程跟踪图。如没有问题,请打印签字确认!”同时,邮件附件为项目需求与设计确认书、整体项目计划。
2017年6月21日,**向***等人发邮件,其中记载“仅信息中心试用体验,CRM项目有部分功能还需完善,具体内容见附件,如有疑问随后联系,望在约定时间完成,尽快上线。”
2017年6月27日,**向***发邮件,其中记载“工作流及功能缺失文档将周五发送给你”,瑞泰安科公司主张大陆航星公司提出了增加工作流和文档的新要求。
2.瑞泰安科公司提交的用于证明大陆航星公司未能及时完成配合工作以致延误工期的证据,主要是瑞泰安科公司员工***与大陆航星公司员工**的聊天记录及邮件往来。其中:
2017年1月15日,**称“一定要提接口需要这边配合,大概多少个点需要***开发,主要目的让他尽快开发接口”,证明大陆航星公司未及时完成接口开发工作。
2017年1月19日,***问“这功能是**任那边做吧?”**回复“他做够呛,以项目的角度来说,他最少要做50个节点,明天你来了再商量吧”,还指出“现在系统缺最少10个按纽,再让他加功能,接口更没戏了”,证明大陆航星公司未及时完成接口工作,导致影响瑞泰安科公司工作进度。
2017年1月19日,**表示“我要打印出来让他们责任人签字,然后发给你们开始干”,证明大陆航星公司提出了涉案合同外的新需求,需要该公司有关负责人签字确认后再让瑞泰安科公司继续开发工作。
2017年2月9日,***询问**“杨经理,接口的字段预计什么时候能搞完?”**答称“尽快吧,先发你一个你看看,还没弄齐”,***问“没字段啊?”**答“明天上午,给你,这两天系统硬盘坏了”;2017年2月10日,***进一步询问“杨经理,合同预评节点及后边节点的字段定的怎么样了?”**答“正在弄”“从头弄呢,申请有变化”,证明大陆航星公司的需求有变化,且其开发和配合工作当时仍然没有完成。
2017年2月20日,***与**有如下聊天记录:
***说:“研发接口都写到就差最后3个了。”**说:“是调研还是开发?”***说:“开发。”**说:“开发剩3个还是调研?”***说:“开发剩下3个接口啦。”**说:“赶紧催着他干啊。”***说:“就等调试了啊……**任那边什么情况了。昨天晚上人自己干的,我都不知道……”**说:“他说需要他干啥直接群里说就行,他积极配合,他是不知道他后面咋配合你们,要不就边调试边开发。”**说:“这个也给你一份吧,也不知道你需要不。”***说:“这个怎么对应……合同来源和外派对应关系表有没?”**说:“你要哪个表啊,我去弄。”**说:“这里没有合同来源。”***说:“你先整个合同来源和外派关系的那个。”**说:“安排人做了。”***说:“**任在疯狂的写呗?”**说:“没有,你们拉着他测试。”***说:“咋还不写?”**说:“不知道啊,你需要指挥他告诉他写啥。”***说:“群里不都告诉他了吗。”**说:“问问他写咋样了。”***:“把我昨天发给你的那个接口文档,放到群里。我们这接口都快写完了,**任还搞不清楚啥情况呢?”**说:“你俩沟通一下,不在一个频道。”***说:“**任没动静。”**说:“一个都没弄?”***说:“2个,企业基本信息,财务信息。”
2017年4月28日,**在QQ群聊时询问“**任可以做完不@***”。2017年5月11日,QQ群聊天记录反映了接口调试的过程。
2017年6月30日,***向**发送了程序升级包邮件;**邮件回复:“根据乙方服务器文件升级包更新后,修订了CRM未完成部分最终汇总,请查收,另甲方周一进行内部项目验收评估,请尽量在此时间前解决”。
另外,瑞泰安科公司提交了其于2017年1月制作的CRM客户关系管理系统一期《项目需求与设计确认书》,用以证明其中内容庞杂,开发内容远超涉案合同约定完成的范围。
(二)大陆航星公司提交了其工作人员与瑞泰安科公司工作人员在2017年1月至2017年7月期间的电子邮件沟通记录等,并提交了瑞泰安科公司法定代表人于2017年7月2日单方面宣布停止技术开发的聊天记录,用于证明瑞泰安科公司严重拖延项目进度、未按合同约定完成检验、测试、安装、调试和验收以及单方面停止技术开发且至今未履行合同。
按照原审法院关于全面整理瑞泰安科公司违反合同义务有关事实的要求,大陆航星公司提交了《瑞泰安科公司拖延履行合同义务的情况分类汇总表——从瑞泰安科工作日志中体现的事实》,其中主要就瑞泰安科公司未按照涉案合同约定的各项具体项目期限要求完成工作任务进行了梳理。其中,
1.涉案合同第三条约定的“客户使用网站PC端”项目,开始时间为2016年12月15日,完成时间应为2016年12月31日,但是,从瑞泰安科公司工作日志中看到的实际工作时间大多在2017年1月,其中2017年3月13日开始进行“确认需求”工作,2017年5月19日进行“报表用户行为记录、用户需求记录(咨询类)、用户缴费记录、用户满意度”工作。“订单工作流状态”部分,开始时间为2017年1月1日,完成时间应为2017年3月1日,但是,瑞泰安科公司迟至2017年3月13日才进行“确认需求”工作,2017年4月18日才进行“其他流程实施”。
2.涉案合同第三条约定的“客户使用微信服务”项目,开始时间为2017年1月1日,完成时间应为2017年1月15日,但是,从瑞泰安科公司工作日志中看到的实际工作时间来看,其在2017年1月17日进行“微信页面设计及分析”,2017年2月9日进行“首页和详情页的设计”工作,2017年3月13日进行“确认需求”工作,2017年5月11日进行“微信功能开发与PC端对接数据”工作。
3.涉案合同第三条约定的“用户行为记录PC端”项目,对应附件一“领导、管理员使用(PC端访问)”,开始时间为2017年1月1日,完成时间应为2017年3月1日,但是,从瑞泰安科公司工作日志中看到的实际工作时间来看,其在2017年5月19日才开展“报表用户行为记录、用户需求记录(咨询类)、用户缴费记录、用户满意度”工作。
4.涉案合同第三条约定的“java技术支撑云平台部署”项目,对应附件一“开发者使用(PC端访问)”,开始时间为2016年12月20日,完成时间应为2016年12月21日,但是,瑞泰安科公司于2017年1月5日开展“微信接口、认证、绑定、集成平台、维护”工作,且于2017年5月11日才开展“流程跟踪图”“接口开发”工作。
三、其他事实
2020年6月2日,原审法院组织双方当事人举行庭前会议。在庭前会议上,双方当事人均表示认可涉案合同有效。关于合同履行情况,大陆航星公司表示,根据涉案合同第四条第二款第2-6项的约定,瑞泰安科公司除完成软件开发外,还需要提供文档并完成安装、培训、启动验收等合同义务;根据涉案合同第八条、第九条的约定,软件开发完成后应当进行检验测试和项目验收,还应当提交手册和文档,但是,瑞泰安科公司并未进行检验测试和现场安装调试,也没有提供书面检测报告及部分手册和文档;关于附件一的义务内容,其中“用户行为记录”部分第30-37项没有完成。对此,瑞泰安科公司表示,关于涉案合同第四条第二款第2-6项的合同义务,通过双方工作人员的电子邮件往来等能够看出已经提供了相关的文档和技术升级检测文件;对于现场验收测试,这属于“程序性的测试,不需要现场安装,如果不安装,大陆航星就无法登陆,现在大陆航星已经使用了,他们还主张没安装是矛盾的”;对于“用户行为记录”部分,瑞泰安科公司从大陆航星公司在2017年3月3日在年会上演示该系统就可以看出当时已经完成合同义务,且从2017年6月30日电子邮件来看,大陆航星公司“收到服务器和升级包之后,还给我们提了额外的要求。希望在周一进行验收评估”。大陆航星公司回答原审法院询问时明确表示,瑞泰安科公司未依约交付软件相关文档且该文档属于软件的部分功能,同时未完成附件一“用户行为记录”部分第30-37项,其他“没有了”,同时表示,其在合同履行过程中并未要求瑞泰安科公司提供缺少的文档,因瑞泰安科公司在2017年7月2日单方面宣布停止技术开发,虽然其未向瑞泰安科公司主张解除合同,但“委托另外一家公司重新设计开发了一套系统”。原审法院询问“瑞泰安科有验收记录么?最后验收了么?”瑞泰安科公司表示2017年6月30日“对方说收到全部软件后提到了新增的问题,也就是增加了合同义务。没有书面的验收文件,但是对方在收到文件后安排周一进行验收的,但是没有实际进行。原因是大陆航星提出了新增的开发内容。双方无法达成一致”。
2020年7月22日,原审法院开庭审理本案。在开庭审理过程中,根据北京市海诚公证处出具的(2017)京海诚内民证字第15734号公证书和(2017)京海诚内民证字第15735号公证书中显示的网站信息,瑞泰安科公司陈述了上述网站信息与涉案合同的附件1(包括“用户行为记录”部分第30-37项)的逐项对应内容,并坚持认为其已经全部完成涉案合同义务。大陆航星公司则表示“个人中心和用户行为记录是两回事”“只能看自己的用户行为记录是不算用户行为记录的。这个也说明了他们的程序未完成”。
2020年8月14日,原审法院组织双方当事人进行询问,主要针对瑞泰安科公司在本案审理过程中申请原审法院调取的有关***镜像文件进行勘验,以查证涉案合同约定的各项软件功能是否能够实现。鉴于该镜像文件的解压等工作需要较长时间,原审法院遂要求双方当事人拷贝镜像文件,后续分析后再向原审法院提交相关图片、录像以及相关质证意见;后在规定的时间内,瑞泰安科公司录制提交了镜像文件中能够基本反映涉案合同附件一“用户行为记录”部分的录像,并提交了相关截图;大陆航星公司向原审法院提交了质证意见。
另外,瑞泰安科公司向原审法院提交了北京市海诚公证处分别于2017年10月20日和10月26日出具的4100元和3500元的公证费发票,公证费共计7600元。
原审法院认为:瑞泰安科公司和大陆航星公司双方签订的涉案合同(包括其附件)系双方的真实意思表示,内容亦不违反我国法律法规的强制性规定,应为合法有效的合同。双方均应严格按照涉案合同的约定,履行相关义务。
瑞泰安科公司主张其已履行完毕涉案合同义务,大陆航星公司应当依约支付合同尾款。因此,本案争议焦点在于:第一,瑞泰安科公司是否履行完毕涉案合同义务;第二,大陆航星公司应当承担的法律责任。
(一)瑞泰安科公司是否履行完毕涉案合同义务
根据《中华人民共和国合同法》第六十条的规定,当事人应当按照约定全面履行自己的义务。
瑞泰安科公司主张,其已完成涉案合同的全部义务。大陆航星公司主张,瑞泰安科公司未交付软件相关文档以及未完成附件一“用户行为记录”部分第30-37项;同时,针对有关***镜像文件信息,大陆航星公司质证认为,(1)涉案合同约定的开发最后完成时限是2017年3月1日,而上述***镜像程序文件中大部分在2017年8-10月间被修改,该证据的形成时间远远超过了合同约定履行完毕的时间,且瑞泰安科公司单方面宣布暂定开发时间,也远远超过了大陆航星公司解除合同的时间,故(2)从瑞泰安科公司提供的“系统截图”中能够看出该软件无法正常运行和使用,且该截图显示的信息存在违背常理之处。据此,大陆航星公司认为该证据不能用于证明瑞泰安科公司已经按照合同约定履行了技术开发义务。
1.关于涉案合同的履行过程
根据涉案合同约定的项目要求,涉案合同所涉项目建设内容为附件一所附内容。同时,根据涉案合同约定的项目进度及周期,全部项目完成时间至迟为2017年3月1日。根据查明的事实,瑞泰安科公司显然并未在2017年3月1日前完成全部项目建设。大陆航星公司在本案审理中明确陈述,瑞泰安科公司未完成的工作内容主要是“未依约交付软件相关文档且该文档属于软件的部分功能,同时未完成附件一‘用户行为记录’部分第30-37项”,且存在拖延工期的情形;瑞泰安科公司则主张其在约定时间内未完成合同义务的原因在于大陆航星公司在软件开发过程中不断变更和增加工作内容且未及时完成配合工作。
根据查明的事实,双方当事人在履约过程中存在较为频繁的沟通交流,大陆航星公司针对瑞泰安科公司交付的阶段性工作内容提出了诸多修改、完善意见,这与软件开发过程的通常样态相符。但是,大陆航星公司提出的修改意见应当局限于涉案合同约定的范围内,同时也应当做好相应配合工作,以便推进开发进程。
首先,大陆航星公司明显存在新增合同外工作内容并要求瑞泰安科公司依其指示工作的情形。比如,2016年12月22日,大陆航星公司要求更换“培训简介、培训计划、会员制度、通知公告”,并要求增加视频内容等;2016年12月27日,大陆航星公司要求按照其新提供的“首页效果图文档”进行首页页面修改,同时表示“你们弄吧,回头说多少钱就行了,我弄还得研究”;2017年1月19日,大陆航星公司向瑞泰安科公司发送更改的图片以及业务主流程图等,同时称“当初没想那么复杂,当初那个流程也就几个点吧……特殊情况很多”;2017年4月17日,大陆航星公司向瑞泰安科公司发邮件称“甲方已确认好开发内容,请乙方对文档进行格式调整并完善部分缺失内容(例:网站后台可维护范围、部分单独接口),双方签字进行开发”;2017年6月21日,大陆航星公司向瑞泰安科公司发邮件称“CRM项目有部分功能还需完善……望在约定时间完成,尽快上线”。以上事实能够反映出大陆航星公司在瑞泰安科公司履约过程中,在提出完善意见的同时,也在不断调整需求、增加内容,甚至认可部分内容不属于涉案合同约定范围且表示可另行付费,同时,大陆航星公司至少在2017年4月17日明确表示已确认好开发内容,且在2017年6月21日还要求瑞泰安科公司进一步完善系统功能,并提出“望在约定时间完成,尽快上线”。
其次,大陆航星公司明显存在未及时完成配合工作的情形。比如,2017年1月15日,大陆航星公司要求瑞泰安科公司要向其技术人员明确提出软件对接接口开发的需求;2017年2月9日,大陆航星公司在回复瑞泰安科公司有关对接配合工作完成情况的询问时,表示“正在弄”“从头弄呢,申请有变化”;2017年2月20日,大陆航星公司与瑞泰安科公司关于对接接口开发配合工作的聊天记录;2017年4月28日,大陆航星公司在QQ聊天群内询问其相关工作人员能否完成对接接口开发工作;2017年5月11日,QQ群聊天记录反映了接口调试的过程。以上事实能够反映出大陆航星公司在瑞泰安科公司履约过程中,***在需要配合完成的系统接口等工作,但因其自身原因,在2017年4月28日时仍然在询问其工作人员能否完成配合工作,双方在2017年5月11日才进行接口调试工作,大陆航星公司显然未及时完成相关配合工作。
2.关于涉案合同义务完成情况
关于瑞泰安科公司是否完成合同义务及完成的具体时间。首先,在***镜像文件反映出的相关信息中,“用户浏览产品时长”和“用户在线时长”在相关界面中显示有具体的时间,而并不仅仅是0.00分钟,大陆航星公司关于上述镜像文件虚假的主张与事实不符;大陆航星公司质疑用户行为记录中数据的真实性,并未对功能的实现本身提出异议,实际上,相关数据存储于数据库中,软件本身只是读取数据库并呈现相应数据,即使上述数据的真实性存在问题也只能说明数据库中存储的数据存在问题,而这些数据显然是一些测试性的数据,只是用于软件开发过程中的测试,不能说明软件功能实现本身存在问题。退一步而言,即使认为记录和显示数据有问题,至多也只是说明功能实现上有一些缺陷,不能否认整个功能框架已经实现了。因此,***镜像文件中的相关信息能够证明瑞泰安科公司已经完成大陆航星公司所质疑的附件一中“用户行为记录”部分第30-37项内容。其次,大陆航星公司主张上述***镜像文件的最后修改时间为2017年10月,而瑞泰安科公司于2017年7月就终止开发,故上述镜像文件不能反映出瑞泰安科公司的真实软件开发情况。对此,原审法院认为,根据查明的事实,瑞泰安科公司在2017年6月30日向大陆航星公司发送了程序升级包,大陆航星公司提出新的修改意见后表示“周一进行内部项目验收评估,请尽量在此时间前解决”,可见,瑞泰安科公司至少在2017年6月30日仍然在对软件进行升级,而大陆航星公司就该软件的进一步完善提出了相应意见,而该上述完善意见并未涉及软件升级后大陆航星公司在本案中所主张的仍不能实现附件一中“用户行为记录”部分第30-37项功能等实质问题,而仅涉及功能实现的优劣细节,故在瑞泰安科公司未提交程序升级前及大陆航星公司未提交程序升级后软件实际运行状态的情况下,原审法院推定瑞泰安科公司在2017年6月30日完成了涉案合同义务。
关于大陆航星公司对瑞泰安科公司未在合同约定的时限完成相应工作的主张。原审法院认为,综合考虑双方当事人提交的证据情况,尽管瑞泰安科公司确未在合同约定的2017年3月1日前完成全部软件开发工作,但是,根据查明的事实,在瑞泰安科公司履约过程中,大陆航星公司明显存在新增合同外工作内容以及未及时完成相关配合工作的情形,且大陆航星公司在履约时限届满后至少迟至2017年4月28日时仍未完成相关配合工作,再则,在合同履行过程中,并无证据表明双方当事人曾经就有关履约时限问题提出异议或进行协商。在此情况下,大陆航星公司关于瑞泰安科公司未在约定时限内完成合同义务故其不应支付合同余款的主张,原审法院不予支持。
(二)大陆航星公司应当承担的法律责任
《中华人民共和国合同法》第一百零九条规定:“当事人一方未支付价款或者报酬的,对方可以要求其支付价款或者报酬。”第一百一十二条:“当事人一方不履行合同义务或者履行合同义务不符合约定的,在履行义务或者采取补救措施后,对方还有其他损失的,应当赔偿损失。”
本案中,首先,如上所述,瑞泰安科公司已经完成涉案合同义务,故大陆航星公司应当依约支付瑞泰安科公司所主张的合同尾款46000元。其次,瑞泰安科公司完成涉案合同义务的时间推定为2017年6月30日,大陆航星公司应当在此后合理时间内向瑞泰安科公司支付合同尾款,依合同相关约定,原审法院认定大陆航星公司应当支付合同尾款的时间为2017年7月5日,且应当支付自2017年7月6日至实际支付之日止逾期支付的合同尾款的利息。此外,瑞泰安科公司为本案支付的公证费7600元属于合理支出,大陆航星公司应予赔偿;瑞泰安科公司主张大陆航星公司应赔偿其为本案支付的律师费,但瑞泰安科公司并未提交相应代理合同及相应票据等证据予以佐证,故原审法院对瑞泰安科公司该主张不予支持。
综上所述,瑞泰安科公司的诉讼理由部分成立,对其诉讼请求原审法院予以部分支持。依据《中华人民共和国合同法》第六十条、第一百零九条、第一百一十二条的规定,原审法院判决:一、大陆航星公司于判决生效之日起七日内,向瑞泰安科公司支付46000元;二、大陆航星公司于判决生效之日起七日内,向瑞泰安科公司支付逾期付款的利息(按中国人民银行同期银行贷款利率计算);三、大陆航星公司赔偿瑞泰安科公司合理支出7600元;四、驳回瑞泰安科公司的其他诉讼请求。如果大陆航星公司未按原审判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》(2017年修正)第二百五十三条之规定,加倍支付迟延履行期间的债务利息。案件受理费1297元,由大陆航星公司负担。
二审中,瑞泰安科公司向本院提交一份证据:(2021)最高法知民终203号民事判决书。拟证明:1.大陆航星公司明显存在新增工作需求、要求的情形;2.大陆航星公司明显存在未及时完成配合工作的情形;3.瑞泰安科公司已经完成了涉案合同义务;4.大陆航行公司不断新增需求导致瑞泰安科公司工作量增加,故而导致履行合同迟于约定的时间,但瑞泰安科公司已经基本按照合同约定履行了合同义务,不应当承担任何违约责任。
大陆航星公司的质证意见为:对该证据的真实性、合法性无异议,但不认可该证据的关联性。
本院的认证意见为:该证据系本院作出的二审生效裁判文书,本院对该证据的真实性、合法性予以确认。对其证明目的,将结合本案事实在本院认为部分一并予以论述。
原审法院查明的事实属实,本院予以确认。
本院认为,根据《最高人民法院关于适用时间效力的若干规定》第二条的规定,《中华人民共和国民法典》施行前的法律事实引起的民事纠纷案件,适用当时的法律、司法解释的规定,但是法律、司法解释另有规定的除外。本案为计算机软件开发合同纠纷,且涉案争议事实发生在《中华人民共和国民法典》施行前,故应适用《中华人民共和国合同法》的规定。根据双方当事人的诉辩意见,本案二审的争议焦点为:大陆航星公司是否应当向瑞泰安科公司支付4.6万元的涉案合同尾款,并承担瑞泰安科公司支出的7600元公证费。
《中华人民共和国合同法》第八条规定:“依法成立的合同,对当事人具有法律约束力。当事人应当按照约定履行自己的义务,不得擅自变更或者解除合同。依法成立的合同,受法律保护。”涉案合同系双方当事人真实意思表示,内容亦不违反我国法律法规的强制性规定,属于合法有效的合同,双方均应严格按照涉案合同的约定履行自己的义务。根据涉案合同的约定,瑞泰安科公司的主要合同义务是向大陆航星公司交付符合涉案合同要求的软件系统,大陆航行公司的主要合同义务则是按照涉案合同的约定向瑞泰安科公司支付软件开发费。
大陆航星公司上诉主张,瑞泰安科公司未完成涉案合同附件1约定的软件应当具备的62个方面的主要功能中的第30-37项,未按照涉案合同约定向大陆航星公司提交需求分析报告、系统设计报告、系统维护手册、安装调试文档等有关文档,未履行涉案合同约定的在涉案软件交付前完成安装、调试、检验、测试、培训等工作,以及未按照涉案合同约定提出验收申请,也未配合大陆航星公司组织验收,故瑞泰安科公司未全面履行涉案合同义务,因此大陆航星公司不应向其支付涉案合同剩余款项。对此,本院经审查认为,首先,根据涉案合同附件一“CRM客户关系管理系统一期需求与功能设计”的约定,涉案软件的“领导、管理员使用”系统中,应当具有“用户行为记录”模块,该模块应当包含“用户浏览产品记录”“用户浏览产品时长”“用户需求记录”“用户在线时长”“用户缴费情况”“用户满意度”以及“用户提出的建议”功能。双方签字**确认的“CRM客户关系管理系统一期项目需求与设计确认书”进一步明确了“用户行为记录”报表应当能够查看用户的行为,包括“用户名”“登录IP地址”“浏览产品记录”“浏览产品时长”“用户在线时长”;“用户需求记录”报表应当能够查看用户提交的需求记录,包括“用户名”“需求名称”“提交日期”;“用户缴费情况”报表应当能够查看“用户名”“公司名称”“应交费用”“已交费用”“未缴费用”;“用户满意度”报表应当能够查看用户满意度。从原审法院调取的***镜像文件相关录像中可见,该镜像文件能够反映出涉案软件具备涉案合同附件一中所约定的“用户行为记录”“用户需求记录”“用户缴费情况”“用户满意度”功能报表模块,其中“用户行为记录”模块中的“用户浏览产品时长”和“用户在线时长”在相关页面中均有显示具体时间,可以反映出涉案软件具备相应的“用户行为记录”及相应功能模块。大陆航星公司主张,该***镜像文件的形成时间是2017年10月,但其中的目标程序文件中,大部分都在2017年8月-10月被修改,而瑞泰安科公司已经在2017年7月2日明确表示停止开发,故该镜像文件不能作为瑞泰安科公司已经依约履行合同义务的证据。对此,本院认为,《最高人民法院关于适用的解释》第一百零八条第一款的规定:“对负有举证证明责任的当事人提供的证据,人民法院经审查并结合相关事实,确信待证事实的存在具有高度可能性的,应当认定该事实存在。”本案中,瑞泰安科公司在2017年6月30日向大陆航星公司发送了涉案软件系统的程序升级包,大陆航星公司回复“根据乙方服务器文件升级包更新后,修订了CRM未完成部分最终汇总”,一方面,该CRM未完成部分最终汇总文件中所附截图能够反映出涉案软件具有“用户行为记录”相关功能模块;另一方面,该文件中虽有指出涉及“用户行为记录”部分的问题,但相关问题的描述仅是针对“用户行为记录”部分的相关功能模块应当进行何种升级和完善所提意见,大陆航星公司亦并未提交其他有效证据证明,其在瑞泰安科公司向其发送软件程序升级包之后,明确向瑞泰安科公司指出所开发的涉案软件系统不能实现双方在“CRM客户关系管理系统一期项目需求与设计确认书”所约定的“用户行为记录”部分的功能。因此,根据现有证据,可以认定瑞泰安科公司完成了涉案合同附件一:CRM客户关系管理系统一期需求与功能设计中所要求的62项功能中的第30-37项,即“用户行为记录”部分。其次,在案证据亦反映出,瑞泰安科公司相继于2017年6月向大陆航星公司交付了服务器交接文档、短信配置文档、功能升级包、程序升级包等,而根据双方对接人员的聊天记录显示,大陆航星公司在涉案合同履行过程中存在不断调整需求、增加内容以及未能完成接口调试等配合工作,从而导致开发延期,故相关调试、检验、培训以及验收等工作未能进行,亦不能归咎于瑞泰安科公司。因此,在没有相反证据的情况下,原审法院根据现有证据和查明的事实,推定瑞泰安科公司在2017年6月30日完成了涉案合同义务,并无不当。大陆航星公司的相关上诉主张,缺乏事实依据,本院不予支持。
大陆航星公司上诉还主张,其不应当承担瑞泰安科公司所支出的公证费7600元。对此,本院认为,根据涉案合同的约定,“甲方违反本合同第五条约定,应当赔偿乙方的损失”,瑞泰安科公司在本案中所支付的公证费7600元,系为证明涉案合同的履行情况所支出的取证费用,应认定为系因大陆航星公司违约行为给瑞泰安科公司造成的实际损失。原审法院判令由大陆航星公司承担该笔费用,并无不当。大陆航星公司上述主张不能成立,本院不予支持。
综上所述,大陆航星公司的上诉请求不能成立,应予驳回;原审判决认定事实清楚,适用法律正确,应予维持。依照《中华人民共和国民事诉讼法》第一百七十七条第一款第一项之规定,判决如下:
驳回上诉,维持原判。
二审案件受理费1172元,由北京大陆航星质量认证中心股份有限公司负担。
本判决为终审判决。
审 判 长 **如
审 判 员 ***
审 判 员 庞 敏
二〇二二年十二月十一日
法官助理 ***
书 记 员 ***