中华人民共和国最高人民法院 民 事 判 决 书 （2020）最高法知民终1954号 上诉人（原审被告）：北京京科迅达物联网科技有限责任公司。住所地：北京市朝阳区大屯路科学园南里风林绿洲Ⅰ乙2202。 法定代表人：刘雁，该公司董事长。 委托诉讼代理人：刘晖，男，该公司总经理。 被上诉人（原审原告）：北京时代凌宇科技股份有限公司。住所地：北京市朝阳区容创路17号楼701室。 法定代表人：黄孝斌，该公司董事长。 委托诉讼代理人：彭敏，女，该公司法务。 委托诉讼代理人：牛家乐，男，该公司项目经理。 上诉人北京京科迅达物联网科技有限责任公司（以下简称京科迅达公司）因与被上诉人北京时代凌宇科技股份有限公司（以下简称时代凌宇公司）计算机软件开发合同纠纷一案，不服北京知识产权法院于2020年9月27日作出的（2018）京73民初1648号民事判决，向本院提起上诉。本院于2020年12月10日立案后，依法组成合议庭对本案进行了审理。本案现已审理终结。 京科迅达公司上诉请求：1.撤销原审判决，发回重审或依法改判；2.本案一审、二审诉讼费用由时代凌宇公司承担。事实和理由：（一）原审判决认定事实错误导致适用法律错误。双方自2018年3月签订《补充协议》约定终验事宜后，直至原审法院法庭调解阶段才实现了软件平台的部署，鉴此，京科迅达公司才具备了检验软件功能的实施条件，根据原审调解的约定，京科迅达公司根据双方于2016年6月30日签订的《技术开发合同》的约定，对软件功能逐项测试，发现软件未能达到终验标准，理由如下：按照合同约定时代凌宇公司应提供清晰、正确、完整的源代码等资料，但时代凌宇公司对项目资料的交付方式不符合规定。提交的部署手册过于简单无法按文档进行部署，无法验证源代码的正确性，而且也未提供现场技术培训与服务，时代凌宇公司的上述先违约行为导致项目终验无法完成，合同剩余款项的支付条件尚未成熟，且原审中所提到的第三方系统测试的相关证据并没有出具，课题的初验报告不是针对时代凌宇公司的软件，只是针对整个课题的，并没有逐项按照合同中规定的内容对软件功能进行检验。所以原审认定事实错误，未经过严格的第三方鉴定，京科迅达公司申请第三方重新进行鉴定。（二）时代凌宇公司要求偿还所谓欠款未到履行期限。根据《补充协议》双方同意在2018年3月进行合同内容移交并进行终验准备，终验完成后甲方向乙方支付原合同剩余款项，双方只是约定2018年3月进行终验准备，并非在三月终验完成，终验至今尚未完成，功能未能满足，通过2020年4月的原审调解才部署完成并进行测试，原审判决从4月产生利息既没有查明事实，也未对此进行说理。请求二审法院撤销原判，发回重审或对直接改判。 时代凌宇公司辩称：原审判决认定事实清楚，证据充分，请求维持原判。京科迅达公司以“需求未完成”“需求不完善”的理由拒绝验收并提起上诉，是拖延时间、逃避债务的违约行为。事实与理由：1.项目未予终验的原因是京科迅达公司消极拖延，以达到拒绝支付货款的真实目的。2.京科迅达公司上诉状中所称软件系统未经第三方测试与事实不符，明显掩盖法律事实。3.根据合同法有关规定，时代凌宇公司有权要求京科迅达公司出具终验意见、支付合同尾款，并承担逾期付款的违约责任。 时代凌宇公司向原审法院提起诉讼，原审法院于2018年12月10日立案受理，时代凌宇公司起诉请求：1.京科迅达公司向时代凌宇公司支付合同剩余款项163720元；2.京科迅达公司向时代凌宇公司支付以合同总价款409300元为基数，按照每日2‰的标准自2018年3月起至实际支付之日止的逾期付款违约金。事实和理由：时代凌宇公司与京科迅达公司签订《技术开发合同》约定由时代凌宇公司负责CBD地区高层商务楼宇的安全监管与事故应急救援系统开发（第二标段）项目，合同总价款为409300元。《技术开发合同》签订后，时代凌宇公司依约完成了项目需求分析、方案设计、系统开发等工作，通过了第三方系统测试、CBD课题专家验收及京科迅达公司的初步验收，并依据《补充协议》履行了系统部署、技术资料移交等义务，该项目已经完全具备最终验收条件。但京科迅达公司却以各种理由怠于进行项目终验、不予出具《最终验收确认书》且拒不支付合同剩余款项，已经构成违约，应当向时代凌宇公司支付合同剩余款项并按照《技术开发合同》第八条第3款规定支付逾期付款的违约金。 京科迅达公司原审辩称：根据《补充协议》的约定，在项目终验完成后京科迅达公司才有义务向时代凌宇公司支付合同剩余款项。时代凌宇公司应当按照《技术开发合同》约定提供清晰、正确、完整的源代码、用户手册等技术资料，其后京科迅达公司会按照合同附件所述“功能描述及验收指标”逐一验证软件应当具备的各项功能来进行项目终验。但时代凌宇公司对项目资料的交付方式不符合约定，提交的部署手册过于简单无法据此进行部署、无法验证源代码的正确性，而且也未提供现场技术培训与服务。时代凌宇公司的上述在先违约行为导致项目终验拖延无法完成，合同剩余款项的支付条件并未成就。另外，时代凌宇公司主张的违约金过高，不应予以支持。因此，请求法院驳回时代凌宇公司的全部诉讼请求。 原审法院查明事实： （一）关于《技术开发合同》与京科迅达公司等所承担CBD课题的关系 时代凌宇公司承担的“CBD地区高层商务楼宇的安全监管与事故应急救援系统开发（第二标段）项目”属于京科迅达公司等承担的课题“CBD地区高层商务楼宇的安全监管与事故应急救援系统开发（课题编号为：Z141100006014016）”（简称CBD课题）的重要组成部分。 （二）关于《技术开发合同》的签订与履行 1.关于合同价款的约定及履行情况 2016年6月30日，京科迅达公司与时代凌宇公司签订的《技术开发合同》第三条“合同价格及支付方式”约定：1.合同总金额为人民币409300.00元。2.本合同价格包括系统建设、相关软件指导安装、调试等费用，是在竣工交付前、交付时所发生或引起的本合同相关的全部成本、费用等，以及依约在交付后所承担的维修、保养等售后服务价格的总和，且为完税后价格。乙方不向甲方收取此价格之外的任何费用。……4.付款方式：本合同签订后7个工作日内，乙方向甲方支付合同总价20%（人民币81860.00元）的银行履约保函形式的保证金，甲方向乙方支付合同价款的60%（人民币245580.00）作为预付款；项目初验合格后，甲方向乙方支付合同价款的40%（人民币163720.00元）；项目终验合格后，履约保证金转变为质保金，保障履行售后服务及保修承诺。乙方未支付履约保证金的，甲方有权暂不付款。验收合格1年后，如无质量问题，售后服务无争议，甲方将履约保函退还给乙方。5.乙方应向甲方提供各阶段付款的等额发票，否则甲方有权拒绝付款。甲方在前条约定期限内向乙方支付相应款项视为甲方已经完成付款义务，最终款项由甲方直接支付至乙方账户。 《技术开发合同》履行过程中，京科迅达公司与时代凌宇公司签订《补充协议》约定：项目名称：CBD地区高层商务楼宇的安全监管与事故应急救援系统软件开发（第二标段）。经过双方友好协商，双方同意在2018年3月进行合同内容移交并进行终验准备，终验完成后甲方向乙方支付原合同剩余款项（人民币163720.00元）。 截至本案原审诉讼期间，时代凌宇公司已经收到合同价款的60%，即245580元；京科迅达公司尚未支付合同价款的40%，即163720元；时代凌宇公司向京科迅达公司支付的银行履约保函形式的保证金（合同价款的20%，即81860元）已于2017年到期。 2.关于项目终验前的合同义务约定及履行情况 （1）关于软件开发的内容约定 《技术开发合同》附件“业务系统软件开发”分为“系统描述”及“功能描述及验收指标”两部分，其中“功能描述及验收指标”分为“（一）楼宇信息”“（二）危险源管理”“（三）统计分析”“（四）信息查询”“（五）教育培训”“（六）安监人员信息”“（七）公共信息”“（八）政策法规”“（九）系统维护”“（十）数据采集及上报”等方面。 （2）关于时代凌宇公司在软件开发过程中配合京科迅达公司进行CBD课题验收的有关事实 2016年9月7日，京科迅达公司向时代凌宇公司等发送主题为“ＣＢＤ课题预验收需要准备的材料及后续工作沟通”的邮件。邮件内容为：各位好：请务必在本周五之前将附件所述的文件发我，如果时间仓促，可以把相关的软件设计资料文档发我！我来统一整理！谢谢！市科委定于2016年9月20日早上9点对我们承担的ＣＢＤ课题进行预验收工作，为做好验收工作，请配合完成如下工作内容：1.与时代凌宇的招标合同已经快递出去了，请查收！超图的合同我下周一带着章去签。2.请各公司按照附件要求将各自的任务相关文档补充完整，图示多些比较好，资料越详细越便于专家通过。3.请各自准备一套演示平台，我计划周一去超图看一下并学习，周二去时代凌宇看一下并学习，两个系统可以先不集成，各自独立，越有特点越好！4.另外请尽快开具发票以便我这边付款，请按照合同全额开具发票。5.自主研发软件情况的说明。6.汇报ＰＰＴ。开票信息：公司名头：北京京科迅达物联网科技有限责任公司。开户行：中信银行股份有限公司北京媒体村支行。账号：71×××62。公司地址：北京市朝阳区大屯路科学园南里风林绿洲Ｉ乙2202。税号：110105076621524。电话：010-672××××9。 2016年9月12日，时代凌宇公司向京科迅达公司发送主题为“回复：设计文档”的邮件无正文内容，附件名称为“高层商务楼宇安全监管系统详…”。 2016年12月1日，京科迅达公司向时代凌宇公司等发送主题为“CBD课题软件集成讨论会议及软件著作权申请文件”的邮件。邮件内容为：各位好：定于2016年12月6日下午2点在西奥中心B座22层东侧课题联合办公区召开技术沟通会议，请各公司相关技术人员准时参加！附件是课题软件著作权申请资料，请各公司安排相关人员填写以便申报，完成时间为2016年12月5日18点前，谢谢！邮件附件名称为“软件著作权登记需备材料”。 2017年2月14日，京科迅达公司向时代凌宇公司等发送主题为“CBD课题验收需要准备的材料及软件测试需要提供的文件”的邮件。邮件内容为：各位好：请务必在本周五之前将附件所述的文件发我！谢谢！市科委定于2017年3月3日对我们承担的CBD课题进行验收工作，为做好验收工作，请配合完成以下工作内容：1.请各公司按照附件要求将各自的任务相关文档补充完整，图示多些比较好，资料越详细越便于专家通过。2.请准备一套演示平台及PPT汇报资料！3.按照以下清单提交文档便于测试：《系统的用户手册》该手册需要提交给软件测试公司，务必重视。以下文档为测试参考文档及专家查阅文档，请一同准备。邮件附件有：“附件1-课题验收研发报告格式…”；“附件2-课题验收工作报告格式…”。                            用户文档                       √用户手册；√操作手册；√使用环境要求说明。                               测试数据                       √基础数据库数据；√可执行程序（存储介质为光盘）；√与测试环境搭建等有关的必要的文件。                               开发文档                       √需求说明书；√需求分析文档；√总体设计方案；√数据库设计文档；√概要设计文档；√详细设计文档；□工程实施方案；√验收标准或开发目标；√关键技术、产品特点说明。                               管理文档                       √自行测试报告；√系统运维手册。                               其他文档                       /                2017年3月7日，京科迅达公司向时代凌宇公司等发送主题为“CBD课题验收通知及接下来任务商议”的邮件。邮件内容为：各位，您们好：附件是我们承担的课题验收通知，请务必保证2017年3月20-21日到场配合，同时请配合我整理验收资料，谢谢！定于2017年3月9日下午2时在课题联合办公区西奥中心商议验收会演示事宜及准备工作，请准时参加！请各合作公司详细展示一下现有软件功能，并讨论三方集成问题。 2017年3月16日，京科迅达公司向时代凌宇公司等发送主题为“ＣＢＤ课题转发：【信息中心】北京市科技计划课题验收会通知-及课题验收准备事宜”的邮件。邮件内容为：各位好：课题验收通知如下，请准时参加！定于周一下午3点在课题验收会议室准备演示环境，请安排相应技术人员准时参加并调试成功，保障演示无误！同时演练3遍！您们两家准备“成果推广方案”“自主研发软件证明”各一份原件（落款处盖公章），电子档请邮件回复，请于明日准备完成后盖章将原件用顺丰寄往以下地址，保证周日装订使用！地址如下：北京市东城区永外望陶园5-1508刘晖收136××××0763。邮件附件有：“课题验收会议议程20170321…”“附件3-自主研发软件情况的说…”“ＩＭＧ_2895”。 2017年3月27日，北京市科学技术委员会出具《北京市科技计划课题完成确认书》：北京市朝阳区科学技术委员会、北京市朝阳区安全生产监督管理局、北京市朝阳区信息化工作办公室、北京京科迅达物联网科技有限责任公司：你单位自2014年01月01日至2016年12月31日承担的课题CBD地区高层商务楼宇的安全监管与事故应急救援系统开发（课题编号为：Z141100006014016），经验收，你单位完成了课题任务，达到了课题任务书中规定的目标和考核指标。现确认该课题完成。 （3）关于时代凌宇公司配合京科迅达公司进行软件著作权登记的有关事实 2016年12月1日，京科迅达公司向时代凌宇公司等发送主题为“CBD课题软件集成讨论会议及软件著作权申请文件”的邮件。邮件内容为：……附件是课题软件著作权申请资料，请各公司安排相关人员填写以便申报，完成时间为2016年12月5日18点前，谢谢！邮件附件名称为“软件著作权登记需备材料”。 2016年12月6日，时代凌宇公司向京科迅达公司发送主题为“回复：CBD课题软件集成讨论会议及软件著作权申请文件”的邮件。该邮件无正文内容，附件名称为“软件著作权”。 中国版权保护中心的CPCC微平台显示计算机软件著作权登记公告：京科迅达高层楼宇的安全监管与事故应急救援系统软件（简称：高层楼宇安全监管）；版本号V1.0；著作权人（国籍）：京科迅达公司：中国；登记号：2017SR020806；分类号：10100-0000；登记日期：2017年1月20日。 4.关于京科迅达公司确认时代凌宇公司合同履行情况的有关事实 2017年12月20日，京科迅达公司出具《初步验收意见》：项目名称：CBD地区高层商务楼宇的安全监管与事故应急救援系统开发（第二标段）；甲方：京科迅达公司；乙方：时代凌宇公司。根据甲乙双方签订的合同建设内容，由乙方承建的CBD地区高层商务楼宇的安全监管与事故应急救援系统已经具备了初步验收条件。甲方同意本项目的初步验收，系统初步验收后，乙方应按照用户需求进一步完善系统功能，并提供1年的软件免费维护服务。 3.关于项目终验的约定及履行情况 （1）与项目终验有关的合同约定 《技术开发合同》第一条“合同名词术语定义”第7款约定：“验收交货单”指检验完成后由合同双方签署的最终验收确认书。第四条“验收及质量标准”约定：乙方保证向甲方提供的技术资料均包括全部中文版本且是清晰的、正确的、完整的。如发现缺失或其他有误的情形，乙方应在该情形出现之日起7日内将需补足的资料交付到甲方指定地点，按本合同前述各条款项规定交付及验收。《技术开发合同》中没有关于项目终验流程及标准的明确约定。 《补充协议》关于项目终验的内容约定为：经过双方友好协商，双方同意在2018年3月进行合同内容移交并进行终验准备，终验完成后甲方向乙方支付原合同剩余款项（人民币163720.00元）。 时代凌宇公司于2016年5月10日所作《投标文件》属于涉案合同的组成部分，其中与项目终验有关的内容有：“4.6.2.5总体竣工验收”：竣工验收前28天，我方将竣工报告及有关资料报招标方。竣工验收内容包括：对本系统工程进行全面校验，评定工程质量；进行文件资料和软件系统的移交工作，提交竣工验收报告；签发竣工验收证书。竣工验收中发现有问题，由验收组按实际情况分清责任，待我方处理完毕后，再进行验收。“4.6.4竣工验收流程”：试运行及文档完成→验收报审（《验收方案》《验收报审表》及附件（竣工报告等））→监理审查盖章→甲方审查盖章→甲方组织验收会→验收结论（《专家验收意见》及《验收报告》）→完成。 （2）双方开展项目终验的有关事实 2018年6月4日，时代凌宇公司向京科迅达公司发送主题为“关于提交‘CBD地区高层商务楼宇的安全监管与事故应急救援系统开发’项目资料”的邮件，邮件内容为：刘晖：刘总，您好！为方便资料交接整理，我方将本项目所属的大课题2017年3月验收时所提交的资料进行了进一步整理，附件“资料目录。txt”为整理出的关于本项目的资料。将关于“CBD地区高层商务楼宇的安全监管与事故应急救援系统开发”项目的资料，包含源代码、可执行程序及所有的资料文档清单进行了单独压缩。由于资料文件较大，因此存放于网盘中供您方技术人员下载，下载地址为：链接：http://pan.baidu.com/s/1V4vpXMH8q3tNSagOR3f8Lg密码：80lj，下载后的压缩包密码为：2206（您手机号后4位）。有问题随时联系。邮件附件名称为“资料目录”。 2018年6月14日，京科迅达公司向时代凌宇公司发送主题为“Re：关于提交‘CBD地区高层商务楼宇的安全监管与事故应急救援系统开发’项目资料”的邮件。邮件内容为：牛经理，您好：邮件收到！按照您提供的密码无法解压，请确认！无法开展验收工作，特此告知！我们会安排工程师详细分析并测试代码，同时按照合同要求功能进行逐项功能验证，请密切配合！同时请提供贵司相应技术对接人员的接口，谢谢！ 2018年6月15日，时代凌宇公司向京科迅达公司发送主题为“***SPAM***Re:关于提交‘CBD地区高层商务楼宇的安全监管与事故应急救援系统开发’项目资料”的邮件。邮件内容为：刘总，不好意思，解压密码为2209。 2018年6月15日，京科迅达公司向时代凌宇公司发送主题为“***SPAM***‘CBD地区高层商务楼宇的安全监管与事故应急救援系统软件开发’项目资料-存在的问题”的邮件。邮件内容为：牛经理，您好：邮件收到！请提供服务器部署手册、客户端部署手册，以便我们测试源码的正确性！或者提供相应工程师的联系方式，以方便我们测试！压缩文件《6.测试环境搭建说明》这个文档没有实质性内容，请详细补充！另外关于数据库部署及相应内容也无，请配合完成！ 2018年6月22日，时代凌宇公司向京科迅达公司发送主题为“Re：***SPAM***‘CBD地区高层商务楼宇的安全监管与事故应急救援系统开发’项目资料-存在的问题”的邮件。邮件内容为：刘经理：你方技术人员需要有一定的开发经验，具有安装使用过《6.测试环境搭建说明》文件中相关基础软件的经验，具有编写代码的经验，这些不是我们可以进行培训的，但是我们会安排耿一鸣高级工程师全力帮助你们进行部署。数据库文件存放在源代码目录docs中。耿工程师会进一步联系您。 2018年6月23日，时代凌宇公司向京科迅达公司发送主题为“Re：Re：***SPAM***‘CBD地区高层商务楼宇的安全监管与事故应急救援系统开发’项目资料-存在的问题”的邮件。邮件内容为：CBD平台部署手册。邮件附件为名称为“部署手册”、大小为15KB的WORD文档。该文档内容如下： 服务器环境：                            操作系统                       Win7及以上                               运行环境                       Jdk8.0                               数据库                       Mysql5.5及以上                开发环境：                            软件                       Eclipse或者idea                               数据库                       Mysql5.5                               Jdk                       8.0                               操作系统                       Win10，Win7                数据库环境：                            Mysql                       5.5                数据库在源码docs文件夹。ndm.psc文件，使用PowerDesigner软件打开pdm，使用NavicatforMySQL软件导入数据库。 2018年7月19日，时代凌宇公司向京科迅达公司发送主题为“Re：Re：***SPAM***‘CBD地区高层商务楼宇的安全监管与事故应急救援系统开发’项目资料-存在的问题”的邮件。邮件内容为：部署手册压缩包，文档及数据库。邮件附件为名称为“部署手册”、大小为56KB的压缩文件。解压后显示“部署手册。docx”大小为14.0KB，内容同2018年6月23日邮件附件内容。 截止本案一审诉讼期间，项目终验在形式上尚未完成，京科迅达公司尚未向时代凌宇公司出具《最终验收确认书》。 （三）关于违约责任的有关约定 《技术开发合同》第八条“违约责任”第3款“逾期付款的违约责任”约定：甲方迟延付款，每逾期一天乙方有权要求甲方支付合同标的总额2‰的违约金。 原审法院认为，根据双方当事人的诉辩主张，本案涉及如下焦点问题： （一）关于京科迅达公司是否构成违约的认定 京科迅达公司与时代凌宇公司签订《技术开发合同》的目的是完成CBD地区高层商务楼宇的安全监管与事故应急救援系统开发（第二标段）项目。根据《技术开发合同》约定，时代凌宇公司的主要合同义务是依约进行业务系统软件开发并承担与软件运行维护有关的服务，而京科迅达公司的主要合同义务是依约向时代凌宇公司支付软件开发及相应服务的价款。双方当事人均认可，京科迅达公司在《技术开发合同》履行过程中已向时代凌宇公司支付了合同价款的60%。而根据《补充协议》的约定，京科迅达公司向时代凌宇公司支付合同剩余款项的前提是完成项目终验。因此，认定京科迅达公司是否应当支付合同剩余款项并承担违约责任的关键在于判断项目终验条件是否成就。 由于《技术开发合同》并未明确约定项目终验的流程及标准。因此，在判断项目终验条件是否成就之前，合理确定项目终验的流程及标准是不能回避的问题。对此原审法院认为，《技术开发合同》第四条“验收及质量标准”约定“乙方保证向甲方提供的技术资料均包括全部中文版本且是清晰的、正确的、完整的”“附件：业务系统软件开发”从十个方面对软件“功能描述及验收指标”进行细化。《投标文件》“4.6.2.5总体竣工验收”约定“竣工验收前28天，我方（时代凌宇公司）将竣工报告及有关资料报招标方。竣工验收内容包括：对本系统工程进行全面校验，评定工程质量；进行文件资料和软件系统的移交工作，提交竣工验收报告；签发竣工验收证书。竣工验收中发现有问题，由验收组按实际情况分清责任，待我方处理完毕后，再进行验收。”“4.6.4竣工验收流程”约定“试运行及文档完成→验收报审（《验收方案》《验收报审表》及附件（竣工报告等））→监理审查盖章→甲方审查盖章→甲方组织验收会→验收结论（《专家验收意见》及《验收报告》）→完成”。可见，《技术开发合同》及《投标文件》约定的项目验收重点在于移交技术资料、校验软件功能并对发现的问题及时处理。同时，考虑到技术委托开发合同的通常进展，在软件开发项目启动后需要经过需求调研及方案设计、系统设计及开发、系统测试、项目初验、系统试运行、项目终验等阶段。而在项目终验环节，验收关键在于验证软件各项功能是否全部实现、所有性能指标能否达到技术要求，查缺补漏、进一步完善系统，保证开发的软件能够达到预期目标。因此，参考《技术开发合同》《投标文件》的相关约定并参照技术委托开发合同的通常流程，原审法院确认项目终验流程及标准是移交技术资料、校验软件功能是否达标。 根据时代凌宇公司提交其履行合同义务的证据显示，2016年6月30日《技术开发合同》签订后，时代凌宇公司开具合同发票、进行软件开发、配合京科迅达公司进行软件著作权登记、为配合北京市科学技术委员会对京科迅达公司等承担CBD课题的验收工作而提交验收资料、参与技术沟通、配合软件测试、参加专家验收会协助系统调试保障等。2017年3月27日，北京市科学技术委员会出具《北京市科技计划课题完成确认书》，确认京科迅达公司等承担的CBD课题经验收已经完成。虽然京科迅达公司等承担的CBD课题完成并不等于时代凌宇公司依据《技术开发合同》所承担的软件开发等义务已经完成。但是，由于时代凌宇公司负责开发的软件即为该课题的重要组成部分，北京市科学技术委员会对于该课题完成情况的确认，可以佐证对于时代凌宇公司软件开发工作完成情况的认可。2017年12月20日，京科迅达公司出具《初步验收意见》，同意项目初步验收。双方也通过《补充协议》约定于2018年3月进行合同内容移交并进行项目终验准备。而京科迅达公司作为项目的委托人，在时代凌宇公司已经完成前期义务，其在认可项目已初步验收的情况下，应当按照《补充协议》约定如期安排进行项目终验，对于软件能否满足委托需求、需要进行哪些方面的修改和完善，应主动提出、积极交涉。2018年6月到7月之间，时代凌宇公司主动联系京科迅达公司汇总并提交项目资料，对于京科迅达公司认为项目资料存在的问题进行解答，并安排专人负责对接协助进行部署工作，按照合同约定提供技术服务，积极配合项目终验流程的进展。而在时代凌宇公司推动开始项目终验后，京科迅达公司并未对其交付的软件本身各项功能、性能指标等提出异议，仅认为在项目资料形式、技术培训服务等方面存在不妥之处。尽管时代凌宇公司提交项目资料的方式及内容存在一些瑕疵，但并不能因其履行行为未完全契合合同约定而一概否定其积极推动项目终验的行为。而且，在时代凌宇公司对其反映的问题作出解答并安排专人对接之后，京科迅达公司也并未有进一步安排和引导项目终验流程进展的行动，也未就中止项目终验作出协商或给予提醒。京科迅达公司的消极回应导致项目终验流程被无限拖延、无法继续进展，以致其迟延甚至拒绝己方义务的履行。因此，综合考虑双方当事人在开展项目终验过程中的相关行为，原审法院确认时代凌宇公司已经履行项目终验义务、项目终验条件基本成就。京科迅达公司怠于进行终验、未履行其在项目终验过程中的合同义务已经构成违约。 （二）关于京科迅达公司违约责任承担的认定 虽然从《补充协议》约定的合同剩余款项的付款条件来看，由于项目终验在形式上确实没有完成，支付合同剩余款项的形式要件似乎并未成就。但是如前所述，原审法院确认时代凌宇公司已经履行项目终验义务，在具备项目终验条件下的终验形式要件之所以未能完成，其原因在于京科迅达公司怠于进行终验，京科迅达公司应当就其未履行项目终验义务的行为承担相应的违约责任。因此，京科迅达公司应当为时代凌宇公司出具《最终验收确认书》确定项目终验已经完成，并按照《补充协议》约定向京科迅达公司支付合同剩余款项163720元。 虽然《技术开发合同》第八条“违约责任”第3款“逾期付款的违约责任”约定了作为甲方的京科迅达公司出现迟延付款行为时应当支付违约金的标准为：“甲方迟延付款，每逾期一天乙方有权要求甲方支付合同标的总额2‰的违约金”。不过，京科迅达公司在本案中主张该违约金标准过高。对此原审法院认为，按照《技术开发合同》第八条第3款的约定计算得出的违约金数额确实显著高于时代凌宇公司的实际损失，且京科迅达公司未支付的合同剩余款项163720元仅占合同总额的40%，以合同总价款作为违约金的计算基数确有不当。因此，酌情调整为按照中国人民银行公布的同期贷款基准利率的四倍为标准计算京科迅达公司迟延付款的违约金。同时，对于计算违约金的起算时间，由于《补充协议》约定双方于2018年3月进行项目终验准备，项目终验完成后支付合同剩余款项。根据双方当事人的前述约定并结合项目终验可能需要耗费的合理时间，原审法院认为，项目终验在一个月内完成属于合理的项目终验期间。故认定2018年4月1日作为京科迅达公司因迟延支付合同剩余款项而应支付相应违约金的起算时间，即自2018年4月1日起至实际支付完毕之日止，以合同剩余款项163720元为基数，按照中国人民银行公布的同期贷款基准利率的四倍为标准计算迟延付款的违约金。 另外，关于《技术开发合同》约定应当履行的技术培训服务与软件免费维修期等其他合同义务，双方当事人应当继续履行。 原审法院判决：（一）京科迅达公司于本判决生效之日起十日内向时代凌宇公司支付合同剩余款项163720元；（二）京科迅达公司于本判决生效之日起十日内向时代凌宇公司支付以合同剩余款项163720元为基数，按照中国人民银行公布的同期贷款基准利率的四倍为标准计算的自2018年4月1日起至实际支付之日止的延迟付款违约金；（三）驳回时代凌宇公司的其他诉讼请求。如果未按本判决指定的期间履行给付金钱义务，应当依照《中华人民共和国民事诉讼法》第二百五十三条的规定，加倍支付迟延履行期间的债务利息。案件受理费3574元，由京科迅达公司负担。 本院二审期间，京科迅达公司未提交新的证据。 时代凌宇公司提供了CBD课题验收中的第三方系统测试报告：北京软件产品质量检测检验中心测试报告复印件（№：B117004301，2017年3月17日），京科迅达公司质证后表示将核对原件后予以确认。 本院的认证意见为：京科迅达公司在合理期限内未反馈核对结论，本院认定时代凌宇公司提交的第三方系统测试报告属实，予以确认。 原审认定事实基本属实，本院予以确认。 本院认为，本案为计算机软件开发合同纠纷，双方针对京科迅达公司等所承担CBD课题中业务系统软件开发，依法签订的《技术开发合同》，不违反法律法规的规定，合法有效，当事人应当按照约定全面履行自己的义务。《技术开发合同》及《投标文件》关于竣工验收约定，竣工验收内容包括：对本系统工程进行全面校验，评定工程质量；进行文件资料和软件系统的移交工作，提交竣工验收报告；签发竣工验收证书。通常，对软件系统工程进行全面校验，应当以部署并实际运行软件系统为基本前提，在京科迅达公司与时代凌宇公司之间，京科迅达公司作为CBD课题承担单位，属于负有提供软件系统运行环境义务的一方当事人，应当对软件系统运行环境等基础条件不具备导致的未能如期竣工验收的后果承担相应民事责任。本案中，2017年12月20日，京科迅达公司出具《初步验收意见》，同意项目初步验收，双方通过《补充协议》约定于2018年3月进行合同内容移交并进行项目终验准备，争议的核心在于项目终验未完成的责任。对此，本院评述如下： （一）关于软件平台的部署问题。京科迅达公司上诉主张，双方签订《补充协议》约定终验事宜后，直到一审阶段才实现软件平台的部署，之前是由于时代凌宇公司对项目资料的交付方式不符合规定，提供的部署手册过于简单无法按文档进行部署。时代凌宇公司认为，由2018年6月开始的关于项目终验的双方往来邮件可知，时代凌宇公司主动发起邮件联系京科迅达公司，因为当时无法电话联系到对方人员，京科迅达公司一直在拖延项目终验。本院认为，经查，在案2018年6、7月期间双方邮件往来可知，针对项目资料存在问题，2018年6月22日，时代凌宇公司指出京科迅达公司技术人员需要有一定的开发经验，时代凌宇公司会安排高级工程师帮助进行部署。在案并无证据表明，京科迅达公司就软件平台的部署条件披露过相关信息。原审庭审中，针对时代凌宇公司关于缺少运行环境（没有服务器）的陈述意见，京科迅达公司未予反驳，也未提供证据予以证明。据此，原审判决关于时代凌宇公司推动开始项目终验的认定属实，京科迅达公司未落实软件平台的部署所需的服务器，是2018年6、7月期间项目终验未完成的真实原因，责任在京科迅达公司，京科迅达公司关于软件平台部署的相关上诉理由不成立，本院不予支持。 （二）如何评价一审阶段的项目终验活动。京科迅达公司主张其准备了阿里云服务器，时代凌宇公司在阿里云服务器上进行部署，京科迅达公司根据验收标准对软件功能逐项测试，因“数据采集上报”功能错误，而该项功能是项目重要功能，软件未能达到终验标准。时代凌宇公司则认为，京科迅达公司要求把软件系统恢复到CBD课题验收时的状态，由于CBD课题验收时的设备并非时代凌宇公司提供，时代凌宇公司仅能将软件恢复到当时状态，软件、硬件都基于CBD课题验收时的需求设置，但京科迅达公司忽略了相关环境变化，比如，日期不能选择，软件运行环境的相关软件升级过。本院认为，根据部署手册的记载，服务器环境包括操作系统、运行环境、数据库，自2018年6、7月期间至2020年4月长达20个月左右时间内，相关软件版本发生升级应在本领域技术人员的合理认知范围。京科迅达公司因其前述未履行项目终验过程中的违约责任，应对时间跨度产生的相关变化导致软件系统的运行结果与约定存在不尽相符之处承担责任，在案证据明确指向京科迅达公司的硬件设备升级，相关运行环境变化的情况下，京科迅达公司的相关上诉理由均不能成立，本院不予支持。 综上所述，京科迅达公司的上诉请求不能成立，本院不予支持。原审判决认定事实清楚，适用法律正确，判决应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项规定，判决如下： 驳回上诉，维持原判。 二审案件受理费3574.4元，由北京京科迅达物联网科技有限责任公司负担。 本判决为终审判决。 审判长 焦 彦 审判员 钱建国 审判员 魏 磊 二〇二一年三月十九日 法官助理祁帅 书记员王楠迪 书记员韩丰 裁判要点                            案  号                       （2020）最高法知民终1954号                               案  由                       计算机软件开发合同纠纷                               合 议 庭                       审判长：焦彦             审判员：钱建国、魏磊                                                     法官助理：祁帅                       书记员：王楠迪、韩丰                               裁判日期                       2021年3月19日                               涉案软件                       CBD课题业务系统软件                               关 键 词                       软件开发；初验；终验；                               当 事 人                       上诉人（原审被告）：北京京科迅达物联网科技有限责任公司；             被上诉人（原审原告）：北京时代凌宇科技股份有限公司；                               裁判结果                       驳回上诉，维持原判。             原判主文：（一）被告北京京科迅达物联网科技有限责任公司于本判决生效之日起十日内向原告北京时代凌宇科技股份有限公司支付合同剩余款项163720元；（二）被告北京京科迅达物联网科技有限责任公司于本判决生效之日起十日内向原告北京时代凌宇科技股份有限公司支付以合同剩余款项163 720元为基数，按照中国人民银行公布的同期贷款基准利率的四倍为标准计算的自2018年4月1日起至实际支付之日止的延迟付款违约金；（三）驳回原告北京时代凌宇科技股份有限公司的其他诉讼请求。                               涉案法条                       《中华人民共和国民事诉讼法》第一百七十条第一款第一项                               法律问题                       合同的履行                               裁判观点                       依法签订的合同，不违反法律法规的规定，合法有效，当事人应当按照约定全面履行自己的义务。                               注：本摘要并非判决书之组成部分，不具有法律效力。