中华人民共和国最高人民法院民 事 判 决 书（2020）最高法知民终1757号上诉人（原审被告、反诉原告）：天津市前嗅网络科技有限公司。住所地：天津市自贸试验区（空港经济区）保航路1号航空产业支持中心6450023房间。法定代表人：陈玉立，该公司总经理。委托诉讼代理人：王鹤霖，该公司工作人员。委托诉讼代理人：徐国建，北京市当代律师事务所律师。被上诉人（原审原告、反诉被告）：北京欧特欧国际咨询有限公司。住所地：北京市东城区胜古中路1号321室。法定代表人：罗兴，该公司总经理。委托诉讼代理人：丰华，北京华戡律师事务所律师。委托诉讼代理人：高戡，北京华戡律师事务所律师。上诉人天津市前嗅网络科技有限公司（以下简称天津前嗅公司）因与被上诉人北京欧特欧国际咨询有限公司（以下简称北京欧特欧公司）计算机软件开发合同纠纷一案，不服北京知识产权法院于2020年6月29日作出的（2017）京73民初1947号民事判决，向本院提起上诉。本院于2020年11月9日立案后，依法组成合议庭对本案进行审理，于2020年12月9日对本案进行了询问，上诉人天津前嗅公司的法定代表人陈玉立、委托诉讼代理人王鹤霖、徐国建，被上诉人北京欧特欧公司的委托诉讼代理人丰华、高戡到庭参加询问。本案现已审理终结。天津前嗅公司上诉请求：1.撤销原审判决第一项、第二项，改判驳回北京欧特欧公司的全部诉讼请求；2.撤销原审判决第四项，改判支持天津前嗅公司的全部反诉请求。事实与理由：（一）原审法院对交付验收的相关事实认定错误，按照《欧特欧电商大数据应用系统项目协议》（以下简称涉案合同）第二条约定，天津前嗅公司已完成交付，北京欧特欧公司拒绝验收的行为构成违约。1.天津前嗅公司整改完成后，于2017年9月21日向北京欧特欧公司提出验收申请，将整改完成后的应用系统远程安装至北京欧特欧公司的服务器上，将应用系统交付文档作为附件发送给北京欧特欧公司。2.在2017年9月29日的验收会议上，天津前嗅公司现场将整改后的应用系统安装至北京欧特欧公司设备上并调试完毕，但北京欧特欧公司拒不组织验收，后也再未组织验收。3.天津前嗅公司提交的应用系统成果光盘包含的部分文件形成时间为第一次验收会议之后，表明天津前嗅公司已认真进行了系统整改。（二）原审法院由2017年9月15日《“欧特欧电商大数据应用系统”第一期项目验收结果》（以下简称《第一期项目验收结果》）认定涉案合同约定的交付条件和顺序调整为“天津前嗅公司须对不合格的项目进行整改，待其达标后再进行交付”错误。1.涉案合同第二条明确约定了交付是验收的前提和前置程序，2017年9月15日《第一期项目验收结果》对涉案合同的相关约定并未作出变更和调整。2.北京欧特欧公司在2017年9月25日发给天津前嗅公司的邮件中重申和强调了合同约定的交付验收程序，仍表示仍按照涉案合同约定进行交付和验收，表明双方并未调整第一期项目的验收条件和顺序。（三）原审法院认定天津前嗅公司未履行整改“欧特欧电商大数据应用系统”（以下简称涉案软件）并达标交付的义务，不能要求北京欧特欧公司支付项目尾款及相应违约金，属于法律适用错误。1.北京欧特欧公司在天津前嗅公司提出验收申请后10个工作日内未对整改系统进行验收，按照涉案合同第四条第1款即应视为验收通过，北京欧特欧公司应按合同约定支付项目尾款及相应违约金。2.天津前嗅公司提交的整改成果是否达标按合同约定须北京欧特欧公司组织验收方能确定，北京欧特欧公司拒绝按合同约定验收的行为已经直接导致天津前嗅公司提交的整改成果视为验收通过，无须以天津前嗅公司证明整改系统达标为前提。北京欧特欧公司答辩称：一审法院认定事实清楚，适用法律正确，请求驳回上诉，维持原判。（一）天津前嗅公司未按协议中关于“交付”的约定而实施的行为不构成交付。（二）北京欧特欧公司严格遵守关于验收的要求和流程，不存在拒绝验收或未组织验收的行为。（三）原审法院认为双方对涉案软件第一期项目验收的条件和顺序进行了相应调整，对于交付服务的过程和方式基本上未进行实质性变更的事实认定完全正确，符合合同变更的相关规定。（四）天津前嗅公司未按约定对不合格系统进行整改，已构成严重违约。北京欧特欧公司向原审法院提起诉讼，原审法院于2017年12月1日立案受理，北京欧特欧公司起诉请求：1.判令天津前嗅公司返还北京欧特欧公司支付的第一期开发预付款348000元；2.判令天津前嗅公司赔偿北京欧特欧公司实际损失126179.46元、违约金200000元、律师费50000元、公证费2544元，合计378723.46元；3.本案诉讼费由天津前嗅公司承担。事实与理由：（一）2017年4月11日，北京欧特欧公司与天津前嗅公司签订涉案合同，天津前嗅公司为北京欧特欧公司提供电商大数据开发服务。北京欧特欧公司于2017年4月12日支付了第一期开发预付款348000元，但天津前嗅公司开发的系统经两次验收均不合格，在北京欧特欧公司给予的整改期内，天津前嗅公司也未对系统进行整改，仍不合格。根据涉案合同附件《欧特欧电商大数据应用系统需求说明书》（以下简称《需求书》）第四条第2款的约定，天津前嗅公司应退还已支付项目款348000元。（二）在系统开发过程中，天津前嗅公司要求北京欧特欧公司必须购买“华为云服务”及“阿布云HTTP云代理服务”作为开发硬件，北京欧特欧公司在其指示下购买了以上服务共支出126179.46元，但天津前嗅公司开发的系统验收不合格，且其至今也未向北京欧特欧公司支付符合《需求书》要求的系统，对于因开发系统而使北京欧特欧公司支出的上述直接损失，应由天津前嗅公司负担。（三）北京欧特欧公司委托天津前嗅公司开发的系统拟用于2017年“双十一”期间的大数据分析，原定于“双十一”前上线，由于天津前嗅公司的违约行为，导致北京欧特欧公司错过了业务黄金期，为继续开展业务，北京欧特欧公司不得不以高薪另行聘请技术团队重新进行系统开发，为此投入大量的人、财、物力，天津前嗅公司的行为给北京欧特欧公司造成了严重的间接经济损失。此外，北京欧特欧公司为维护自身合法权益，向天津前嗅公司追索损失，为此支出的律师费和公证费属于涉案合同第八条第1款约定的违约方应赔偿的费用，亦应由天津前嗅公司承担。天津前嗅公司辩称：（一）天津前嗅公司按涉案合同约定履行了自己应尽的全部义务。合同签订后，天津前嗅公司依约开展“欧特欧电商大数据应用系统”开发工作并完成，于2017年9月4日向北京欧特欧公司提交验收申请。验收过程中，北京欧特欧公司在未按合同约定对验收项目指标进行验收打分的情况下，要求天津前嗅公司接受验收结果不合格的结论并进行整改。为便于后续合作，天津前嗅公司被迫与北京欧特欧公司于2017年9月15日签订了《第一期项目验收结果》，双方同意进行整改。天津前嗅公司对系统整改完成后，于2017年9月21日向北京欧特欧公司提交验收申请，9月28日北京欧特欧公司通知定于9月29日进行系统的交付和验收工作。天津前嗅公司于验收日到达北京欧特欧公司，在其设备上进行了系统的安装、调试工作，安装调试工作完成后，北京欧特欧公司拒不承认交付并拒绝验收，后其再未组织验收。（二）根据涉案合同有关交付和验收的约定，应是先交付后验收，天津前嗅公司的交付完全符合合同约定，不存在违约。相反，北京欧特欧公司在接受交付后，拒不承认交付并拒绝验收，已构成违约且应为此承担不利后果，依据涉案合同第四条第1款的约定，应视为天津前嗅公司提交的整改成果验收合格。（三）天津前嗅公司为系统的开发和整改完成投入大量的人力、物力和财力，北京欧特欧公司拒绝验收的根本目的在于不想履行合同付款义务。天津前嗅公司向原审法院提出反诉请求：1.判令北京欧特欧公司支付拖欠的第一期合同尾款174000元并支付违约金85260元；2.判令北京欧特欧公司赔偿天津前嗅公司律师费50000元和公证费4540元；3.判令北京欧特欧公司承担本案反诉费用。事实与理由：2017年4月11日，天津前嗅公司与北京欧特欧公司签订涉案合同和《需求书》，约定天津前嗅公司为北京欧特欧公司提供“欧特欧电商大数据应用系统”（简称涉案软件）开发服务。合同签订后，天津前嗅公司依约开展涉案软件开发工作并完成，于2017年9月4日向北京欧特欧公司提交验收申请。验收过程中，北京欧特欧公司在未按合同约定验收项目指标进行验收打分的情况下，要求天津前嗅公司接受验收结果不合格的结论并进行整改。为便于后续合作，天津前嗅公司被迫与北京欧特欧公司于2017年9月15日签订了《第一期项目验收结果》，双方同意进行整改。天津前嗅公司对系统整改完成后，于2017年9月21日向北京欧特欧公司提交验收申请，9月28日北京欧特欧公司通知定于9月29日进行系统的交付和验收工作。天津前嗅公司于验收日到达北京欧特欧公司，在其设备上进行了系统的安装、调试工作，安装调试工作完成后，北京欧特欧公司拒不承认交付并拒绝验收，后其再未组织验收。天津前嗅公司已完成涉案软件交付工作，但北京欧特欧公司拒绝验收，已构成严重违约。依据涉案合同第四条第1款的约定，天津前嗅公司交付的涉案软件开发成果视为验收合格。天津前嗅公司已全面履行了自己的合同义务。北京欧特欧公司就反诉辩称：（一）天津前嗅公司系单方违约，无权要求守约方支付合同尾款。《需求书》第四条第2款关于合同尾款的支付条件有明确约定。在2017年9月7日及2017年9月15日的两次验收中，天津前嗅公司开发的系统均不合格；在2017年9月29日的验收中，天津前嗅公司不仅未对不合格系统进行整改，而且验收时无法提供必须具备的基本数据，导致验收失败；自此，天津前嗅公司再未向北京欧特欧公司提出验收申请，也未交付合格系统。根据涉案合同第四条第1款的约定，应视为验收结果不合格。故北京欧特欧公司停止支付第一期项目尾款是基于天津前嗅公司违约行为依法行使的抗辩权，合理合法，天津前嗅公司无权要求北京欧特欧公司支付第一期项目尾款及相应违约金。（二）天津前嗅公司所谓被迫签订验收结果的主张既无证据支持，也与事实不符。《第一期项目验收结果》落款处既有双方参加验收人员签字又加盖双方公司公章，足以证明该验收结果是经双方一致同意并共同签署的，真实有效。且涉案合同第十四条明确约定《欧特欧电商大数据应用系统一期验收报告》如经双方确认属协议的有效组成部分，故天津前嗅公司理应遵守，其所主张的“被迫签收验收结果”并未提供任何证据予以证明。（三）涉案合同关于交付需满足的内容有明确约定，天津前嗅公司所主张的通过电子邮件向北京欧特欧公司发送交付清单，或所主张的擅自将系统部署在自己实际掌控和使用的服务器上的交付行为均不能成立。天津前嗅公司在2017年9月29日并未按合同约定指派系统开发人员到场进行验收，亦未对此前验收不合格的第一期系统进行整改，对于系统未交付的事实是知晓并认可的，其行为不构成交付的事实。（四）北京欧特欧公司严格遵守关于验收的要求及流程，并不存在拒绝验收或未组织验收的行为。双方共进行了三次验收。2017年9月29日北京欧特欧公司并未拒绝验收，天津前嗅公司强迫北京欧特欧公司在验收前签署接收清单，企图故意设局让北京欧特欧公司接受未经验收的不合格系统，北京欧特欧公司虽拒绝签署接收清单，但并未拒绝验收，事实上已在现场安装调试好了机器正常开展验收工作，最终因为天津前嗅公司无法提供验收必备的硬件配置和数据总量而导致验收失败。自该日后，并不是北京欧特欧公司未组织验收，而是天津前嗅公司再也未按约定提交验收申请。（五）天津前嗅公司要求北京欧特欧公司赔偿律师费、公证费的反诉请求缺乏事实根据和法律依据，不能成立。依据涉案合同第八条第1款的约定，本案中，违约方自始至终只有天津前嗅公司，其作为单方违约方要求守约方赔偿损失，既不合理也不合法。原审法院审理查明：2017年4月11日，北京欧特欧公司（委托方，合同甲方）和天津前嗅公司（受托方，合同乙方）签订《欧特欧电商大数据应用系统项目协议》，即涉案合同，其主要内容约定如下：第一条服务的内容和范围：4、根据双方协商签订的《需求书》，乙方负责如下工作：（1）系统开发。针对本项目，开发搭建电商大数据应用系统，实现《需求书》中约定的性能和功能。（6）系统部署。在甲方提供的计算机设备上，部署系统服务、采集服务、存储服务、分析服务等，以达到系统能够正确高效运行的效果。6、在开发完成后，乙方负责软件安装、调试、配置、执行操作和维护。安装、调试系统所需的网络、设备和系统软件环境由甲方负责提供。第二条服务的过程与方式：1.合同签订：甲方编写《需求书》，交与乙方确认具体需求。双方协商一致后，签订本合同，并将《需求书》作为合同附件，一并签署。3.软件系统交付：（1）甲方准备安装、调试的现场和机器。（2）乙方指定开发人员到甲方现场进行安装、调试工作。4.验收：在甲方提供的设备上完成验收工作。第三条技术服务的期限：1.乙方收到合同规定预付款项后，每期分别在如下的开发周期内，完成软件开发测试工作，交付系统：（1）第一期：预计101个工作日内。（2）第二期：预计90个工作日内。（3）第三期：预计80个工作日内。第四条项目验收：1.验收：每一期软件系统交付上线后，乙方正式提交书面的验收申请，甲方应以书面方式签收，并于5个工作日内组织项目验收工作。如甲方在乙方正式提交书面的验收申请之后10个工作日内不进行验收，又没有提出其它充分理由或反对意见，则视为甲、乙双方均同意验收结果。如乙方超过15个工作日未提交验收申请的，则视为验收结果不合格。2.乙方在验收时应向甲方提交电商大数据应用系统的可运行软件，以及B/S应用系统的KSP源代码。3.验收依据为《需求书》中约定的数据内容、数据质量、开发功能、性能要求等指标要求。数据结果达到《需求书》中的指标要求，视为验收合格，验收小组签署两份《欧特欧电商大数据系统项目验收报告》并加盖公章，甲、乙方各执一份，即通过验收。第五条费用及支付方式甲乙双方认定本合同费用如下：第一期金额¥580000；第二期金额¥470000；第三期金额¥280000。2.费用支付方式及时间：（1）本合同签订后5个工作日内，甲方向乙方支付第一期合同预付款：第一期合同金额的60%，即人民币348000元。（2）第一期软件系统交付后，经双方签署第一期验收报告之后5个工作日内，甲方向乙方支付第一期合同尾款：第一期合同金额的30%，即人民币174000元。4.合同款项不包括其他可能产生的费用，如接入第三方验证码平台产生的打码费用等，如果产生此类费用，由甲方另外承担。第八条违约责任：1.双方在执行本协议过程中，任何一方违反本协议之约定，均为违约。违约方除向守约方赔偿外，还须承担另一方为取得此等赔偿而支出的所有费用，包括但不限于仲裁费、诉讼费、律师费、差旅费等。2.如甲方未能按照协议规定，按时打款到乙方指定账户，每天按未能履约部分的0.05%向乙方支付违约金。3.对于乙方的违约责任，具体的判定与执行方法，在《需求书》中做明确约定。第十四条协议附件：以下附件属本协议的有效组成部分，其中附件1《需求书》与本协议一并同时签订，其余附件在合同签订后依照合同规定时间交付签订：1.《欧特欧电商大数据应用系统需求书》，由甲方提供，双方确认。2.《欧特欧电商大数据应用系统一期测试报告》，由乙方提供，双方确认。3.《欧特欧电商大数据应用系统一期验收报告》，由双方确认。涉案合同附件《需求书》约定：第四条验收标准：2.验收等级及实施细则：等级C：得分＜80分，验收结果不合格，不支付尾款，限期30天整改本期，待达到相应的等级后按该等级细则执行，如到期仍未达到合格及以上，则乙方应退还甲方当期已付项目款。2017年4月12日，北京欧特欧公司向天津前嗅公司支付项目款项348000元。2017年9月15日，北京欧特欧公司和天津前嗅公司共同签署《第一期项目验收结果》，该验收结果主要内容为：“欧特欧电商大数据应用系统”第一期项目验收会议，于9月15日在北京欧特欧公司会议室按《需求书》中的验收标准进行了验收，现将验收结果说明如下：1.按照“欧特欧电商大数据应用系统项目协议”与“欧特欧电商大数据应用系统需求说明书”制定的相关内容，双方一致认为“欧特欧电商大数据应用系统”第一期项目验收结果为不合格。2.双方确定停止第二期和第三期的项目合作。3.鉴于乙方诚意，对于验收结果并不进行处罚，待整改达到双方约定的标准后支付尾款。补充说明：因项目验收未合格，后期需要整改，所以该项目在验收时未进行交付，待项目整改达标后再进行交付，如乙方存在项目不交付的行为，甲方将撤回不处罚的约定。该验收结果验收组成员处显示甲方有罗兴等人签字确认，乙方有陈玉立等人签字确认，落款处亦有北京欧特欧公司和天津前嗅公司盖章确认。北京欧特欧公司提交的2017年9月29日《欧特欧电商大数据应用系统验收和交付会议签到表》显示，北京欧特欧公司有CEO罗兴、办公室经理二人签到确认，天津前嗅公司有CEO陈玉立、市场总监、法务律师三人签到确认。关于北京欧特欧公司与天津前嗅公司2017年9月29日验收会议情况，经双方同意，对会议讨论沟通过程进行了录音，双方均提交了会议录音及自行整理的文字版本。北京欧特欧公司向原审法院提交华为云服务销售协议、付款回单、发票、华为云消费汇总清单、阿布云ＨＴＴＰ云代理客户协议等证据，以证明其按天津前嗅公司指示为项目开发购买“华为云服务”及“阿布云ＨＴＴＰ云代理服务”的支出情况。其中北京欧特欧公司与华为软件技术有限公司（简称华为软件公司）于2017年8月签订的《华为云服务销售协议》载明双方约定甲方（即北京欧特欧公司）已在乙方（即华为软件公司）服务官方网站（××）上注册（云服务账号：Ｏ-ＯＣｏｎｓｕｌｔｉｎｇ_ｏｆｆｉｃｅ），甲方承诺，在本协议有效期内（2017年8月1日至2018年7月31日），甲方所有打款只用于支付乙方云服务产品，且在协议签署15个工作日内，将首付款人民币20万元一次性电汇至甲方在乙方官网上注册的专属充值账号中。招商银行付款回单显示，2017年7月26日北京欧特欧公司向华为软件公司支付20万元，摘要“华为云费用”，另有2017年9月13日华为软件公司为北京欧特欧公司开具的20万元发票一张。华为云消费汇总清单显示2017年4月至2017年9月的消费总额为47242.46元。北京欧特欧公司在本案中表示仅要求天津前嗅公司赔偿已消费的47242.46元。天津前嗅公司表示仅认可发票证据的真实性，且表示北京欧特欧公司所主张的消费支出为华为云公司赠送，其并未有实际支出。同时，《阿布云HTTP云代理客户协议》显示签订双方为北京欧特欧公司（合同甲方）和长沙阿云网络科技有限公司（简称长沙阿云公司，合同乙方），于2017年6月7日由双方授权代表签署，约定“甲方向乙方购买HTTP代理动态版隧道，使用时长为壹年……原价格为14618元/月，九折优惠价13156元/月。甲方按月支付乙方代理IP租用费用。”2017年6月7日和2017年6月26日的招商银行付款回单显示北京欧特欧公司向长沙阿云公司分别支付13156元和65781元，长沙阿云公司于2017年6月9日开具金额为13156元的发票一张。北京欧特欧公司据此主张购买“阿布云HTTP云代理服务”支出78937元。天津前嗅公司表示认可上述证据的真实性，但不认可关联性。北京欧特欧公司提交的微信截屏为其法定代表人罗兴与天津前嗅公司相关员工就购买华为云服务和阿布云服务事宜沟通的聊天记录，天津前嗅公司相关员工告知罗兴改了华为云登录的登录密码，罗兴于6月26日发送微信消息：“@前嗅大数据_chern@雨霖铃@前嗅大数据有两个事情需要和你们确认一下，一是阿布云，再开10条通道，如今天开，你们在阿布云上处理一下，把定单号发我，二是给@三宝守卫杜总开一个你们抓取软件的账号，杜总试用和了解一下，谢谢。”对方员工回复罗兴：“阿布云一会儿让同事下单，软件在我们网站上注册就能用，我们开账号的话，从后台改很麻烦。”罗兴回复：“定单下完告诉我，我签合同打款，一定要用起来，抓取软件我们注册完告诉你，你开通一下。”天津前嗅公司表示认可该份证据真实性。同时，天津前嗅公司亦提交了与前述聊天记录基本相同的截图作为证据证明北京欧特欧公司要求天津前嗅公司协助购买华为云账号、阿布云HTTP云代理服务，北京欧特欧公司表示对其真实性、合法性、关联性均不予认可。为证明双方就涉案软件第一期开发项目进程的邮件沟通往来情况，北京欧特欧公司和天津前嗅公司分别委托相关公证处出具了（2017）京方圆内京证字第69009号公证书（简称第69009号公证书）和（2017）津北方证经字第14204号公证书（简称第14204号公证书），结合两份公证书所公证保全的邮件信息，显示双方就涉案软件的开发、整改、验收情况的主要沟通过程如下：2017年9月21日，天津前嗅公司发送邮件给北京欧特欧公司，称：“我公司已经按照会议内容，对系统进行了整改，并部署于贵公司服务器进行了交付。附件是详细的交付文档，注明了各项交付文件所在的文件目录，请贵公司按照交付文档的说明，下载交付内容……”，该邮件附件文件名称“欧特欧电商大数据应用系统交付文档.pdf”。北京欧特欧公司当日回复：“验收会议结束后，双方约定择日对系统整改的内容进行磋商，在我公司去函给你公司商定整改会议时间后，你公司在未对系统整改内容进行说明和未经我方确认的情况下，通过邮件的形式进行交付，我方认为在不了解你公司对系统的整改方案与未对整改后的效果进行说明的情况下，我方无法接受你公司单方面的交付行为，同时也认为交付无效。希望你公司接函后，按照验收会议的要求，确定好时间，来我公司进行双方共同参与的整改内容的磋商。如你公司认为已充分了解整改内容，系统已达到交付水平，也可以安排人员来我公司进行系统整改内容和效果的说明，并办理整改验收和系统交付使用的程序，我公司将按照程序予以办理……”天津前嗅公司于当日回复：“1.我方事先并不知情整改会议，根据项目《验收结果》的要求，我方严格按照双方约定的标准，即《需求书》中约定的事项对项目进行了整改，因此我方认为整改会议完全没有召开的必要和意义……2.关于系统交付事宜，项目《验收结果》中并未约定交付形式，由于云主机实体并未在贵公司，因此我方已经部署于服务器端，而非通过邮件交付，如贵公司认为需要单独发送邮件进行交付，则我公司愿意予以配合……4.由于项目《验收结果》中并未约定交付时间，本着推进项目的初衷，希望贵公司能够尽快对系统进行接收，并按照《需求书》中约定的验收方式，进行项目验收打分，并将贵公司的验收打分结果以邮件形式通知我公司。我公司如无异议，将以书面形式签收，如有异议，再商议后续整改事宜。”北京欧特欧公司回复：“在去函中我公司已经清楚的表达了相关意见，再次要求你公司按照正常的程序前来我公司办理验收和交付程序，逾期不来办理，我公司将依照合同约定，进入相关法律程序。”2017年9月25日，北京欧特欧公司向天津前嗅公司发送邮件，称：“现将有关‘欧特欧电商大数据系统项目’整改工作通知如下：一、根据2017年9月15日验收结果和《需求说明书》中的验收细则，限期30天完成整改工作。二、如果你方认为整改工作已经完成，请按照合同约定进行交付和验收，具体如下：1.交付请按照合同第二条第三款‘3、软件系统交付（1）甲方准备安装、调试的现场和机器。（2）乙方指定开发人员到甲方现场进行安装、调试工作。’2、验收请按照合同第二条第四款‘4、验收：在甲方提供的设备上完成验收工作。’”2017年9月27日，天津前嗅公司回复北京欧特欧公司称：“我公司申请对项目进行现场交付和验收。请贵公司准备好交付的硬件设备和人员、场地……我公司方便到场时间为2017年9月28日或29日……”2017年9月28日，北京欧特欧公司发送邮件给天津前嗅公司，称：“经双方协商，兹定于2017年9月29日对‘欧特欧电商大数据应用系统’的相关内容进行交付和验收工作。”2017年9月30日，天津前嗅公司发送邮件给北京欧特欧公司，称：“按照贵司和我司之约定，我公司于2017年9月29日到贵司，现场安装调试软件系统。在现场，我司对软件系统的安装、调试已经完成。依照贵我双方所签订《欧特欧电商大数据应用系统项目协议》第二条第3之约定，我公司已完成软件系统交付。在现场，我公司要求贵司对软件系统交付予以确认，并依约进行验收。但因贵司故意刁难，验证未能进行。贵我双方协议现因贵司的不配合，无法继续进行。为厘清双方法律及合同权利义务，现我公司通过本邮件向贵司再次提交软件系统交付清单，望贵司予以接收，并按照合同约定对我司已交付软件系统进行验证……”，该邮件后附文件《第一期项目交付清单》。2017年10月10日，北京欧特欧公司发送邮件给天津前嗅公司，称：“2017年9月15日双方第一次对项目进行验收，验收结论为系统不合格，当时双方口头约定召开项目整改会议，会后你公司拒不召开整改会议，后经我方多次要求你公司前来我公司召开项目验收会议……双方于2017年9月29日召开了第二次验收会议，你方出席会议的除一名法人外，其余两人一人是律师，另一名是法人的哥哥，均不是该系统的开发人员，对技术环节和流程均不熟悉。虽然我公司在对你方派出的验收人员持有疑义，但为了保证项目验收的顺利进行，在保留意见的情况下，仍然按流程对项目进行了验收，验收会议按照流程顺利进行，在验收过程中你方并无异议，当我方按照验收流程向你方提出数据规模指标时，你方无法进行回答，导致上午的会议中断，由于当时已至中午休息时间，我方提出休会，并要求你方确认数据规模指标后，开始下午的验收会议，而在下午的会议开始后，你方拒不按照会议流程进行，导致会议不能顺利进行。从会议的整个进程看，我方完全尽到了作为甲方的义务，导致验收会议无法进行的责任完全在于你方，我方再次强调并要求你公司认真进行整改，并于合同约定时间内前往我公司召开项目验收会议，逾期我方将按照合同约定执行。”2017年10月30日，天津前嗅公司发送邮件给北京欧特欧公司，称：“我司于2017年9月29日，前往贵公司，参加项目第二次验收会议。我司已四次派遣工作人员到贵公司现场，进行交付和验收工作，而贵公司态度恶劣，至今从未依据合同和需求书的相应条款，对项目进行打分验收。根据双方合同约定：如甲方在乙方正式提交书面的验收申请之后10个工作日内不进行验收，又没有提出其它充分理由或反对意见，则视为甲、乙双方均同意验收结果。现距离我司9月27日提交验收申请、9月29日参加第二次验收会议已超过一月有余，贵公司在没有任何充分理由的情况下，拒不对项目进行验收，也没有提出任何关乎合同条款的反对意见，则应当视为验收通过，全额支付尾款。而贵公司至今未履行尾款的支付义务……”天津前嗅公司提交了应用系统开发成果光盘，以证明其已完成应用系统开发整改工作，打开该光盘，显示存储“22个电商网站模板”“ForeSpider”“OTOProject”、测试报告等文件，其中测试报告载明撰写人为天津前嗅公司，时间为2017年9月6日。北京欧特欧公司表示对该光盘证据的真实性、合法性和关联性均不予认可。天津前嗅公司提交的（2017）津北方证经字第14203号公证书（简称第14203号公证书）系对邮箱用户“253×××＠ｑｑ.ｃｏｍ”的相关邮件进行保全证据公证，显示2017年6月6日，发件人“ｗａｎｇｄｉａｎｙｕ”，发送邮件的抬头为：“尊敬的客户（Ｏ-ＯＣｏｎｓｕｌｔｉｎｇ）”，邮件尾部标注“王殿宇售后技术服务华为企业云服务”等有关发件人的工作身份信息。天津前嗅公司同时还提交其员工王鹤霖与华为云客服通话录音以及法定代表人陈玉立与华为云客服经理通话录音，以证明北京欧特欧公司主张的200000元系华为云服务账号Ｏ-ＯＣｏｎｓｕｌｔｉｎｇ_ｏｆｆｉｃｅ充值支出，与欧特欧电商大数据应用系统项目（使用的账号为Ｏ-ＯＣｏｎｓｕｌｔｉｎｇ）无关，且北京欧特欧公司主张的Ｏ-ＯＣｏｎｓｕｌｔｉｎｇ华为云服务账号消费47242.46元为赠送。北京欧特欧公司表示认可第14203号公证书的真实性，但不认可其证明目的；不认可前述两份录音证据的真实性、合法性和关联性。天津前嗅公司提交了著作权登记证书，软件名称为“前嗅爬虫系统[简称：ForeSpider]1.0”，证书号为软著登字第1207014号，著作权人陈玉立，开发完成日期2015年11月1日，以证明陈玉立为涉案软件的核心开发人员，且具备开发软件的资格和能力。北京欧特欧公司表示不认可该份证据的关联性和证明目的。北京欧特欧公司提交了一张50000元的律师费发票，以及一张2544元的公证费发票，天津前嗅公司认可该二份证据的真实性，但不认可关联性。天津前嗅公司提交了一张50000元的律师费发票，以及一张4540元的公证费发票，北京欧特欧公司认可该二份证据的真实性，但不认可关联性。庭审中，北京欧特欧公司和天津前嗅公司各自提交了律师委托合同电子扫描版，各方均对对方提交的委托合同真实性认可。原审法院认为：本案争议焦点为，天津前嗅公司是否履行完成涉案软件第一期项目的整改开发并交付通过验收的义务。本案中，涉案合同系双方当事人的真实意思表示，内容合法有效，双方当事人均应按照合同约定履行合同义务。北京欧特欧公司认为天津前嗅公司在签署《第一期项目验收结果》后并未提交整改达标的涉案软件，应当退还已支付的项目款项，而天津前嗅公司则认为其已经履行交付涉案软件的义务，北京欧特欧公司拒绝验收构成违约，应视其交付的涉案软件验收合格，要求北京欧特欧公司支付合同第一期项目尾款174000元。根据涉案合同的初始约定，在北京欧特欧公司支付涉案合同第一期金额的60%的情况下，天津前嗅公司须交付第一期软件系统，并经双方签署第一期验收报告后方有权要求北京欧特欧公司履行支付涉案软件第一期尾款174000元的义务。及至2017年9月15日，双方就涉案软件第一期项目举行正式的验收会议，并签署确认《第一期项目验收结果》，该验收结果明确载明双方一致认为“欧特欧电商大数据应用系统”第一期项目验收结果为不合格并确定停止第二期和第三期的项目合作，涉案软件当日亦未交付，同时约定待天津前嗅公司将软件整改达到双方约定的标准后再进行交付，然后北京欧特欧公司再支付相应尾款。可见，双方由于第一期项目验收结果不理想，就涉案软件第一期项目验收的条件和顺序进行了相应调整，即天津前嗅公司须对不合格的软件项目进行整改，待其达标后再进行交付。鉴于《第一期验收结果》有双方及其相关负责人盖章及签字确认，且在案证据并不足以证明存在天津前嗅公司所述“被迫”签署该验收结果的情况，故其中对涉案软件的交付标准和条件进行变更应当视为双方达成合意的有效的民事法律行为，对二者均具有约束效力，天津前嗅公司应当严格按照变更后的有关整改和交付的顺序约定履行合同义务。从双方沟通往来的邮件信息可以看出，自2017年9月15日验收工作结束后，天津前嗅公司原本希望通过部署至服务器或者发送邮件的方式完成交付，被北京欧特欧公司明确拒绝，而后双方再次约定于2017年9月29日对涉案软件第一期项目进行现场交付和验收，及至验收当日，双方因为分歧和争议较大未完成验收工作。此后，双方再未组织当场验收交付，天津前嗅公司发送邮件称其于2017年9月29日的现场安装调试软件工作已经完成，应视为完成软件系统交付义务，但北京欧特欧公司于2017年10月10日回复称拒绝承认天津前嗅公司已尽到整改和交付义务，并再次强调要求天津前嗅公司认真进行整改，并于合同约定时间内前往北京欧特欧公司召开验收会议，而天津前嗅公司亦于2017年10月30日发送邮件明确表示拒绝北京欧特欧公司的前述要求，坚持认为北京欧特欧公司拒不对项目进行验收，也没有提出任何关乎合同条款的反对意见，应当视为验收通过。结合前述案件事实来看，虽然北京欧特欧公司和天津前嗅公司在签署《第一期验收结果》后约定由天津前嗅公司先行对不合格软件进行整改再予以交付验收，但双方对于交付服务的过程和方式基本上未进行实质性变更，双方仍应当按照涉案合同约定的标准和条件进行验收交付，即如涉案合同第二条第3款和第4款的约定，软件系统交付由北京欧特欧公司准备安装、调试的现场和机器，由天津前嗅公司指定开发人员到北京欧特欧公司现场进行安装、调试工作，验收工作应当在北京欧特欧公司提供的设备上完成。一方面，天津前嗅公司提交的光盘中的测试报告为其自行撰写，且日期处于第一次验收工作之前，证明力和关联性极低，其光盘中的其他文件亦不足以证明涉案软件已经过天津前嗅公司的整改并达标；另一方面，在涉案合同明确约定天津前嗅公司应当去往现场安装调试软件且在北京欧特欧公司提供的设备上完成验收工作的情况下，无论是天津前嗅公司以发送文档邮件还是擅自部署至服务器的形式均不能视为涉案软件的交付。涉案合同亦约定天津前嗅公司应当在验收时提交电商大数据应用系统可运行软件等成果，第十四条“协议附件”约定《欧特欧电商大数据应用系统一期测试报告》和《欧特欧电商大数据应用系统一期验收报告》均应当由双方确认，而北京欧特欧公司于2017年10月10日的邮件中亦表达了希望天津前嗅公司继续进行整改后交付验收的请求，说明其仍然给予对方整改时间和机会，亦存在同意双方就第一期项目继续合作履行的主观意愿，北京欧特欧公司并不存在拒绝验收的违约行为。在在案证据不能证明天津前嗅公司先行对涉案软件进行整改并达标，提交了可运行软件等合格的软件成果的情况下，天津前嗅公司所谓的涉案软件应当视为验收通过的主张显然不能成立。因此，在天津前嗅公司未履行整改涉案软件并达标交付的先合同义务的情况下，其要求北京欧特欧公司支付涉案合同第一期项目尾款174000元及相应违约金的请求缺乏事实和法律依据，原审法院不予支持。而根据《需求书》的约定，在验收不合格情况下，如到期天津前嗅公司仍未将涉案软件整改达到合格及以上，则其应退还北京欧特欧公司当期已付项目款，故对于北京欧特欧公司请求天津前嗅公司返还已付合同款项348000元的主张，原审法院予以支持。关于北京欧特欧公司认为天津前嗅公司应当负担购买“华为云服务”及“阿布云HTTP云代理服务”的费用以及支付相应违约金的主张，原审法院认为，涉案合同第五条第4款明确约定合同款项不包括其他可能产生的费用，如接入第三方验证码平台产生的打码费用等，如果产生此类费用，由北京欧特欧公司另外承担。且根据合同其他条款亦可以看出，安装、调试系统所需的网络、设备和系统软件环境本应由北京欧特欧公司负责提供，系统部署和验收也必须在北京欧特欧公司提供的设备上完成，根据双方所提交的北京欧特欧公司法定代表人罗兴和天津前嗅公司相关员工的聊天记录亦可推定，北京欧特欧公司未对购买相关云服务的费用支出方式提出异议，即使北京欧特欧公司是应天津前嗅公司的指示和要求购买“华为云服务”及“阿布云HTTP云代理服务”，亦是其履行提供己方负责的网络、设备和系统软件服务的基本义务，且涉案合同明确约定其他可能产生的费用本身应由北京欧特欧公司另外承担。故对于北京欧特欧公司请求天津前嗅公司支付购买“华为云服务”及“阿布云HTTP云代理服务”所支出的126179.46元的主张，原审法院不予支持。与此同时，涉案合同第八条第3款约定，“对于天津前嗅公司的违约责任，具体的判定与执行方法，在《需求书》中做明确约定”，而《需求书》仅约定了天津前嗅公司在到期仍未将涉案软件整改达到合格及以上的情况下，其应当退还当期已付项目款的违约责任，且北京欧特欧公司亦表示其对天津前嗅公司应当支付违约金200000元的主张是基于涉案软件使用目的、实现情况以及经济损失的处罚性赔偿要求，亦是一种估算。故在涉案合同并未对此作出明确约定，且北京欧特欧公司亦未提交充分证据证明其所主张的违约金具有正当性的情况下，原审法院对该项请求不予支持。此外，针对双方提出的由对方赔偿律师费、公证费的请求，涉案合同明确约定双方在执行本协议过程中，任何一方违反本协议之约定，均为违约，违约方除向守约方赔偿外，还须承担另一方为取得此等赔偿而支出的所有费用，包括但不限于仲裁费、诉讼费、律师费、差旅费等。结合前述认定，鉴于天津前嗅公司关于北京欧特欧公司存在违约行为的主张不能成立，故原审法院对其要求北京欧特欧公司赔偿律师费50000元、公证费4540元的主张亦不予支持。同理，鉴于天津前嗅公司未履行整改涉案软件等义务，已构成违约，且北京欧特欧公司提交了律师委托合同、律师费发票、公证费发票予以佐证，其请求天津前嗅公司赔偿律师费50000元、公证费2544元的主张，具有合理性，原审法院予以支持。据此，原审法院判决：（一）天津前嗅公司于判决生效之日起十日内返还北京欧特欧公司合同款项348000元；（二）天津前嗅公司于判决生效之日起十日内赔偿北京欧特欧公司律师费50000元、公证费2544元，合计52544元；（三）驳回北京欧特欧公司的其他诉讼请求；（四）驳回天津前嗅公司的全部反诉请求。本诉案件受理费11067元，由北京欧特欧公司负担4968元，由天津前嗅公司负担6099元；反诉案件受理费6007元，由天津前嗅公司负担。原审查明的事实基本属实，本院予以确认。二审中，双方当事人均未提交新证据。本院认为，根据当事人的诉辩意见及案件事实，本案在二审阶段的主要争议焦点为：（一）天津前嗅公司是否完成整改并按照合同约定交付；（二）北京欧特欧公司是否存在拒绝按合同约定进行验收。（一）天津前嗅公司是否完成整改并按照合同约定交付《中华人民共和国合同法》（以下简称合同法）第六十条第一款规定：“当事人应当按照约定全面履行自己的义务。”合同法第七十七条第一款规定，“当事人协商一致，可以变更合同。”1.关于天津前嗅公司是否完成了整改天津前嗅公司主张，其所提交的成果光盘包含中的部分文件形成时间在2017年9月15日验收会议之后，表明已经进行了整改。北京欧特欧公司辩称，在对光盘进行比对后，判断系统未做任何修改，不满足验收条件，且光盘中的文件除系统测试报告外，其余文件的完成日期均处于2017年9月15日验收之前。此外，北京欧特欧公司在原审中提交的《关于对光盘“前嗅交付系统”中的问题说明》中详细列出了光盘系统存在的问题，包括数据采集量严重不足；数据仅到2017年7月未作更新；数据范围、相关指标和统计口径等未作说明；数据准确性存在问题；系统稳定性存在问题等，北京欧特欧公司由此认为该系统未作整改，没有达到验收的数据全面性和准确性的要求，不满足功能性要求。对此，本院认为，《中华人民共和国民事诉讼法》（以下简称民事诉讼法）第六十四条第一款规定，“当事人对自己提出的主张，有责任提供证据。”对涉案软件进行整改系天津前嗅公司按照约定应当承担的义务，天津前嗅公司应就其已整改完成的主张所依据的事实承担举证责任，天津前嗅公司仅提交了一份成果光盘证明其已完成整改，光盘存有部分形成于2017年9月15日之后文件的事实不能证明整改的目标效果已经达到，且光盘中系统测试报告为其自行撰写，北京欧特欧公司对其中内容并不认可，天津前嗅公司也未能提交其他证据证明其已完成整改。因此，原审法院认定在案证据不能证明天津前嗅公司对涉案软件进行整改并达标，并无不当，本院予以支持。2.关于天津前嗅公司是否按照合同约定进行交付首先，关于交付条件和顺序的变更问题。本案中，北京欧特欧公司和天津前嗅公司于2017年4月11日签订涉案合同，其中第二条“服务的过程与方式”中约定“3.软件系统交付：（1）甲方准备安装、调试的现场和机器。（2）乙方指定开发人员到甲方现场进行安装、调试工作。4.验收：在甲方提供的设备上完成验收工作。”2017年9月15日，双方共同签署《第一期项目验收结果》，在补充说明中记载“因项目验收未合格，后期需要整改，所以该项目在验收时未进行交付，待项目整改达标后再进行交付。”天津前嗅公司上诉主张，涉案合同第二条约定了交付是验收的前提和前置程序，《第一期项目验收结果》对涉案合同的相关约定并未作出变更和调整，原审法院认定涉案合同约定的交付条件和顺序调整为“天津前嗅公司须对不合格的项目进行整改，待其达标后再进行交付”错误。对此，本院认为，《第一期项目验收结果》是双方履行涉案合同，依据《需求说明书》对涉案软件进行验收所形成的文件，涉案合同第十四条“协议附件”中约定，由双方确认的一期验收报告为涉案合同的有效组成部分，因此，《第一期项目验收结果》中的内容对合同双方具有约束力。同时，该文件由双方验收组签名确认，北京欧特欧公司法定代表人罗兴、天津前嗅公司法定代表人陈玉立均为验收组成员，落款处有双方公司盖章确认。由此可知，双方根据项目的进展情况和完成质量对涉案软件第一期项目交付的条件、验收和交付的顺序作出新的约定，即天津前嗅公司须对涉案软件进行整改，待达标后再进行交付。另外，天津前嗅公司也已知晓并认可涉案软件在该次验收时未交付的事实。因此，原审法院认为涉案软件的交付标准和条件已作变更，天津前嗅公司应按照变更后的有关整改和交付顺序的约定履行合同义务，并无不当，本院予以支持。其次，关于天津前嗅公司是否按照合同约定进行交付。天津前嗅公司上诉主张，于2017年9月21日通过将应用系统远程安装至北京欧特欧公司的服务器和将应用系统文档作为附件发送给北京欧特欧公司完成交付。本院认为，涉案合同第二条关于“软件系统交付”约定，系统交付必须满足“甲方准备安装、调试的现场和机器”“乙方指定开发人员到甲方现场进行安装、调试工作”。因此，天津前嗅公司所主张的通过将系统远程安装至北京欧特欧公司服务器以及以电子邮件发送文档的行为均不属于符合合同约定的交付。至于天津前嗅公司主张，在2017年9月29日的验收会议上，现场将整改后的应用系统安装至北京欧特欧公司设备上并调试完毕，但北京欧特欧公司拒不组织验收。经本院查明，天津前嗅公司参加2017年9月29日验收会议人员为公司法定代表人、总经理陈玉立，公司监事陈卓，公司法律顾问、律师闫金栋。天津前嗅公司主张，其法定代表人陈玉立开发完成ForeSpider1.0软件，该软件是涉案合同的重要组成部分，并提供“前嗅爬虫系统（简称ForeSpider1.0）”计算机软件著作权登记证书作为证据。对此，本院认为，尽管在“前嗅爬虫系统”软件著作权登记证书上，陈玉立为著作权人，但著作权人和软件开发人员并不能等同，在天津前嗅公司没有提供其他证据的情况下，不能仅依据著作权登记证书认定陈玉立为涉案软件的开发人员。另外，天津前嗅公司和北京欧特欧公司在原审中均提交了2017年9月29日验收会议现场的录音整理稿，双方提交的录音整理稿均显示，北京欧特欧公司认为天津前嗅公司未能提供验收所需的数据总量。此外，该次验收会议的录音整理稿还显示，双方在验收和交付的顺序上存在争执且最终北京欧特欧公司没有进行验收。本院认为，《第一期项目验收结果》已经将验收和交付的顺序变更为整改达标后再进行交付，因此，在天津前嗅公司未能举证证明整改已经完成的情况下，天津前嗅公司所主张的2017年9月29日的验收会议现场将应用系统安装至北京欧特欧公司设备上的行为，也不属于符合合同约定的交付。综上，原审法院认定，天津前嗅公司未履行整改涉案软件并达标交付，并无不当，本院予以支持。（二）北京欧特欧公司是否存在拒绝按合同约定进行验收天津前嗅公司主张，其提交的整改成果是否达标按合同约定须北京欧特欧公司组织验收方能确定，北京欧特欧公司拒绝按合同约定验收的行为已经直接导致天津前嗅公司提交的整改成果视为验收通过。北京欧特欧公司辩称，其严格遵守验收的要求和流程，不存在拒绝验收或未组织验收的行为。根据双方提交的2017年9月29日验收会议现场的录音整理稿以及双方沟通往来的邮件，2017年9月29日验收会议因双方分歧较大未完成验收工作，此后，双方再未组织验收交付。2017年9月30日，天津前嗅公司发送邮件称其于2017年9月29日完成软件系统交付；2017年10月10日，北京欧特欧公司回复，拒绝承认天津前嗅公司已尽到整改和交付义务，要求天津前嗅公司认真整改，并于合同约定时间内召开验收会议；2017年10月30日，天津前嗅公司发送邮件，明确拒绝北京欧特欧公司前述要求，认为北京欧特欧公司拒不对项目进行验收，也未提出任何关乎合同条款的反对意见，应当视为验收通过。本院认为，涉案合同第三条“技术服务的期限”中约定，自天津前嗅公司收到预付款项起，第一期项目预计101个工作日内完成。北京欧特欧公司于2017年4月12日支付预付款，截至2017年9月15日验收时，已超过合同约定的第一期预计开发期限。从双方签署的《第一期项目验收结果》来看，在双方均认可第一期项目验收结果为不合格的情况下，北京欧特欧公司同意天津前嗅公司整改后再行验收。2017年9月29日北京欧特欧公司举行了验收会议，该次验收会议现场录音及此后双方的往来邮件也均显示出北京欧特欧公司一直在要求天津前嗅公司进行整改，整改后再行验收，已经表现出北京欧特欧公司履行涉案合同的诚意，但是，天津前嗅公司2017年9月29日后并未再行提交验收申请。天津前嗅公司相关上诉理由不能成立，本院不予支持。综上所述，天津市前嗅网络科技有限公司上诉请求不能成立，应予驳回。原审判决认定事实清楚，适用法律正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项规定，判决如下：驳回上诉，维持原判。二审案件受理费10943.44元，由天津市前嗅网络科技有限公司负担。本判决为终审判决。审 判 长 张晓阳审 判 员 傅 蕾审 判 员 何 隽二〇二〇年十二月十七日法官助理 刘清启书 记 员 尹明琦裁判要点案号（2020）最高法知民终1757号案由计算机软件开发合同纠纷合议庭审判长：张晓阳审判员：傅蕾、何隽法官助理：刘清启书记员：尹明琦裁判日期2020年12月17日关键词计算机软件开发合同；合同履行；违约责任当事人上诉人（原审被告，反诉原告）：天津市前嗅网络科技有限公司；被上诉人（原审原告，反诉被告）：北京欧特欧国际咨询有限公司。裁判结果驳回上诉，维持原判。原判主文：（一）天津市前嗅网络科技有限公司于判决生效之日起十日内返还北京欧特欧国际咨询有限公司合同款项348000元；（二）天津市前嗅网络科技有限公司于判决生效之日起十日内赔偿北京欧特欧国际咨询有限公司律师费50000元、公证费2544元，合计52544元；（三）驳回北京欧特欧国际咨询有限公司的其他诉讼请求；（四）驳回天津市前嗅网络科技有限公司的全部反诉请求。涉案法条《中华人民共和国合同法》第六十条第一款、第七十七条第一款；《中华人民共和国民事诉讼法》第六十四条第一款、第一百七十条第一款第一项。法律问题合同履行裁判观点当事人应当按照合同约定全面履行自己的义务。合同履行过程中，当事人对合同标的交付条件进行变更的，应当按照变更后的交易条件履行合同。注：本摘要并非判决书之组成部分，不具有法律效力。