中华人民共和国最高人民法院 民 事 判 决 书 （2020）最高法知民终1159号 上诉人（原审原告、反诉被告）：浙江追地道信息科技有限公司。住所地：浙江省绍兴市新昌县南明街道环城西路**。 法定代表人：金权，该公司董事长。 委托诉讼代理人：李嘉兴，浙江甬望（宁波石化开发区）律师事务所律师。 被上诉人（原审被告、反诉原告）：杭州微风口网络科技有限公司。。住所地：浙江省杭州市临安区青山湖街道大园路**科创大楼**201-10 法定代表人：杨大勇，该公司总经理。 委托诉讼代理人：杨大耀，该公司员工。 上诉人浙江追地道信息科技有限公司（以下简称追地道公司）因与被上诉人杭州微风口网络科技有限公司（以下简称微风口公司）计算机软件开发合同纠纷一案，不服浙江省宁波市中级人民法院于2020年5月22日作出的（2019）浙02知民初353号民事判决，向本院提起上诉。本院于2020年7月27日立案后，依法组成合议庭进行了审理。本案现已审理终结。 追地道公司上诉请求：撤销原审判决书第二、三项并改判微风口公司向追地道公司返还已经支付的全部开发费用96000元并赔偿相应利息损失（以96000元为基数，自2019年1月5日开始按同期银行贷款利率计算至微风口公司实际履行之日止）。主要事实和理由：根据原审法院认定，微风口公司的违约行为致使合同目的不能实现，追地道公司作为守约方不存在任何过错，有权要求解除合同。根据《中华人民共和国合同法》（以下简称合同法）相关规定，合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施，并有权要求赔偿损失。本案中追地道公司支付软件开发款的目的是获得符合合同约定的“追地道配菜系统”（以下简称涉案软件），而因微风口公司未能交付符合合同约定的软件，导致合同解除，故追地道公司支付的96000元开发款应全部返还。微风口公司投入的人力物力损失是因自己的违约行为造成的，应自行承担相应后果。 微风口公司辩称：（一）涉案软件产品的系统框架和基本功能已经具备，合同目的已经实现。原审判决认定“涉案软件产品的系统框架和基本功能已经具备”，仅部分不重要的辅助功能未能实现（未完成的功能占所有功能不到2%）。存在个别数据显示错误等问题仅是软件使用过程中的细微瑕疵，不影响软件的整体使用，微风口公司也愿意继续修复；追地道公司需求变更造成开发陷入无序状态是出现上述问题的重要原因。（二）追地道公司反复提出修改要求，致使开发进度停滞，对合同最终解除存在一定过错。追地道公司从来没有对软件集中发表过验收意见，而是“挤牙膏”式地不断提出需求。由于双方大部分的交流是通过电话联系或者当面演示确定的，为了服务客户微风口公司必须第一时间进行修改，来不及签订补充协议，但这是软件开发行业之常见做法。（三）原审判决支持的开发费用本来就偏低。追地道公司反复提出修改要求导致微风口公司付出了大量额外的成本。涉案软件产品的系统框架和基本功能已经具备的情况下，已经产生合同总金额的绝大部分成本支出。追地道提出的返还全部开发费用的主张没有法律依据。（四）项目无法继续进行是追地道公司拒绝验收软件的主要原因。由于项目涉及环节多，资金需求大，而追地道公司自己也说不清商业模式，双方边开发边明确需求。后来追地道公司发现自己项目商业模式存在严重问题无法落地。这样的项目没有人愿意投资，所以追地道公司只能终止软件开发工作。 追地道公司向原审法院提起诉讼，原审法院于2019年9月23日立案受理。追地道公司向原审法院起诉请求：1.判令解除追地道公司与微风口公司签订的《软件开发协议》；2.判令微风口公司返还追地道公司已支付的开发费用96000元，并赔偿追地道公司资金占用利息损失2784元（暂计算至2019年9月3日，并按同期银行贷款利率计算至微风口公司实际履行之日止）；3.判令微风口公司承担本案诉讼费用。微风口公司向原审法院提出反诉请求：1.追地道公司向微风口公司支付技术开发费用64000元；2.追地道公司赔偿微风口公司资金占用损失1404.41元（以64000元为本金，按照全国银行间同业拆借中心公布的贷款市场报价利率计算，自2019年8月4日起暂计至2020年2月13日，最终计算至追地道公司实际清偿之日止）；3.判令追地道公司承担反诉部分的诉讼费用。 原审法院认定事实：2018年12月13日，追地道公司与微风口公司签订《软件开发协议》，约定：追地道公司委托微风口公司为其开发名称为“追地道配菜系统”的软件，微风口公司负责完成软件的设计、开发、交付、使用培训及相关其他服务，并保证该软件能基本满足追地道公司的要求；自签约后且追地道公司付款起15天内，微风口公司完成软件的需求分析、原型设计；在确认产品原型设计稿并完成相关款项支付后60天内完成项目的UI设计、开发和内部测试、软件交付追地道公司进行产品测试、验收；项目总开发费用16万元，费用包括交付的完整软件源代码和相关文档成果的生产费用、已开发功能的BUG修复费用、系统功能使用咨询服务费用、在项目开发期内为完成项目确定功能开发需要调用的第三方接口费用、10台小票打印机。付款方式为：1.签约后2天内支付3.2万元作为项目启动的开发环境部署和产品原型设计，项目正式进入环境部署和产品原型设计阶段；2.追地道公司在微风口公司完成产品原型设计稿并经追地道公司确认之后2天内支付6.4万元，项目进入UI设计、技术开发阶段；3.微风口公司根据追地道公司确认的产品原型完成软件开发，正式交付追地道公司测试、验收确认通过后2天内，追地道公司支付4.8万元，微风口公司将项目部署到正式服务器，并正式上线运行；4.项目正式上线运行30天内，追地道公司支付1.6万元，微风口公司交付项目代码以及相关文档。签约后，追地道公司按约履行相应的付款义务，分别于2018年12月6日支付1万元、2018年12月20日支付2万元、2019年1月5日支付6.6万元，合计9.6万元。2019年1月10日，微风口公司在微信聊天中确认其将于2019年3月6日交付软件测试。2019年1月16日，微风口公司向追地道公司发送了软件原型图。后经协商，双方于2019年1月19日签署《追地道项目需求确认备忘录》，对部分产品功能进行了调整，对修改后的需求进行确认。修改内容包括自提点地图分布页面，地图，地图上加数字标提点列表数字标一一对应；辅料、制作工具、餐具……都是做三层分类；食谱套餐，也是做三层分类；邀请好友点餐，加菜跳智能点菜列表，可以进入单独的菜品详情页（需要评估）；学校午餐模块功能，PC（单独评估）等等。备忘录最后说明：“追地道项目开发需求收集2019年1月20日截止。甲方（追地道公司）未明确的，以新需求处理。新需求，进入重新评估处理。本期讨论的分校、特色食材预定、邀请好友的菜品详情页、供应商绑定用户、智能筛选、PC端、后台加工图、配单岗打印的操作EXCEL表可加减字段、学校模块。（单独评估核算）”。2019年4月9日，微风口公司向追地道公司演示了其开发的软件项目，但追地道公司认为软件开发未达到预期效果。2019年5月8日，追地道公司通过微信与微风口公司沟通，提出“今天8日是我（追地道公司）通知你（微风口公司）的交付时间，看来你们是不作理会了，而且连续三天没有汇报工作进度，系统里很多问题也不作解决，现在我们人工都坐着浪费不仅对项目产生影响，而且造成经济影响”。微风口公司则认为，现在修改的都是优化类项目，协议和备忘录约定的软件基本功能都已实现。2019年8月1日，微风口公司人员再次前往追地道公司演示软件产品，但追地道公司拒绝进行验收，并拒绝支付剩余的开发费用，双方因此酿成纠纷，诉至法院。 在一审庭审中，微风口公司将其开发的“追地道配菜系统”小程序软件进行了当庭演示，比照双方之前在《软件开发协议》和《追地道项目需求确认备忘录》确定的小程序原型需求，存在“家宴菜品类别管理”“家宴菜品类别新建”“会员卡充值卡管理”“优惠券领取明细查询”“线下优惠券管理”“首页导航标修改”“辅料、制作工具、餐具三层分类”“私人家宴定制”等需求的开发未达到约定要求的情况。微风口公司认为，前述项目未能完成，有的是事后经得追地道公司口头同意修改、有的是双方未达成一致意见、有的是新增模块需另计费用等等。另外，系统演示中也出现了部分模块菜品价格错误等问题。另，微风口公司为涉案合同的履行购入小票打印机一台，价格319元。 原审法院认为：根据合同法第八条之规定，依法成立的合同，对当事人具有法律约束力。当事人应当按照约定履行自己的义务，不得擅自变更或者解除合同。本案追地道公司与微风口公司为开发涉案软件而订立的《软件开发协议》和《追地道项目需求确认备忘录》，系双方真实意思表示，且无法律规定的合同无效之情形，应属合法有效，应当受到法律的保护。本案争议焦点主要是：一、涉案软件的交付时间如何确定？二、微风口公司是否存在迟延交付？三、开发的软件产品是否符合合同约定？ 一、对涉案软件的交付时间问题。根据《软件开发协议》约定，微风口公司应在确认产品原型设计稿并完成相关款项支付后60天内完成项目的UI设计、开发和内部测试、软件交付追地道公司进行产品测试、验收。2019年1月10日，微风口公司在微信中承诺将于2019年3月6日交付开发软件。2019年1月16日，微风口公司向追地道公司发送了软件需求文稿，并得到确认。但因双方又于2019年1月19日签署了《追地道项目需求确认备忘录》，对部分产品功能进行了调整，即对之前的产品原型进行了修改。故微风口公司之前作出的将于2019年3月6日交付软件测试的承诺，因双方备忘录的签订而失效。依据双方协议约定，微风口公司应于2019年3月21日前交付软件。 二、对本案微风口公司是否存在迟延交付的问题。本案微风口公司应于2019年3月21日前交付涉案软件产品，在庭审中，微风口公司提出，其已于2019年3月底交付了小程序端及后台端的登录方式，并于2019年4月9日和2019年8月1日两次向追地道公司交付合格的软件产品。追地道公司提出，2019年3月底时交付了小程序端及后台端的登录方式，是为了便于追地道公司查看软件开发进度用的，并非软件产品的交付；2019年4月9日的现场演示效果极不理想，所以没有通过验收，事后微风口公司又怠于与追地道公司联系后续改进事宜，有5月8日的微信聊天记录可以作证；到了2019年8月1日，微风口公司再次来演示，早已过了交付时间，并且还是有很多的错误和不完善，所以还是没有通过验收。原审法院认为，根据协议约定的开发进度、软件成果交付、付款结算方式等条款内容看，涉案软件产品的开发周期约为三个月左右，这与微风口公司之前对追地道公司的交付时间承诺也可以得到印证，微风口公司在答辩意见中亦认可根据调整后的需求，交付时间应为2019年3月21日。但在实际履行过程中，微风口公司的两次演示时间均晚于约定交付时间，已构成迟延履约。 三、对涉案的软件是否符合合同约定的问题。本案微风口公司虽曾两次向追地道公司演示软件产品，但均未得到追地道公司的验收确认。因双方均不能证明当时软件的具体情况，本庭只能以当庭演示的软件情况进行推定。从庭审演示情况看，涉案软件产品的系统框架和基本功能虽已具备，但与双方确认的需求相比，仍存在部分不符点，并存在个别数据错误。相关不符点和系统数据错误的存在已影响软件产品的正常运行和客户体验。对造成前述不符点和数据错误的原因，有的系新增优化模块所致，因双方在备忘录中已约定费用另计，不在本案开发合同范畴（如“家宴菜品类别管理”“家宴菜品类别新建”等部分开发项目）；其他未完成项目，如“会员卡充值卡管理”“线下优惠券管理”等，微风口公司提出已得到追地道公司事后口头同意或者双方未达成一致意见，但均缺乏证据佐证，故对该部分开发内容未达到约定的责任应由微风口公司承担；对软件中存在的少量系统数据错误等问题，也理应由软件开发方微风口公司承担相应的责任。 综上，原审法院认为，微风口公司作为软件开发方应按照双方确认的软件原型和需求，按期完成研究开发工作，交付研究开发成果。但根据已查明事实，微风口公司不仅未能在约定时间内完成交付义务，在原告催告后，仍未能在合理期限内提供合格的软件产品，构成违约。并且，即便到了2019年8月，经过微风口公司完善后的软件产品，仍未能达到双方需求确认的产品原型要求。因此，被告违约行为致使追地道公司的合同目的不能实现。原审法院对追地道公司要求解除合同之诉请，予以支持。鉴于双方合同仅履行至测试验收阶段，追地道公司已支付的96000元，超过了追地道公司就涉案产品的完成程度，原审法院综合根据项目总金额、合同履行程度、软件产品完成程度、微风口公司为研发投入的人力物力及其迟延交付产生的违约责任等因素，酌情确定追地道公司应支付的软件开发费用为50000元，对追地道公司多支付部分金额，微风口公司应予退还。追地道公司主张的逾期利息起算时间及计算标准，符合法律规定，原审法院予以支持。另，对微风口公司为本案合同履行所购入的1台小票打印机，因协议约定相关费用已计入开发费用，故不另作处理。追地道公司的部分诉讼请求具有事实和法律依据，原审法院依法予以支持。微风口公司关于已按约交付合格软件产品之抗辩，依据不足，不予采纳。对微风口公司要求追地道公司继续支付剩余开发费用并赔偿资金占用损失等反诉请求，缺乏事实依据，原审法院不予支持。据此，原审法院判决如下：一、确认追地道公司和微风口公司订立的《软件开发协议》解除；二、微风口公司于判决发生法律效力之日起十日内返还追地道公司软件开发费用46000元，并赔偿相应的利息损失（以46000元为基数，自2019年3月22日开始计算，按同期银行贷款利率计算至微风口公司实际履行之日止）；三、驳回追地道公司的其他诉讼请求；四、驳回微风口公司的反诉请求。如果未按判决指定的期间履行给付金钱义务，应当依照《中华人民共和国民事诉讼法》第二百五十三条及相关司法解释之规定，加倍支付迟延履行期间的债务利息（加倍部分债务利息=债务人尚未清偿的生效法律文书确定的除一般债务利息之外的金钱债务×日万分之一点七五×迟延履行期间）。 二审期间，微风口公司向本院提交其于2019年4月11日、2019年5月13日向追地道公司发送的电子邮件及附件截图用于证明2019年1月19日签署《追地道项目需求确认备忘录》后，追地道公司对涉案软件开发提出新需求。 追地道公司的质证意见为：真实性认可，关联性不认可。2019年4月11日邮件附件需求栏、2019年5月13日邮件附件图片正上方文字系追地道公司针对涉案软件提出的修改意见，但该修改意见并非新增需求，而系因涉案软件不符合合同约定而提出的修改意见。 本院认证意见为：对上述证据的真实性予以认定，关联性本院在争议焦点部分进行具体论述。 本院另查明：2019年4月11日，微风口公司员工、本案委托诉讼代理人杨大耀向追地道公司发送电子邮件，附件是名为“开发计划安排”的文档。文档列明需求二十余项，系追地道公司针对涉案软件提出的修改意见，包括“从目前全民分销改为申请审核分销，申请身份角色类别（不同类别平台配置，站点配置不同身份角色的分销比例）也可以申请不同业务类型（普通订单、家宴订单、到店订单），业务类型可以多选。小程序前端把菜品详情里面分销金额隐藏掉”“用户绑定供应商，用户扫供应商二维码之后和供应商进行绑定……”“加工中心体验店，用户下单，时候，对于用餐时间做判断……”“到店支付订单增加桌号字段”等内容。 2019年5月13日，杨大耀向追地道公司发送电子邮件，附件是名为“5-10配菜交流记录-杨大耀回复”的文档。文档包含追地道公司针对涉案软件提出的修改意见25项及杨大耀的回复意见，如“2.小程序用户端，菜品详情页，选择菜品规格，放到主料下面。杨大耀回复：类型：非技术类型bug,优化需求，处理办法：按照客户需求修改”；“3.小程序用户端，站点选择页、首页轮播图，可以自动滑动；杨大耀回复：类型：非技术型bug，优化需求。处理办法：按照客户需求修改”；“新需求：3.当主料库存为0时，也只能下次日订单。杨大耀回复：新主干业务逻辑型，新需求。处理意见：不修改……”；“8.当订单状态还没有变成自提点待取货时，用户可以更改自提点；杨大耀回复：分类：新主干业务逻辑型，处理意见：不修改……”。 原审查明的事实属实，本院予以确认。 本院认为，本案二审期间的争议焦点为合同解除的法律效果，为此首先需要分析导致合同解除的原因。 关于合同解除的原因，追地道公司主张，涉案软件于2019年4月9日进行了现场演示，效果极不理想，没有通过验收，事后微风口公司又怠于与追地道公司联系后续改进事宜，追地道公司有权解除合同。 本院认为，对计算机软件开发合同纠纷，应围绕双方确认的功能需求对开发成果是否符合合同约定进行审查。功能需求可能在合同履行中随着双方交流、委托工作的阶段性完成而逐渐明晰，委托方在软件开发过程中提出增加或调整功能需求的方式，不应对开发行为造成过度影响。因委托方增加或调整功能需求而导致开发周期延长，合同约定的交付时间应顺延；增加的功能超出了订立合同时约定的开发范围，导致开发费用增加的，开发方有权提出增加开发费用。对于不符合合同法第九十四条规定的法定解除条件，但考虑合同性质、履行情况等，合同无法继续履行的，可以判令合同解除，在确定合同解除的法律效果时，考虑双方在履行合同中的过错和合同履行情况后综合确定。 对于现场演示中软件存在的问题，追地道公司主张以原审法院的认定为准。原审法院对该问题的认定为“涉案软件产品的系统框架和基本功能虽已具备，但与双方确认的需求相比，仍存在部分不符点，并存在个别数据错误。相关不符点和系统数据错误的存在已影响软件产品的正常运行和客户体验。对造成前述不符点和数据错误的原因，有的系新增优化模块所致，因双方在备忘录中已约定费用另计，不在本案开发合同范畴……其他未完成项目……微风口公司提出已得到追地道公司事后口头同意或者双方未达成一致意见，但均缺乏证据佐证。”据此，在2019年4月9日现场演示时，涉案软件已经具备系统框架和基本功能，但因新增优化模块等问题，软件正常运行存在问题。此后，微风口公司二审期间提交的新证据可以证明，其于2019年4月11日和5月13日两次通过邮件与追地道公司沟通，邮件内容是对追地道公司提出的修改要求的汇总。从4月11日的邮件看，追地道公司提出了二十余项需求，不仅包括已有功能的细化和完善，而且增加了新的需求。对此，合同双方应本着诚实信用原则积极协商，推进合同的继续履行，但从2019年5月8日追地道公司与微风口公司的微信沟通记录看，双方并未就此达成一致，合同履行陷入停滞。对此种情况，并非完全由于一方的过错所导致。微风口公司在4月9日现场演示的软件没有完成《追地道项目需求确认备忘录》的需求是主要原因，追地道公司在演示后还提出了新的需求造成软件开发工作量增加、开发周期延长，亦对此具有一定的过错。追地道公司在原审期间请求解除涉案合同，微风口公司在反诉请求中虽未提出解除的主张，但在二审诉讼期间表示，追地道公司反复修改需求，导致涉案合同无法继续履行，本院考虑涉案合同的性质、合同履行的现状，涉案合同已实际无法继续履行，判令解除追地道公司和微风口公司于2018年12月13日签订的《软件开发协议》。 关于合同解除的法律效果，追地道公司主张因微风口公司的过错导致合同解除，应返还其全部已付开发费用，并支付自2019年1月5日开始的利息损失。 本院认为，如上所述，考虑涉案合同实际已经无法履行的现状，本院判令解除涉案合同。但由于合同解除并非完全由于微风口的过错导致，在确定合同解除的法律效果时应考虑双方在合同履行中的过错。追地道公司已支付开发费用96000元，原审法院考虑项目总金额、合同履行程度、软件产品完成程度、微风口公司为研发投入的人力物力及其迟延交付产生的违约责任等因素，酌情确定追地道公司应支付的软件开发费用为50000元，并无明显不当，本院予以维持。此外，考虑微风口公司已经付出的劳动，本院判令其保留部分开发费用，对于该部分费用对应的已经完成的开发成果，微风口公司应交付追地道公司。 关于追地道公司主张的利息损失，双方于2019年1月19日签署《追地道项目需求确认备忘录》，对部分产品功能进行了调整，微风口公司承诺的交付时间2019年3月6日应相应顺延，原审法院认定自交付时间顺延后的次日，即2019年3月22日计付利息，并无不当，本院予以维持。 综上所述，追地道公司的上诉请求不能成立，应予驳回。原审判决结果正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项规定，判决如下： 驳回上诉，维持原判。 二审案件受理费2270元，由浙江追地道信息科技有限公司负担。 本判决为终审判决。 审判长  徐卓斌 审判员  雷艳珍 审判员  邓 卓 二〇二〇年十一月二十日 法官助理张文麒 书记员郭云飞 裁判要点                            案  号                       （2020）最高法知民终1159号                               案  由                       计算机软件开发合同纠纷                               合议庭                       审判长：徐卓斌             审判员：雷艳珍、邓卓                                                     法官助理：张文麒                       书记员：郭云飞                               裁判日期                       2020年11月20日                               关键词                       计算机软件开发合同；合同解除                               当事人                       上诉人（原审原告、反诉被告）：浙江追地道信息科技有限公司；             被上诉人（原审被告、反诉原告）：杭州微风口网络科技有限公司。                               裁判结果                       驳回上诉，维持原判。             原判主文：一、确认浙江追地道信息科技有限公司和杭州微风口网络科技有限公司订立的《软件开发协议》解除；二、杭州微风口网络科技有限公司于判决发生法律效力之日起十日内返还浙江追地道信息科技有限公司软件开发费用46000元，并赔偿相应的利息损失（以46000元为基数，自2019年3月22日开始计算，按同期银行贷款利率计算至被告杭州微风口网络科技有限公司实际履行之日止）三、驳回追地道公司的其他诉讼请求；四、驳回杭州微风口网络科技有限公司的反诉请求。                               相关法条                       《中华人民共和国合同法》第九十七条                               法律问题                       计算机软件开发合同的解除和解除后的法律效果                               裁判观点                       对计算机软件开发合同纠纷，应围绕双方确认的功能需求对开发成果是否符合合同约定进行审查。功能需求可能在合同履行中随着双方交流、委托工作的阶段性完成而逐渐明晰，委托方在软件开发过程中提出增加或调整功能需求的方式，不应对开发行为造成过度影响。因委托方增加或调整功能需求而导致开发周期延长，合同约定的交付时间应顺延；增加的功能超出了订立合同时约定的开发范围，导致开发费用增加的，开发方有权提出增加开发费用。对于不符合合同法第九十四条规定的法定解除条件，但考虑合同性质、履行情况等，合同无法继续履行的，可以判令合同解除，在确定合同解除的法律效果时，考虑双方在履行合同中的过错和合同履行情况后综合确定。                               注：本摘要并非判决书之组成部分，不具有法律效力。