中华人民共和国最高人民法院 民 事 判 决 书 （2021）最高法知民终105号 上诉人（原审被告）：广州市行心信息科技有限公司。住所地：广东省广州市黄埔区科学城科学大道******。 法定代表人：林永强，该公司总经理。 委托诉讼代理人：张昕，广东南英律师事务所律师。 委托诉讼代理人：王辉，广东南英律师事务所律师。 被上诉人（原审原告）：联合大数据有限公司。住所地：广东省广州市番禺区石碁镇岐山。住所地：广东省广州市番禺区石碁镇岐山南路**首层**"line-height: 25pt; text-indent: 30pt; margin: 0.5pt 0cm; font-family: 宋体; font-size: 15pt"> 法定代表人：林玉屏，该公司执行董事。 委托诉讼代理人：邓勇，广东广和（广州）律师事务所律师。 上诉人广州市行心信息科技有限公司（以下简称行心公司）因与被上诉人联合大数据有限公司（以下简称联合公司）计算机软件开发合同纠纷一案，不服广州知识产权法院于2020年10月12日作出的（2019）粤73知民初1139号民事判决，向本院提起上诉。本院于2021年1月12日立案后，依法组成合议庭，并于2021年3月16日对本案进行了询问，上诉人行心公司的委托诉讼代理人张昕，被上诉人联合公司的委托诉讼代理人邓勇参加了询问。本案现已审理终结。 行心公司上诉请求：撤销原审判决第二项、第三项，改判行心公司无需向联合公司返还合同委托费用及无需向联合公司支付违约金；联合公司承担一审、二审诉讼费。事实和理由：（一）双方订立《OA系统委托开发协议书》（以下简称涉案合同）的目的是实现OA系统的第一个版本，满足联合公司初始化使用需求，而行心公司交付的系统已符合该合同目的。根据约定，涉案合同仅涉及分阶段开发软件系统的第一阶段，该阶段主要负责企业内部管理信息系统（OA系统）（以下简称涉案系统）的初始化使用要求，第二阶段才是对第一阶段初始化系统的深度个性化开发，而关于交付成果是否符合验收标准，应以涉案合同第2.2条载明的各系统应用目标为指南。原审法院将涉案系统存在的问题确认为考勤管理系统和报销管理系统。针对考勤管理系统，其功能要求中并未提及接口的设定需求，且接口的存在并非系统初始化运行、使用的必要条件，故接口的设定应归于第二阶段的内容。针对报销管理系统，手机应用程序应当包括WEBAPP，从合同目的出发，无论是通过手机下载单独的应用程序还是通过访问网页均可实现涉案系统的应用目标，故在未对应用程序做出具体限定的情况下，行心公司交付的程序符合合同需求。行心公司已按涉案合同第2.2条的约定完成开发，并已将系统交付给联合公司使用且履行了培训义务，涉案系统安装部署后一个月内亦不存在重大问题，故涉案系统符合产品验收标准。而根据涉案合同第4.4条的约定，联合公司既不出具验收合格报告又不提出书面异议，应视为产品验收合格。（二）行心公司交付涉案系统的行为符合合同约定，不存在根本违约。即使涉案系统存在偶发性程序运行错误，该缺陷亦不影响合同目的实现。而行心公司为履行涉案合同已投入大量人力、物力成本，原审法院要求行心公司退还联合公司已支付的款项及违约金，有违公平原则且缺乏事实和法律依据。 联合公司辩称：涉案系统经原审法院模拟运行，其中的考勤管理系统、报销管理系统、知识库管理系统等均存在问题。合同约定接口开发应该由行心公司负责。 联合公司向原审法院提起诉讼，原审法院于2019年8月22日立案受理，联合公司起诉请求：1.判令解除联合公司与行心公司签订的涉案合同；2.判令行心公司返还联合公司已付款7.5万元；3.判令行心公司支付逾期交付软件的累计违约金3万元。 原审法院认定事实： （一）涉案合同的签订及合同内容 2018年10月15日，联合公司（合同甲方）与行心公司（合同乙方）签订涉案合同。该合同主要内容如下： 第一条，合作内容。1.1甲方委托乙方开发软件系统，分阶段进行。第一阶段，甲方委托乙方开发产品主要是企业内部管理信息系统（OA系统），包括首页提示警报、工作业务流程管理、项目计划管理、项目报告管理、项目跟踪管理、项目核算系统、客服管理系统、考勤管理系统、工资管理系统、报销管理系统、客户管理系统、合同管理系统、财务管理系统、人事管理系统、知识库管理系统、人才管理系统、考核管理系统、企业文化系统。这是甲方OA系统的第一个版本，满足初始化使用要求。紧接着第二阶段进行深度个性化开发。本次合同围绕第一阶段进行。1.2乙方应在甲方委托开发软件系统中将该软件系统相关名称、商业标识更改为甲方的公司名称和甲方的商业标识。 第二条，费用及支付。2.1合同总价为15万元，项目范围包含以下表格所指的软件、实施费和税金。 2.2此项目为阶段性外包开发工程，以合同签订之日算起工期为一个月，乙方保证有2个开发工程师开发实施。以下应用目标为合同范围： （1）首页提示警报系统：在主页自动提醒总经理和主管分别要留意、跟踪、审核的信息，可点击查看，可定制提醒内容； （2）工作任务流程管理：项目立项后，进行任务登记、完成、审核、记分等，并有滞后任务，待审核和清单、巡检列表； （3）项目计划管理：计划WBS分解，项目计划录入，项目任务进度与成本，负责人沟通，进场通知书、验收文件管理。 （4）项目报告管理：结合项目计划WBS，生成周报告，审核周报告。日志登记，日志查询与审核。 （5）项目跟踪管理：客户巡检管理，项目跟踪查询工具。 （6）项目核算系统：结合项目计划WBS，生成项目进度和当前成本，结合日志、周计划生成项目盈亏状态。 （7）客服管理系统：客户自助查询系统、人工服务系统、任务自动分配系统。 （8）考勤管理系统：含打卡（支持手机定位打卡）、迟到、请假、加班、补休等，这些数据与工资表和考核关联。 （9）工资管理系统：自动根据员工薪酬、考勤、考核、报销、工作量奖金等数据自动生成工资表、可打印，支持审核流程。 （10）报销管理系统：项目费用报销，出差时可手机APP登记，支持审核流程。 （11）客户管理系统：含投诉管理、回访管理，支持批量给客户发布信息。 （12）合同管理系统：立项登记、合同登记，与客户管理结合使用，与客服系统联动，防止无合同的客服操作。 （13）财务管理系统：财务收支流水账登记，按部门、小组、个人进行阿米巴经营利润分析。 （14）人事管理系统：含员工基本信息登记，入职离职管理，劳动合同管理，调薪管理，奖惩计分。可关联查询周/月考核情况，面谈记录、奖惩情况、考核登记、工资调整、考勤情况、请假加班申请、个人测评、宿舍评分。 （15）知识库管理系统：按产品分类、用途、部门、客户类型进行整理录入知识库，支持关键字查询，支持方案自动生成打印。 （16）人才管理系统：岗位需求登记，发出邀约，远程人才测评，面试结果登记，培训管理，员工关怀与职业生涯等，以及异常警报。 （17）考核管理系统：维护各岗位的考核内容、权重，每月自动生成考核表，并根据日常业务的积分数据、阿米巴数据生成分数，做到客观化、数据化的考核。 （18）企业文化系统：包括每日分享，员工生日祝福，我的座右铭，主页右上角的文化墙等。 2.3付款方式：签订合同后5个工作日内支付合同总价款的50%，即75000元；验收合格后5个工作日内支付合同总价款的50%，即75000元；……2.5乙方应在甲方每期付款前提供合法有效的增值税发票，否则，甲方的付款义务相对顺延。 第三条，双方的权利义务。3.1乙方应向甲方提供委托开发产品的使用说明书、源代码。3.2乙方保证软件系统稳定可靠运行，且无影响系统稳定运行的缺陷。对于系统使用后发现的软件缺陷（合同范围内），根据缺陷对系统运行的影响程度，乙方须安排人员及时解决。…… 第四条，产品交付要求、验收标准和期限。4.1甲方委托乙方研发的软件系统，该软件系统的著作权归乙方所有。甲方拥有该软件系统和源代码的使用权，但是不能转授权第三方使用该系统和源代码。除了用于该用户的二次和维护，不得用于其他商业目的。4.2产品交付要求：（1）产品验收合格后（以双方签名盖章为准）软件产品的源代码包括作为存储介质的磁盘或光盘、加密附件（如有）、说明书、用户手册等。（2）甲方应配合乙方软件产品安装需求，提供乙方所需之网络环境、服务器所需资源（含操作系统及数据库软件授权），并提供远程桌面联机以便于乙方开发期间进行相关测试。（3）配合甲方对软件产品进行测试、实施和培训（培训时间以及场次待定）。（4）甲方需要对软件产品验收时，乙方应向甲方交付如下文档资料：《运维故障说明书》和《维护文档》。（5）配合甲方需要对产品软件实施和培训时，乙方应于验收后向甲方交付如下文档资料：《用户手册和培训资料》。4.3产品验收标准：（1）软件系统满足2.2应用要求；（2）乙方按照甲方的要求交付完毕软件产品及相应的文档资料；（3）系统安装部署后，甲方使用满一个月且试用无重大问题。4.4产品验收期限：乙方达到前述验收标准后10个工作日内组织甲方进行验收，若甲方认为符合验收标准，应在前述期限内向乙方出具验收合格报告；若甲方认为不符合验收标准，也应在前述期限内向乙方提出书面异议。若甲方既不出具验收合格报告又不提出书面异议，视为产品验收合格。4.5乙方保证该行心OA系统除可独立部署使用外，乙方依据甲方需求于数据库提供数据读取接口或协助数据汇入数据库供甲方技术团队完成与甲方集团相关系统平台对接、单点登录及整合，能够与甲方集团相关系统平台其他模块打通整合，提供免费接口服务。 第五条，培训及质保。…… 第六条，通知及联系约定。…… 第七条，保密条款。…… 第八条，违约责任。8.1因履行本协议或因违反或未履行本协议约定而造成合同一方或其他任何第三方损失的，应由合同另一方承担相关法律责任并进行赔偿。8.2若任一方违反本协议，其应就其违约行为对另一方造成的任何及全部损害承担赔偿责任，并承担违约责任。且守约方有权随时单方面决定解除本协议而无需承担任何责任。8.3因乙方原因而逾期交付验收合格的系统的，每拖延一天，乙方需向甲方支付已付进度款0.1%的违约金，累计不超过合同总价的20%。8.4甲方应按照合同约定履行付款义务，每拖延一天，甲方需向乙方支付应付款金额的0.1%的违约金，累计不超过合同总价的20%。 第九条，其他约定。…… 合同尾部有双方授权代表签名并加盖有双方合同专用章。 2018年10月份，双方共签订了三份合同，另两份合同为《联合医疗联体云门诊开发服务合同》《联合医疗医联体云H**开发服务合同》。双方因前述三份合同产生纠纷，联合公司向原审法院提起诉讼，原审法院分别以（2019）粤73知民初1138、1139、1140号立案审理。 （二）涉案合同履行情况 2018年11月9日，联合公司向行心公司支付合同款75000元。 在合同履行过程中，双方员工通过微信等沟通云门诊系统的开发工作，并建立了微信群（因参与群聊员工人数较多，故对联合公司员工统称联合公司、行心公司员工统称行心公司）。上述微信聊天主要内容如下： 1.名为“联合集团OA系统实施群（24）”的微信群记录主要内容如下： （1）2018年10月，联合公司称：“下周三上午联合大数据产业园开OA启动会。”26日，行心公司称：“最好过来行心这边讨论需求，我和其他骨干都可以及时讨论。而且我们自己就是实施案例，有场景可以参考更加好解释。”联合公司回复：“先配置基础资料上去，试跑一下，然后才汇总需求吧。”行心公司称：“先把基础资料填好，初始化系统之后再搞需求调研。”联合公司回复：“麻烦把我们需要提供的资料列下，另外就是服务器的配置，我们现有OA的账号如何同步过去登录的，需要对接一下怎么实现。”行心公司称先把系统运行起来，接口与数据同步可以后续再做。双方进一步沟通了服务器、宽带、数据库等配置要求。29日，联合公司询问0A服务器需要开放什么端口，行心公司告知服务器需求后，联合公司告知其远程登录地址、用户名及密码。 （2）2018年11月15日，联合公司询问涉案系统部署进展，行心公司称：“安装好了，你们过来配合培训和系统录入基础资料。”双方沟通了培训事宜。行心公司提出从联合OA系统和行心OA上实现单点登录这个功能以后再开发。联合公司询问无法做到的原因并称该功能比较重要。行心公司称可以做，但工作量不小。联合公司询问整个系统的大概计划。行心公司回复下周上线使用，维稳一个月就行。至次日，双方持续沟通了该功能的开发问题。23日，联合公司询问系统可以用了吗，行心公司回复现在正在进行整个库的数据整顿。26日，联合公司询问：“数据整顿好了么，可以开始使用了么？”行心公司回复：“可以了，你看看你们那边还需要什么补充的？” （3）2018年12月5日，联合公司称，上周已经告知行心公司首页的部门需要修改、整个后台系统设置的操作说明、系统的流程图、系统的测试报告、考勤系统对接、项目新增立项对接等事项完成了没有，并称急需开放日志维护权限。双方持续沟通员工信息导入等事项后，联合公司称：“这边停止试用了，你们从头开始部署，需要我们提供什么资料你们列出来，测试通过能够正常使用，我们再用吧。”行心公司回复：“不需要重新再弄一次，因为现在情况最主要的就是一些部门角色等东西都可以关联好了，我这边两天会整理一个基础数据的维护文档给你们。”12月12日，行心公司向联合公司发送了一份OA数据库结构的文档。联合公司要求发送操作手册及其他一些文档并询问能否先给源码，行心公司回复文档现在正在整理。 （4）2019年1月21日，联合公司询问考勤的接口什么时候能出来，行心公司回复这边还要安排一下。联合公司问怎么安排。1月22日，联合公司询问，导入员工又失败，麻烦查查什么问题。另外考勤接口安排什么时候。1月25日，联合公司询问日志登记、阿米巴里面的贡献值等问题，并询问考勤接口的对接时间。直到2019年3月18日，双方均持续沟通相关问题。 （5）2019年4月1日，联合公司称：“我们这边OA系统的服务器内网地址有变化，需要你更换一下Remotelogin.aspx页面调用我们OA接口地址：192.168.1.35。”行心公司于当日修改。 （6）2019年6月4日，联合公司陈向东通过微信向行心公司林泳强发送了涉案合同、《联合医疗联体云门诊开发服务合同》《联合医疗医联体云H**开发服务合同》等三份解除协议。陈向东称：“大半年了，OA根本无法响应修改，不能达到我们的要求。”林泳强回复：“是需求不响应还是需求不合理……你们在看完我们的系统以后决定购买的，如果调整也是在整个基础上去二次开发、做接口并部署安装，如果要修改流程，完全定制，还要源代码，恐怕也不是这个价格了吧？”陈向东回复：“连个最简单的考勤和微信公众号对接都没有完成。”林泳强回复：“原来没有的就没有，你们应该看过并承认我们的OA可以用来购买的……怎么会什么都没有做呢？”陈向东称：“你看看OA登记的问题，原来承诺协助修改的，都没有进展。”林泳强称：“不是所有都没有改吧？还有接口呢？安装、培训、二次培训、维护。”6月5日，陈向东询问OA和HIS实际工作量，林泳强发送了“联合云H**工作总结”及“联合OA工作总结”两份文档给陈向东。 2.名为“联合项目群（6）”的微信群记录主要内容如下： （1）2019年9月2日，行心公司称，为表示继续合作的诚意，现受理@Spark提出的问题。安排刘荣亨继续开展项目，先处理A类问题。9月3日，联合公司提出，因开发、实施、使用的具体问题对接信息量大，刷屏太快，也全是技术，使用对接，为了不打扰领导，另单建了一个云平台开发群。开发、实施、使用方三方均有技术人员在群，每一阶段性工作进展，会同步在这个群汇报。此后，联合公司转发了行心公司刘荣亨回复的文档即“答复目前正式环境运营的问题”。9月3日，行心公司提出积极争取双方早日把增补合同和新项目合同签下来。 （2）2019年9月26日，行心公司发送了三份文档给联合公司，三份文档分别是“联合众思OA项目总体计划”“联合云门诊项目总体计划”以及“联合清远医院信息系统云his计划”。其中，“联合众思OA项目总体计划”内容为：1.制定计划阶段，开会核对目前存在问题、签名确认问题，实施时间为2019年10月10日至11日；2.开发测试阶段，对问题清单开发测试，实施时间为2019年10月11日至11月10日；3.验收阶段，对照问题清单进行验收、结算合同，实施时间为2019年11月11日至14日；4.维护阶段，进入维护阶段，与客户和客服部交接，问题在微信公众号登记受理，客户和客服部确认后撤离，项目移交给客服，实施时间2019年11月11日至2020年7月31日。注：开发内容不能偏离行心目前使用的OA系统。 2019年7月12日，联合公司通过中国邮政速递向行心公司送达律师函，就双方约定的含涉案合同在内的三个合同（另两个合同为《联合医疗联体云门诊开发服务合同》《联合医疗医联体云H**开发服务合同》）履行事宜致函。该函涉及涉案合同的主要内容为：涉案合同签订于2018年10月9日，约定合同签订之日起1个月内交付，且联合公司已经支付了第一期款项7.5万元，截至今日行心公司未能按时交付系统，已严重违反交付期限及相关约定。请行心公司收到函后5个工作日内积极按照上述合同约定完成交付义务，同时按照合同违约责任条款约定支付违约金，其中，涉案合同逾期交付累计违约金为3万元。请行心公司收函后及时履行交付系统义务并支付违约金，否则联合公司将依法解除合同，并要求行心公司退款并承担赔偿损失等责任。行心公司确认收到该律师函。 行心公司提交了落款为2019年7月4日的《关于作废合同及重新签订合同的复函》及《履行合同催告函》并提交了QQ聊天记录拟证明其已向联合公司发送相关函件。上述函件中行心公司明确表示不同意解除合同及继续履行合同，同时催促联合公司配合对涉案系统、云门诊系统及云H**系统进行验收并支付合同款；QQ聊天记录截图（群成员为Ken、LCF、行心科技罗姐）显示对话主要内容如下：Ken询问：“联合是不是应该发个催告要求他们履行合同？”LCF回复：“联合的已经发过复函了我们可以再次催告并询问催告函是和复函一起邮寄还是微信发？”Ken回复：“和之前的复函一起邮寄过去。”LCF答：“好。”联合公司对QQ记录的真实性不予确认，亦否认收到上述函件。 为证明涉案系统已于2018年11月15日安装并交付且该系统主要功能已实现，行心公司提交了如下证据：1.联合OA交付记录。即名为“联合集团OA系统实施群”的微信群聊记录（具体内容见前述微信群聊内容）。2.联合OA任务。即联合公司管理系统OA任务登记，显示了2019年3月至8月份的多条任务登记内容，行心公司主张上述任务登记系其交付第一版涉案系统后针对系统问题及需求任务登记所作的完善、维护和开发记录，证明联合公司已经使用涉案系统，行心公司亦根据联合公司需求进行后续完善、维护。3.OA演示录屏。证明行心公司交付给联合公司的初始版本是可使用且较成熟的系统。4.交付版涉案系统。证明已交付的涉案系统主要功能合格，不影响用户使用。联合公司质证后认为，证据1为微信群聊中截取的部分内容不能证明涉案系统已按合同约定交付，2018年11月15日仅安装了部分涉案系统，并非完成全部安装；证据2为行心公司系统内的内容，是其单方提供的统计数据表，真实性无法确认；证据3为演示文件，并非行心公司交付给联合公司的软件的演示，对该证据三性均不予认可。 （三）涉案软件勘验情况 2020年5月14日，原审法院组织双方当事人对涉案软件进行勘验，原审法院依法指派技术调查官参与了此次勘验，双方对此均无异议。双方均同意以2019年3月9日行心公司最初部署到联合公司电脑上的版本进行勘验，亦同意以技术调查官及双方技术人员作为专家辅助人的方式进行勘验。 5月21日，双方在原审法院搭建软件运行环境，涉案系统启用联合公司服务器上的版本进行勘验，双方对勘验软件及版本均无异议，双方亦确认涉案系统可以正常登陆使用。 5月22日，双方以涉案合同第2.2条记载的应用目标对涉案软件存在的主要问题逐一进行勘验，具体勘验过程如下： 1.考勤管理系统，经勘验，系统包含考勤管理模块，手机端还可以通过网页形式进行打卡。 联合公司根据涉案合同第4.5条的约定，行心公司需要提供接口将联合公司已有OA系统中考勤数据导入其开发的涉案系统中，但行心公司未提供相关接口，联合公司直到2019年1月21、22日仍在与行心公司沟通接口问题；行心公司则认为该模块符合合同约定，涉案系统已经安装交付且已进行培训，联合公司因项目管理功能未达到其个性化需求，一直未使用考勤系统，且其亦没有提交考勤系统数据和接口需求给行心公司。 2.报销管理系统中的“出差时可手机APP登记”的应用目标，经勘验，手机APP功能未实现。 行心公司认为APP有三种即原生APP、web版及.netcode，勘验考勤打卡功能是通过手机网页版，属于web版APP，也符合合同约定。联合公司对此不予确认。 3.知识库管理系统，经勘验，知识库管理系统已经实现，该系统包含录入及查询功能。 联合公司认为行心公司没有告知知识库的录入需要其手工逐条录入，行心公司则称根据合同约定提供信息是需要进行整理录入知识库，其他功能也满足合同约定，且行心公司已经到联合公司培训过两次。 原审勘验时，联合公司原审当庭提交了涉案系统问题PDF文件，行心公司对该文件的真实性、关联性均不确认。 原审庭后，联合公司提交了《开庭勘验软件及产生问题的说明意见》。该意见主要内容如下：勘验软件为行心公司最后部署在联合公司电脑上的，行心公司未按合同要求进行验收。联合公司按照行心公司的思路与实际情况部署人员使用了涉案系统，但该系统无法正常运行一轮，后与行心公司协商进行调整，但其仍未能在合同期限内使软件正常运行。对勘验时出现的问题说明如下： 第一个问题，考勤管理系统作为涉案系统中的基础使用功能，按照涉案合同第4.5条细则要求应该与联合公司考勤关联，确保考勤管理系统的完整使用，缺乏考勤的涉案系统实用性已经缺少一半。因联合公司考勤导入涉案系统，因此接口应当由行心公司提供，而不是由联合公司提供。第二个问题，手机APP功能，合同中明确了定义，如果要求提供web版APP，那么在合同中应当明确说明。第三个问题，知识库管理系统，该功能是行心公司宣传的卖点之一，其并没有告知知识库详细部署细节，也未在涉案合同中告知需要手工逐条录入，因此在没有批量导入功能补充下，逐条录入的知识库系统应当视为功能未实现。 对上述说明意见，行心公司回应如下：在磋商阶段，行心公司已经向联合公司提供初始使用版本，向其演示该系统并且培训两次后，双方才签订涉案合同。知识库管理系统批量录入并非涉案系统的必要功能，联合公司以此为由主张该功能未实现缺乏依据。 （四）其他事实 原审诉讼中，双方就相关问题陈述如下： 关于涉案合同签订时间，双方均确认合同签订时间为2018年10月15日。关于合同性质和效力，双方均确认涉案合同是计算机软件委托开发合同，合同合法有效。关于涉案合同开发要求及验收标准，双方均确认是按照涉案合同第1.1条、第1.2条及第2.2条的约定进行开发并进行验收，双方均确认是对涉案系统第一个版本进行开发，第一阶段开发内容及涉案合同第1.2条的约定，涉案合同与第二阶段个性化开发无关。关于双方在签订合同前行心公司是否展示过其已开发的OA系统，行心公司表示其向联合公司展示已经开发好的OA系统，联合公司表示满意后才签订了涉案合同，联合公司对此予以否认。关于涉案系统开发周期，双方均确认是从2018年10月15日起至2018年11月14日止。关于交付时间，行心公司主张在2018年11月15日已经将涉案系统部署到联合公司服务器上并完成安装，联合公司则予以否认并认为仅进行了环境测试并没有交付完整的软件。关于验收问题，行心公司主张根据涉案合同第4.4条的约定部署安装好且试用满一个月无重大问题的应当组织验收，联合公司既不组织验收又不提出书面异议，应当视为已经验收合格；联合公司则认为根据涉案合同第4.2条的约定部署涉案系统不是交付，而属于测试，双方没有进行验收。关于合同解除依据，联合公司主张行心公司迟延交付软件，构成根本违约；行心公司不同意解除涉案合同，但同意终止履行。 原审法院认为：联合公司与行心公司签订的涉案合同是双方当事人的真实意思表示，其内容未违反法律法规的强制性规定，合法有效，双方均应按照约定全面履行各自所负合同义务。涉案合同约定行心公司为联合公司开发涉案系统软件，根据合同权利义务的约定，涉案合同应为计算机软件委托开发合同。根据双方的诉辩意见，本案争议焦点是行心公司是否构成根本违约、涉案合同是否应予解除以及合同解除的责任承担。 （一）关于行心公司是否构成根本违约的问题 联合公司主张行心公司迟延交付软件，构成根本违约；而行心公司则认为其已于2018年11月15日将涉案系统部署到联合公司服务器上并完成安装，按照涉案合同第4.4条的约定应视为其交付了合格的软件。联合公司确认行心公司已经部署了涉案系统，但认为根据涉案合同第4.2条的约定，部署涉案系统不是交付，而属于测试，双方没有进行验收。故，联合公司主张迟延交付软件实际是指行心公司已部署的涉案系统不符合合同约定的交付标准。 1.涉案系统存在的问题及其分析 本案原审勘验时，双方均同意以2019年3月9日行心公司最初部署到联合公司电脑上的版本进行勘验，双方对勘验软件及版本均无异议，双方对于勘验结果亦无异议。双方均确认是按照涉案合同第1.1条、第1.2条及第2.2条的约定进行开发并进行验收，故，原审法院将根据该勘验结果并结合上述合同条款以及涉案合同的履行情况判断行心公司开发的软件是否符合合同的约定。 原审法院组织双方对涉案系统进行勘验时，联合公司提出了三个方面的问题，故应当视为涉案系统除勘验问题以外的其余功能均已实现，符合涉案合同的约定。对勘验问题，原审法院分析如下： （1）关于考勤管理系统。经勘验，该系统包含考勤管理模块，手机端可以通过网页形式进行打开。联合公司认为根据涉案合同第4.5条的约定，行心公司应提供接口将其现有OA系统中的考勤数据导入到涉案系统。行心公司辩称联合公司没有提供接口文档。 原审法院认为，涉案合同第4.5条约定：“乙方保证该行心OA系统除可独立部署使用外，乙方根据甲方需求于数据库提供数据读取接口或协助数据汇入数据库供甲方技术团队完成与甲方集团相关系统平台对接、单点登录及整合，能够与甲方集团相关系统平台其他模块打通整合，提供免费接口服务。”根据前述约定，行心公司负有实现将联合公司现有OA系统与涉案系统考勤数据对接的接口开发义务，行心公司对该接口开发的义务亦无异议。从双方在开发涉案系统中的沟通情况看，2018年12月5日，联合公司询问考勤系统对接问题是否已经完成；2019年1月21日，联合公司询问考勤的接口什么时候能完成，行心公司回复这边还要安排一下；1月22日，联合公司询问考勤接口对接时间，并于1月25日再次询问考勤接口的对接时间。可见，在开发过程中，联合公司多次询问两个OA系统考勤数据对接的接口开发事宜，而行心公司从未就接口文档问题向联合公司提出要求或称因其未提供接口文档导致无法开发。故，对行心公司称因联合公司未提供接口文档导致未开发的抗辩不能成立。经勘验，两个OA系统间考勤数据对接的接口开发未完成，故应认定该功能不符合涉案合同需求。 （2）关于报销管理系统中的手机APP功能。涉案系统可以通过手机网页登录使用，行心公司认为手机网页版就是web版APP功能。原审法院认为，通过手机浏览器访问网页登录使用涉案系统并不等同于手机APP功能，故应认定该功能不符合涉案合同需求。 （3）关于知识库管理系统。经勘验，该功能已实现。勘验后，联合公司提出知识库管理系统是行心公司宣传的卖点之一，在没有批量导入功能补充下，逐条录入的知识库系统应当视为功能未实现。涉案合同第2.2条关于知识库管理系统的约定为：“知识库管理系统：按产品分类、用途，部门，客户类型进行整理录入知识库，支持关键字查询，支持方案自动生成打印。”可见涉案合同中并未约定要实现批量导入功能，故联合公司以知识库管理系统缺乏批量导入功能为由主张该功能未实现，缺乏依据，原审法院不予支持。 因涉案系统在考勤管理系统及报销管理系统中的手机APP功能中存在上述勘验问题，故应当视为上述功能不符合涉案合同第1.1条及第2.2条的约定。 2.关于涉案系统是否应视为验收合格的问题 行心公司主张在2018年11月15日已经将涉案系统部署到联合公司服务器上并完成安装，根据涉案合同第4.4条的约定，部署安装好并试用满一个月无重大问题的应当组织验收，联合公司既不组织验收又不提出书面异议，应当视为已经验收合格。 首先，涉案合同第4.4条属于合同第四条“产品交付要求、验收标准和期限”的条款，故该条约定应当结合第四条的相关约定整体判断。涉案合同第4.3条关于“产品验收标准”约定：“（1）软件系统满足2.2应用要求；（2）乙方按照甲方的要求交付完毕软件产品及相应的文档资料；（3）系统安装部署后，甲方使用满一个月且试用无重大问题”。第4.4条就“产品验收期限”进一步约定：“乙方达到前述验收标准后10个工作日内组织甲方进行验收，若甲方认为符合验收标准，应在前述期限内向乙方出具验收合格报告；若甲方认为不符合验收标准，也应在前述期限内向乙方提出书面异议。若甲方既不出具验收合格报告又不提出书面异议，视为产品验收合格。”可见，第4.4条关于产品验收期限约定存在前提条件，即达到第4.3条约定的验收标准。经勘验，涉案系统不符合涉案合同第2.2条约定的应用要求，故并不符合涉案合同第4.3条约定的验收标准。因此，行心公司主张应按涉案合同第4.4条的约定视为产品验收合格，缺乏依据，原审法院不予支持。 其次，行心公司主张在双方签订涉案合同前，其已经向联合公司展示过涉案系统，联合公司对该系统表示满意。即使上述陈述属实，即涉案系统是在行心公司已开发完成的OA系统，但是根据涉案合同第2.2条关于“此项目为阶段性外包开发工程，以合同签订之日算起工期为一个月，乙方保证有2个开发工程师开发实施”的约定，以及第4.5条关于涉案系统与联合公司集团相关平台对接等接口服务的约定，将行心公司OA系统部署在联合公司系统上亦存在二次开发的内容，同时双方在履行过程中对接口对接等问题亦进行过沟通，尤其是考勤管理系统接口开发问题。故，不能以行心公司OA系统已开发完成即视为涉案系统符合合同约定。 （二）涉案合同是否应予解除及解除后的责任承担 本案中，因勘验的涉案系统不符合涉案合同第1.1条及第2.2条的约定，即行心公司未在合同约定的期限2018年11月14日完成涉案软件的开发。联合公司在2019年7月12日向行心公司送达律师函催告履行并要求行心公司在收到函件后5个工作日内完成涉案合同约定的交付义务并支付逾期交付的违约金，而行心公司并未在上述催告时间内履行交付涉案系统的义务，构成根本违约。依据上述法律规定，联合公司依法有权解除合同。关于合同解除时间，联合公司提起本案诉讼时明确主张解除涉案合同，行心公司于2019年8月29日收到本案起诉状副本等诉讼材料，故原审法院确认涉案合同于2019年8月29日解除。 行心公司构成根本违约，依法应当承担恢复原状、赔偿损失等民事责任，故，对联合公司要求行心公司退还已支付的合同款7.5万元的主张，原审法院予以支持。 关于联合公司主张赔偿违约金3万元的问题。涉案合同第8.3条约定，因行心公司原因而逾期交付验收合格的系统的，每拖延一天，行心公司需向联合公司支付已付进度款0.1%的违约金，累计不超过合同总价的20%。行心公司构成违约，联合公司有权依据涉案合同第8.3条约定要求行心公司支付违约金。涉案合同于2019年8月29日解除，故，涉案合同违约金计算期限为2018年11月15日至2019年8月29日。联合公司已支付进度款为75000元，据此计算，违约金为75000元×0.1%×288天=21600元，该金额并未超过合同总价的20%，故行心公司应向联合公司支付迟延履行的违约金21600元，联合公司所主张超出上述违约金金额的部分，原审法院不予支持。 原审法院判决：（一）联合公司与行心公司签订的涉案合同于2019年8月29日解除；（二）行心公司于判决生效之日起十日内向联合公司返还合同款75000元；（三）行心公司于判决生效之日起十日内向联合公司支付违约金21600元；（四）驳回联合公司其他诉讼请求。如果未按判决指定的期间履行给付金钱义务，应当依照《中华人民共和国民事诉讼法》第二百五十三条规定，加倍支付迟延履行期间的债务利息。一审案件受理费2400元，由行心公司负担2304元，由联合公司负担96元。 二审中，当事人没有提交新证据。 本院经审理查明，原审法院查明的事实基本属实，本院予以确认。 本院认为，《中华人民共和国民法典》（以下简称民法典）自2021年1月1日起施行，但依据《最高人民法院关于适用〈中华人民共和国民法典〉时间效力的若干规定》第一条第二款的规定，民法典施行前的法律事实引起的民事纠纷案件，适用当时的法律、司法解释的规定，但是法律、司法解释另有规定的除外。本案合同履行以及解除行为发生在民法典施行前，故本案仍应适用《中华人民共和国合同法》（以下简称合同法）的有关规定。本案的争议焦点在于：一、行心公司是否构成根本违约；二、涉案合同解除的责任应如何承担。 关于争议焦点一，合同法第六十条第一款规定：“当事人应当按照约定全面履行自己的义务。”原审中联合公司已确认行心公司部署了涉案系统，结合双方在合同履行过程中对涉案系统运行存在问题的沟通，可综合认定涉案系统确已部署。 行心公司主张其部署的系统符合合同目的与产品验收标准，故不构成违约。但从在案证据分析，首先，双方当事人确认涉案系统系按涉案合同第2.2条约定进行开发和验收，该条明确载明了涉案合同的应用目标，其中考勤管理系统的应用目标为含打卡（支持手机定位打卡）、迟到、请假、加班、补休等，这些数据与工资表和考核关联；报销管理系统的应用目标为项目费用报销，出差时可手机APP登记，支持审核流程。而根据双方当事人确认的原审法院勘验结果，联合公司现有OA系统与涉案系统间的考勤数据对接接口开发未完成，故无法完整实现考勤管理系统与工资表和考核关联的应用目标；涉案系统手机APP功能未实现，故无法实现报销管理系统出差时可手机APP登记的应用目标。行心公司主张手机应用程序应当包括WEBAPP，无论通过手机下载单独的应用程序还是通过访问网页均可实现涉案系统的应用目标。但通常而言，手机APP应当指单独的手机应用程序，通过手机浏览器访问网页的方式与手机应用程序在功能、便捷性等方面均存在较大差别，故行心公司的这一上诉理由，本院不予支持。因此，涉案系统未能完全实现涉案合同的合同目的。其次，涉案合同第四条系产品交付要求、验收标准和期限条款，其中第4.5条约定，乙方保证该行心OA系统除可独立部署使用外，乙方根据甲方需求于数据库提供数据读取接口或协助数据汇入数据库供甲方技术团队完成与甲方集团相关系统平台对接、单点登录及整合，能够与甲方集团相关系统平台其他模块打通整合，提供免费接口服务。即行心公司负有将涉案系统与联合公司现有OA系统打通整合的接口开发义务，且该义务的履行系涉案系统的验收要求之一。但是在案证据显示行心公司并未完成考勤数据对接的接口开发义务，故涉案系统并不符合涉案合同约定的验收要求。再次，从双方当事人的沟通情况分析，联合公司多次向行心公司询问考勤接口开发的完成时间，行心公司就该问题的回复为后续再做或再安排，并未对其应当履行这一义务进行否认，故行心公司关于涉案合同并未有接口设定需求的主张，与合同约定和履行情况均不符，本院不予支持。最后，涉案合同第4.3条约定，产品验收标准：（1）软件系统满足2.2应用要求；（2）乙方按照甲方的要求交付完毕软件产品及相应的文档资料；（3）系统安装部署后，甲方使用满一个月且试用无重大问题。第4.4条约定，产品验收期限：乙方达到前述验收标准后10个工作日内组织甲方进行验收，若甲方认为符合验收标准，应在前述期限内向乙方出具验收合格报告；若甲方认为不符合验收标准，也应在前述期限内向乙方提出书面异议。若甲方既不出具验收合格报告又不提出书面异议，视为产品验收合格。即涉案系统只有在达到第4.3条约定的产品验收标准的基础上，才可在联合公司未及时进行验收时视为验收合格。而如前所述，涉案系统并不符合涉案合同第2.2约定的应用目标，故不能适用第4.4条的相关约定。此外，根据双方当事人沟通情况，在行心公司将涉案系统部署后，联合公司也已多次就该系统存在的问题与行心公司沟通。故行心公司关于涉案系统应被视为验收合格的主张，无事实和法律依据，本院不予支持。综上，涉案系统既不符合涉案合同的合同目的，也不满足涉案合同的验收标准，行心公司的行为已构成根本违约。 关于争议焦点二，合同法第九十四条规定：“有下列情形之一的，当事人可以解除合同：（一）因不可抗力致使不能实现合同目的；（二）在履行期限届满之前，当事人一方明确表示或者以自己的行为表明不履行主要债务；（三）当事人一方迟延履行主要债务，经催告后在合理期限内仍未履行；（四）当事人一方迟延履行债务或者有其他违约行为致使不能实现合同目的；（五）法律规定的其他情形。”本案中，行心公司的行为已构成根本违约，故联合公司有权解除合同。原审法院据此确认涉案合同于行心公司收到本案原审起诉状副本的时间即2019年8月29日解除，并无不当。 合同法第一百零七条规定：“当事人一方不履行合同义务或者履行合同义务不符合约定的，应当承担继续履行、采取补救措施或者赔偿损失等违约责任。”第一百一十四条第一款规定：“当事人可以约定一方违约时应当根据违约情况向对方支付一定数额的违约金，也可以约定因违约产生的损失赔偿额的计算方法。”本案中，涉案合同第8.3条约定，因乙方原因而逾期交付验收合格的系统的，每拖延一天，乙方需向甲方支付已付进度款0.1%的违约金，累计不超过合同总价的20%。此外，涉案合同第2.2条约定了涉案合同的工期为一个月，即行心公司应当在2018年11月14日前交付验收合格的系统，但截至合同解除，行心公司仍未交付验收合格的系统。故原审法院据此判令行心公司退还联合公司已支付的合同款75000元，并按照涉案合同第8.3条的约定支付自2018年11月15日至2019年8月29日的违约金21600元，尚属合理。关于行心公司认为其投入了大量人力、物力成本，原审判决有违公平原则的意见，本院认为，计算机软件开发合同并不同于劳务合同，评判是否履行合同义务的标准在于受托方是否交付符合合同约定的软件，而不是受托方是否实际投入了开发成本。如果系受托方的违约行为导致未能交付符合合同约定的软件，即使其已经投入了相应的成本或者已经开发完成大部分功能，只要受托方构成根本违约，委托方仍有权要求受托方承担合同解除后的违约责任。涉案合同的解除系行心公司违约行为造成，行心公司应当承担合同解除的不利后果。故对于行心公司的相关意见，本院不予支持。 综上，行心公司的上诉请求不能成立，应予驳回；原审判决认定事实清楚，适用法律正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项规定，判决如下： 驳回上诉，维持原判。 二审案件受理费2215元，由广州市行心信息科技有限公司负担。 本判决为终审判决。 审判长 傅 蕾 审判员 汤 锷 审判员 唐小妹 二〇二一年四月二日 法官助理张琪 书记员张华 裁判要点                            案  号                       （2021）最高法知民终105号                               案  由                       计算机软件开发合同纠纷                               合 议 庭                       审判长：傅蕾             审判员：汤锷、唐小妹                                                     法官助理：张琪                       书记员：张华                               裁判日期                       2021年4月2日                               关 键 词                       合同解除                               当 事 人                       上诉人（原审被告）：广州市行心信息科技有限公司；             被上诉人（原审原告）：联合大数据有限公司。                               裁判结果                       驳回上诉，维持原判。             原判主文：（一）联合大数据有限公司与广州市行心信息科技有限公司签订的《OA系统委托开发协议书》于2019年8月29日解除；（二）广州市行心信息科技有限公司于本判决生效之日起十日内向联合大数据有限公司返还合同款75000元；（三）广州市行心信息科技有限公司于本判决生效之日起十日内向联合大数据有限公司支付违约金21600元；（四）驳回联合大数据有限公司其他诉讼请求。                               涉案法条                       《最高人民法院关于适用〈中华人民共和国民法典〉时间效力的若干规定》第一条第二款；             《中华人民共和国合同法》第六十条第一款、第九十四条、第一百零七条、第一百一十四条第一款；             《中华人民共和国民事诉讼法》第一百七十条第一款第一项。                               法律问题                       合同的单方解除权;合同履行的评价标准                               裁判观点                       1.有下列情形之一的，当事人可以解除合同：（一）因不可抗力致使不能实现合同目的；（二）在履行期限届满之前，当事人一方明确表示或者以自己的行为表明不履行主要债务；（三）当事人一方迟延履行主要债务，经催告后在合理期限内仍未履行；（四）当事人一方迟延履行债务或者有其他违约行为致使不能实现合同目的；（五）法律规定的其他情形。             2.计算机软件开发合同并不同于劳务合同，评判是否履行合同义务的标准在于受托方是否交付符合合同约定的软件，而不是受托方是否实际投入了开发成本。如果系受托方的违约行为导致未能交付符合合同约定的软件，即使其已经投入了相应的成本或者已经开发完成大部分功能，只要受托方构成根本违约，委托方仍有权要求受托方承担合同解除后的违约责任。                               注：本摘要并非裁判文书之组成部分，不具有法律效力。