中华人民共和国最高人民法院 民 事 判 决 书 （2020）最高法知民终282号 上诉人（原审被告、反诉原告）：上海微隆信息技术有限公司。住所地:上海市金山区卫昌路******。 法定代表人：段琪，该公司董事长。 委托诉讼代理人：申振英，男，该公司员工。 委托诉讼代理人：王燕南，北京天驰君泰律师事务所律师。 被上诉人（原审原告、反诉被告）：上海楷炬电子商务有限公司。住所地:。住所地:上海市杨浦区国通路****v> 法定代表人：郎云，该公司总经理。 委托诉讼代理人：杨佳，上海捷铭律师事务所律师。 委托诉讼代理人：萨仁齐木格，上海捷铭律师事务所律师。 原审被告：段琪，女，1979年3月3日出生，汉族，住上海市松江区。 委托诉讼代理人：王燕南，北京天驰君泰律师事务所律师。 上诉人上海微隆信息技术有限公司（以下简称微隆公司）因与被上诉人上海楷炬电子商务有限公司（以下简称楷炬公司）、原审被告段琪计算机软件开发合同纠纷一案，不服上海知识产权法院作出的（2018）沪73民初55号民事判决，向本院提起上诉。本院于2020年4月2日立案后，依法组成合议庭进行了审理。本案现已审理终结。 微隆公司上诉请求：1.撤销原审判决；2.驳回楷炬公司全部诉讼请求，判令楷炬公司向微隆公司支付研究开发报酬574，600元；3.楷炬公司承担本案一审和二审的诉讼费。主要事实和理由：一、楷炬公司主张解除合同的依据并不充分。无论楷炬公司支付的第一阶段开发费用还是给予微隆公司宽限期并支付第二阶段开发费用的一半，全部都是楷炬公司与微隆公司根据软件开发进展情况充分协商一致的结果。这种充分协商一致的情况，是不应当作为认定楷炬公司可以解除合同的依据的。同样，尽管微隆公司在原合同约定的期限内没有完成开发任务，但新的开发期限是经过微隆公司与楷炬公司充分协商共同认定的，微隆公司在原合同约定期限内完成开发任务的情况，也不应当作为认定楷炬公司可以解除合同的依据。至于补充协议约定的期限到期后，微隆公司实际完成开发任务的情况，从申振英向朗云发送邮件的内容中是无法准确判断的，因为发送邮件的背景很容易理解，微隆公司作为开发方，当时出于息事宁人以期望与楷炬公司继续合作从而妥善履行合同的目的出发，邮件中的用词十分谦卑甚至主动承担部分责任，无非是要得到楷炬公司的理解从而可以继续履行合同。无论从客观或是公平的角度，毫无疑问微隆公司实际完成开发任务情况，应当主要根据庭审勘验情况去判断。根据原审庭审勘验的情况，尽管部署在楷炬公司服务器上的工作成果有61处问题，但从另一个角度看，微隆公司已经完成的开发任务占总开发任务的绝大部分，粗略统计下来，已经完成的开发任务可以占到总开发任务的95%以上。况且，根据软件开发行业的特点，任何一个软件开发方都不可能在初步预期的某个时间点100%完成软件开发，软件开发初步完成并上线后，开发方逐步完善软件、修补bug是软件开发行业的常态和客观现实。因此，仅仅以一封特殊背景下发出的邮件以及95%以上的软件开发任务都完成背景下的61个尚存的开发问题而认定微隆公司未按时完成开发任务是完全错误的，也是非常不公平的。既然不能这样简单认定微隆公司未按时完成开发任务，那么也不应当认定楷炬公司解除涉案合同合法有据。二、楷炬公司解除合同的于法无据，楷炬公司请求判令微隆公司返还已支付的合同款并支付违约金及本案维权合理费用并让段琪承担连带责任的诉讼请求不应当被支持。在原审法院阐述这个争议焦点时写到“且其完成的阶段性成果直至庭审勘验时仍存在大量问题。”微隆公司认为，即使微隆公司完成的成果是阶段性成果，这个成果也是距离最后成果很近的阶段性成果，而且这个成果至庭审勘验时绝对没有存在大量问题。试问，微隆公司已经完成开发任务所实现的功能数量何止成百上千？相对于此，仅仅61个问题何以认为是大量？61个问题相对于数月开发而形成的大量开发成果而言，其所占比例甚至连5%都无法达到！所以，微隆公司认为其已经交付的开发成果只存在极少的问题，而且这是软件开发行业的常态性现象和惯例。三、微隆公司有关楷炬公司应支付软件开发费余款的诉讼请求具有事实和法律依据，应该获得支持。无论从申振英发送给朗云的邮件中还是法庭勘验的结果来看，微隆公司所完成的软件已经上线，而且软件的完成程度已经达到95%以上。之所以没有完成验收，完全是由于楷炬公司单方面不予配合后续工作所造成。由于楷炬公司的融资问题，其主观上已经放弃了该软件开发项目，因而制造种种借口拒不配合微隆公司推进软件开发上线后的后续工作，最终才导致今日的状况。因此，微隆公司主张支付软件开发余款的请求应该获得支持。 楷炬公司辩称，原审法院认定事实清楚，适用法律正确，请求维持原审判决。 段琪未提交书面陈述意见。 楷炬公司向原审法院起诉，请求判令：1.楷炬公司与微隆公司签订的《技术开发合同》和《技术开发合同之补充协议》（以下简称《补充协议》）于2018年7月11日解除；2.微隆公司返还楷炬公司开发服务费用455,400元；3.微隆公司支付违约金412,000元；4.微隆公司以1,030,000元为本金，按照每周0.5‰的比率，支付楷炬公司自2017年5月31日起算至2017年10月21日的违约金10,815元；5.微隆公司支付楷炬公司为解决本案争议支出的合理费用54,000元（其中律师费45,000元，公证费9,000元）；6.段琪对上述付款义务承担连带责任。 微隆公司向原审法院提起反诉，请求判令：楷炬公司向微隆公司支付研究开发报酬574,600元。 原审法院认定事实如下： 一、涉案系列合同的签订及履行情况 2016年11月28日，楷炬公司作为委托人（甲方）与微隆公司作为研究开发人（乙方）就“蜘蛛部落综合类网上购物平台”签订了《技术开发合同（2016版）》（以下简称“原合同”），约定：1.乙方根据涉案合同载明的工作范围、任务描述和完成标准，来完成系统的实施工作，待系统开发完成正式上线运行后将整个系统、源代码及相关文档移交给甲方验收，并对甲方人员进行应用系统的培训后，向甲方提出验收申请，由双方按照涉案合同规定的标准对软件验收。软件与合同中规定的核心功能一致的，即验收合格，双方签订验收报告；软件与合同中规定的核心功能不符的，乙方应修改软件使其符合合同的规定并在甲方要求的期限内再次接受验收。2.如发生乙方未按合同交付软件、或软件未通过上述验收的情况，甲方有权拒绝受领软件、延后付款，并有权要求乙方继续履行本合同。若甲方要求重做、修改的，乙方应当限期完成软件的修改、重做工作。如果经修改、重做一次之后，仍不能通过甲方验收的，甲方有权请求损害赔偿或违约金及（或）解除合同。3.项目总共工期为6个月，分成六个阶段，第一阶段为2016年2月前完成系统流程设计、原型设计、界面风格设计；第二阶段为2017年2月中旬前完成管理后台及前台、上架后台的开发；第三阶段为2017年3月中旬前完成android版app开发；第四阶段为2017年4月中旬完成IOS版app开发；第五阶段为2017年4月底前完成网站、两个APP、三个终端的整体测试，上线试运行；第六阶段为2017年5月完成各种优化，正式上线。5.项目研究开发经费及报酬为103万元。合同签署后，甲方于收到乙方提交的发票后五个工作日内支付合同总价30％的款项；系统管理平台、商家端、网站开发完成后，提交客户测试通过后，甲方于收到乙方提交的发票后五个工作日内支付合同总价30％的款项；系统android、IOS两个版本App开发完成后，提交客户测试通过后，甲方于收到乙方提交的发票后五个工作日内支付合同总价30％的款项；系统验收通过后，正式上线后，甲方应在乙方完成服务并经甲方验收合格后90天内，向乙方支付剩余10％的服务款项。6.乙方应按照合同约定期限完成服务项目，为甲方提供合同规定的技术支持及培训。7.乙方负责向甲方提供3个月的项目免费维护服务，维护服务器自双方对项目验收合格之日起算。免费维护服务期内，乙方提供版本维护、升级和技术支持。免费维护期结束后，乙方将收取技术支持服务费用。8.若乙方提供的系统软件或者提供的其他服务有任何不符合合同约定的，甲方除享有法律及本合同所述权利之外，还可以采取下列措施：（1）拒绝接收服务；（2）从项目总款项中扣除对应金额的费用。9.若乙方提供的系统或服务导致软件无法正常交付，甲方可以采取下列措施：（1）退还乙方交付的项目成果，费用和风险由乙方承担；（2）自行或者请第三方维护、修复、重做软件，费用和风险由乙方承担；（3）解除合同并请求承担违约责任和损害赔偿。10.在履行本合同的过程中，确因在现有水平和条件下可以克服的技术困难，因乙方原因导致研究开发部分或全部失败所造成的损失，风险责任由乙方承担。同时，甲方有权要求乙方返还已按照合同约定支付的全部价款，同时承担因乙方研究开发失败而给甲方造成的所有损失，包括但不限于直接经济损失、甲方被迫推迟项目上线运营所受到的预期利益损失、甲方为解决争议而支出的相关费用。11.在履行本合同期间，所有与乙方提供的服务及相应成果相关的知识产权均属于甲方，乙方应采取一切必要手段将知识产权移交给甲方。12.乙方未按本合同约定的时间履行合同义务的，除继续履行外，还应按延误履行合同总价款的每周0.5‰向甲方支付违约金。13.甲方对需求有变更需提交需求变更单，由乙方根据需求变更单提交工作量评估单，经双方项目经理签字确认后计入项目总工作量，如实际超出的工作量为合同预期工作量的5%（含）以内的，乙方不收取额外费用。14.如发生下列任一项情况时，甲方无需催告，即可解除本合同的全部或部分条款，并可向乙方提出赔偿损失的要求：（1）乙方违背本合同中的条款之一时；（2）由于乙方的责任，使乙方在约定的交付期到来之时，仍无法执行合同。 2016年12月8日，楷炬公司通过银行转账向微隆公司支付合同款项300,900元。 2017年6月9日，楷炬公司（甲方）与微隆公司（乙方）签订了《补充协议》，约定鉴于原合同开发期限届满但项目研发工作暂停留在第二阶段，双方经协商一致另行拟定项目实施计划。对于网站和微信部分，最后完成时间为2017年8月31日。对于App部分，最后完成时间为2017年9月22日。若乙方未能按照本协议约定按阶段如期向甲方提交合格项目成果，甲方有权终止本次开发项目的委托事项，同时将按照原合同的约定要求乙方承担违约责任。乙方除按照原合同有关约定向甲方承担违约金之外，还应当返还甲方已支付给乙方的全部费用，并额外承担项目开发总经费40％的违约金。 2017年7月12日，楷炬公司通过银行转账向微隆公司支付合同款项154,500元。 2017年4月至9月,成员包括申振英、郎云及楷炬公司方其他工作人员在内的QQ群内QQ聊天记录的主要内容为：楷炬公司和微隆公司双方就涉案软件开发过程中出现的问题、验收以及赔偿进行了沟通。2017年9月22日，郎云在上述QQ群中发言称，“＠申振英申总，经过我们今天的测试，项目完全不能通过验收，无法正常使用。随后我们会详细的把问题整理出来，根据合同约定履行我方权益。”2017年9月27日，楷炬公司员工陈刚在上述QQ群中发言称，“＠申振英申总郎总这边问你你的解决方案和赔偿方案出来没有？”申振英回复道，“正在写，今下午就发出来。”同日，申振英向郎云发送主题为“蜘蛛盈享平台延期道歉信”的电子邮件，内容为:“郎总，您好：项目自去年年底启动，至今已历时九个多月，这个过程中，我们团队及我个人倾注了大量心血，不只为了验收和上线，更力求平台在功能、性能、维护性等多方面达到较高的水平，能够适应将来长期的发展升级。9月22日的上线，在当日验收中发现多个bug，不能实际开始使用，而且相对于最早的计划，目前已经延期将近3个月，我们深感压力，也非常抱歉。由于项目涉及到多个子系统，工作量较大，该项目对我们而言利润并不高，加上项目延期，成本更增加不少。根据本周一我们沟通的结果，我司愿意接受金额在两到三万元的罚金。金额对贵公司来说虽不大，谨以表明我们承担责任的态度。我们非常重视与贵司合作，今后会改进我们的工作方式，让项目推进更加顺利，质量更加稳定。” 2017年10月18日，楷炬公司委托上海市光明律师事务所陈东忠律师向微隆公司寄送律师函称，“微隆公司未全面积极履行合同义务，截至本函出具日，涉案合同开发项目无任何实质性进展，处于停滞状态。期间，委托人多次询问未果。故函告微隆公司：1.解除双方签订的《技术开发合同》、《附件》、《补充协议》等文件；2.立即返还委托人已支付的开发费455,400元；3.按《补充协议》第四条约定内容承担违约责任；4.严格履行保密合同约定的各项义务。”微隆公司在原审法院庭审中确认收到上述律师函。 二、微隆公司开发成果的完成情况 本案审理中，楷炬公司和微隆公司双方在技术调查官的主持下，依据楷炬公司提供的问题清单对工作成果进行了演示、测试，显示涉案软件对照《技术开发合同》及《附件》中明确的各项功能在以下部分存在问题：1.网站导航上有秒杀、优惠券、闪购、拍卖、全球购五个版块，点击该五个版块，未跳转至新的网页而是回到了首页，需跳转的新网页微隆公司微隆公司确认没有制作。2.用户注册中，缺少电邮、微博等注册路径，QQ登陆点击后跳转报错页面，微信登陆则无法点击。微隆公司确认电邮、微博及微信注册功能确实未作，但主张电邮注册已经楷炬公司口头要求变更为手机号注册，微信注册已口头告知楷炬公司进行第三方认证，但楷炬公司并未按微隆公司要求进行第三方认证。3.使用商家账号登陆，进入的是商城网站，此时需要再次点击才进入商家网站，而非要求中的使用商家账号登陆直接进入商家网站。微隆公司确认该问题存在。4.点击扫码安装APP没反应。微隆公司确认该功能没有做，但认为原因在于楷炬公司未将APP上线，未提供可以扫码的二维码，楷炬公司确认未上线，但认为不影响微隆公司制作相关网页。5.点击商品列表第二项中间的价格排序，选择由高到低，其排序却为由低到高，并且排序方式只能选择由高到低。微隆公司确认问题存在。6.选择商品的颜色和尺码加入购物车时，显示的商品尺码信息与实际选择的不符。微隆公司确认问题存在。7.下单时无法填写发票税号，提交订单后进入支付界面，关闭支付界面后再进去我的订单，此时未支付的订单显示为已支付。微隆公司确认该问题存在，但主张由于支付功能尚未申请，是暂时设置成这样。8.购物流程中的自动关闭订单功能无法测试。9.在“商家”页面的第二屏中的“商家推荐商品”及“商家热门商品”是以轮播图的方式展现，楷炬公司认为“商家推荐商品”和“商家热门商品”应有一个专门的版块，并且在页面第三屏及以后也未有商品分类和推荐商品；微隆公司则认为在页面第二屏中有分类及推荐商品，如果商品数量较多的话，则延伸到第三屏及以后。10.“买家中心”中的“交易中心”的“待收货”中缺少“退款”按钮。微隆公司确认该问题存在。11.客户服务中的虚拟兑码退款没有。微隆公司确认该功能没有做，原因在于楷炬公司告知交易对象没有虚拟商品，所以没有做，但无法提供证据予以证明。12.无法对接平台客服咨询。微隆公司确认收到楷炬公司申请的第三方客服平台账号，目前无法测试可能是客服平台的问题，楷炬公司则称第三方客服平台出具说明称没有问题。13.会员中心中会员信息设置功能选择出生年月的最早时间仅为1988年。微隆公司确认该问题存在。14.上传头像照片报错。微隆公司确认该问题存在。15.财产中心中我的积分栏目没有兑换记录功能。微隆公司确认该问题存在。16.商家中心中的“店铺logo”首页未显示。微隆公司确认该问题存在。17.店铺名称未显示IP地址。微隆公司确认该问题存在。18.店铺动态评分未设置在首页。微隆公司确认该问题存在。19.没有单品销售排名栏目。微隆公司确认问题存在但陈述有分类销售排名。20.卖家无法通过平台联系方式咨询平台方。微隆公司确认该功能未做，确认收到楷炬公司申请的第三方客服平台账号，目前无法测试可能是客服平台的问题，楷炬公司则称第三方客服平台出具说明称没有问题。21.“视频管理”和“图片空间”位置不对，功能无法实现，微隆公司确认该问题存在。22.默认配送地区没有修改功能，微隆公司确认修改时有个别信息确实无法保存。23.团购管理中第三项团购列表不能查找，微隆公司确认该问题存在。24.没有新增团购功能，微隆公司确认该问题存在。25.无法新增满即送活动，微隆公司确认该问题存在。26.代金券管理与添加代金券功能均无法实现，页面报错。微隆公司确认该问题存在。27.店铺导航中可以设置店铺导航，但是无法新增。微隆公司确认该问题存在。28.发票管理中，已开具发票的记录不能查看，微隆公司确认该问题存在。29.维修管理中，维修管理功能无法实现，页面点进去没有反应。微隆公司确认该问题存在。30.没有客服消息功能。微隆公司确认该功能未做，确认收到楷炬公司申请的第三方客服平台账号，目前无法测试可能是客服平台的问题，楷炬公司则称第三方客服平台出具说明称没有问题。31.无法在管理后台中看到SEO设置功能所涉的在首页、团购等八个模块上具备页面搜索引擎优化设置选项的功能，微隆公司确认该部分功能无法演示。32.运单模块无法在后台管理中进行测试。微隆公司确认该问题存在。33.网站文章可在后台发布相关内容，但楷炬公司认为功能实现的路径不对，微隆公司则认为在后台内容发布“其它”中已实现该功能。34.商品分类管理中无法删除商品，微隆公司确认该问题存在。35.商品品牌管理中无法删除品牌，微隆公司确认该问题存在。36.商品规格管理中增加功能存在问题，不稳定。微隆公司确认该问题存在。37.店铺结算周期设置的路径不对，不在店铺管理中而是在系统设置中。微隆公司认为该问题可通过编辑进行设置。38.查看会员信息时需要返回会员管理中心进行查看，但返回显示报错。微隆公司确认该问题存在。39.咨询管理部分仅做了网页部分没有做APP部分。微隆公司确认该问题存在，同时确认已与第三方对接，但认为如有问题原因在于对接的第三方。40.举报管理中的类型设置和主体设置没有做。微隆公司确认该问题存在，原因在于楷炬公司需求不明确，楷炬公司则无法进一步举证证明其对需求进行了进一步细化和明确。41.投诉管理中的主题设置和失效设置没有做。微隆公司确认该问题存在，原因在于楷炬公司需求不明确，楷炬公司则无法进一步举证证明其对需求进行了进一步细化和明确。42.结算对账管理没有做，微隆公司确认该问题存在。43.平台客服中的模块没有做。微隆公司确认该问题存在，同时确认已与第三方对接，但认为如有问题原因在于对接的第三方。44.前台后台均未找到对各种促销活动的设定选项，微隆公司确认该问题存在。45.团购活动无法搜索，微隆公司确认该问题存在。46.加价购、显示折扣、店铺满即送、积分兑换中搜索功能无法实现，微隆公司确认该问题存在。47.没有设置店铺代金券中的功能，微隆公司确认该问题存在，但认为原因在于楷炬公司需求不明确，楷炬公司则无法进一步举证证明其对需求进行了进一步细化和明确。48.手机客户端微信二维码功能没有，微隆公司确认该问题存在。49.支付宝接口没有。微隆公司确认该问题存在，原因在于楷炬公司未交付支付宝相应的账号，楷炬公司则称其已开通支付宝账号及支付功能并告知微隆公司；但当庭以相关账号登陆支付宝网站后，无法明确看出该账号是否已开通支付功能。50.QQ、微信、微博、扫码登陆的一站式功能没有，微隆公司确认该问题存在。51.利用微信公众号、APP推送相关活动功能没有，微隆公司确认该问题存在。52.商品列表排序无评论数排序和上架时间排序，微隆公司确认该问题存在。53.商品信息中缺少摘要，微隆公司确认该问题存在。54.APP中无咨询对话框，微隆公司确认该问题存在，同时确认已与第三方对接，但认为如有问题原因在于对接的第三方。55.商品详细中没有分享功能，微隆公司确认该问题存在。56.商品详细中收藏功能只有关注，没有收藏。微隆公司确认该问题存在。57.购物车的界面无法完整显示文字信息，微隆公司确认该问题存在。58.提交订单、取消订单、选择支付方式、支付、取消支付等功能无法测试，提交订单后无法进入下一步。微隆公司确认该问题存在，但认为原因在于楷炬公司没有申请支付宝、微信等支付功能，所以无法进一步开发。楷炬公司则称其已开通微信账号、银联账号、支付宝账号及相关支付功能并告知微隆公司；但当庭以相关账号登陆微信网站、银联网站及支付宝网站后，无法明确看出微信账号及支付宝账号是否已开通支付功能，银联账号则可明确看出已提供测试入口地址、测试账号等可供支付端开发工作的信息。59.客户服务退货及退款，因为没有实际交付成功，所以无法测试。微隆公司确认该问题存在。60.用户中心的商品咨询与平台客服均没有对话框。微隆公司确认该功能未做，确认收到楷炬公司申请的第三方客服平台账号，目前无法测试可能是客服平台的问题，楷炬公司则称第三方客服平台出具说明称没有问题。61.财产中心中没有我的代金券和我的积分功能，微隆公司确认该问题存在。 楷炬公司主张其因微隆公司的违约产生以下部分损失：1.员工刘轶青、彭俊龙、江夏怡、陈刚自入职（部分人员含实习期）楷炬公司至今或至离职日的工资共计162,246元。其中刘轶青有部分工资是以现金方式直接发给其父母。2.楷炬公司为员工的租房支出13,800元。3.楷炬公司为涉案项目接洽投资人所支出的住宿费、差旅费及餐费共计51,195元；4.楷炬公司为涉案项目申请多个商标所支出的费用共计74,636元，其中直接使用在涉案项目网站上的为“蜘蛛盈享”、“”两个商标；“楷炬”及“”则是作为公司的LOGO在日常经营活动中使用。5.为涉案项目在第三方网站平台寻找投资人所付出的服务费12,800元,为涉案项目购买智能客服云平台软件服务的费用36,252元。6.为涉案项目委托他人设计LOGO的费用共计2,000元，其中部分LOGO直接使用在涉案项目网站上，部分LOGO则是在公司日常经营活动中使用。7.为涉案项目租赁及购买服务器的费用共计24,012元。8.为涉案项目开通微信平台相关账号所支付的服务费300元，微信年费600元。9.为涉案项目委托他人申请两项专利的费用共计16,000元，其中一项发明专利申请已过初步审查。10.为涉案项目在第三方网站平台招聘技术人员所支付的服务费3,500元，员工彭俊龙即是从该渠道招录到的。11.为公司经营所购买的信息安全管理平台软件所支付的费用7,000元。12.为涉案项目所购买的法律服务费17,600元，本案所涉的《技术开发合同》、《补充协议》及相关法律咨询、劳动合同均是由该服务取得。13.为公司员工管理涉案项目网站而进行网络安全培训所支付的费用1,740元。14.为申请涉案项目网站所使用的域名（共申请zhizhuww.com、zhizhuww.cn、zhizhuww.net、zhizhubl.com四个域名，实际在项目中最终使用的是zhizhuww.com）支付的费用892元。15.为员工所购买的办公电脑设备41,376元。16.向案外人申请将涉案项目app上架至苹果商店供用户下载的费用688元。17.为本案维权所支付的律师费45,000元及公证保全费9,000元。 另查明，微隆公司为一人有限责任公司，段祺为该公司唯一自然人股东。 原审法院认为，楷炬公司及微隆公司双方签订的涉案合同，依法成立，合法有效，对双方当事人具有法律约束力，双方均应当按照合同约定全面履行自己的义务。根据双方当事人的诉辩意见，本案的主要争议焦点为：一、楷炬公司主张解除合同的依据是否充分；二、若合同可确认予以解除，楷炬公司请求判令微隆公司返还已支付的合同款并支付违约金及本案维权合理费用、并让段祺承担连带责任的本诉诉讼请求，能否获得支持；三、微隆公司有关楷炬公司应支付软件开发费余款的反诉诉讼请求，是否具有事实和法律依据。 关于第一项争议焦点，楷炬公司主张微隆公司在宽限的开发期限内仍未完成涉案软件的开发，致使合同目的无法实现，楷炬公司依照合同约定及法律规定均可解除合同；微隆公司则认为其已完成软件开发工作，只有个别的功能存在瑕疵需要后续优化，楷炬公司以微隆公司没有按照合同约定开发完成软件为由解除合同无法成立。对此，原审法院认为，根据原合同的约定，开发周期为6个月，2017年4月底上线试运行，2017年5月正式上线。付款方式为楷炬公司先支付合同约定总价款（103万元）的30％，待管理平台、商家端、网站开发完提交测试通过后，再支付合同总价款的30％。原合同签订后，楷炬公司按约定向微隆公司支付了第一笔款项，后因原合同开发期限届满开发仍暂停在原合同约定的第二阶段（管理后台及前台、上架后台的开发），楷炬公司与微隆公司又于2017年6月签订了《补充协议》，约定对于网站和微信部分，最后完成时间为2017年8月31日。对于App部分，最后完成时间为2017年9月22日。《补充协议》签订后，楷炬公司又向微隆公司支付合同款项154,500元。2017年9月22日，楷炬公司法定代表人郎云在两公司沟通开发事宜的QQ群中发言称“经过测试，项目完全不能通过验收，无法正常使用”；2017年9月27日微隆公司员工申振英向郎云发送致歉邮件称“9月22日验收中发现多个bug，不能实际开始使用，相对于最早的计划已经延期将近3个月，愿意接受金额在两到三万元的罚金”。从上述原合同及《补充协议》签订的背景、约定的开发周期及付款阶段、以及微隆公司致歉的邮件内容来看，楷炬公司已按照原合同的约定向微隆公司支付了第一阶段的开发费用，并且在原合同约定的第二阶段的开发内容未完全履行完毕的情况下，又给予了微隆公司宽限期，对开发周期重新进行了约定，并支付了一半的第二阶段开发费用，而按照原合同的约定，该笔费用本应是第二阶段开发内容验收通过后才予以支付的。反观微隆公司，其不但未在原合同约定的期限内完成开发任务，在《补充协议》约定的宽限期内仍未完成开发任务，这一点从其自认存在开发延期及无法实际使用的致歉邮件中亦可得到确认。从庭审勘验的情况来看，微隆公司部署在楷炬公司服务器上的工作成果存在61处问题，其中大部分问题微隆公司予以承认，少部分问题属于双方未进行进一步有效沟通而继续开发，还有一部分问题微隆公司无法在诉讼过程中的进一步演示或无法举证证明开发需求已被改变。而根据双方原合同及《补充协议》的约定，微隆公司未按约定交付软件、或软件未通过验收，楷炬公司要求重做、修改的，微隆公司应当在宽限期内完成；经修改、重做一次之后，仍不能通过验收的，楷炬公司有权请求解除合同；因微隆公司的责任在约定的交付期到来之时仍无法执行合同，则楷炬公司无需催告即可解除合同。综上，鉴于微隆公司未能举证证明在原合同约定的开发周期以及《补充协议》给予的宽限期内，符合功能需求的全部项目已开发完毕并通过验收、测试完毕，并已交付楷炬公司使用，故根据双方当事人已提交的证据以及诉讼中勘验演示的情况，原审法院认定微隆公司未按时完成开发义务，楷炬公司要求于2018年7月11日解除原合同及《补充协议》的请求符合双方之间合同约定的解除条件，因此，楷炬公司要求解除涉案合同的主张合法有据，原审法院予以支持。 关于第二项争议焦点，原审法院认为，《中华人民共和国合同法》（以下简称合同法）第九十七条规定：“合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施、并有权要求赔偿损失。” 对于楷炬公司要求全额返还开发费的主张，原审法院认为，依据双方原合同及《补充协议》的约定，微隆公司未能按照约定按阶段如期提交合格项目成果，应当返还楷炬公司已支付的全部费用，尤其在原合同约定的开发期限未完成开发任务的情况下，微隆公司在与楷炬公司再行协商在宽限期未按期完成项目的后果时，应已充分了解逾期违约所导致的后果，在此情形下，其依然再次逾期违约，且其完成的阶段性成果直至庭审勘验时仍存在大量问题。微隆公司亦未举证证明楷炬公司在合同履行过程中存在某种程度上会影响项目沟通的顺畅性和连贯性的情形，故原审法院综合双方签订原合同及《补充协议》的背景及履约情况，对楷炬公司要求全额返还已支付的全部开发费用的诉请予以支持。 对于楷炬公司要求微隆公司支付为解决本案争议支出的合理费用54,000元，按照项目开发总经费40％支付违约金，以及按照以项目开发总经费为本金、按照每周0.5‰的比率、自2017年5月31日起算至2017年10月21日的违约金的主张，微隆公司辩称违约金过高，请求原审法院予以调整。对此原审法院认为，依照双方原合同的约定，因微隆公司原因导致研究开发部分或全部失败，其应承担给楷炬公司造成直接经济损失、预期利益损失、及楷炬公司为解决争议而支出的相关费用。微隆公司未按本合同约定的时间履行合同义务的，除继续履行外，还应按延误履行合同总价款的每周0.5‰支付违约金。而双方《补充协议》则约定若微隆公司未能如期交付合格项目成果，除按照原合同的约定承担违约责任外，还应额外承担项目开发总经费40％的违约金。合同法第一百一十四条第一、二款规定，当事人可以约定一方违约时应当根据违约情况向对方支付一定数额的违约金，也可以约定因违约产生的损失赔偿额的计算方法。约定的违约金过分高于造成的损失的，当事人可以请求人民法院或者仲裁机构予以适当减少。《最高人民法院关于适用若干问题的解释（二）》（以下简称合同法司法解释二）第二十九条规定，当事人主张约定的违约金过高请求予以适当减少的，人民法院应当以实际损失为基础，兼顾合同的履行情况、当事人的过错程度以及预期利益等综合因素，根据公平原则和诚实信用原则予以衡量，并作出裁决。当事人约定的违约金超过造成损失的百分之三十的，一般可以认定为合同法第一百一十四条第二款规定的“过分高于造成的损失”。本案中，楷炬公司要求微隆公司按照原合同及《补充协议》相关约定支付违约金，该条款约定的违约责任的适用情形是“微隆公司未能如期交付合格项目成果”，现微隆公司未按照软件开发合同约定的时间和要求完成软件开发工作，故楷炬公司要求微隆公司支付违约金的主张符合合同约定。本案中，楷炬公司向原审法院主张了其为员工付出的招聘、租房、培训、工资等支出，寻找和接洽投资的开支，为涉案项目设计及申请商标、申请专利、申请域名、购买办公设备及第三方服务，为本案的维权费用等各项支出共计520，637元，并主张除了上述能够提供证据的仅是部分损失，还有其他未能提出证据予以证明的损失。对于楷炬公司提供证据证明的部分损失，对于其主张的员工工资部分，因涉案项目启动时间为2016年11月，楷炬公司向微隆公司发送律师函告知解除合同的时间为2017年10月，此后楷炬公司陈述因项目停滞其公司主要业务也暂停。从楷炬公司提交的社保缴纳情况可以看出。在2017年10月以后，部分员工仍在楷炬公司任职并由楷炬公司发放工资，因此，楷炬公司对其员工的工资的全部支出不能完全认定为因涉案项目延期而导致的损失。对于商标、专利、域名、办公设备及第三方服务等各项支出，其中确与涉案项目有关的部分楷炬公司予以确认；对于寻找和接洽投资的开支，虽然无法核实上述支出是否全部确为本案系争项目发生，但考虑到楷炬公司委托开发涉案项目的目的及经营方式，其为涉案项目引进投资应为实际情况，对该部分费用楷炬公司酌情予以支持。对于楷炬公司主张的为本案维权的律师费及公证费，因双方合同明确约定双方发生维权费用为楷炬公司的损失，楷炬公司为本案诉讼确实进行了公证、并委托了律师出庭应诉，所主张的律师费及公证费数额亦属合理，故该部分维权部分的支出亦可认定为楷炬公司的实际损失，楷炬公司的此项主张具有事实依据，楷炬公司予以支持。综上，楷炬公司以实际损失为基础，综合考虑涉案合同履行程度、违约方的过错程度、违约金计算的基数，根据公平原则和诚实信用原则予以衡量，酌情调整违约金数额为25万元。 此外，因微隆公司为一人有限责任公司，段祺作为该公司唯一自然人股东，未能举证证明公司财产独立于其自己财产，应当对公司债务承担连带责任。 关于第三项争议焦点，楷炬公司认为，涉案原合同约定支付第二阶段、第三阶段、第四阶段款项的条件分别为“系统管理平台、商家端、网站开发完成提交客户测试通过后”、“系统android、IOS两个版本App开发完成提交客户测试通过后”以及“系统正式上线后并经验收合格后90天内”，然如前所述，上述付款条件未能成就，故对于微隆公司主张楷炬公司应支付软件开发费余款的反诉诉讼请求，楷炬公司不予支持。 原审法院依照《中华人民共和国合同法》第八条、第六十条第一款、第九十三条第二款、第九十六条第一款、第九十七条、第一百零七条、第一百一十四条，《最高人民法院关于适用《中华人民共和国合同法》若干问题的解释(二)第二十九条，《中华人民共和国公司法》第六十三条之规定，于2019年9月29日判决：一、楷炬公司与微隆公司于2016年11月28日签订的《技术开发合同》、于2017年6月9日签订的《技术开发合同之补充协议》均自2018年7月11日解除；二、微隆公司应于判决生效之日起十日内返还楷炬公司455,400元，并应于判决生效之日起十日内支付楷炬公司违约金250,000元，段祺对微隆公司的付款义务承担连带责任;三、驳回楷炬公司的其余本诉诉讼请求；四、驳回微隆公司的反诉诉讼请求。 微隆公司、段祺如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百五十三条规定，加倍支付迟延履行期间的债务利息。 本诉案件受理费13,122元，由楷炬公司负担3,193元，微隆公司、段祺负担9,929元。反诉案件受理费9,546元，由微隆公司负担。 本院二审期间，各方当事人未提交新证据。 原审法院查明的事实属实，本院予以确认。 本院认为：综合当事人的上诉请求、答辩意见及案件事实，本案主要争议焦点为：微隆公司在履行涉案软件开发合同中是否存在违约行为，即微隆公司开发的涉案软件是否符合合同约定要求；如存在违约行为，则违约方如何承担违约责任问题。 合同法第六十条第一款规定：当事人应当按照约定全面履行自己的义务。本案中，楷炬公司、微隆公司在履行涉案软件开发合同过程中先后签署了《技术开发合同》和《补充协议》，对各方的权利义务进行了明确的约定，涉案软件开发合同系双方真实意思表示，且不违反法律法规强制性规定，本院对此予以确认。在涉案软件开发合同项下，楷炬公司作为委托方应当按照合同约定支付软件开发费用，完成相关协作事项等；微隆公司作为受托方应当在约定的时间内完成相应软件开发，并按照合同约定的方式提交验收及交付，保证该软件符合楷炬公司的需求。 微隆公司上诉称，其已按照相关合同及协议要求基本完成全部的计算机软件和手机APP的开发，相关开发成果已经交付，只有个别的功能存在瑕疵需要后续优化。因此，楷炬公司以微隆公司没有按照合同约定开发完成软件为由解除合同无法成立，无权要求微隆公司支付相应的违约金及赔偿损失。 关于涉案软件如何交付、验收问题，按照双方签署的《技术开发合同》约定，待系统开发完成正式上线运行后将整个系统、源代码及相关文档移交给楷炬公司验收，并对楷炬公司人员进行应用系统的培训后，向楷炬公司提出验收申请，由双方按照涉案合同规定的标准对软件验收。软件与合同中规定的核心功能一致的，即验收合格，双方签订验收报告；软件与合同中规定的核心功能不符的，微隆公司应修改软件使其符合合同的规定并在楷炬公司要求的期限内再次接受验收。 在案证据可以证明，2017年4月至9月,申振英、郎云及楷炬公司其他工作人员通过QQ聊天和微隆公司就涉案软件开发过程中出现的问题、验收以及赔偿进行了沟通。2017年10月18日，楷炬公司委托上海市光明律师事务所陈东忠律师向微隆公司寄送律师函称，微隆公司未全面积极履行合同义务，截至本函出具日，涉案合同开发项目无任何实质性进展，处于停滞状态。在原审法院审理过程中，楷炬公司和微隆公司双方在技术调查官的主持下，依据楷炬公司提供的问题清单对工作成果进行了演示、测试，显示涉案软件对照《技术开发合同》及《附件》中明确的各项功能存在61处问题。 通过微隆公司的致歉邮件、楷炬公司按时支付开发费用以及给予微隆公司宽限期、原审法院庭审勘验情况等情况来看，微隆公司亦未能举证证明其在合同约定的开发周期以及《补充协议》给予的宽限期内，将符合约定需求的全部项目已开发完毕并通过验收、测试完毕，并已交付楷炬公司。故，原审法院据此认定微隆公司未按时完成开发义务，楷炬公司要求于2018年7月11日解除原合同及《补充协议》的请求符合双方之间合同约定的解除条件并无不当。 合同法第九十七条规定：“合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施、并有权要求赔偿损失。”第九十八条规定：“合同的权利义务终止，不影响合同中结算和清理条款的效力。”第一百一十四条第一款规定：“当事人可以约定一方违约时应当根据违约情况向对方支付一定数额的违约金，也可以约定因违约产生的损失赔偿额的计算方法。” 本案中，2017年6月9日，楷炬公司（甲方）与微隆公司（乙方）签订了《补充协议》，约定若乙方未能按照本协议约定按阶段如期向甲方提交合格项目成果，甲方有权终止本次开发项目的委托事项，同时将按照原合同的约定要求乙方承担违约责任。乙方除按照原合同有关约定向甲方承担违约金之外，还应当返还甲方已支付给乙方的全部费用，并额外承担项目开发总经费40％的违约金。 在案证据可以证明，双方在以上合同中自愿约定了相关违约责任条款，结合本案中楷炬公司支付相关费用的事实，原审法院依据上述约定的损失赔偿金额进行裁判并无不当。微隆公司相关主张不能成立，本院不予支持。 同时，基于以上分析，涉案合同约定支付第二阶段、第三阶段、第四阶段款项的条件分别为“系统管理平台、商家端、网站开发完成提交客户测试通过后”、“系统android、IOS两个版本App开发完成提交客户测试通过后”以及“系统正式上线后并经验收合格后90天内”，以上付款条件未能成就，微隆公司关于楷炬公司应支付软件开发费余款的请求，本院亦不予支持。 综上所述，微隆公司的上诉请求不能成立，应予驳回；原审判决认定事实清楚，适用法律正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项规定，判决如下： 驳回上诉，维持原判。 二审案件受理费20400元，由上海微隆信息技术有限公司负担。 本判决为终审判决。 审判长  徐燕如 审判员  马 军 审判员  刘晓梅 二〇二〇年十月二十九日 书记员  刘岳天 裁判要点                            案  号                       （2020）最高法知民终282号                               案  由                       计算机软件开发合同纠纷                               合议庭                       审判长：徐燕如             审判员：马军、刘晓梅                                                                           书记员：刘岳天                               裁判日期                       2020年10月29日                               关键词                       计算机软件开发合同；全面履行合同；违约责任。                               当事人                       上诉人（原审被告、反诉原告）：上海微隆信息技术有限公司；             被上诉人（原审原告、反诉被告）：上海楷炬电子商务有限公司；             原审被告：段琪。                               裁判结果                       驳回上诉，维持原判决。             原判决主文：一、上海楷炬电子商务有限公司与上海微隆信息技术有限公司于2016年11月28日签订的《技术开发合同》、于2017年6月9日签订的《技术开发合同之补充协议》均自2018年7月11日解除；二、上海微隆信息技术有限公司应于本判决生效之日起十日内返还上海楷炬电子商务有限公司455,400元，并应于本判决生效之日起十日内支付上海楷炬电子商务有限公司违约金250,000元，段祺对上海微隆信息技术有限公司的付款义务承担连带责任;三、驳回上海楷炬电子商务有限公司的其余本诉诉讼请求；四、驳回上海微隆信息技术有限公司的反诉诉讼请求。                               相关法条                       《中华人民共和国合同法》第六十条第一款、第九十七条、第九十八条、第一百一十四条第一款；《中华人民共和国民事诉讼法》第一百七十条第一款第一项。                               法律问题                       计算机软件开发合同中的权利与义务。                               裁判观点                       合同各方当事人应当按照约定全面履行自己的义务。当事人一方履行合同义务不符合约定的，应当承担赔偿损失等违约责任。当事人可以约定一方违约时应当根据违约情况向对方支付一定数额的违约金，也可以约定因违约产生的损失赔偿额的计算方法。                               注：本摘要并非判决书之组成部分，不具有法律效力。