中华人民共和国最高人民法院民 事 判 决 书（2021）最高法知民终1152号上诉人（原审原告、反诉被告）：湖北千瑞文化信息有限公司。住所地：湖北省武汉市东湖开发区关南科技工业园现代•国际设计城三期第10号研发楼9层3号。法定代表人：罗成刚，该公司总经理。委托诉讼代理人：伍尚志，男，该公司市场部总监。委托诉讼代理人：程明，湖北天领艾匹律师事务所律师。被上诉人（原审被告、反诉原告）：湖北楚天传媒印务有限责任公司。住所地：湖北省武汉市东湖高新技术开发区流芳园横路1号。法定代表人：石军，该公司总经理。委托诉讼代理人：熊烽，男，该公司员工。委托诉讼代理人：柳晓军，湖北维力律师事务所律师。上诉人湖北千瑞文化信息有限公司（以下简称千瑞公司）因与被上诉人湖北楚天传媒印务有限责任公司（以下简称楚天印务公司）计算机软件开发合同纠纷一案，不服湖北省武汉市中级人民法院于2021年2月23日作出的（2020）鄂01知民初163号民事判决，向本院提起上诉。本院于2021年6月7日立案后，依法组成合议庭进行审理，并于2021年7月21日询问当事人。上诉人千瑞公司的委托诉讼代理人伍尚志、程明，被上诉人楚天印务公司的委托诉讼代理人熊烽、柳晓军参加了询问。本案现已审理终结。千瑞公司不服原审判决，向本院提起上诉，请求：撤销原审判决第一项，改判支持千瑞公司的原审全部诉讼请求或发回重审。事实与理由：1.原审判决违背千瑞公司与楚天印务公司签订《湖北楚天传媒印务有限责任公司mis系统二期项目开发合同》（以下简称涉案合同）的约定，认为第三阶段开发费52.8万元的付款条件尚未成就，属于认定事实错误。其一，根据涉案合同第六条第三项的约定，第三阶段开发费的支付条件仅为“项目开发完成上线测试7个工作日内”，并未将“通过测试”“项目验收”约定为支付条件。其二，千瑞公司已完成了所有约定功能的开发，并于2019年9月18日将所开发的软件提交给楚天印务公司进行测试，双方亦就所开发软件进行了测试。其三，楚天印务公司测试后认为软件实际运行过程中存在的诸多瑕疵，皆属于后期维护阶段所要解决的问题，即千瑞公司收取第四阶段开发费前依约应完成的工作内容，与第三阶段开发任务及该阶段开发费的支付条件无关。2.经原审法院两次现场勘验，千瑞公司开发的涉案软件已实现合同约定的所有功能。原审判决忽略这一客观事实而认定第三阶段开发费的支付条件尚未成就，属于认定事实存在遗漏。楚天印务公司辩称：原审判决认定事实清楚，适用法律正确，请求驳回上诉，维持原判。事实与理由：1.千瑞公司开发的涉案软件虽然已按合同约定搭建完成了功能框架、实现了合同约定的所有功能，但其仅为功能模块的展示；在案外人湖北楚天之翼彩印有限责任公司（以下简称楚天之翼公司）的实际使用过程中，无法点击进入功能模块实际运行相关功能。2.千瑞公司开发的涉案软件存在计算错误、难以向工厂发送生产指令等诸多瑕疵，楚天印务公司不应就此存在诸多瑕疵的软件支付开发费用。3.涉案合同第六条第三项约定的第三阶段开发费支付条件是楚天印务公司的真实意思表示，其中未写入“通过验收”或“完成测试”后再支付费用，系楚天印务公司签订合同时对相关条款审查不清所导致。千瑞公司向原审法院提起诉讼，原审法院于2020年5月29日立案。千瑞公司请求判令：楚天印务公司向其支付第三阶段软件开发费52.8万元。事实与理由：2018年9月13日，千瑞公司与楚天印务公司签订涉案合同，约定项目总金额为132万元；第一期款项39.6万元于合同签订后7日内支付，第二期款项26.4万元于项目需求完成调研后7个工作日内支付，第三期款项52.8万元于项目开发完成上线测试7个工作日内支付，第四期款项13.2万元于项目上线后7个工作日内，双方组织人员进行项目验收，验收完成后进入为期一年的项目质保期，质保期满后7个工作日内支付。千瑞公司依约进行了项目需求调研及原型图设计，并于2019年8月22日向楚天印务公司服务器上传第一个测试版本，同年9月18日，还在楚天印务公司会议室组织召开了该公司各部门负责人参加的测试上线项目会议。然而，楚天印务公司仅支付了第一期款项39.6万元和第二期款项26.4万元，未支付合同约定的第三阶段开发费52.8万元。经千瑞公司多次催收，楚天印务公司仍未支付，已构成违约。针对千瑞公司的起诉请求，楚天印务公司原审辩称：千瑞公司要求支付的第三阶段开发费52.8万元不符合合同约定的付款条件。楚天印务公司已依约支付了第一阶段及第二阶段费用共计66万元，但千瑞公司收取上述费用后未按合同约定完成项目开发工作，所开发的软件根本不具备能够正常使用的功能，尤其存在不能实现自动报价、不能下达多页印刷订单、缺失采购模块、数据统计及分析功能不全、录入信息无法保存、订单信息无法供生产车间共享、单价计算错误等严重问题，更谈不上软件的智能化，达不到合同约定的合格验收标准。楚天印务公司向原审法院提起反诉，请求判令：1.解除涉案合同；2.千瑞公司返还楚天印务公司已支付的开发费用66万元；3.千瑞公司向楚天印务公司支付违约金6.6万元。事实和理由：双方签订涉案合同后，楚天印务公司严格按合同约定的付款时间履行付款义务。千瑞公司收取第一、二阶段项目开发费后，并未按约定完成软件系统设计开发工作，不仅多次无理由要求延长工期，而且所设计开发的软件根本无法正常上线使用，始终未向楚天印务公司交付合格的开发成果，使楚天印务公司遭受了巨大经济损失。根据涉案合同第十条第一款第二项以及第十五条第一款第二项的约定，千瑞公司的行为已构成严重违约，楚天印务公司有权解除合同，并要求其返还已收取的开发费，同时按合同约定承担违约责任。针对楚天印务公司的反诉请求，千瑞公司原审辩称：楚天印务公司的诉请与事实不符。千瑞公司已经完成合同约定软件系统的开发和上线测试，楚天印务公司支付第三阶段款项的条件已成就。千瑞公司履行合同义务过程中并没有违约行为，不应支付违约金。原审法院认定事实：2018年8月13日，千瑞公司作为投标方参与了楚天印务公司mis系统二期采购项目的投标，投标文件中记载千瑞公司的开发费报价为137万元，付款方式为合同签订付40%，项目验收付50%，项目验收后一年付10%。2018年9月13日，双方签订涉案合同。涉案合同共计十五条，其中第二条“合同范围”约定：（1）千瑞公司负责完成楚天印务公司的系统研究开发工作，涵盖范围包括系统的安装、调试和对整个系统的技术支持、服务与培训等工作；（2）涉案合同研发的项目要求详见合同附件一《系统总体设计》《系统功能设计》《项目实施计划表》。第三条“责任和义务”约定：（1）双方共同责任为严格根据本协议实施本项目的内容，并协商解决合作中出现的有争议的问题；（2）楚天印务公司的责任和义务包括：提供专人与千瑞公司联络、协调各部门之间的配合，提供项目中必要的文档资料和数据，协助千瑞公司做好系统的需求分析与实施工作，提供系统运行的硬件设备环境应满足软件对运行环境的基本要求；楚天印务公司在需求调研和实施阶段为千瑞公司提供工作场地，配备必要的工作所需的环境如办公用PC、打印机等设备，以满足千瑞公司工作需要；按照工作计划进度，及时接受千瑞公司提交的验收申请，组织并完成验收工作；系统安装实施完成、培训结束后进入测试期30天，测试期结束后楚天印务公司组织人员和千瑞公司人员一起组成验收小组，并安排场地和设备，进行系统的验收工作；在测试期间楚天印务公司有权针对不合格地方提出系统修改意见；楚天印务公司在千瑞公司服务人员服务完成后，配合检查软件系统运行是否正常，并在现场服务请求单上签字确认；楚天印务公司委托千瑞公司软件开发服务期间，由于项目开发需要千瑞公司出差的情况，出差过程中的交通、餐饮、住宿等费用由楚天印务公司承担并负责；（3）千瑞公司的责任和义务包括：合同正式生效后提供专人与楚天印务公司联络和负责整个项目研发过程；千瑞公司在实施过程中，随时向楚天印务公司报告项目研究进展情况，如有项目进度变更情况及时通知楚天印务公司，与楚天印务公司协商计划执行，保证按时、保质完成项目研究与开发内容；向楚天印务公司提供系统维护人员培训服务和对使用人员进行操作培训；按照合同第六条按时完成项目，并严格遵守“合同附件一”的工作安排执行系统实施过程；千瑞公司在验收期内针对双方确定的标准，对不合格地方进行修改；按照“合同附件一”中所规定的时间完成楚天印务公司相关人员的培训和系统软件安装、调试及数据初始化，与楚天印务公司一起组成验收小组验收。第六条“费用支付方式及工期”约定：（1）该项目费用总金额132万元；自系统通过验收之日起，一年内千瑞公司免费负责系统的升级、系统维护和技术支持。（3）具体付款方式：项目启动预付款为签订合同7日内，预付总项目费用的30%即39.6万元；项目完调研工作7个工作日内，楚天印务公司向千瑞公司支付项目费用的20%即26.4万元；项目开发完成上线测试7个工作日内，楚天印务公司向千瑞公司支付项目费用的40％即52.8万元；项目质保金为项目上线后7个工作日内，双方组织人员进行项目验收，验收完成后进入为期一年的项目质保期，质保期满后7个工作日内，楚天印务公司支付总项目费用的10％即13.2万元；（4）千瑞公司向楚天印务公司提供合法有效的增值税专用发票后，楚天印务公司向千瑞公司付款。第七条“项目验收”约定：（1）验收条件：楚天印务公司应用软件满足下列条件之一的，视为达到终验条件：系统安装调试完成，软件进入测试30天内，楚天印务公司未提出异议；千瑞公司实施完成，具备进入运行条件满三个月，但由于非千瑞公司原因未进入运行；（2）验收的进行：千瑞公司根据实施计划，在软件达到验收条件后，向楚天印务公司提出书面终验申请；楚天印务公司在收到申请后应在7个工作日内回复千瑞公司申请，如拒绝千瑞公司申请应详细说明原因并及时和千瑞公司取得联系；如同意验收应及时组织对软件运行情况进行验收，及时发现并提出软件运行中的问题，提交千瑞公司立即整改。如楚天印务公司未发现软件运行问题，则视为验收通过，进入系统维护阶段；楚天印务公司如在千瑞公司提出正式书面验收申请后无正当理由拒绝千瑞公司申请，或在千瑞公司提出正式书面验收申请后一个月内未就系统质量问题向千瑞公司提出书面异议或楚天印务公司已使用千瑞公司开发的系统，都将视为系统验收合格。第十条“违约责任”约定：（2）千瑞公司违约责任：系统开发中因千瑞公司原因导致约定时间不能按时完成项目的，应提前做出书面解释，经楚天印务公司认可，工期做适当顺延；若楚天印务公司不能认可，可按向楚天印务公司提交的完成部分金额2‰每天提出索赔，但最高不超过合同中楚天印务公司支付费用总金额的百分之五；（3）千瑞公司免责条款：千瑞公司有权拒绝楚天印务公司提出的合同规定之外的服务请求；楚天印务公司迟延付款或不能按时提供系统试运行环境，造成项目延期的，千瑞公司不承担责任；如楚天印务公司未经千瑞公司同意擅自修改系统导致系统故障，后果由楚天印务公司自行承担；（4）楚天印务公司违约责任：楚天印务公司不能按期付款，应当书面向千瑞公司提交延期申请，千瑞公司如不同意，楚天印务公司需向千瑞公司支付应付款总额2‰的违约金，违约金总额累计不超过合同总额的5%。第十三条“合同变更、补充及终止”约定：（1）本合同自双方签订之日起生效，如果任何一方变更合同必须由双方协商一致，并以书面形式共同确定；（2）在项目研发过程中，由于楚天印务公司业务和需求发生变更导致的系统设计方案、技术架构等变化从而引起的开发工作、时间计划的调整和增减，都必须由本合同指定的楚天印务公司联系人或千瑞公司现场授权负责人以书面报告、会议记录的形式签署方可生效；（3）楚天印务公司任何部门和人员向千瑞公司正式要求的功能需求、性能指标、修改意见、变更要求、数据修正等，都必须由本合同指定的楚天印务公司联系人或持有楚天印务公司出具的有效授权委托书（加盖楚天印务公司公章）的经办人签署的书面报告，千瑞公司才予以认可；（4）本合同为双方的最终合同，未经双方书面同意，不得对此作任何修改。如有未尽事宜，经双方书面同意后，可签订书面补充协议。补充协议同本协议具有同等法律效力。第十五条“其他补充条款”约定：（1）项目开发周期：项目调研不计算在项目开发周期内，项目调研完成后千瑞公司对项目的开发周期进行重新评估，最终的项目开发周期以项目调研完成后评估的周期为准；（2）如因千瑞公司原因导致实际项目开发周期超过最终项目开发周期的20％，千瑞公司应提前做出书面解释，经楚天印务公司认可，工期适当顺延；若楚天印务公司不能认可，楚天印务公司有权提出解除合同。涉案合同附件一包括《系统总体设计》《系统功能设计》《项目实施计划表》。《系统功能设计》共8项，具体为：印刷业务流程框架、系统后台管理、电子商务接单系统、订单子系统功能、印前子系统功能、生产子系统功能、材料及备件子系统功能、数据分析与挖掘系统。《项目实施计划表》载明该项目共分8个阶段：第一阶段为前期准备，周期2周；第二阶段为需求调研，主要目标为业务评估，需求定义及功能划分，产出物为《需求调研报告》、系统界面，周期10周；第三阶段为设计阶段，主要目标为根据需求报告完成概要及详细设计，产出物为《概要设计方案》文档、《概要设计方案》评审报告、《详细设计方案》文档、详细需求调研报告评审、《数据库设计方案》创建数据库，周期4周；第四阶段为软件开发阶段，主要目标为功能定制性开发，产出物为《单元测试报告》、客户化的系统、开发的应用程序代码，周期12周；第五阶段为测试阶段，主要目标为完成内部测试、用户测试及性能测试，产出物为《测试方案》、测试用例、《测试报告》，周期为4周；第六阶段为系统安装调试，主要目标为：将系统的各部分在用户的实际环境中进行安装、部署、调试，同时导入用户实际数据，使系统成为一个整体，主要任务为：建立系统生产环境，进行用户验收测试，模拟并确认用户该系统使用流程，系统性能优化，制定系统运营、维护等管理规范，产出物为用户实际使用的生产环境，周期4周；第七阶段为实施阶段成果验收，以《项目实施验收书》作为实施阶段结束的标志，主要任务为对系统进行全面的验收，评定项目，形成项目文档，产出物为测试通过本系统验收后的相关文档资料、介质和《系统培训资料》，周期为系统试运行后三个月内；第八阶段为系统验收，主要目标为完成系统终验，主要任务包括问题的修改、需求变更的对应、操作手册和技术手册的编写以及培训工作，产出物为《操作手册》《技术手册》《程序安装维护手册》《软件体系架构手册》。2018年9月17日，楚天印务公司向千瑞公司付款39.6万元。2018年12月13日，千瑞公司向楚天印务公司提交申请函，主张楚天印务公司在收到项目需求文档及原型设计后，因其内部原因未能及时确认，项目工期将在涉案合同原定工期基础上顺延两个月；楚天印务公司在申请函上予以盖章同意。2018年12月19日，楚天印务公司在千瑞公司提交的《项目需求及原型确认书》上签字盖章，确认收到千瑞公司提交的项目需求文档及原型设计成果，指示可以开始下一步开发工作。2019年1月30日，楚天印务公司向千瑞公司付款26.4万元。《mis系统二期软件开发项目需求规格说明书》（以下简称《需求规格说明书》）就软件开发目的、硬件环境需求、系统软件需求、系统应用需求、系统UI设计需求、系统功能需求、系统性能需求、系统测试需求、系统部署需求以及系统验收需求等进行了说明。其中系统功能需求部分对商务订单子系统、物料管理子系统、生产调度子系统、生产执行子系统、仓储物流子系统等5个子系统的业务内容、业务规则、业务场景等进行了描述。系统测试需求部分对测试环境、测试指标、测试方法、测试模块和测试流程作了界定。其中测试指标部分将测试分为6个阶段：第1阶段为启动阶段，进入标准为：1.需求规格说明文档，设计说明书全部完成，2.系统原型设计完成，结束标准为：设计说明书内容与系统原型基本相同；第2阶段为功能测试1，进入标准为：1.单个模块的基本功能开发完成，2.单个模块的基本功能测试用例设计完成，结束标准为：基本功能试用例完成率100％通过，通过率＞95%，2.单个模块中的基本功能能够实现，3.Bug验证通过率＞95%；第3阶段为功能测试2，进入标准为：1.功能测试1中严重等级为致命错误、严重错误Bug的修改率为100%；一般错误Bug的修改率>70%；较小错误、建议性Bug的修改率>30%，2.所有模块的功能全部开发完成，3.功能测试用例设计完成，结束标准为：1.所有功能测试用例完成率100%，通过率>95%，2.所有模块中的功能全部都能实现，3.Bug验证通过率>98%；第4阶段为集成测试，进入标准为：1.功能测试2中严重等级为：致命错误、严重错误Bug的修改率为100%；一般错误Bug的修改率>80%；较小错误、建议性错误Bug的修改率>50%；2.所有模块的业务流程开发完成；3.集成测试用例设计完成；结束标准为：1.所有集成测试用例完成率100%，通过率>98%，2.业务流程上没有错误，3.Bug验证通过率>98%，备注栏中说明集成测试主要是检查系统业务流程是否能实现，完成该阶段测试后系统已基本定型；第5阶段为系统测试，进入标准为：1.集成测试中严重等级为致命错误、严重错误Bug的修改率为100%，一般错误Bug的修改率为>90%，较小错误、建议性错误Bug的修改率>50%，2.系统各功能和业务流程已基本定型，没有新的需求变更，3.系统测试用例设计完成；结束标准为：1.所有系统测试用例完成率100%，通过率>98%，2。严重等级为致命错误、严重错误Bug的发生率40小时；反馈的严重等级为致命错误、严重错误、一般错误Bug的修改率2019年9月18日，千瑞公司向楚天印务公司发出《项目提请业务测试函》，告知已完成内部测试，现提交进行业务测试。当日，双方人员举行项目上线测试会，对项目进行了上线测试演示，会议要点为：1.自动报价工艺部分计算方法有误，由楚天印务公司商务部门提出更准确的计算方法及标准；2.自动报价结果偏差，由材料部门提供一份准确的样例价格，便于查找问题原因；3.生产车间纸张、废料退库是否需要握手交接，有待进一步讨论；4.商务部门是否需要报收功能，需要进一步论证；5.物料部门需要采购申请表，与财务对接。2019年10月24日，千瑞公司提出《项目工期延时函》，告知因楚天印务公司相关业务部门关于订单价格计算策略的补充需求尚未明确，关于报表及数据分析的需求也尚未提供，导致项目进度延时，申请将项目工期顺延到2019年11月14日，楚天印务公司对此予以同意。2019年10月27日，楚天印务公司向千瑞公司提供了《商务中心对外报价标准》。2019年11月1日，千瑞公司向楚天印务公司提交《项目提请验收函》，告知已协同楚天印务公司技术人员进行了深入的模拟业务测试，基本完成Bug修正工作，要求楚天印务公司组织项目验收。同年11月4日，千瑞公司向楚天印务公司还发出项目上线测试付款催促函，要求支付第三期款项。2019年11月15日，楚天印务公司回函称，不认可千瑞公司对工期延时原因的表述，同时认为项目开发尚未完成，不同意其付款要求。2020年1月16日，楚天印务公司向千瑞公司发送项目联系函，询问是否已经开发出能够提供给业务部门测试的版本，如完成请尽快将最新版本部署给业务部门测试。2020年1月17日，楚天印务公司还向千瑞公司发送了《20200117发现的系统问题》文档。2020年1月21日，千瑞公司回函称已按合同约定交付项目测试版本，且项目延期是因楚天印务公司使用系统后提出新增需求所致，并以电子邮件形式提供了项目测试地址、帐号及相关资料。2020年4月2日，楚天印务公司向千瑞公司发送《工作联系函》，称该公司使用部门楚天之翼公司将指定人员开展软件应用方面的内测，请千瑞公司开工后联系做好软件内测工作，争取早日提交生产试运行。2020年4月13日，千瑞公司就楚天印务公司同年1月17日所反映问题作出回复，称楚天印务公司提出的两个问题中，第1个已解决，第2个非bug所引起。2020年4月15日，楚天印务公司与千瑞公司就“启动mis二期在楚天之翼公司流程内测工作”进行了磋商，并达成《会议纪要》如下：1.按领导要求，楚天印务公司及楚天之翼公司决定继续推进mis二期工作，重新启动因疫情暂停的工作，并由楚天之翼公司作为使用单位具体承担mis二期业务功能方面的流程内测。2.楚天之翼公司成立由副总经理彭艳军牵头、相关岗位人员参加的工作小组，并建立工作微信群，提出意见完善软件流程，根据实际运行情况补充mis统计模块的需求。3.楚天印务公司IT事业部杨铭、程禹配合进行技术检测，记录并确认Bug问题，以书面文档向千瑞公司提交Bug测试报告。4.千瑞公司徐宁负责配合测试，指定专门工程师张曼加入工作微信群，培训及辅导业务人员操作，必要时提供现场工作服务，及时修改影响主流程的重大Bug。5.千瑞公司按楚天印务公司要求，在合同范围内提供其他相关技术支持服务。6.目前，千瑞公司已根据楚天印务公司要求，初始化订单、材料等业务数据库。7.接下来，最优先级的工作是确定楚天之翼公司新的基础数据，如纸张（种类、数量、价格）、工艺（种类、参数、单价）、仓库（库位）、人员（部门、权限）等等，做好系统管理的初始化配置。楚天印务公司、千瑞公司均在该《会议纪要》上签字盖章，但未就履行《会议纪要》可能涉及的开发费用增减达成协议。2020年4月20日，千瑞公司向楚天印务公司员工杨铭交付了包括《项目需求文档及原型设计》《项目测试报告》《项目操作手册》《项目测试地址及帐号密码》在内的文档。同日，楚天印务公司向千瑞公司提交了《楚天之翼对外报价标准》文档。此后，楚天印务公司还向千瑞公司发送了《mis系统问题收集20200508》《mis系统问题收集20200511》文档。针对2020年5月8日文档所反映的问题，千瑞公司告知有6项已修复、3项无问题、2项属于新增需求、2项属于变更需求。针对同年5月11日文档中的问题，千瑞公司认为属于新增需求，未予解决。2020年5月29日，千瑞公司将其认为涉及需求新增或变更的5项内容向楚天印务公司进行了反馈，楚天印务公司在该函件上签名盖章。另查明，楚天之翼公司系楚天印务公司独资控股公司。因千瑞公司提起本案诉讼，涉案项目处于中止状态。经原审法院组织双方现场勘验，涉案mis系统已完成订单管理、生产调度、数据分析、物料管理、物流管理、质量管理和系统管理等模块的业务流程开发，但尚未应用到楚天之翼公司的实际生产环节。原审法院认为：本案原审争议焦点包括千瑞公司是否存在违约行为、应否承担违约责任，以及楚天印务公司应否向千瑞公司支付第三阶段开发费用。因涉案合同于《中华人民共和国民法典》（以下简称民法典）施行前订立，涉案合同争议也发生在民法典施行前，根据《最高人民法院关于适用时间效力的若干规定》第二十条之规定，本案应适用《中华人民共和国合同法》（以下简称合同法）及相关司法解释的规定。关于千瑞公司是否存在违约行为及应否承担违约责任的问题。2019年11月1日，千瑞公司即向楚天印务公司提交了《项目提请验收函》，该时间节点早于项目工期顺延后的截止时间2019年11月14日。在楚天印务公司不认可其交付成果的情况下，千瑞公司在2020年1月21日又再次向楚天印务公司提供了项目测试地址、帐号及相关资料，并于2020年4月15日与楚天印务公司商议签署了有关系统内测的《会议纪要》。在《会议纪要》签订前和签订后，针对楚天印务公司反映的系统运行问题，千瑞公司也予以了部分解决，对未解决问题的原因也予以了说明。从上述履约过程看，千瑞公司并不存在迟延履约的行为。同时，根据涉案合同附件《项目实施计划表》及软件开发过程中形成的《需求规格说明书》关于系统开发、测试和验收步骤、标准所作之约定，再结合2020年4月15日《会议纪要》的内容来判断，涉案项目仍处于系统测试阶段。系统测试过程需要双方的协调与配合，还可能因使用方新增需求或需求变更等情况造成测试迟延的情况。因此，从涉案合同履约进展看，尚不能以成果验收阶段的标准来要求千瑞公司。因此，对楚天印务公司认为千瑞公司存在违约行为的主张，不予支持。关于楚天印务公司应否向千瑞公司支付第三阶段开发费的问题。涉案合同第六条第三款第3项虽约定“项目开发完成上线测试7个工作日内，甲方向乙方交付项目费用的40％即528000元”，但无论从双方合同签订过程、合同相关条款及合同附件约定，还是从合同履约过程、合同目的及公平性，均不能将该项约定的付款条件简单理解为只要千瑞公司将系统提交测试，不论测试情况如何，楚天印务公司在7个工作日内即应支付40%的项目费用。首先，从双方合同签订过程判断，千瑞公司在参加投标时的报价方案为“合同签订付40%、项目验收付50%、项目验收后一年付10%”。从该报价方案看，千瑞公司此前是接受在项目验收后才支付合同主要款项的。其次，从合同相关条款及合同附件看，合同附件《项目实施计划表》明确了测试阶段的目标和产出物，《需求规格说明书》也明确了进入系统测试的标准和结束系统测试的标准，显然应该将第六条第三款第3项约定的“项目开发完成上线测试7个工作日内支付项目费用的40％”理解为项目开发完成并通过系统测试的7个工作日内支付项目费用的40％，如此方才使合同附件的约定具有意义，也符合千瑞公司自身提交的《需求规格说明书》的记载。再次，从合同履约过程看，千瑞公司虽在2020年4月20日向楚天印务公司员工杨铭交付了包括《项目测试报告》在内的文档资料，但有关文档接受单上并无楚天印务公司盖章确认。相反，楚天印务公司同一天还在向千瑞公司发送了《楚天之翼对外报价标准》文档。结合双方2020年4月15日签订《会议纪要》内容来分析，杨铭的签收行为仅能代表楚天印务公司收到了上述文档，而不能代表楚天印务公司认可项目已通过了测试验收。在杨铭接收上述文档后，楚天印务公司先后向千瑞公司发送了《mis系统问题收集20200508》《mis系统问题收集20200511》文档，也不可能根据涉案合同第七条的约定视同楚天印务公司已认可系统满足终验条件。最后，从合同目的及公平性的角度考虑，楚天印务公司作为委托方，其委托千瑞公司从事涉案系统的开发，目的在于通过涉案系统的开发便利其生产组织和管理，如果在涉案系统测试尚未完成的情况下即支付40%的项目开发费用，将导致其在系统未投入上线使用时即要累计支付90%的项目开发费用，不仅不利于合同目的实现，也不符合公平原则。因此，在涉案系统测试工作尚未完成的情况下，对千瑞公司要求支付第三阶段开发费的请求，不应予以支持。需予说明的是，涉案合同是为解决楚天印务公司印刷业务生产调度自动化的需求而签订，该项目研发具有专业性和定向性的特点，需要双方高度配合方能最终完成系统的开发和测试。纵观涉案合同签订及履行过程，双方均为合同的履行付出了较大成本，在楚天印务公司仍需要使用涉案系统且千瑞公司亦未拒绝继续履行合同义务的情况下，涉案合同具有继续履行的可能性及必要性，轻率解除合同将造成双方前期开发成本及工作成果价值的灭失。因此，双方应秉持相互协作的理念继续履行涉案合同。对于因委托方业务或需求发生变化导致研发时间调整或软件测试问题的，双方应按照涉案合同第十三条的约定，办理相应的变更手续；对因前期技术开发需求不明确导致后期软件测试问题的，同样也应给予开发人合理的完成时间；对因业务或需求变化导致开发人员工作量增加的，双方应参照合同约定的技术开发工作量和价款协商确定增加的技术开发费用。综上，千瑞公司在履行涉案合同过程中并无明显违约行为，不应承担违约责任，同时，千瑞公司要求楚天印务公司支付第三阶段开发费的条件亦未成就。双方应按照涉案合同及2020年4月15日《会议纪要》的约定，继续履行合同。原审法院判决：一、驳回千瑞公司的诉讼请求；二、驳回楚天印务公司的反诉诉讼请求。本诉案件受理费9080元，由千瑞公司负担。反诉案件受理费5200元，由楚天印务公司负担。本院二审期间，千瑞公司及楚天印务公司均未提交新的证据材料。原审查明的事实基本属实，本院予以确认。本院认为，根据千瑞公司的上诉主张和事实理由，本案二审争议的焦点问题是：楚天印务公司是否应当向千瑞公司支付第三阶段开发费52.8万元。该焦点问题可从以下两个方面来分析：一是涉案合同就第三阶段开发费所约定的付款条件是什么；二是涉案合同所约定的第三阶段开发费付款条件是否已成就。（一）关于涉案合同就第三阶段开发费所约定付款条件的问题合同法第一百二十五条规定，当事人对合同条款的理解有争议的，应当按照合同所使用的词句、合同的有关条款、合同的目的、交易习惯以及诚实信用原则，确定该条款的真实意思。本案中，涉案合同第六条第三项明确约定第三阶段开发费52.8万元应在“项目开发完成上线测试7个工作日内”支付。首先，单从上述约定的文字表述来看，其关于第三阶段开发费支付条件的约定明确，且无歧义，即项目开发完成后，千瑞公司将所开发软件提交楚天印务公司进行上线测试，测试工作开始之后的7个工作日内楚天印务公司支付52.8万元。其次，千瑞公司与楚天印务公司对这一付款条件的约定均不持异议。作为负有付款义务的一方，楚天印务公司并未以显失公平、重大误解等理由，针对该条款提出过变更、撤销，抑或是无效的主张。楚天印务公司陈述的拒绝付款理由仅在于其认为千瑞公司所开发软件还存在诸多瑕疵、尚不能满足生产环境中的使用需要，因此不具备“开发完成”这一付款条件。在缔约双方当事人对合同条款的理解并无争议的情况下，原审法院以不符合合同目的、不够公平合理为由，对合同条款作出有别于缔约双方当事人意思表示的解释，缺乏法律依据。再次，对比涉案合同关于第三阶段与第四阶段开发费支付条件的不同约定足以看出，楚天印务公司、千瑞公司在签约时均清楚理解“上线进行测试”与“验收完成”的不同含义，双方针对不同开发阶段约定了不同的开发费支付条件，是在充分评估了不同开发阶段的不同开发工作内容、不同配合义务，以及不同的技术风险、法律风险、商业风险后，达成的一致意思表示。原审法院关于第三阶段开发费也应在软件上线测试且通过验收后支付的认定，与签约双方当事人的一致意思表示不符。最后，虽然千瑞公司在投标文件中报价为“开发费总额137万元，签约付40%、项目验收付50%、验收后一年付10%”，但这只是其就开发费数额、具体付款方式、付款条件作出的单方意思表示，因未得到楚天印务公司的认可而不对双方具有约束力。相反，千瑞公司与楚天印务公司最终签订的涉案合同是双方权利义务的依据，楚天印务公司应按照涉案合同约定的付款条件履行相应义务。此外，关于涉案合同约定的第三阶段付款条件是否公平的问题。首先，涉案合同系千瑞公司接受楚天印务公司委托而进行软件开发、楚天印务公司支付开发费用的商事合同。缔约前，千瑞公司及楚天印务公司已就开发需求、开发期限、测试标准及开发费用等内容进行了充分的沟通和协商，即均已作为商事主体在充分评估了开发成本及开发风险的基础上签订涉案合同，并以之作为双方权利义务的基础。因此，对合同条款的理解和适用应遵循意思自治原则；在当事人并未主张、亦未举证证明合同条款显失公平的情况下，不能主观臆断地对合同条款加以变更。其次，虽然涉案合同的约定导致楚天印务公司在软件尚未通过验收的情况下应付款数额已达开发费总额的90%，但楚天印务公司也承认这确为其签约时的真实意思表示，只不过合同实际履行过程中才发现自己在签约时对软件开发过程、开发难度、千瑞公司的开发能力等情况考虑不周。由此可见，虽然软件开发合同的付款节点大都分为签约、完成需求设计、交付成果进行测试、完成测试、后期维护等几个阶段，但这并未禁止签约双方根据特定软件的开发流程、阶段、双方当事人的信赖程度、配合程度、工作量多少等具体因素，在签订合同时对付款节点予以调整、作出专门约定。千瑞公司与楚天印务公司在涉案合同中约定前三阶段付款达开发费总额的90%，只能表明楚天印务公司充分相信在需求设计符合其要求的基础上，千瑞公司能够开发出具备合同约定功能的软件系统，且对千瑞公司后期修改软件瑕疵、完善软件运行流畅度的能力和配合态度也表示认可。最后，涉案合同的《项目实施计划表》《需求规格说明书》约定了千瑞公司所开发软件的具体测试流程，以及每一个测试步骤的启动标准和结束标准，且上一个步骤的测试结束后方可进入下一个步骤的测试。由于第三阶段开发费的支付未以通过验收为条件，所以上述文件内容与第三阶段开发费的支付无关。但这一情况并不意味着上述两份文件在合同履行过程中丧失了实际意义。因为第四阶段开发费的支付以通过验收为前提，测试结果是影响第四阶段开发费支付时间的一项重要因素。因此，原审判决关于若第三阶段开发费在系统未通过验收前即应支付、将导致《项目实施计划表》《需求规格说明书》失去意义的认定，缺乏事实依据。综上，涉案合同所约定的第三阶段开发费支付条件为千瑞公司完成项目开发后提交上线测试的7个工作日内。（二）关于涉案合同所约定的第三阶段开发费支付条件是否已成就的问题从原审查明的千瑞公司开发工作的具体进程来看，楚天印务公司于2018年12月19日确认收到千瑞公司提交的项目需求文档及原型设计成果后，指示其可以开始下一步工作，并于2019年1月30日支付了第二阶段开发费26.4万元。此后直至2019年9月18日，千瑞公司认为涉案合同约定的软件已经开发完成，且已通过内部测试，遂提请楚天印务公司进行业务测试。楚天印务公司于2019年9月18日进行了测试，并总结出需要修改完善的5点问题，并就该5点问题确定了解决方案，即“楚天印务公司商务部门提出更准确的计算方法及标准”“由材料部门提供一份准确的样例价格”“有待就生产车间纸张、废料退库是否需要握手交接作进一步讨论”“需要就商务部门是否需要报收功能作进一步论证”“物料部门需要采购申请表、与财务对接”。上述解决方案并不包含千瑞公司需要完善软件功能设计、修正瑕疵的内容，反而体现出应先由楚天印务公司明确或完善其业务需求后、再由千瑞公司进行相应调整的意思。此后，双方以往来函件方式进行沟通，楚天印务公司也未提出过千瑞公司已开发完成的软件缺少涉案合同约定的功能。千瑞公司的后续开发工作仅是对软件Bug的修正，以及根据楚天印务公司重新明确或新提出的需求对软件进行调整。经原审法院现场勘验，千瑞公司开发并已交付的软件具备涉案合同约定的各项功能，楚天印务公司对此也无异议。因此，千瑞公司已于2019年9月18日完成软件开发，并已提交楚天印务公司进行测试。楚天印务公司于2019年9月18日进行了上线测试，则其应依约于此后的7个工作日内向千瑞公司支付第三阶段开发费52.8万元。此外，本院二审期间，楚天印务公司还提出千瑞公司所开发软件虽然具备合同约定功能，但仍存在诸多质量不合格之处，包括：二、三级菜单无法点击进入、价格计算出现错误、纸张命令下发不到具体车间等在实际应用场景中表现不佳的问题。首先需要明确的是，千瑞公司开发完成的软件在使用过程中是否存在瑕疵，不属于会对第三阶段开发费的支付产生影响的因素；且开发完成后的软件是否仍然存在瑕疵，该瑕疵经过修正后能否得以克服，也与第三阶段开发费的支付无关。其次，因原审法院现场勘验笔录及所打印的价格计算、印刷纸张命令等功能的操作页面均反映涉案软件能够逐级实现各功能模块，故楚天印务公司关于二、三级菜单无法点击进入的主张与事实不符，不能成立。再次，楚天印务公司主张的其他问题，属于千瑞公司所开发软件实际运行中需要修正的瑕疵，该问题既未被证明系软件自身瑕疵所致，也未被证明已达到涉案合同附件所约定严重错误比例或多次出错频率的程度，故不能以软件使用中存在瑕疵来否定软件功能的具备和开发完成。最后，楚天印务公司是在2020年4月2日才告知千瑞公司所开发软件需要在其关联公司楚天之翼公司的生产环境下运行，所以早在千瑞公司于2019年9月18日完成开发、提交测试时，使所开发软件能够与楚天之翼公司的生产环境相结合并完成测试，尚不属于千瑞公司基于涉案合同所负有的义务。同时，作为涉案合同附件的《项目实施计划表》已将软件开发划分为8个阶段，“将系统的各部分在用户的实际环境中进行安装、部署、调试”等内容被约定于“系统安装调试阶段”，不属于在此之前的“测试阶段”需要完成的工作任务。涉案合同的实际履行情况是，在楚天印务公司向千瑞公司明确软件使用方为楚天之翼公司、软件开发、测试需以楚天之翼公司生产环境为基础后，千瑞公司及时响应了楚天印务公司的上述需求，配合楚天之翼公司重新组建工作小组，根据楚天之翼公司的基础数据及重新确定的需求修改需求文档、原型设计，并继续按照楚天印务公司的要求完善软件修改后新出现的瑕疵，表现出了按照委托方要求积极进行软件开发的良好履约态度。综上，千瑞公司设计、开发涉案软件的工作进程足以证明，楚天印务公司向其支付第三阶段开发费的条件已成就。需要说明的是，涉案合同第六条第四项还约定，千瑞公司向楚天印务公司提供合法有效的增值税专用发票后，楚天印务公司向其付款。因此，虽然楚天印务公司向千瑞公司支付第三阶段开发费52.8万元的付款条件已成就，但在具体支付方式上，千瑞公司仍应先向楚天印务公司提供符合合同约定的发票。综上所述，千瑞公司关于第三阶段开发费支付条件已成就的上诉理由成立，本院予以支持。原审判决适用法律错误，本院予以纠正。依据《中华人民共和国民事诉讼法》第一百七十条第二款第一项之规定，判决如下：一、维持湖北省武汉市中级人民法院（2020）鄂01知民初163号民事判决第二项；二、撤销湖北省武汉市中级人民法院（2020）鄂01知民初163号民事判决第一项；三、湖北楚天传媒印务有限责任公司在本判决生效之日起十日内，向湖北千瑞文化信息有限公司支付52.8万元。如果未按本判决指定的期间履行给付金钱义务，应当依照《中华人民共和国民事诉讼法》第二百五十三条及相关司法解释之规定，加倍支付迟延履行期间的债务利息。一审本诉案件受理费9080元、反诉案件受理费5200元，均由湖北楚天传媒印务有限责任公司负担。二审案件受理费9080元，由湖北楚天传媒印务有限责任公司负担。本判决为终审判决。审 判 长 钱建国审 判 员 陈瑞子审 判 员 颜 峰二〇二一年九月七日法官助理 王 玲书 记 员 谢思琳裁判要点案号（2021）最高法知民终1152号案由计算机软件开发合同纠纷合议庭审判长：钱建国审判员：陈瑞子、颜峰法官助理王玲书记员谢思琳裁判日期2021年9月7日关键词计算机软件开发；付款条件成就；合同条款的解释当事人上诉人（原审原告、反诉被告）：湖北千瑞文化信息有限公司；被上诉人（原审被告、反诉原告）：湖北楚天传媒印务有限责任公司。裁判结果一、维持湖北省武汉市中级人民法院（2020）鄂01知民初163号民事判决第二项；二、撤销湖北省武汉市中级人民法院（2020）鄂01知民初163号民事判决第一项；三、湖北楚天传媒印务有限责任公司在本判决生效之日起十日内，向湖北千瑞文化信息有限公司支付52.8万元。涉案法条《中华人民共和国合同法》第一百二十五条法律问题合同条款的解释裁判观点对合同条款的解释应遵循意思自治原则。在签约双方对合同条款作一致解释，无任何一方主张显失公平或重大误解，且相关约定不损害国家、集体、第三人利益的情况下，不应对合同条款作有别于签约双方真实意思之解释。注：本摘要并非判决书之组成部分，不具有法律效力。