中华人民共和国最高人民法院民 事 判 决 书（2021）最高法知民终267号上诉人（原审原告）：青岛捷益国际货运有限公司。住所地：山东省青岛市市南区银川西路67号C座304室。法定代表人：王英时，该公司总经理。委托诉讼代理人：王天楚，山东琴岛律师事务所律师。上诉人（原审被告）：山东森普信息技术有限公司。住所地：山东省济南市高新区舜华路1号齐鲁软件园1号楼（创业广场C座）三层A312房间。法定代表人：王飞，该公司董事长。委托诉讼代理人：王燕，山东昌平律师事务所律师。委托诉讼代理人：韩丕文，山东昌平律师事务所律师。上诉人青岛捷益国际货运有限公司（以下简称捷益公司）因与上诉人山东森普信息技术有限公司（以下简称森普公司）计算机软件开发合同纠纷一案，均不服山东省青岛市中级人民法院于2020年11月22日作出的（2020）鲁02知民初84号民事判决，分别向本院提起上诉。本院于2021年2月23日立案后，依法组成合议庭，并于2021年4月20日询问当事人，上诉人捷益公司的法定代表人王英时、委托诉讼代理人王天楚，上诉人森普公司的法定代表人王飞、委托诉讼代理人王燕到庭参加询问。本案现已审理终结。捷益公司上诉请求：1.撤销原审判决第二项、第四项，并依法改判森普公司向捷益公司返还已支付合同款63万元；2.本案一审、二审诉讼费用由森普公司承担。事实与理由：（一）森普公司仅进行了项目需求调研工作，而软件开发项目具有整体性，虽然对开发过程区分阶段，但这种区分仅是便于工作安排和支付款项。森普公司仅写了几个假页面即成功获得首款31.5万元，有违市场经济公平、诚信基本原则，由于森普公司最终并未交付可实际操作使用的软件，致使合同目的无法实现，构成根本违约，应当向捷益公司返还全部款项。（二）森普公司未能完成《委托开发合同》和《青岛捷益一体化业务支撑平台系统设计方案》（以下简称《系统设计方案》）规定的第一阶段工作内容。森普公司并未按照《委托开发合同》交付软件规格说明书，也未按照《系统设计方案》交付项目分阶段规划文件。（三）森普公司向捷益公司仅提供架设于森普公司服务器上的网站和密码，没有任何功能演示、安装部署、测试报告等必要内容，在捷益公司不掌握源代码的情况下也无法自行或委托第三方进行继续开发，森普公司应当返还前期支付全部款项。（四）原审判决既认定森普公司未能完成合同约定的软件开发工作，导致合同目的无法实现而解除，又仅要求森普公司返还部分款项，存在矛盾。综上，原审判决认定森普公司已经完成第一阶段的需求调研工作因此首款不予退回属于事实认定不清，应当予以改判。森普公司辩称：（一）森普公司已经按照《委托开发合同》及《系统设计方案》的要求交付了第一阶段需求调研结果。关于软件规格说明书，由于《系统设计方案》是对《委托开发合同》的细化，根据《系统设计方案》，第一阶段的交付结果变更为结构图、流程图、原型图和项目分阶段规划文件。结构图、流程图、原型图已经由捷益公司签字确认。项目分阶段文件是对开发阶段的细化，其中如数据字典的内容需要在开发阶段形成，该内容已经于2019年5月3日交付。因此，森普公司已经按照《委托开发合同》与《系统设计方案》交付了调研阶段成果。（二）森普公司已于2020年1月3日通过QQ群交付了UI界面、PC端、App端和苹果Ipad端。捷益公司主张的软件测试属于第三阶段交付内容，且根据合同约定，源代码必须是在捷益公司付清全款后交付。综上，捷益公司上诉主张不能成立。森普公司上诉请求：1.撤销原审判决，并依法改判或发回重审；2.本案一、二审诉讼费用由捷益公司承担。事实与理由：原审认定事实错误，适用法律错误。首先，原审法院混淆了《委托开发合同》与《系统设计方案》的阶段划分，将《系统设计方案》的第二阶段等同于《委托开发合同》第二阶段，属于认定事实错误。《委托开发合同》是双方软件开发的依据，《系统设计方案》仅对《委托开发合同》的各个阶段进行了具体划分，《委托开发合同》的第二阶段包含了《系统设计方案》的第二阶段。软件开发的最终交付成果及付款节点均是依据《委托开发合同》确定，而不是依据《系统设计方案》。原审法院以森普公司未交付《系统设计方案》第二阶段的开发成果为由，判定捷益公司无需支付第二阶段进度款，认定事实不清。其次，森普公司已经完成第二阶段的系统开发并交付给捷益公司，原审法院认定森普公司未按约交付软件开发内容与事实不符。森普公司已于2020年1月3日通过“捷益&森普项目小组”QQ工作群将《委托开发合同》所约定的UI界面、PC端、APP端、苹果Ipad端交付给捷益公司，即森普公司已经交付《委托开发合同》第二阶段的交付成果。可满足基本业务需要的PC管理平台于2019年8月交付，项目规划表每周均发送至QQ工作群，APP效果图及静态页面于2019年8月1日交付。因此，《系统设计方案》约定的第二阶段交付产品均于2019年8月30日前交付，并于2019年11月11日再次通过QQ群提示交付。原审判决提及的《针对捷益项目进一步规划与修改》文件能够证实森普公司已经交付了《系统设计方案》第二阶段要求交付的产品，但捷益公司提出需求变更等诸多意见，森普公司根据《委托开发合同》约定整理出需求变更文件，多次要求捷益公司进行需求变更确认，捷益公司一直未予确认，延缓了软件开发进度。原审法院并未考虑需求变更对开发进度的影响，直接认定森普公司未按时交付约定的产品，明显与事实不符。因此，森普公司交付的软件开发成果符合《委托开发合同》约定，捷益公司应按约定支付第二阶段进度款。并且，原审判决错误将第一阶段进度款315000元作为第二阶段进度款要求返还无事实和法律依据。最后，森普公司无任何违约行为，原审判决依据《中华人民共和国合同法》（以下简称合同法）第九十四条第三、四项的规定解除合同，没有法律依据。捷益公司辩称：森普公司并未交付软件开发成果，应当返还首付款。捷益公司向原审法院提起诉讼，原审法院于2020年5月20日立案受理。捷益公司起诉请求：1.依法确认捷益公司解除合同有效；2.判令森普公司返还捷益公司已支付合同款63万元；3.判决森普公司支付违约金105000元；4.判令森普公司承担本案诉讼费用。事实与理由：森普公司一直迟延履行合同义务，经捷益公司多次催告，森普公司至今未按合同约定交付产品。2020年1月20日，捷益公司通知森普公司解除合同并承担违约责任，森普公司仍不予回应。森普公司已构成根本违约，致使合同目的不能实现，侵害了捷益公司的合法权益。原审法院认定事实：2018年12月13日，双方签订《委托开发合同》一份，委托方捷益公司（甲方），服务方森普公司（乙方）。相关条款主要内容：（二）项目内容2.1内容：产品功能列表（详见本合同附件一），产品思维导图（详见本合同附件二）；2.2项目开始日期2018年12月13日。项目完成日期2020年4月16日。项目开发总工期365个工作日，以乙方收到项目首笔款项之日起开始计算，到乙方交付软件和甲乙双方共同签署《项目验收报告书》为结束时间。内部测试周期90日（含产品上线时间），以甲方收到乙方提供的《开发完成通知书》之日开始计算，甲方参与内部测试。2.3项目开始后，乙方采用远程和现场调研方式形成产品框架结构，并与甲方共同讨论，确定最终《软件规格说明书》。经调研后，若实际开发产品，仅涉及字段变更，则按照原合同执行。若出现产品逻辑结构变更或者产品型（大模块的产品型研发）变更，则属于需求变更，需甲乙双方协商进行新的需求评估，就成果交付时间及变更开发内容导致费用变更的，双方应根据实际情况协商确定。……。（三）开发计划及人员安排。3.1乙方需按照如下约定，完成项目的各个阶段进度、各个阶段要解决的技术问题，达到相应的标准，并将所完成的开发成果提交给甲方：第一阶段约100工作日，开发内容为需求调研、需求分析；提交开发成果形式《软件规格说明书》。第二阶段约160工作日，开发内容为产品设计、产品开发；提交开发成果形式为UI界面、PC界端、App端、苹果Ipad端。第三阶段约90工作日，开发内容为软件测试及试运行；提交开发成果形式为开发完成通知单、验收确认单、《项目验收报告书》。3.3乙方应严格按照本计划进行研究开发工作，未经甲方书面同意不得延迟或进行内容上的变更。3.4甲乙双方在项目立项后，甲方指定王英时和喻宇作为本项目的负责人和对接人；乙方指定王飞和岳东霞作为本项目的负责人，金波作为本项目的对接人；负责人确认签字的文件及上述邮箱发送的所有文件均代表本方意见，负责协调双方项目组成员，对项目进展的重要阶段组织测试，通过协商解决开发过程中遇到的问题，严格按照进度要求履行合同。甲方更换项目负责人，应及时书面通知乙方。乙方更换项目负责人，需征得甲方书面同意。如因更换负责人或对接人导致项目迟延或终止，则由该负责人所代表的一方依本合同的违约条款承担违约责任。3.5乙方项目组主要成员见附件三。乙方应保证其实际从事研发工作的技术人员具有相应的研发资质及能力，经甲方确认后参与研发的技术人员，非经甲方事先书面同意，不得私自更换。如甲方认为乙方某参研人员的专业技术水平或工作能力不符合项目要求，甲方有权要求乙方予以更换，如甲方无故要求更换人员，须承担相对应的项目进度风险。（四）验收标准及程序。4.1开发阶段的验收：乙方应在项目各阶段开发工作完成后（以甲方收到开发成果为准），5个工作日内通知甲方验收，甲方应于收到乙方验收通知后20个工作日内完成测试验收工作，逾期未提出书面异议，视为验收合格。在不符合开发计划时，甲方有权要求乙方修改。4.3甲方按照开发阶段进行逐步验收，并在相应阶段按照合同第五条进行开发费用的支付，如因甲方不能及时支付费用，乙方有权停止其开发工作并不承担任何法律责任。4.5整个项目开发完成验收合格后，甲乙双方签署《项目验收报告书》。乙方在完成系统上线后5个工作日内向甲方提出书面验收申请，甲方在收到乙方验收申请20个工作日内组织验收，若甲方未在上述规定时间组织验收，则视为验收通过，即视为验收报告已签署，甲方与乙方共同签署两份《项目验收报告》由甲、乙双方各保存一份。（五）合同总金额及其支付方式。5.1合同总金额105万元，已包含6%增值税发票。5.2合同支付方式。5.2.1首款315000元，付款时间：甲乙双方签订合同后7个工作日内完成首款支付，乙方进行本项目第一阶段工作；5.2.2第一阶段进度款315000元，付款时间：乙方完成系统开发第一阶段内容并初验合格后7个工作日内完成款项支付，初验合格以《软件规格说明书》为准；5.2.3第二阶段进度款315000元，付款时间：乙方完成系统开发第二阶段内容并交付产品后7个工作日内完成支付。5.2.4终验款105000元，付款时间：甲方在验收产品后180天内结清尾款，验收产品以双方签署《项目验收报告书》日期为准。（十二）合同的履行与违约责任。12.1任何一方对自然灾害及其他不可抗力原因造成的义务迟延履行，不完全履行或不履行均不应视为违约。12.2除前款情形外，任何一方未履行或未完全履行本合同规定的义务即视为违约，应向守约方支付合同总金额的10%作为违约金。12.3任何一方未经对方同意取消合同，即视为违约，应向守约方支付合同总金额的10%作为违约金。12.4乙方应当按照本合同约定向甲方提供软件产品的交付，每延期一日，应向甲方支付本合同总额的千分之一作为违约金。12.5甲方未按照合同约定如期支付开发费用，每延期一日，应向乙方支付合同总额的千分之一作为违约金。该合同附件中对产品功能列表、产品思维导图、项目成员汇总表、《软件需求说明书》等内容进行了约定。2019年4月19日，双方签订《系统设计方案》，相关内容如下：（一）核心理念。（二）最终定位。（三）现有痛点。（四）阶段计划。1.第一阶段：需求调研阶段。周期：2018年12月24日至2019年4月19日。本阶段交付物：结构图、流程图、原型图、项目分阶段规划文件。另对该阶段参与人员及交付物进行了约定。2.第二阶段：完成基础功能开发及App效果图确认。周期：2019年4月20日至2019年8月30日。对此阶段主要交付三部分内容进行了相关约定，主要有PC端管理平台、技术开发文档、App的产品效果图确认及静态页面。本阶段每个星期会推送一个进度表，供双方监督和跟进。3.第三阶段：App及高级功能开发。周期：2019年9月1日至2020年1月1日。对完成的工作及交付物进行了约定。4.第四阶段：完成物流生态圈的开发。周期：2020年1月1日以后。2019年4月15日，森普公司出具结构图；同年4月17日，森普公司出具流程图、PC原型图；4月18日，森普公司出具App员工端原型图。捷益公司在上述文件中盖章确认。2018年12月13日，捷益公司向森普公司支付首款315000元；2019年4月18日，捷益公司向森普公司支付第一阶段进度款315000元。2019年9月5日，森普公司向捷益公司发送《针对捷益项目进一步规划与修改》文件一份，主要内容有：捷益公司：贵方委托我方（森普公司）开发的捷益一体化办公平台项目，原定于8月底交付一个基础版本，但是在沟通过程中发现该版本未达到贵方要求。我方针对贵方提出的质疑与问题，内部进行认真的总结与问题归纳，并做出了相应的整改方案，希望得到贵公司的认可。（一）在我方调研之后，原定于8月底正常交付第一个版本，主要保证功能的正常实现。我方仅做了项目功能上的开发，却忽略了客户体验，操作体验等问题。虽然功能上面做出了相对应的完善，但并未能满足贵方的全面体验需求。针对以上我们的疏忽，并为了平台更好的体验性，我方研究决定将由技术主导改为客户体验主导。为此，项目负责人由王彬更换为金波，在保证功能情况下，将客户体验等问题，全部得到提升。金波负责系统用户体验，操作优化等问题，王彬专注技术层面问题。（二）为了更好地对项目进行开发，我们初步决定将项目开发方式与开发时间进行更改。这样，既可以及时的反馈问题，也能够阶段式，模块化的展示成果，双方还能够及时的进行沟通。1:9月15日前，完成[客户中心]。2:10月1日前，完成[业务中心主单]。3:11月1日前，完成[业务中心分单][人力中心]。4:12月15日前，完成[财务中心][预警中心][数据中心](后期的开发，根据具体的完成情况，进行及时的修正)。（三）自进入到开发阶段后，双方沟通的频率较少，贵公司阶段性的未感受到项目的进度。为了解决这个问题，自贵方确认后，我方将每天对捷益项目与贵公司人员进行进度沟通。汇报当日进度，并希望贵方能够及时的给予回复，给出确认或修改建议，以便我方最快速度更改相应问题，达到贵公司满意。（四）为了更好的保证项目代码层次的质量，我方将为“捷益项目开发团队”加入新的项目人员。（五）我方将为贵公司开放之前全部的开发代码。2020年1月3日，捷益公司收到森普公司发送的《验收确认单》，该验收单上载明了所附PC端、App安装包软件及相关文档的下载地址。捷益公司员工在QQ工作群里回复：各位森普的领导同仁们，大家好，终于看到希望了！请尽快落实以下事项：1.云服务器的配置需求，以便我司尽快租赁阿里云服务器，并协助配置云服务器；2.请贵司尽快确认来我司安装调试和培训人员与时间，以便我司组织各青岛总公司及各分公司相关人员参与软件培训工作。捷益公司质证认为，森普公司并未交付软件本身，只是森普公司自称交付图标文档，实际并未收到，没有交付软件所以不存在验收，森普公司交付我方的网址打不开。2020年1月21日，捷益公司向森普公司送达《解除合同通知书》一份，内容：森普公司:贵公司与我公司于2018年12月13日签订了《委托开发合同》，约定我公司委托贵公司开发“关于集团业务操作/办公系统一体化开发建设项目”。我公司在合同签订后即按约定完全履行了合同义务，2018年12月17日支付首款人民币315000元，2019年4月19日支付第一阶段进度款人民币315000元。但是，贵公司未履行自己的相关合同义务。期间，经我公司与贵公司多次沟通，贵公司拖延至今仍未能交付合同约定的软件。贵公司存在以下严重违约行为：1.未按合同约定提交《软件规格说明书》；2.未征得我公司书面同意，擅自更换项目成员；3.没有依照约定完成第二阶段产品设计和开发；4.2020年1月3日提出的“交付产品”不符合合同约定的“UI界面、PC端、App端、苹果IPad端”开发成果，且不能实现合同约定功能；5.经我公司多次催告，贵公司至今未能提交完整的可实际上线应用的软件版本，履行安装调试和培训义务。贵公司的上述行为已经构成根本性违约，导致我公司无法实现合同目的。根据合同法第九十四条规定及《委托开发合同》约定，郑重向贵公司通知如下：1.2018年12月13日签订的《委托开发合同》于贵公司收到本通知书之日起解除；2.贵公司在收到本通知书之日起15日内向我公司返还已收取的合同款人民币63万元，并支付违约金人民币105000元；3.《委托开发合同》保密条款长期有效，贵公司应长期履行保密义务。同时，我公司将保留进一步追究贵公司违约责任的权利。若贵公司在上述期限内未能向我公司给付合同款、违约金，我司将通过法律途径予以解决，并有权要求贵公司承担相应的损失。森普公司根据该《解除合同通知书》主张：1.2020年1月20日，捷益公司单方提出与我方解除合同，根据《委托开发合同》第12.3条的约定应向我方支付合同总金额10%的违约金；2.捷益公司发出的解除通知恰恰证明我方已经交付了第二阶段（UI界面、PC端、App端、苹果Ipad端）的开发成果，捷益公司应按照《委托开发合同》第5.2.3的要求支付第二阶段的进度款315000元；3.捷益公司提出的解除理由均不成立，我方一直按照合同约定履行义务，不存在违约情形，且我方交付产品后，捷益公司从未向森普公司提出交付产品的不足、具体哪些方面不符合合同约定等，退一步讲，即使存在问题，捷益公司也应根据《委托开发合同》第11.1.8的约定，向我方提出修改意见，在捷益公司未指出产品的具体问题、未向我方提出任何修改意见的情况下，视为我方交付的产品合格，捷益公司据此要求解除合同，没有依据。原审庭审中，双方当事人均同意解除涉案《委托开发合同》。森普公司主张，已经开发完成了设计方案中的前三个阶段，并交付给对方，现在我方也同意解除合同，但对方应按合同约定支付已完成工作的相应款项。捷益公司主张，要求对方退还已交付的款项63万元，并承担违约责任。2020年2月12日，森普公司再次向捷益公司发送《验收通知单》，另发送了《付款通知单》载明：按合同约定，捷益公司需支付第二阶段进度款315000元。森普公司主张，捷益公司置之不理、拒不验收，经催要后仍不付款的行为，属于严重违约行为，应当按照合同约定支付开发款项并按照《委托开发合同》12.2条的规定支付合同总金额10%的违约金。捷益公司认为，森普公司没有实际交付验收物，无法验收。森普公司未完成第二阶段交付工作，所以我方无付款义务。森普公司于2020年3月23日向公证处申请证据保全。山东省济南市齐鲁公证处于3月26日出具（2020）鲁济南齐鲁证经字第3206、3207号公证书。3207号公证书证实，森普公司代理人用公证处电脑进入“jetwe11.sp11.cn”网站，输入用户名和密码后，可正常进入相关页面。上述网站与森普公司发送给捷益公司《验收确认单》中PC端软件所载明的网址一致。3206号公证书证实，森普公司代理人用经公证处清洁性检查后的华为手机、苹果手机及Ipad分别进入“青岛捷益客户端”App进行相关操作并截屏。森普公司据此主张，我方为捷益公司开发的软件完全符合双方确认的原型图、结构图、流程图、《委托开发合同》及《系统设计方案》的要求，软件可正常运行，满足捷益公司的需求，分别可以在PC端、安卓和苹果手机端、苹果Ipad正常运行，均为《验收通知单》上载明的网址、用户名、密码等，捷益公司应按合同约定履行付款义务。森普公司主张，对软件的内部测试已经完成，需要捷益公司进行测试，对方测试后如果有问题提出改进，但对方一直未进行测试。捷益公司认为，应该把软件安装到我方的平台进行测试。经查，关于项目软件的测试环节，双方并未进行约定。森普公司委托山东省软件评测中心对涉案项目软件进行评测，该评测中心于2020年8月26日出具《软件测试报告》，结论为：系统采用B/S结构，主要提供门户管理、客户中心管理、业务中心管理、财务中心管理、数据中心管理、应用市场管理、人力中心管理、系统管理、OA-日志管理、HR-招聘管理等功能，实现对客户、业务及人员的综合化管理。系统在测试期间能不间断地稳定运行，没有中断或崩溃的现象发生。森普公司委托的涉案软件项目与其需求所述的功能性、可靠性方面基本符合。测试依据为涉案软件项目的需求规格说明书、结构图、原型图及相关国家标准。对当事人有争议的事实和证据，原审法院认定如下：捷益公司提交证据：1.王彬社会保险个人权益记录单及《委托开发合同》附件三项目成员汇总表（证据五）。证明王彬系PC端开发组长。王彬与森普公司于2018年1月终止劳动关系，退出项目开发。捷益公司有理由相信，森普公司合同义务履行能力明显降低，森普公司违法了合同对开发人员的条件约定，属于违约和欺诈行为，因为该人员没有合同关系，严重影响了有关软件涉密保密问题，对其商业秘密构成实际威胁。森普公司对该份证据真实性无异议，但认为在整个软件开发过程中，王彬一直参与开发并一直通过ＱＱ群与捷益公司对接，在实际调研过程中也是全程现场参与，且社保缴纳只是森普公司内部管理问题，与劳动关系的存续问题没有必然关系。原审法院认证：是否缴纳社会保险并非认定是否具备劳动合同关系的唯一证据，该证据不足以证明捷益公司主张的事实，不予采信。2.李昌悦与喻宇聊天录音（证据六），证明事项：李昌悦系本项目调研人员，2019年8月30日，李昌悦已是离职状态，与森普公司解除劳动关系。森普公司质证认为，根据合同3.4条、3.5条的约定，更换项目负责人、对接人需经捷益公司同意，李昌悦仅为项目助理，不属于书面告知的范围。原审法院对森普公司的质证意见采纳，对该证据不予采信。3.录音证据一份（证据八）。捷益公司主张，该份录音录制于2019年9月12日，地点为该公司会议室，参会人员有王英时、王燕、刘雪、喻宇、王楚玮、金波、王飞。捷益公司据此主张如下事实：（1）原定于2019年8月30日交付的PC端产品，截至2019年9月12日，森普公司仍未完成，王飞及金波认可，未完成开发项目完全是森普公司的责任。（2）合同中约定的主要项目成员之一李昌悦，已离开项目组。森普公司质证认为，对真实性有异议，对方未提交原始载体，不排除有剪辑的可能性。即使是真实的，也无法证明对方的证明目的。4.“捷益&森普项目小组”QQ聊天记录一组（证据九、十一），主张：（1）捷益公司在“捷益&森普项目小组”向森普公司催告，要求交付PC端开发内容，森普公司一直未履行交付义务；（2）捷益公司在“捷益&森普项目小组”向森普公司催告，要求按合同约定进行项目开发。（3）捷益公司按森普公司要求配置服务器，要求森普公司交付PC端，森普公司仍不履行交付义务，森普公司持续性违约，原定于2019年8月30日交付的PC端，拖延至2020年1月20日仍未交付。森普公司质证称，对证据九真实性认可，但未提供完整的聊天记录及其回复的具体内容。在2019年7月份以后，捷益公司提出大量的需求变更，森普公司整理文件后一直要求对需求变更进行确认，捷益公司一直未予确认。对证据十一真实性无异议，但主张，该聊天记录能够证实森普公司先进行测试，测试后再进行整体部署，因森普公司开发部署时需要将源代码同步移交给对方服务器，该阶段为合同支付完成全部款项的阶段，不是本阶段的工作内容，同时证明森普公司已经交付，否则不存在配置服务器、系统部署等相关问题。原审法院对该份证据真实性予以确认。经查，捷益公司员工喻宇于2019年10月29日在QQ工作群里讲“按合同开发设计应该在八月份就完成，后来你们又推到十月中旬完成。今天都10月29日了，什么都没有，怎么弄？还弄不弄了给个交代？”5.山东省青岛市市南公证处出具的（2020）鲁青岛市南证民字第210号公证书（证据十三），主张捷益公司一直无法进入森普公司提供的网址，无法查看软件开发是否完成。森普公司质证称，对真实性无异议，主张捷益公司用该账户密码登录测试，证实已经收到了森普公司交付的网址密码，上次证据交换后森普公司关闭了捷益公司的访问权限，原因是捷益公司没有按约定支付第二阶段的进度款，森普公司依据合同有权停止访问不允许对方使用，现森普公司可当庭演示。原审法院对该份证据真实性予以确认。经查，该公证书主要证实捷益公司员工喻宇于2020年6月30日10：30分至山东省青岛市市南公证处，用该公证处计算打开“http://jetwell.sp11.cn”相关网站，显示该站点已经被管理员停止运行，请联系管理员了解详情。其他相关网站站点也均无法打开。森普公司提交证据：1.《软件规格说明书》及QQ工作群聊天记录截图，证明森普公司已经按照约定向捷益公司提交了《软件规格说明书》。《系统设计方案》已经对《委托开发合同》中第一阶段的交付物重新进行了约定，森普公司已经按照约定交付了第一阶段的交付物。捷益公司质证称，一直未收到《软件规格说明书》，不能证明森普公司已经履行完毕第一阶段工作任务，森普公司存在违约事实。2.《捷益项目进度通知》一份、QQ群聊天记录截屏两张。证明：捷益公司在QQ聊天记录中认可森普公司已经按照约定于2019年8月向捷益公司交付了《系统设计方案》中第二阶段的交付内容，捷益公司员工喻宇在2019年8月21日明确陈述测试平台已经收到，2019年11月11日，森普公司在向捷益公司通报进度时再次提示交付内容。测试平台即为第二阶段的交付物。捷益公司质证认为，对真实性无异议，但陈述与事实不符，只是森普公司单方表示交付，后续聊天记录显示森普公司并没有交付。测试平台是森普公司的生产平台，只能打开见到，但是并非交付，交付无论是现场还是远程都应进到我方服务器中，测试在软件开发行业是软件公司即本案森普公司的主要义务，是其生产开发的必经程序，与交付实际意义不同，没有交付。森普公司只是发给我方一个网址，而非交付软件程序。关于测试平台，森普公司主张，双方开发过程中的测试平台，我方开发完产品后放在测试平台上由对方进行测试，等测试完成验收以后支付款项，我方将代码部署在对方服务器。测试平台是我方搭建了一个服务器。测试平台的交付方式为给对方网址、登录账号和密码。捷益公司认可森普公司给了网址、用户名及密码，但认为测试平台是森普公司的生产车间，是森普公司搭建的，我方需要的是软件，测试平台不能移交。经查，森普公司于2019年11月11日在QQ工作群里发送的《捷益项目进度通知》主要内容有：青岛捷益公司，第二阶段的交付物已全部完成，请贵公司明确合同内容。根据合同第二阶段约定，本阶段的主要交付内容的三个部分……贵公司多次提出需求变更，我公司立刻做了出了回应，并形成变更文件交于贵公司，但至今未予以确认。我方多次发送文件催促贵方确定需求更改文件，但贵公司一直强调合同文件，并指明合同文件内容，贵公司5个工作日不确认，就按原合同文件执行。为了顾及项目进度，我方无奈只能完全按照原型图设计与流程进行开发。原审法院认为：双方签订的《委托开发合同》及相关合同意思表示真实，内容不违反法律、法规的强制性规定，合法有效，当事人均应照合同约定行使权利、履行义务。（一）关于捷益公司于2020年1月21日向森普公司发送《解除合同通知书》是否有效捷益公司在《解除合同通知书》中主张森普公司存在五种根本违约行为，关键一点在于森普公司是否存在没有依照约定完成第二阶段产品设计和开发的问题。原审法院认为，森普公司没有依照约定完成第二阶段产品设计和开发。理由：第一，根据《系统设计方案》的约定，第二阶段中，森普公司应完成的工作成果为：完成基础功能开发及App效果图确认。周期：2019年4月20日至2019年8月30日。此阶段主要交付三部分内容：PC端管理平台、技术开发文档、App的产品效果图确认及静态页面。而根据森普公司于2019年9月5日向捷益公司发送的《针对捷益项目进一步规划与修改》文件证实如下事实：1.森普公司认可至9月5日发现原定于8月底的版本未达到捷益公司要求；2.森普公司方需要再次调研，并对项目内容、项目负责人进行调整；3.森普公司单方决定将项目的开发方式与时间进行更改；4.上述调整与更改待捷益公司方回复确认后实施。上述事实证明，森普公司未能按合同约定的时间向捷益公司交付软件开发成果，且自认此前完成的软件不符合合同约定，需要进行再次调研及更改，但森普公司未向原审法院提交就再次调研及更改的相关内容经双方协商一致的相关证据。第二，森普公司于2019年11月11日在QQ工作群里发送的《捷益项目进度通知》，森普公司虽在该通知中陈述捷益公司多次变更需求，其按捷益公司要求进行了变更，但未经捷益公司确认。森普公司对捷益公司将原合同内容变更的事实未能提交证据证明，且森普公司也陈述捷益公司主张应按原合同执行，森普公司系按照原合同双方约定的原型图设计与流程开发软件，应视为双方对原合同内容未进行变更。上述事实证明森普公司未能于约定的2019年8月30日交付约定的软件开发内容。关于森普公司是否存在经捷益公司多次催告，至今未能提交完整的可实际上线应用的软件版本，履行安装调试和培训义务的问题。原审法院认为，根据双方提交的证据及陈述，能够证实项目软件未安装至捷益公司的电脑中并进行调试和培训。综上，捷益公司已按约定按期履行了支付项目软件开发费的合同义务，但森普公司未能按照合同约定的期限履行交付开发的项目软件的合同义务，森普公司经捷益公司催告后仍未能履行合同义务，且双方对项目软件的测试环节也未进行约定，森普公司主张开发完成的项目软件也未安装至捷益公司计算机内，捷益公司未能实现《委托开发合同》目的。涉案《委托开发合同》自捷益公司向森普公司送达《解除合同通知书》时解除，即捷益公司解除合同有效，双方签订的《委托开发合同》及相关附属合同于2020年1月21日解除。（二）关于森普公司应否返还捷益公司已经支付的款项捷益公司因不能实现合同目的，主张解除合同，森普公司亦同意解除合同，关键在于合同解除后如何处理后续问题。根据双方当事人履行合同的情况，捷益公司于2019年4月15日至18日认可森普公司出具的流程图、PC原型图、App员工端原型图等文件，并支付给森普公司31.5万元合同款项。原审法院认为，森普公司已按合同约定履行了该阶段的合同义务，支出了相应的软件开发成本，捷益公司对此亦予以认可，故，原审法院对捷益公司诉请返还首款31.5万元不予支持。因森普公司未能按期约定于2019年8月30日前完成第二阶段工作成果，对捷益公司主张返还该阶段的进度款31.5万元予以支持。（三）关于森普公司是否存在违约，应否支付捷益公司违约金捷益公司委托森普公司为其开发软件，森普公司作为研究开发人员，应按约定提供技术开发成果。捷益公司主张森普公司延误开发构成根本违约的事实成立，森普公司应依法承担相应违约责任。双方签订的《委托开发合同》第12.2条约定违约金为合同总额的10%，捷益公司主张违约金105000元符合上述约定，原审法院予以支持。原审法院判决：一、确认青岛捷益国际货运有限公司与山东森普信息技术有限公司于2018年12月13日签订《委托开发合同》于2020年1月21日解除；二、山东森普信息技术有限公司于原审判决生效之日起10日内返还青岛捷益国际货运有限公司合同款315000元；三、山东森普信息技术有限公司于本判决生效之日起10日内支付青岛捷益国际货运有限公司违约金105000元；四、驳回青岛捷益国际货运有限公司其他诉讼请求。如果未按原审判决指定的期间履行给付金钱义务，应当按照《中华人民共和国民事诉讼法》第二百五十三条之规定，加倍支付迟延履行期间的债务利息。一审案件受理费11402元，由青岛捷益国际货运有限公司负担4887元，山东森普信息技术有限公司负担6515元。本院二审期间，森普公司为证明其主张，向本院提交了两组证据：第一组证据：证据1-1：捷益公司法定代表人之子王楚玮对效果图签字。拟证明森普公司交付效果图。证据1-2：捷益公司发送《致森普公司王飞总经理》。拟证明捷益公司提出交付要求。证据1-3：捷益公司通过喻宇QQ聊天记录明确说明已经收到森普公司提供的测试平台。拟证明森普公司按要求提供测试平台。证据1-4：喻宇提供会议纪要。拟证明对交付软件的财务模块现场分析。证据1-5：森普公司发送《捷益项目进度通知》，拟证明进行了交付确认。证据1-6：森普公司再次发送《项目进度通知》，拟证明再次进行交付确认。证据1-7：森普公司发送完整项目交付文件。拟证明森普公司整体交付所有内容。第一组证据均拟共同证明森普公司按约定交付了《委托开发合同》第二阶段的交付物。第二组证据：证据2-1：森普公司按照捷益公司前期需求整理《捷益待确认文件详述》，拟证明森普公司要求捷益公司对需求变更进行确认。证据2-2：捷益公司提供的会议纪要，拟证明捷益公司提出需求变更。证据2-3：捷益公司提供的会议纪要，拟证明进行UI、APP确认，捷益公司提出需求变更。证据2-4：捷益公司财务刘雪在QQ群中提供发票处理的变更流程，拟证明捷益公司提出需求变更。证据2-5：森普公司发送《项目驻场方案》，拟证明森普公司要求捷益公司对需求变更进行确认。证据2-6：捷益公司发送《项目驻场方案的答复》文件，拟证明森普公司要求捷益公司对需求变更进行确认。证据2-7：森普公司发送《关于项目驻场方案答复文件》的答复文件，拟证明森普公司要求捷益公司对需求变更进行确认。证据2-8：森普公司发送《项目确认文件通知》，拟证明森普公司要求捷益公司对需求变更进行确认。证据2-9：森普公司发送《需求变更文件确认催促函》文件，拟证明森普公司要求捷益公司对需求变更进行确认。证据2-10：森普公司发送《原型图需求变更确认》，拟证明森普公司要求捷益公司对需求变更进行确认。第二组证据均拟共同证明捷益公司提出需求变更。捷益公司质证认为，对于森普公司提交的第一组证据，形成时间均在一审起诉之前，不属于二审新证据，对此不予质证。对于森普公司提交的第二组证据，其属于聊天记录及聊天记录中发送文件的整理，依法也不属于二审新证据。对该证据的形式以及森普公司主张的证明事项均不予认可。对于森普公司的以上证据，本院认证意见如下：除证据1-1、证据1-2以外，其余证据均已于原审期间提交，不属于新证据。对证据1-1、1-2真实性、合法性予以确认，上述证据能否达到证明目的，本院将结合全案事实予以综合认定。捷益公司为证明其主张，向本院提交了1份证据:2020年6月23日，捷益公司工作人员喻宇于森普公司总项目顾问金波就涉案项目的聊天记录、喻宇和金波的微信实名认证页面，拟证明森普公司总项目顾问金波承认，森普公司开发的涉案软件实际只有假页面，没有功能，没有后台代码。森普公司质证认为，上述证据不属于新证据。本院的认证意见为：捷益公司提交的上述证据已于原审期间提交，不属于二审新证据。原审查明事实属实，本院予以确认。本院认为，《中华人民共和国民法典》（以下简称民法典）自2021年1月1日起施行，但依据《最高人民法院关于适用时间效力的若干规定》第一条第二款的规定，民法典施行前的法律事实引起的民事纠纷案件，适用当时的法律、司法解释的规定，但是法律、司法解释另有规定的除外。本案合同履行以及解除行为发生在民法典施行前，故本案仍应适用《中华人民共和国合同法》的有关规定。本案的争议焦点问题是：（一）森普公司履行合同是否符合合同约定；（二）原审法院认定的民事责任是否适当。（一）森普公司履行合同是否符合合同约定1.关于捷益公司的主张。捷益公司主张，森普公司未能按照《委托开发合同》交付软件规格说明书，也未按照《系统设计方案》交付《项目分阶段规划文件》，因此，并未完成第一阶段调研任务。对此本院认为：首先，根据双方陈述及现有证据可以确认，捷益公司已于2019年4月15日至18日确认，森普公司已按照合同约定交付了结构图、流程图、原型图文件，并在2019年4月19日双方已经于《系统设计方案》中确认项目分阶段规划，而根据项目分阶段文件的内容纲要可知，如“数据字典”等内容形成于具体开发阶段，此部分内容已经于2019年5月3日交付。其次，依据《委托开发合同》第4.10.3款对《软件规格说明书》主要内容的约定，其主体内容依然是结构图、原型图、流程图、数据字典及对上述内容的具体图文说明书。第三，调研阶段主要目的是确定软件开发的目的、软件具体模块、各数据模块的逻辑关系，所采用的语言工具等，而上述内容已经在原型图、结构图、流程图中充分体现，调研阶段的工作目的已经实现。最后，再结合捷益公司已经根据结构图、流程图、原型图的确认情况支付给森普公司31.5万元合同款项的事实，本院认定，森普公司已按照合同约定履行了第一阶段的合同义务，捷益公司关于森普公司未完成第一阶段调研任务的主张本院不予支持。2.关于森普公司的主张。森普公司主张其已于2019年8月30日前交付《系统设计方案》约定的第二阶段需交付的PC管理平台，由于捷益公司提出需求变更并一直未对变更后需求予以确认，延缓软件开发进度，原审法院并未考虑需求变更影响，直接认定森普公司未按时交付约定产品，与事实不符。且森普公司已于2020年1月3日通过“捷益&森普项目小组”QQ工作群将《委托开发合同》所约定的UI界面、PC端、App端、苹果Ipad端交付给捷益公司，即森普公司已经交付《委托开发合同》第二阶段的交付成果。对此本院认为，合同法第六十条规定：“当事人应当按照约定全面履行自己的义务。当事人应当遵循诚实信用原则，根据合同的性质、目的和交易习惯履行通知、协助、保密等义务。”涉案合同系双方当事人真实意思表示，不违反法律法规效力性强制性规定，具有法律效力，双方均应严格遵守，全面履行。针对森普公司履行合同是否符合合同约定的问题，本院分述如下：首先，二审庭审中，森普公司与捷益公司均认可《系统设计方案》是对《委托开发合同》的具体细化。《系统设计方案》约定，森普公司应于2019年8月30日前交付PC端管理平台、技术开发文档、App产品效果图确认及静态页面。而根据森普公司于2019年9月5日向捷益公司发送的《针对捷益项目进一步规划与修改》文件可以确定，森普公司自认本应于8月底提交的版本并未达到捷益公司要求，需要再次对需求进行调研。由上述事实证明，森普公司未能按照《系统设计方案》约定的时间和标准向捷益公司交付第二阶段软件开发成果。其次，森普公司主张由于捷益公司变更需求导致软件开发进度延缓，但捷益公司并未确认变更需求，且双方均确认应按照原合同执行，因此，应视为双方未对原合同进行变更，上述事实进一步证明森普公司并未按期交付PC端管理平台。最后，根据双方提交的证据及陈述，森普公司经多次催告后仍未能履行合同义务，直至捷益公司发出《解除合同通知书》之前，森普公司并未交付可实际应用的PC端管理平台，更未能将软件开发成果安装至捷益公司的计算机内。综上，在案证据和相关事实显示森普公司并未完成第二阶段的交付义务，森普公司二审中为证明其已完成第二阶段交付义务而提交的相关证据，不足以否定前述认定事实。故森普公司关于已经按照合同约定交付软件开发产品的上诉理由缺乏事实依据，本院不予支持。（二）原审法院认定的民事责任是否适当捷益公司主张，森普公司第一阶段交付内容不符合合同要求，且软件开发应当以交付软件为根本目的，森普公司并未交付软件开发成果，森普公司仅写了几个假页面即成功获得收款31.5万元，有违市场经济公平、诚信基本原则，因此森普公司应当向捷益公司返还全部款项。而森普公司主张，森普公司已经交付软件开发成果，按照《委托开发合同》，捷益公司应按约支付第二阶段进度款。原审判决错误将第一阶段进度款31.5万元作为第二阶段进度款要求返还无事实和法律依据。森普公司无任何违约行为，不应支付违约金，原审判决解除合同没有法律依据。对此本院认为，根据涉案《委托开发合同》所约定的付款方式，即“甲乙双方签订合同后7个工作日内完成首款支付，乙方进行本项目第一阶段工作；5.2.2第一阶段进度款315000元，付款时间：乙方完成系统开发第一阶段内容并初验合格后7个工作日内完成款项支付……”可知，双方关于涉案软件开发费用所约定的付款方式为分阶段预付款方式。因此，捷益公司支付的首款对应于森普公司已经完成并交付的系统开发第一阶段内容；而捷益公司支付的第一阶段进度款项对应于合同所约定的系统开发第二阶段内容。但由于森普公司并未完成合同约定的系统开发第二阶段内容，因此，原审法院判决森普公司向捷益公司返还其预收的第一阶段进度款项31.5万并无不当，本院予以支持。同时，鉴于森普公司为完成合同第一阶段内容确需负担相关成本，而捷益公司未能对其所主张的森普公司通过假页面套取首款进行充分举证，因此，原审法院对捷益公司请求返还首款31.5万元的主张不予支持，既无不当，也不存在矛盾。关于原审判决对合同解除与违约金的认定是否正确，软件开发合同的根本目的是提供符合合同约定开发目的且可供在约定媒介中正常使用的软件产品，本案中，如前所述，森普公司并未按照《系统设计方案》约定按期交付PC端管理平台，也未按照《委托开发合同》如期交付开发成果，导致涉案《委托开发合同》的合同目的未能实现。因此，根据合同法的相关规定，森普公司有权解除合同，原审法院认定涉案《委托开发合同》自捷益公司向森普公司送达《解除合同通知书》时解除并无不当。涉案合同已于森普公司收到该通知书时解除。基于上述情形，本院对森普公司主张应按合同约定支付第二阶段进度款的请求不予支持。由于涉案合同解除的根本原因在于森普公司未能按约交付的软件产品，而并非由于捷益公司存在违约行为，故森普公司主张捷益公司应按照合同约定支付违约金及迟延支付违约金于法无据，本院不予支持。综上所述，捷益公司与森普公司的上诉请求均不能成立，应予驳回。原审判决认定事实清楚，适用法律正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项之规定，判决如下：驳回上诉，维持原判。二审案件受理费17700元，由青岛捷益国际货运有限公司负担10100元，山东森普信息技术有限公司负担7600元。本判决为终审判决。审 判 长 张晓阳审 判 员 佘朝阳审 判 员 崔 宁二〇二一年六月九日法官助理 杨 莹书 记 员 宋佳玉裁判要点案号（2021）最高法知民终267号案由计算机软件开发合同纠纷合议庭审判长：张晓阳审判员：佘朝阳、崔宁法官助理：杨莹书记员：宋佳玉裁判日期2021年6月9日关键词计算机软件；开发合同；软件交付当事人上诉人（原审原告）：青岛捷益国际货运有限公司；上诉人（原审被告）：山东森普信息技术有限公司。裁判结果判决：驳回上诉，维持原判。原判主文：一、确认原告青岛捷益国际货运有限公司与被告山东森普信息技术有限公司于2018年12月13日签订《委托开发合同》于2020年1月21日解除；二、被告山东森普信息技术有限公司于本判决生效之日起10日内返还原告青岛捷益国际货运有限公司合同款315000元；三、被告山东森普信息技术有限公司于本判决生效之日起10日内支付原告青岛捷益国际货运有限公司违约金105000元；四、驳回原告青岛捷益国际货运有限公司其他诉讼请求。涉案法条《中华人民共和国合同法》第六十条，第九十四条第三项、第四项，第九十七条。法律问题计算机软件开发产品是否交付的确认裁判观点《系统设计方案》约定，森普公司应于2019年8月30日前交付PC端管理平台、技术开发文档、App产品效果图确认及静态页面。而根据森普公司于2019年9月5日向捷益公司发送的《针对捷益项目进一步规划与修改》文件可以确定，森普公司自认本应于8月底提交的版本并未达到捷益公司要求，需要再次对需求进行调研。由上述事实证明，森普公司未能按照《系统设计方案》约定的时间和标准向捷益公司交付第二阶段软件开发成果。注：本摘要并非判决书之组成部分，不具有法律效力。