中华人民共和国最高人民法院民 事 判 决 书（2021）最高法知民终586号上诉人（原审被告、原审反诉原告）：珠海核芯信息科技有限公司。住所地：广东省珠海市吉大景乐路14号第八层803C室。法定代表人：朱瑞风，该公司董事。委托诉讼代理人：韩青，北京德恒（珠海）律师事务所律师。委托诉讼代理人：杨斐，广东广信君达律师事务所律师。被上诉人（原审原告、原审反诉被告）：珠海天威新材料股份有限公司。住所地：广东省珠海市香洲区宝汇路5号。法定代表人：贺良梅，该公司董事长。委托诉讼代理人：张文晶，上海精诚申衡律师事务所律师。委托诉讼代理人：何志允，广东精诚粤衡律师事务所律师。上诉人珠海核芯信息科技有限公司（以下简称核芯公司）因与被上诉人珠海天威新材料股份有限公司（以下简称天威公司）计算机软件开发合同纠纷一案，不服广州知识产权法院于2020年9月9日作出的（2019）粤73知民初70号民事判决，向本院提起上诉。本院于2021年3月30日立案后，依法组成合议庭，并于2021年6月2日询问当事人，核芯公司的委托诉讼代理人韩青、杨斐，天威公司的委托诉讼代理人何志允到庭参加询问。本案现已审理终结。核芯公司上诉请求：撤销原审判决第一、二、四项，改判驳回天威公司的全部诉讼请求，支持核芯公司的全部反诉请求。事实和理由：（一）原审判决对核芯公司完成的工作量、天威公司应支付的合同价款等事实认定不清，具体包括：1.双方签订的《天威PMZSAP升级项目》（以下称涉案合同）第3条中关于“PMZ报表清单部分”“功能需求部分”“EAD报表开发”三部分价款与涉案合同三个附件的对应关系未予查明；2.涉案合同第3.1条对合同总价的优惠是否为整体折扣优惠亦未查明；3.2018年9月10日的邮件清单是天威公司单方整理的，核芯公司于2018年10月16日作出了回应，核芯公司实际上已经完成需求的开发，原审判决对于该项事实未予查明；4.履约过程中，天威公司的需求存在增减，原审判决对减少的需求从价款中扣除，但对增加的需求未计算开发费用；5.涉案合同约定的每项开发需求对应的工作量并不相同，原审判决对该事实未予查明，直接以需求的完成数除以需求总数再乘以合同总价款，这一计算方法不合理；6.核芯公司开发的是整个财务管理系统，开发目的是形成每月财务报表，原审判决已确认核芯公司交付的涉案软件能够正常运行，说明核芯公司已经基本完成开发工作，完成度必然大于50%，原审判决对此事实未予查明。（二）核芯公司已依约完成开发工作，后续需求的测试和调整属于合同约定的维护期，不应认定核芯公司违约，天威公司应支付价款并承担违约责任。天威公司辩称：核芯公司的开发团队集体离职，导致无人跟进涉案合同项目，核芯公司因未依约交付软件而导致发生本案诉讼，天威公司无需履行后续付款义务或支付违约金。具体而言，1.合同价款的折扣是涉案合同明确约定的；2.核芯公司作为开发方理应有开发日志、项目进度报告等开发工作进展的证据，核芯公司无法提交该类证据以证明其工作量，应承担举证不能的后果；3.本案一审庭审中双方已一致确认核芯公司就涉案合同工作量的完成情况，工作量统计的邮件亦是由核芯公司提交给原审法院；4.涉案软件尚未交付完成，亦未进行维护工作。天威公司向原审法院提起诉讼，原审法院于2019年1月22日立案受理。天威公司向原审法院起诉请求：1.判令核芯公司返还天威公司预付合同款55万元；2.判令核芯公司支付违约金4.75万元；3.本案诉讼费用由核芯公司负担。核芯公司原审辩称：核芯公司已经完成涉案合同约定的全部开发工作，并将已开发完成的系统交付给天威公司使用，并无违约行为，请求驳回天威公司的诉讼请求。核芯公司原审反诉请求：1.判令天威公司向核芯公司支付剩余合同款40万元；2.判令天威公司支付违约金4.75万元；3.本案诉讼费用由天威公司负担。天威公司原审辩称：核芯公司有大量的功能模块尚未开发完成，远未达到合同约定的交付标准。2018年6月底至7月初期间，核芯公司的研发团队失联，软件开发工作无法推进，核芯公司构成根本违约。原审法院认定事实：2017年8月30日，天威公司（甲方）、核芯公司（乙方）签订涉案合同，约定核芯公司受天威公司委托进行天威PMZSAP升级项目的开发，主要内容为：“1.3合同内容：乙方将为甲方实现：功能需求部分（详见合同附件1）、PMZ报表清单部分（详见合同附件2）、EAD报表开发实施（EAD）开发（详见合同附件3）、乙方根据甲方需求提供现场支持。1.4项目开发时间：开发时间定为自本合同双方签字盖章及乙方收到甲方首次款后的120天内。2.天威PMZSAP升级项目：2.1需求分析整理及确认；2.2实施（EAD）开发阶段；2.3实施（MM+SD+PP+FICO+QM）开发阶段；2.4交付；2.5上线及支持；2.6乙方根据甲方需求提供现场支持。3.费用及付款方式3.1费用，其中需求分析确认价格25000元，项目实施部分PMZ报表清单部分价格为556000元，功能需求部分价格为200000元，EAD报表开发部分价格为276000元，项目交付&上线技术支持部分价格为75000元，金额合计1132000元，折后价格为950000元；3.2付款方式3.2.1此合同总金额为950000元，为已含6%增值税金额；3.2.2在本合同生效后5日内，甲方预付乙方合同金额550000元；3.2.3乙方完成项目开发内容，交付，甲方配合乙方完成测试及用户测试后，经甲方验收后，甲方支付乙方300000元；3.2.4项目上线及完成第一次测试后的30天内，经甲方验收后，甲方支付乙方合同剩余100000元。……4.交付与验收与维护期及维保内容：4.1乙方交付前，甲方应根据合同要求准备好相应的验收条件，如因交付条件未准备妥当而造成乙方交付延迟，乙方不承担延迟交付的责任；4.2乙方交付所有的配置及报表的迁移报表，是包括需求变更及后期在新SAP系统中能够按用户需求及逻辑运行出正确结果。4.3甲方在交付之日起5日内进行验收并向乙方提供签名验收单，验收以合同附件所列清单为准。如对验收结果有异议，甲方应在乙方交付后7日内向乙方书面提出，乙方交付后7日内未收到甲方的书面异议，视为验收合格。4.4乙方提供维护期为系统上线后6个月（即维护截止日期为2018年6月30日）的免费远程支持，乙方提供配合甲方完成上线后3个月内的月结等工作。款项到账期（详见合同条款3.2）与维保期负联动，即到账延后15天（不含），维保期自动减少15天。4.5乙方免费维保范围只包括此次项目中迁移/新增/修改的程序。维保内容包括，程序使用过程中的问题修复，但不包括上线后因需求变更而产生的程序修改……7.协议的补充、变更和违约责任及相关法律条款……7.2违约责任7.2.1甲方逾期履行付款义务的，甲方应承担违约责任。每延迟1个法定工作日，按服务总价的0.03%（万分之三）计算违约金，且乙方有权停止为甲方提供一切服务至甲方付清其应付的服务款项，由此造成的损失由甲方承担；最高违约金金额不超过合同总金额的百分之五。若甲方逾期支付服务款项超过120天，乙方有权单方面终止合同，并且要求甲方支付全部款项和违约金。7.2.2乙方因自身原因造成不能按时提供本合同约定的服务，乙方应承担违约责任。每逾期1个法定工作日，按咨询服务阶段应付价款的0.03%（万分之三）计算违约金，最高违约金金额不超过合同总金额的百分之五。乙方因自身原因造成逾期未提供服务超过120天，甲方有权单方面终止合同，并且要求乙方返还已向甲方收取的全部款项。7.2.3因乙方原因导致乙方服务人员在实施过程中离职的，且乙方服务人员的离职影响项目实施并造成甲方直接经济损失的，乙方应承担相应的违约责任，并按照本合同7.2.2条款计算提供违约赔偿。7.2.4若因甲方未按照乙方的要求提供相关的条件和/或进行相关的准备工作，或乙方在履行本合同过程中需要第三方配合支持但甲方未参与协调第三方及时提供的配合支持，从而导致预定的服务期限延迟的，则乙方不承担任何责任，且延误的服务期限得以顺延。……7.2.6因乙方自身原因造成本合同无法按计划实施，将甲方催促超过60天仍无法实施，甲方有权解除本合同，乙方除应退回甲方已支付的全部款项外，还应承担合同金额5%的违约金。”天威公司、核芯公司均在涉案合同上签名、盖章。天威公司、核芯公司均确认涉案合同的附件一、二、三系双方于2017年8月15日通过电子邮件方式发送。2017年11月2日，天威公司通过银行转账方式，支付合同款项55万元给核芯公司。天威公司、核芯公司均确认合同约定的开发时间应自2017年11月3日起计算120天，至2018年3月2日止。2018年8月20日，核芯公司向天威公司发出《律师函》，主要内容为：“……上述合同签订后，核芯公司于2017年9月开始着手研发，但贵公司并没有按照合同约定的期限支付合同项下研发项目的首期款，直到2017年11月2日才支付首期款人民币伍拾伍万元。2017年12月24日，合同项下的项目已研发完成，并交付贵公司上线安装测试。从2018年1月开始，合同项下的PMZ系统进行上线运行测试。2018年2月1日，合同项下的PMZSAP升级项目已全部正式上线运行，贵公司一直使用至今。合同项下的维保期限也已届满，目前贵司尚欠合同第二、三期款项未支付。另外，核芯公司在贵司研发合同项下项目期间，贵公司还增加了合同约定项目之外的其他六个新增项目，核芯公司也已完成并交付贵公司使用。2018年6月30日，核芯公司停止对贵公司已上线PMZ系统的维保，并于2018年7月18日致函贵公司，通知解除上述合同，要求贵公司依约支付应付款项……贵公司与核芯公司签订的上述合同，是双方在自愿协商的基础上达成合意的结果，是双方真实意思的表示，是合法有效的，应受到法律的保护。合同签订后核芯公司已经全面完成了合同项下项目的研发、交付、安装以及维护正常运行的义务，但是贵公司使用和运行上述系统至今，未按合同约定支付款项的行为，已构成严重违约。为此，请贵司在收到本律师函之日起五日内与核芯公司联系，共同商讨支付所拖欠的货款40万元及延期付款的违约金事宜。”天威公司确认收到该函件。2018年12月20日，天威公司向核芯公司发出《律师函》，主要内容为：“一、核芯公司已经构成根本违约，理由如下：1.根据涉案合同第1.4条约定，核芯公司必须在2018年3月2日前完成合同约定的全部开发工作。但是，核芯公司并未如期完成，仍然存在大量未解决的问题，导致合同标的软件未按时交付。2.在核芯公司未能按时交付合同标的的情况下，天威公司为实现合同目的，给予核芯公司最大程度的谅解和包容，没有立即行使合同解除权，而是要求核芯公司的开发人员继续完成开发任务，将合同履行完毕。但是，核芯公司的开发人员直到2018年6月都未能全部完成开发任务，合同标的软件仍有大量问题未解决。3.2018年7月初，核芯公司的开发团队突然停止了工作，天威公司数次发电子邮件询问核芯公司原因，但核芯公司均不予答复。……二、核芯公司违约行为产生的法律后果，由于核芯公司的开发团队整体离职导致合同无法履行，核芯公司既不重新安排开发人员继续完成开发工作，又不采取其他补救措施，导致合同实际上已不可能履行。……天威公司有权向人民法院起诉核芯公司的违约行为，要求核芯公司承担违约责任。……核芯公司已构成根本违约，该违约行为导致合同无法履行完毕，令天威公司软件升级项目无法完工，严重影响天威公司的系统正常运行，给天威公司经营活动带来巨大的麻烦和负面影响，因此，核芯公司应当依合同约定承担违约责任。”核芯公司确认收到该函件。天威公司、核芯公司均提供了电子邮件截图，用以证实双方在合同履行期间就项目进展所做的沟通情况。其中，2017年11月21日，核芯公司工作人员发送电子邮件给天威公司，内容为：“……关于PMZ进度情况如下：一、程序、报表与query迁移目前已经需求确认中的所有程序、报表与query都已经迁移完毕，并完成了第一轮初步测试。须等系统配置完成，通过业务数据来进行验证并做第二轮测试……”2017年12月24日，核芯公司工作人员发送电子邮件给天威公司，内容为：“……系统安装应该可以在明天上午交付。先提供PMZQAS&PRD的登录信息……”2018年7月4日，天威公司工作人员发送电子邮件给核芯公司工作人员，内容为：“附件为贵司与我司签署的《天威新材SAP升级合同》及其附件，目前此项目尚未完成，贵司已无人员进行实施。特此知会贵司：1.我司将终止合同。2.我司将保留追回前期付款及赔偿的权利。”核芯公司次日答复：“请将《终止合同正式通知公函》邮件发我，谢谢。”另外，天威公司、核芯公司均确认双方在2018年9月30日所发电子邮件的附件内容为双方认可的涉案软件开发完成情况的汇总。该邮件附件显示，合同附件1所列10项功能，已完成5项，未完成的为5项；合同附件2所列的227项功能，已完成113项，未完成的为10项，另有104项经天威公司确认不需开发；合同附件3所列的25项功能，已完成13项，未完成的为5项，另有7项经天威公司确认不需开发。核芯公司提交了天威公司2018年3月至5月的财务报表，用以证明其开发的涉案系统已由天威公司实际使用，天威公司确认该报表由正式机系统生成，但认为出现的数据仍有错误。原审法院认为：涉案合同为双方当事人的真实意思表示，其内容未违反法律法规的强制性规定，合法有效，各方当事人均应遵照履行。从涉案合同的履行期限来看，根据《天威PMZSAP升级项目》第1.4条的约定，涉案软件的开发时间为双方签字盖章及乙方收到甲方首次款后的120天内。涉案合同虽于2017年8月30日签订，但天威公司于2017年11月2日支付首期合同款项给核芯公司，核芯公司对此并无异议，故核芯公司依约应于2018年3月2日前完成涉案软件的开发并交付给天威公司使用。从涉案合同的履行内容来看，天威公司、核芯公司均确认涉案合同开发内容为合同附件1、2、3所记载内容，且双方在2018年9月10日所发电子邮件的附件中对合同履行情况进行了确认，具体情况为：合同附件1所列10项功能，已完成5项，未完成5项；合同附件2所列的227项功能，已完成113项，未完成的为10项，另有104项经天威公司确认不需开发；合同附件3所列的25项功能，已完成13项，未完成的为5项，另有7项经天威公司确认不需开发。可见，天威公司、核芯公司在涉案合同履行过程中对于部分功能不再进行开发已经达成一致意见，可视为双方协商一致对涉案合同中有关开发内容的约定进行了变更。核芯公司虽抗辩称上述不需开发的功能也需要在原系统内进行调试，故天威公司仍应支付相应合同款项，但并未举证证实其在合同履行过程中对不需开发的功能付出工作量，且天威公司对其上述主张亦不予认可，原审法院对其主张不予支持。从合同履行情况来看，天威公司已于2017年11月2日向核芯公司支付款项55万元，故其已经履行了部分付款义务。核芯公司主张其已完成涉案软件的开发，并于2017年12月24日将涉案软件交付给核芯公司，天威公司则认为核芯公司所称“交付”只是创建了开发软件的基础系统，其交付的成果并非涉案软件。关于核芯公司是否已交付开发成果给天威公司，以及交付的开发成果是否符合合同约定问题，原审法院认定如下：首先，核芯公司工作人员于2017年11月21日发送给天威公司工作人员的电子邮件显示，当日数据迁移业已完成并完成第一轮测试，需要等系统配置完成后通过业务数据进行验证并进行第二轮测试。由此可知，系统配置的意义在于引入业务数据以便对软件开发成果进行测试，而非仅仅创建软件开发的基础系统。其次，天威公司、核芯公司于原审庭审中确认涉案软件存在开发机、测试机和正式机三套系统，天威公司主张开发流程为核芯公司将在开发机上完成的软件在测试机上进行测试，测试完毕后安装到正式机上进行测试，并待所有模块完成之后再进行整体测试，整体测试完成后才能正式交付；核芯公司则主张涉案软件的所有子模块是全部开发完成后整体安装在正式机中，该整体安装即为交付。本案中，核芯公司工作人员于2017年12月24日发送给天威公司工作人员的电子邮件显示核芯公司该日已经完成了系统安装并交付了登录账户、密码给天威公司。通常而言，交付账户和密码的目的为方便对方进行测试而非为了己方进行软件开发，而根据涉案合同第3.2.3条的约定，天威公司进行测试和用户测试是在交付完成后才能进行，可见，核芯公司通过将软件安装在正式机上的方式已经实际交付软件开发成果给天威公司。最后，从双方于2018年3月、5月发送的电子邮件来看，天威公司尚在对核芯公司已开发的内容进行测试和用户测试，同时双方确认仍有部分功能尚未开发，且天威公司、核芯公司在原审庭审期间对涉案软件总体完成情况均无异议，认可部分软件功能未能完成开发，部分软件功能则经双方协商一致不需开发，可见核芯公司所交付的软件并未完全符合涉案合同的约定。综上，核芯公司虽已在合同约定期限内交付涉案软件给天威公司，但其交付的开发成果尚有部分不符合合同约定，故其行为已构成违约，理应承担合同约定的违约责任。天威公司虽称核芯公司仅完成部分软件模块开发后即未再进行后续开发，致使其无法实现合同目的，构成根本违约，但涉案软件系在天威公司原有的SAP系统之上进行的二次开发，其开发需求多为不同模块的功能优化而非某一模块的集成开发，双方在合同履行过程中也协商确认合同原本约定的多项功能需求不需进行开发，此事实亦可证实缺少部分功能需求并不会影响软件的整体使用，故天威公司仅以核芯公司未完成全部开发任务为由即主张核芯公司构成根本违约缺乏事实依据，原审法院对此不予支持。关于天威公司主张核芯公司应返还其合同预付款55万元并支付违约金4.75万元应否支持的问题。根据涉案合同第3.1、3.2.1条的约定，涉案合同总价款为95万元，其中，需求分析确认对应的合同价款为20981元，合同附件1约定的功能开发对应的合同价款为167845元，合同附件2约定的功能开发对应的合同价款为466608元，合同附件3约定的功能开发对应的合同价款为231625元，项目交付及上线支持对应的合同价款为62941元。本案中，合同附件1、2、3足以证实需求分析确认业已完成，故天威公司理应支付该部分相应对价即20981元予核芯公司；涉案合同附件1、2、3（其中，附件1所列10项功能中有5项已完成，5项未完成；附件2所列的227项功能中有113项已完成，10项未完成；附件3所列的25项功能中有13项已完成，5项未完成；附件2中有104项功能、附件3中有7项功能经双方确认不需开发）的完成比例分别为50%、49.8%和52%，分别对应的合同价款应为83923元、232371元、120045元，共计436739元。另外，核芯公司在交付软件给天威公司后进行了线上及现场的技术支持，对软件测试、运行过程中出现的技术问题给予了解决，故其亦应获得相应合同价款。但考虑到其交付和提供技术支持的并非包含涉案合同约定功能的软件，故其工作量亦相应减少，原审法院酌情确定天威公司应支付的该部分合同款项为3万元。综上，天威公司就核芯公司为其开发的软件及提供的服务共计应当支付款项48.772万元。虽然天威公司以软件尚未全部开发完成为由尚未进行验收，但其于原审庭审中确认核芯公司已将部分模块安装在正式机上上线，核芯公司于本案中提交的财务报表亦可证实天威公司实际使用了该部分软件。天威公司虽称该正式机上所出的报表并非正确数据，但亦未举证证实该软件在正式机上的运行不符合合同功能需求或存在逻辑运行错误，原审法院对其主张不予支持，故该已完成部分软件的款项支付条件应视为业已成就。鉴于天威公司已向核芯公司支付合同款55万元，经抵扣天威公司应向核芯公司支付的款项48.772万元后，核芯公司应返还款项6.228万元给天威公司。另外，由于核芯公司的行为已构成违约，应当根据涉案合同第7.2.2条的约定承担违约责任。天威公司诉请核芯公司支付违约金4.75万元具有合同依据，原审法院予以支持。关于核芯公司所提的要求天威公司支付剩余合同款40万元的反诉请求能否支持问题，天威公司、核芯公司在合同履行过程中已达成一致意见，对合同约定的开发需求进行了变更，相应的，天威公司应向核芯公司支付的合同价款总额亦随之发生变化才更为符合双方签订合同的目的。如前所述，经核算，天威公司就核芯公司为其开发的软件及提供的服务共计应当支付款项48.772万元，而天威公司已经预付的合同款项已达55万元，故核芯公司诉请天威公司支付剩余的合同款项40万元缺乏事实依据，原审法院不予支持。至于天威公司是否构成违约的问题，从本案现有证据来看，核芯公司并未交付完全符合合同约定开发需求的软件给天威公司，而天威公司亦以此为由未如期向核芯公司支付合同剩余款项，可见天威公司未履行付款义务并非由其自身原因所致。而且，天威公司在合同履行过程中推进测试，对软件中存在的问题与核芯公司及时沟通，其对于涉案合同的履行采取积极的态度。但自2018年7月开始，核芯公司经天威公司多次催促，未再向天威公司提供服务，涉案合同实际上也已不再具备继续履行的条件，合同约定的验收等流程均已无法继续进行。纵观整个合同履行过程，天威公司并未因其自身原因妨碍合同履行，其行为亦未构成违约，核芯公司诉请天威公司承担违约责任缺乏依据，原审法院不予支持。原审法院判决：一、核芯公司退还合同款62280元给天威公司；二、核芯公司支付违约金47500元给天威公司；三、驳回天威公司的其他诉讼请求；四、驳回核芯公司的全部反诉请求。如未按判决指定的期间履行给付金钱义务，应当依照《中华人民共和国民事诉讼法》第二百五十三条之规定，加倍支付迟延履行期间的债务利息。案件受理费13781.25元（其中本诉受理费9775元，反诉受理费4006.25元），由天威公司负担7979元（其中本诉受理费7979元，反诉受理费0元），核芯公司负担5802.25元（其中本诉受理费1796元，反诉受理费4006.25元）。本案二审期间，核芯公司向本院提交了一份新证据：2018年3月7日电子邮件，天威公司员工在邮件中写明“新系统890上线，已试用一段时间”，拟证明天威公司已确认涉案软件已上线并运行。天威公司的质证意见为：认可该邮件的真实性，但认为不能实现核芯公司的证明目的。本院的认证意见为：对该证据的真实性予以认可，对其能否实现核芯公司的证明目的，将在本判决的判理部分结合全案证据进行综合认定。天威公司向本院提交了两组新证据：1.《珠海天威新材料股份有限公司与上海汉得信息技术股份有限公司之咨询实施服务合同》（以下简称咨询实施服务合同），2.付款凭证三份。拟共同证明：天威公司委托案外人上海汉得信息技术股份有限公司（以下简称汉得公司）进行软件开发，开发内容包括13项核芯公司未完成的工作，天威公司为咨询实施服务合同支付开发费用15.8万元。核芯公司的质证意见为：对证据的真实性、合法性、关联性均不予认可，咨询实施服务合同中约定的部分事项为新增事务，与本案诉争问题不具有关联性。本院的认证意见为：经与原件核对，上述证据真实、合法，咨询实施服务合同所载委托事项与本案涉案合同的履约情况可以相互印证，本院依法采信。本院经审理查明，原审法院查明的事实基本属实，本院予以确认。本院另查明：1.2018年3月7日，天威公司员工在邮件中称，新系统已上线，并已试用一段时间，然后提出遇到的问题和改进需求。2.2018年8月5日，天威公司与汉得公司签订咨询实施服务合同。合同约定，汉得公司为天威公司提供SAP报表开发服务，服务清单第1-13项分别是来料检验报表、破坏性检验成本报表等。经核，该13项内容均为2018年9月10日电子邮件中列明的未完成功能项。3.一审证据交换笔录（落款时间为2019年6月5日）载明，对于天威公司提交的涉案合同的三个附件，核芯公司的质证意见为：对真实性、合法性、关联性均予认可，且称核芯公司是严格按该合同三份附件约定的项目范围进行开发的。该笔录还载明，核芯公司提交“2018年9月10日邮件附件”作为证据18，拟证明涉案软件开发的进展情况。一审庭审笔录（落款时间为2019年6月26日）载明，原审法院询问“2018年9月10日邮件附件”是否为双方对于已完成和未完成的工作量的最终统计清单，天威公司表示认可，核芯公司未提异议。4.原审判决事实查明部分所记载的“天威公司、核芯公司均确认双方在2018年9月30日所发电子邮件的附件内容为双方认可的涉案软件开发完成情况的汇总”，经核，该电子邮件的发送日期为2018年9月10日，原审法院此处事实查明有误，本院予以纠正。本院认为，本案为计算机软件开发合同纠纷。《中华人民共和国民法典》（以下简称民法典）于2021年1月1日起施行，根据《最高人民法院关于适用时间效力的若干规定》第一条第二款关于“民法典施行前的法律事实引起的民事纠纷案件，适用当时的法律、司法解释的规定，但是法律、司法解释另有规定的除外”的规定，因涉案合同的订立、履行等相关法律事实发生于民法典施行前，故本案仍应适用民法典施行前为有效法律的《中华人民共和国民法总则》（以下简称民法总则）、合同法的相关规定进行审理。合同法第八条第一款规定：“依法成立的合同，对当事人具有法律约束力。”第六十条第一款规定：“当事人应当按照约定全面履行自己的义务。”涉案合同系双方当事人的真实意思表示，不违反法律、行政法规的禁止性规定，应认定涉案合同合法、有效，双方当事人均应当按照合同约定全面履行己方义务。根据核芯公司的上诉请求与理由，本案二审争议焦点问题是：（一）原审法院对核芯公司已完成的工作量的认定是否有误；（二）原审法院对核芯公司已完成工作量对应合同价款所采用的计算方法是否不当；（三）原审法院关于违约责任的认定是否不当。（一）原审法院对核芯公司已完成工作量的认定是否有误核芯公司上诉认为，不应以2018年9月10日的电子邮件的附件内容作为其就涉案软件已完成工作量的认定依据，理由是其不认可其中不需要完成和未完成部分，涉案合同约定的需求已经全部开发完成。对此，本院认为，首先，该证据系由核芯公司提交，用于证明涉案软件开发进展情况。一审庭审中，核芯公司对于以该证据作为涉案软件开发完成情况的认定基础亦不持异议，故该邮件可以作为确定核芯公司已完成工作量的关键证据。其次，对于附件中标注为“未完成”的功能项，核芯公司虽称其已完成，但并未提交任何关于其已实际完成该部分开发工作的证据，而天威公司提交的咨询实施服务合同和付款凭证可证明其已委托案外人汉得公司对核芯公司未完成的部分功能项重新进行开发并为此支付相应对价，且汉得公司所开发的功能项与该附件所列的软件未完成开发的功能项能够相互印证。综上，原审法院对核芯公司已完成工作量的认定并无不当，核芯公司该项上诉理由不能成立，本院不予支持。（二）原审法院对核芯公司已完成工作量对应合同价款所采用的计算方法是否不当核芯公司上诉认为：1.本案没有证据显示涉案合同第3.1条约定的三部分价款与合同需求的三个附件一一对应；2.其在履约过程中应天威公司的要求增加了部分功能项却未计算价款，其减少的功能项亦未约定需扣减价款，每个功能项对应的工作量亦不相同；3.合同价款的优惠并未约定是整体优惠还是单项优惠等，原审判决对于已完成工作量对应合同价款的计算方法显失公平。对此，本院逐一评述如下：首先，关于合同约定价款与三个附件的对应关系。从合同约定来看，涉案合同第1.3条约定的合同内容为：核芯公司为天威公司实现“功能需求部分（详见合同附件1）、PMZ报表清单部分（详见合同附件2）、EAD报表开发实施（EAD）开发（详见合同附件3）”以及“提供现场支持”，并在第3.1条的合同价款中将项目实施分为PMZ报表清单部分、功能需求部分、EAD报表开发实施三部分，并分别约定了各部分的人工天数、单价、价格，备注“详细请参照《PMZ项目工作量评估20170712》”。民法总则第一百四十二条第一款规定：“有相对人的意思表示的解释，应当按照所使用的词句，结合相关条款、行为的性质和目的、习惯以及诚信原则，确定意思表示的含义。”本案中，双方均未能提交《PMZ项目工作量评估20170712》这份工作量的参照文档，从涉案合同的上下行文内容来看，第3.1条“合同价款”中项目实施所划分的三部分的名称与第1.3条“合同内容”中核芯公司应履行的三项合同义务的称谓完全一致，结合双方当事人均确认涉案合同开发内容为合同附件1、2、3所记载内容的事实，原审法院在双方当事人均无法提交工作量参照文档的情况下，将涉案合同第3.1条约定的项目实施三部分价款与涉案合同三个附件约定的功能开发需求相对应，进行已完成工作量的价款计算，并无不当。其次，关于价款优惠的问题。涉案合同第3.1条约定了项目调研、项目实施、项目交付及上线支持三部分的单价，随后载明了总金额、优惠折扣、折后价格。该优惠折扣并未指明是单独针对某一特定部分，且其位于总金额和折后价格之间，数额为总金额和折扣价格之差，意思表示清晰。在无相反证据的情况下，原审判决将该优惠折扣理解为对合同整体项目的折扣，符合前述关于意思表示的解释规则，本院亦予以认可。最后，关于具体功能项的增减问题。如前所述，2018年9月10日的电子邮件系双方当事人对涉案软件开发完成情况的汇总。核芯公司称其在涉案合同约定之外还增加了功能项开发工作，但其所列举的证据均为2018年9月10日之前的往来邮件，不能视为对2018年9月10日汇总情况的变更，本院对此不予支持。关于天威公司确认不需开发的功能项，因核芯公司并未举证证明其已对该类功能项进行了相关的开发调试工作或支付了相关开发调试成本，因此，原审法院在计算核芯公司的工作量时未将该部分纳入，并无不当。此外，每个具体功能项所需工作量不同，符合软件开发的实际情况。但涉案合同并未约定每个具体功能项逐一对应的价款，而在已完成的开发任务中亦存在功能项对应工作量繁简不一的情形，涉案合同对于项目实施的三个部分亦是从整体区分对应价款，故从项目实施的三个部分价款对应三部分中每项具体功能需求来平均计算功能项价格，就本案实际情况而言，对双方当事人并未造成利益失衡。综上，原审判决按照合同约定的优惠折扣分别计算出需求分析确认、PMZ报表清单部分、功能需求部分、EAD报表开发、项目开发和上线技术支持五个项目的对应折后价款，再以核芯公司在PMZ报表清单部分、功能需求部分、EAD报表开发需求这三部分开发任务中分别已完成的功能项在合同约定的需求功能项中所占比例，分别乘以三部分的折后价款，得出这三部分已完成工作量的对应价款，再加上核芯公司已完成的需求分析确认部分对应的折后价款、项目开发和上线技术支持部分根据案情酌量扣减后的价款，计算得出核芯公司在涉案合同履行中已完成工作量对应的合同价款，具有事实和法律依据，本院予以认可。核芯公司该项上诉理由不能成立，本院不予支持。（三）原审法院关于违约责任的认定是否不当核芯公司上诉认为，涉案软件已经上线，其不存在违约行为，天威公司应支付合同尾款并承担违约责任。对此，本院认为：首先，关于核芯公司是否应承担违约责任的问题。涉案合同第7.2.2条约定，核芯公司因自身原因造成不能按时提供涉案合同约定的服务，应承担违约责任。从核芯公司二审提交的证据来看，天威公司员工称涉案软件已上线并试用了一段时间，但还存在一些问题。结合双方的律师函、2018年9月10日电子邮件来看，此与原审判决认定的事实基本一致，即天威公司尚在对核芯公司已开发的内容进行测试和用户测试，同时仍有部分功能尚未开发。核芯公司虽已在合同约定期限内向天威公司交付了涉案软件，但其交付的开发成果尚有部分不符合合同约定，故核芯公司并未全面履行合同义务，构成违约，应承担合同约定的违约责任。其次，关于天威公司应否支付合同尾款并承担违约责任的问题。涉案合同第7.2.1条约定，天威公司逾期履行付款义务，应承担违约责任。结合前述核芯公司已完成的工作量以及对应合同价款的评述可知，天威公司、核芯公司在合同履行过程中已达成一致意见，对合同约定的开发需求进行了变更，合同价款亦相应变化。经核，核芯公司已完成的工作量对应价款未超出天威公司已支付的合同款，故天威公司无需再向核芯公司支付合同尾款，亦无需承担逾期付款的违约责任。综上，原审法院关于本案各方应否承担违约责任的认定并无不当，核芯公司此节上诉理由不能成立，本院不予支持。综上所述，核芯公司的上诉请求不能成立，应予驳回；原审判决认定事实清楚，适用法律正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项之规定，判决如下：驳回上诉，维持原判。二审案件受理费9372.8元，由珠海核芯信息科技有限公司负担。本判决为终审判决。审 判 长  何 鹏审 判 员  梁晓征审 判 员  欧宏伟二〇二一年六月三十日法官助理  罗 浪书 记 员  王 茜裁判要点案号（2021）最高法知民终586号案由计算机软件开发合同纠纷合议庭审判长：何鹏审判员：梁晓征、欧宏伟法官助理：罗浪书记员：王茜裁判日期2021年6月30日关键词计算机软件开发合同；合同履行；合同解释；违约责任当事人上诉人（原审被告、原审反诉原告）：珠海核芯信息科技有限公司；被上诉人（原审原告、原审反诉被告）：珠海天威新材料股份有限公司。裁判结果驳回上诉，维持原判。原判决主文：一、核芯公司退还合同款62280元给天威公司；二、核芯公司支付违约金47500元给天威公司；三、驳回天威公司的其他诉讼请求；四、驳回核芯公司的全部反诉请求。涉案法条《最高人民法院关于适用时间效力的若干规定》第一条第二款；《中华人民共和国民法总则》第一百四十二条第一款；《中华人民共和国合同法》第八条第一款、第六十条第一款。法律问题1.合同的履行；2.合同的解释。裁判观点1.当事人应当按照约定全面履行自己的义务。2.有相对人的意思表示的解释，应当按照所使用的词句，结合相关条款、行为的性质和目的、习惯以及诚信原则，确定意思表示的含义。注：本摘要并非判决书之组成部分，不具有法律效力。