朝阳区
提问 18万律师在线解答
首页> 裁判案例>

软件委托开发方要求退还开发费用,代理开发企业获得最高院胜诉判决

最高人民法院

  福建XX公司、XX公司计算机软件开发合同纠纷民事二审民事判决书

  案由计算机软件开发合同纠纷案号(2021)最高法知民终1392号

  中华人民共和国最高人民法院

  民事判决书

  (2021)最高法知民终1392号

  上诉人(原审原告、反诉被告):福建XX公司。住所地:福建省泉州市晋江市XX。

  法定代表人:黄XX,该公司执行董事兼总经理。

  委托诉讼代理人:杜XX,北京市XX律师。

  被上诉人(原审被告、反诉原告):XX公司。住所地:福建省厦门市思明区观音山台东XX。

  法定代表人:张XX,该公司执行董事。

  委托诉讼代理人:洪淑芬,北京XX律师。

  上诉人福建XX公司(以下简称XX公司)因与被上诉人XX公司(以下简称XX公司)计算机软件开发合同纠纷一案,不服福建省厦门市中级人民法院于2020年3月15日作出的(2020)闽02民初374号民事判决,向本院提起上诉。本院于2021年7月21日立案后,依法组成合议庭,并于2021年9月15日询问当事人,上诉人XX公司的委托诉讼代理人杜XX、被上诉人XX公司的委托诉讼代理人洪淑芬到庭参加询问。本案现已审理终结。

  XX公司上诉请求:1.撤销原审判决第一项、第二项,改判支持XX公司原审诉讼请求或将本案发回重审;2.本案上诉费用由XX公司承担。事实与理由:(一)XX公司享有法定及约定的合同解除权,第一项诉讼请求具有请求权基础,原审法院认定XX公司发送《解除合同通知书》的通知行为无效,认定事实错误。根据原审查明的事实,在XX公司于2019年10月29日向XX公司发出解除合同通知前,2019年10月15日,XX公司即以自身行为明确表明其不准备继续履行后续软件开发工作,XX公司单方中止合同的履行不具有任何正当理由。XX公司不存在任何怠于履行合同的情形。即便XX公司存在未及时确认“创新区块链物流系统”XX功能设计的情形,也不影响其他小项目及功能的开发工作,不构成XX公司中止履行合同的事由。XX公司的行为已构成根本违约,导致涉案合同目的不能实现。根据合同法的规定,XX公司享有法定及约定解除权。

  (二)XX公司不存在任何违约行为,原审法院认为XX公司怠于履行协作义务系事实认定错误。1.从计算机软件开发的特点来看,其软件开发功能需求往往会进行相应的调整变更,XX公司需要根据自身的需求进行物流XX设计确认并非怠于履行协助义务。XX公司发送物流XX设计后,XX公司一直与XX公司沟通及内部沟通协调XX设计功能的需求。2019年9月20日,双方已经协商新的需求,而XX公司催告时间为2019年6月14日,XX公司不存在怠于履行合同协助义务的情形。2.本案需求一直无法确定的原因系因XX公司自身软件开发实力不强,其提供的物流XX设计不符合XX公司要求。XX公司一直结合自己实际需求进行调整,并多次与XX公司沟通XX设计事宜,不存在拖延的事实。

  (三)因XX公司构成根本违约,其理应返还已支付的合同款。1.原审法院认定XX公司实际完成工作事项事实认定错误。根据双方涉案合同第1.2条约定:“乙方会在开发前进行原型设计和XX设计,甲方应在软件开发前进行XX功能设计的确认”。双方的附件二仅是就创新区块链物流系统及运营模式进行了约定,是框架性、粗略性的约定,不能达到直接进行软件开发及功能开发的条件。因双方一直在就物流XX设计及需求进行沟通,在此期间,一方面XX公司从未告知过XX公司其就创新区块链物流系统所完成的工作事项、工作内容,仅仅是在开庭中提出其完成了部分功能模块。另一方面,XX公司在明知XX公司未确认XX设计,其发送催告函后仍进行功能开发明显不符合常理。事实上,原审法院认定的243项软件功能中基本实现的164项系XX公司在诉讼过程中完成的,其并未在合同履行期间完成相应的事项,该部分工作XX公司不应支付相对应的费用。2.原审法院根据XX公司完成的工程事项与实际收取开发款裁量比例明显失衡。从涉案合同第二条双方的服务阶段约定来看,阶段一包含五个小项目,其中赠送部分价格涵盖在其他小项目中。XX公司在每一阶段支付的款项不能孤立地认为仅是对应该阶段工作成果之对价,应理解为是软件开发整体工作对价的有机组成。原审法院直接按照报价认定系对应阶段的成果对价不符合计算机软件开发合同及行业的特点和习惯,加重了XX公司的付款义务。3.结合XX公司第一点上诉理由,XX公司行使合同解除权,通知送达XX公司后,涉案合同即已经解除,XX公司收取的合同款理应在合同解除后返还。

  XX公司辩称:(一)XX公司不存在根本违约导致合同目的无法实现的情形,XX公司不享有法定解除权,且合同并未赋予XX公司约定解除权。XX公司向XX公司发出《解除合同通知书》不产生合同解除的法律后果。但基于双方均不愿意继续履行合同,原审法院据此判决涉案合同自判决生效之日起解除,事实清楚、适用法律正确。首先,XX公司向XX公司交付区块链钱XV1.0.1版本进行测试后,XX公司未提出修改或调整意见,而是继续提出新增需求。关于创新区块链物流系统,在XX公司未确认XX设计及签署XX确认函却又要求XX公司对确定模块先行开发的情况下,XX公司完成了164项。该履行情况符合合同约定的阶段性开发任务,XX公司不享有法定解除权。其次,2019年10月15日XX公司向XX公司发微信称“双方合作先暂停”是因为XX公司在超过合同约定的开发周期后仍然迟迟无法明确需求,XX公司不得已只能要求暂停涉案项目开发,而非终止(解除)合同。涉案合同亦未约定XX公司有权单方解除合同,XX公司不享有约定解除权。再次,XX公司怠于履行协助义务在先,原审法院基于双方的意愿及行业特点判令涉案合同自判决书生效之日起解除并无不妥。

  (二)导致涉案项目无法有效推进的主要原因在于XX公司迟迟未能明确需求及签署物流系统XX确认函,已经构成违约。原审法院认定XX公司构成违约在先,事实清楚、证据充分。首先,在合同约定的四个月开发周期届满后、经XX公司多番催促的情况下,XX公司迟迟不予确认XX公司提交的材料、物流系统的XX设计已经构成违约。XX公司主张的协商新的需求是超越合同约定,在双方未能达成合意之前,双方仍应按照合同约定予以履行。其次,XX公司向XX公司发送物流系统原型后,XX公司并未提出任何修改或调整意见,其所谓XX公司提供的XX设计并非其想要达到的开发软件效果和目的缺乏相应的事实依据,不应予以支持。

  (三)如前所述,XX公司不存在根本违约的情形,导致涉案项目无法继续推进是因为XX公司怠于履行协助义务。且XX公司已经按照合同约定履行了阶段性开发任务,原审法院认定应按照开发进度确定对价事实清楚、证据确实充分,但关于开发进度对价的裁量结果严重偏低,不符合市场行情和自由裁量的尺度范围,XX公司考虑到诉讼成本并未提出上诉。请求依法驳回XX公司的上诉请求。

  XX公司向原审法院提起诉讼,原审法院于2020年4月16日立案受理,XX公司起诉请求:1.解除双方于2019年4月17日签订的《区域链消费通证服务合同书》;2.XX公司返还XX公司已支付的费用288000元及利息(其中240000元的利息,自2019年4月17日起至2019年8月19日按中国人民银行同期贷款利率计付,自2019年8月20日起至实际还款之日止,按全国银行业同业拆借中心公布的贷款市场报价利率,参照央行规定的逾期罚息利率标准计算;其中48000元的利息自2019年7月1日起至2019年8月19日按中国人民银行同期贷款利率计付,自2019年8月20日起至实际还款之日止,按全国银行业同业拆借中心公布的贷款市场报价利率,参照央行规定的逾期罚息利率标准计算);3.XX公司承担本案诉讼费用。

  XX公司辩称:其已经完成了绝XX部分工作内容,如XX公司愿意推进项目,会继续完善工作成果及协助完成软件上线,否则,在XX公司按约定及项目开发进度比例支付未结清费用后,同意解除合同。XX公司未收到《解除合同通知书》,XX公司解除合同的主张不符合约定的解除条件。XX公司积极按照合同约定履行己方义务,XX公司经多次催促无法明确需求,或不断提出新需求或修改意见,XX公司均积极响应。导致涉案项目暂时搁置的原因是XX公司超越双方合同约定及已确认的XX基础,要求增加颠覆性的系统功能。即便是双方未能达成合意,也不能归责于XX公司,不属于约定的退还情形,更不是XX公司有权单方解除合同的法定理由。

  XX公司向原审法院提出反诉请求,请求判令:1.XX公司向XX公司支付合同进度款492000元;2.XX公司向XX公司支付滞纳金123656元(滞纳金以未付合同款项492000元为基数,自2019年6月21日起按年利率24%暂计至2020年7月2日为123656元,实际应计至付清全部款项及滞纳金之日止);3.XX公司承担本案诉讼费用(包括案件受理费、财产保全费、公告费等)。

  XX公司针对XX公司的反诉辩称,XX公司不具备履行合同的能力,并最终导致项目搁置,给XX公司造成极XX经济损失,XX公司依法可解除合同,并要求XX公司退回所有的开发款项。第一,XX公司没有自己的技术团队,根本就不具备本案所涉开发能力,无法实现讼争合同约定的软件开发要求。第二,XX公司主张其完成了创新区块链物流系统、区块链钱X、白皮书的开发及制作,并向XX公司提交了该等工作成果明显违背事实。第三,讼争合同书第七条“违约责任”第5款约定“若因乙方开发原因,导致甲方项目不能上线运营,乙方应退回甲方所有开发款项”。

  原审法院认定事实:

  (一)关于合同的签订及内容

  2019年4月17日,XX公司(甲方)与XX公司(乙方)签订讼争《区块链消费通证服务合同书》,主要内容载明如下:项目名称:区块链消费通证服务。一、甲方的权利和义务。1.甲方委托乙方进行,并且在正式上线以后甲方拥有该项目的所有权和使用权。2.乙方会在开发前进行原型设计和XX设计,甲方应在软件开发前进行XX功能设计的确认,并签订确认函。甲方在对整体设计方案确认单确认并签字后,有权提出文字和内容的基本修改意见。3.在软件开发工作全部完成后,乙方应通过文字方式通知甲方,甲方应在60日内进行验收、确认。4.甲方应对该项目所登载内容的真实性、准确性、合法性负全部责任,并且不得侵犯乙方或任何第三方的合法权利,一切由此所引起的纠纷、争议及所涉及的法律责任均由甲方承担;甲方有义务保证乙方不会因此而受到任何损害。二、乙方的权利和义务。1.乙方有权按时收取此合同规定内项目的开发款项,如此权益不能得到完全体现,乙方有权暂停开发并关闭服务器。2.乙方有义务保质保量按时完成开发的任务。功能如下,详情见功能表单1:区块链钱X;功能表单2:创新区块链物流系统;3.服务器和运营过程涉及的短信费用由甲方提供;4.项目上线并运营3个月内,如有运营上有缺失功能,乙方有义务继续履行开发职责并补足功能……服务阶段一包括五个服务项目,具体为:1.创新区块链物流系统及流程(说明:功能见附件2),报价550000元;2.区块链钱X(说明:功能见附件1),报价160000元;3.白皮书(说明:白皮书中英文版,包含项目背景、项目介绍、商业模式、盈利模式、通证经济、融资计划、项目规划等),报价70000元;4.网站(说明:网站设计与开发),报价20000元;5.智能合约通证发行(说明:基于ETH发行平台通证),报价:赠送。服务阶段二的服务项目为对接商城系统(说明:对接商城系统接口),报价:赠送。备注:XX猩项目涉及到吃、住、行、娱、养、物流、入驻商城、积分商城等均可积分与币兑换及钱X涉及:1.增送管理(特指积分与Token打通,赠送代币后钱XToken相应增多和减少);2.兑换币管理(特指积分与Token打通,积分可以在钱X转换Token);3.增值与税分数量增加同步管理(特指积分与Token打通,当Token增减或减少时积分相应的变动);4.积分兑换商品管理(特指物流系统产生积分与XX猩商城系统积分打通用于商品消费);5.积分抵运费管理(特指XX猩商城系统积分与物流系统产生积分打通用于物流运费抵扣)。三、合同说明。1.甲方须在合同签订后十个工作日内提供软件所需的全部资料。2.该项目开发服务自合同签署且30%合同款项到账后项目正式开始启动。3.乙方依据与甲方沟通的模式进行白皮书书写工作,并与甲方事先确认好书写框架。4.该项目开发验证完毕后且此合同代表的甲乙方完全履约后,合作终止。5.该项目开发总周期四个月,其中三个月为项目开发时间,一个月为项目调试和测试时间。6.项目开发时间从合同签订当日开始计算。7.此项目开发方向,应符合附件3XX猩战略内容,其中物流系统需符合XX猩物流系统流程图。四、验收确认。1.甲方应在该项目开发工作全部完成后三日内,进行验收工作。2.验收合格后,甲方以书面方式签收。3.验收时,以整体设计方案确认单及甲乙双方签订的所有条款为标准进行核对。五、费用及付款。本合同总款项为800000元。1.甲方开发前首期支付240000元(30%),合同签订后24小时内打款。2.创新区块链物流系统原型,区块链钱XXX和通证发行完成,甲方在确认之日24小时内(以甲方签订确认函为确认时间),向乙方支付240000元(30%)。3.区块链钱X,创新区块链物流系统和网站开发完成,甲方在内部测试确认之日24小时内(以甲方签订确认函为确认时间),向乙方支付240000元(30%)。4.甲方应在正式上线验收完毕且白皮书验收完毕后三个工作日内,向乙方一并支付本合同余款,共计80000元。5.甲方应在项目正式上线开始后,按月支付乙方一年运维费用……七、违约责任。1.在合同有效期内,因不可抗力而造成一方不能履行合同规定的责任和义务,不视为违约。2.如甲乙双方在合同履行中发生纠纷尽量协商解决,协商、调解不成的,依法向厦门市思明区人民法院提起诉讼。3.如果甲方没有按时按照合同规定支付乙方费用,乙方有权终止服务,由此给双方带来的损失应有甲方赔偿或负责。4.如果乙方完全履行合同义务,且因甲方拖延款项,甲方需额外支付0.1%滞纳金每日作为赔偿。5.若因乙方开发原因,导致甲方项目不能上线运营,乙方应退回甲方所有开发款项。八、其他……2.甲乙双方不得随意终止本合同,否则视为违约,终止本合同必须将其决定提前30天以书面形式(邮件、传真、快件、挂号信)通知另一方。本合同终止后,如是甲方违约,甲方应将未结清的款项费用依原合同约定结合实际开发进度的比例所用的成本支付给乙方,并应在10天内结算完毕。

  《区块链消费通证服务合同书》还包括有附件一(功能表单1“区块链钱X”)、附件二(功能表单2“创新区块链物流系统及运营模式”)、附件三XX猩战略方向,作为涉案合同的组成部分。附件1约定“区块链钱X”有8个功能模块,对每个功能模块有约定功能细分内容。附件二约定“创新区块链物流系统及运营模式”有243项功能描述。附件三有XX猩物流流程图一副,及新华XX集团智慧物流项目背景分析等内容。

  (二)关于讼争合同书履行的相关事实

  2019年4月17日,XX公司向XX公司支付首期240000元。

  2019年4月18日,双方在组建的“XX猩物流项目组”微信群中开始就LOGO素材、XX设计等内容沟通。

  2019年4月20日,XX公司在微信群发送了三款页面设计内容给XX公司,说“风格页面尽快确定以下,我们好继续推进”。XX公司说“这两个设计风格都挺好,等黄X确认看哪个颜色更好”。

  2019年4月22日,XX公司在微信群说“页面风格确定用哪种?是否有修改的地方?请尽快确定下”。XX公司选择了其中一个页面。之后双方就区块链钱X、创新区块链物流系统的页面设计问题进行了多次沟通。

  2019年4月27日,XX公司在微信群发送了一个“XX猩.rar”压缩包,说“XX猩钱XXX做好了”。XX公司说“好,我尽快看”。之后双方就区块链钱X的功能问题进行了多次沟通。

  2019年5月10日,XX公司在微信群发送了一个“物流.jpg”压缩包,说“用户端和快递员端做好了,审核下,有问题请及时提出来”。XX公司说“好”。XX公司说“如果钱XXX审核可以的话,我们就开始开发”“把XX确认函分开签署”。XX公司说“钱XXX已经确认了,正好明天过来签署确认函”。XX公司说“拟定一下,先线上确认”“就是开发的话,钱X现在可以先开始,后面小的话可以再修正”。XX公司回复“恩”。

  2019年5月14日,XX公司在微信群发送了一个“后台页面.zip”压缩包,说“整套物流XX和后台原型都完成了,你现看下是否还有问题”。XX公司说“我先整体看下”。XX公司说“那我们今天过一遍,没问题我明天过来”。XX公司说“我先看下,这个也得约黄X,整体流程黄X肯定也得看”。XX公司说“不能再耽误时间了,能确定时间吗,没问题我明天过来”。XX公司说“模块我们都对过了,整体流程还需要串起来,确定的模块可以先做,今天黄X开会,我约好你就过来串讲以下”“整个流程在核对一下,确认没问题在约时间”。

  2019年5月21日,XX公司在微信群发送了一个“XX猩物流后台原型XXX”压缩包,说“您看下是否有需要修改的”。XX公司说“恩,我给你发个文档”。

  2019年5月22日,XX公司在微信群发送了一个“XX猩后台更新.zip”压缩包,说“对于庄XX提出的问题,我们已经改好了”。

  2019年5月23日,XX公司在微信群发送了一个“网点XXX”压缩包,说“网点端好了,您有时间看下有问题随时沟通”。XX公司说“好”。

  2019年5月24日,XX公司在微信群发送了一个“XX猩物流XXX”压缩包,说“按您要求改好了”。XX公司说“我在整体review一下”。

  2019年5月25日,XX公司在微信群说“XX和后台还有什么问题吗,没问题的话,我们就签署一下XX确认函就可以进行开发了”。XX公司说“现在是把代理商端融合到后台管理端了吗”。XX公司发送了一个“区块链消费通证项目XX确认函”压缩包,说“区块链消费通证系统XX确认函没问题麻烦签字,要进入开发阶段了”。XX公司发起了语音通话。

  2019年5月30日,XX公司在微信群说“能否确定下黄X的时间,就昨天沟通的功能上的问题开个语音会议争取确定下来”。XX公司说“黄X今天在忙,明天我问一下”。

  2019年5月31日,XX公司在微信群说“今天上午能沟通吗”。XX公司说“时间我无法确定,这几天黄X比较忙”。XX公司说“今天确定不了又得拖到下周,没时间了”。

  2019年6月3日,XX公司在微信群发送了三个XX装包“XX猩物流.apk.1.1”“XX猩(快递端).apk.1.1”“XX猩(司机端).apk.1.1”。XX公司说“没有IOS的吗”。XX公司说“XXX的,先看下,有问题再沟通”。XX公司说“打不开”。XX公司说“这是XXX版”“有下载看下吗”。XX公司说“有在WINDOWS上面XX装看了一下,XX的切换不流畅”。XX公司说“功能点呢,这是简单的测试版,主要看功能是否有修改的地方”。XX公司说“功能点还得挨个看,只是一个前端,不是整体性的,要是测试功能肯定要整体的”。XX公司说“意思是前端没有问题?”XX公司说“前端还在看。能否尽快出IOS,我们这边基本是苹果机器,我们会号召XX家都用一下可能更好”。

  2019年6月14日,XX公司在微信群向XX公司发送《XX猩物流项目延期通知函》,主要内容有“在项目研发中,由于XX公司未明确需求最终确认人且需求确认响应缓慢,中途做了XX量细节需求补充,从而导致XX确认函至今尚未签署,因此项目研发时间需在合同范围上进行延长,延长具体时间根据XX确认函签署时间而定”。XX公司法定代表人黄XX于2019年6月15日在微信群回复“系统内容都没有,应该是催你们才对”。XX公司立即回复“XX和原型是反反复复和你们进行沟通确认,也按你们要求进行修改包括添加的功能也没说什么,您说内容都没有,指哪些内容?”“XX啥时候能确认”。

  XX公司在落款时间为2019年6月21日的《XX猩钱XXX确认函》上签字盖章,该确认函主要内容有“1.APPXX设计确认包括色调、栏目、板块布局等;2.XX确认后才能进行程序开发;3.XX确认后不能修改版面架构和主色调,只能修改LOGO和页面文字内容;4.钱X首页预留福豆商城链接入口,福豆商场不是XX公司开发”。

  2019年6月22日,XX公司通过微信群向XX公司发送《XX猩钱XXX确认函-已签名》。2019年6月24日,XX公司在微信群向XX公司询问“XX猩钱XXX确认函和XX猩物流后台今天能确认吗”。XX公司回复“钱XXX确认函这边在走盖章流程”。XX公司问道“好的,物流原型呢”。XX公司回复“物流这块有些模块少了功能,还有分润和结算体系,这边在整理,得确认好了发给你”。XX公司问“还要多久?又一周了”。XX公司答“物流这块会抓紧,物流的肯定得保证在实际当中得能运营起来”。

  2019年7月1日,XX公司在微信群问到“项目还打算做吗?又一周过去了”。XX公司答道“钱X没有开始启动吗”。XX公司问道“上周说打款,打了一周还没到账”“XX确认函拖一周,打款又拖一周”。

  2019年7月1日,XX公司向XX公司支付48000元,XX公司内部汇款申请单载明“区块链物流系统原型,区块链钱XXX和通证发行完成付30%240000元。现只支付区块链钱XXX和通证发行的部分,约1/5比例”。

  2019年7月6日,XX公司在微信群问“物流后台还没有确定吗”“一周又过去”,XX公司回答“不光是管理后台,还有一些前端”,XX公司问“后台确定下来了?”,XX公司答“现在也可以给你,只是想把需求确认了再给你们”,XX公司说“需求确认需要等到什么时候去,有问题你们及时提出我们及时解决”。后,XX公司问到“福豆商城的接入到钱X需要用户的联调,下周能XX排吗”,XX公司说“物流的事怎么说”,XX公司说“物流整理了一份先发给你,你先看看,还有部分我得给黄X讲完”,XX公司说“还是全部确认好了再发给我吧”,XX公司说“商场下周会完成一版,下周看看你XX排一下嵌入钱X联调一下”,XX公司说“好的,没问题”。

  2019年7月11日,XX公司在微信群问“物流后台确定了吗”,XX公司“还没”,XX公司问“什么原因”,XX公司答“先发给你看看”,并发送《XX猩快递物流各系统(5)(1)》。

  2019年8月13日,XX公司在微信群向XX公司发送一串网址链接,说“IOS版先测”。XX公司说“我先看一下,正式测试的话肯定要测试用例”。XX公司回复“IOS测试没问题我们就测试XXX”。XX公司问“你们开发完软件要内部先做测试,到时候我们正式测试的时候要给我们测试用例,我们根据业务和测试用例在做测试”。XX公司答“我们内部已经测试了”。

  2019年8月20日,XX公司在微信群对XX公司说“帮忙加一下UXXD,谢谢”。

  2019年8月27日,XX公司在微信群问“在不在?钱X苹果手机还是下载不了”。XX公司发送一串网址链接后回复“打开这个链接,然后把UDID复制给我”“UDID加好了”。XX公司回复“好”。

  2019年8月27日,XX公司在微信群问“1.福豆兑WEC~WEC兑福豆;2.主流币闪兑WEC兑福豆;XXX兑主流币;4.XX企业积分兑换福豆;5.链接福豆商场、入驻商城;6.支付方式密码、刷脸、手势、指纹”“这些功能如何实现”。XX公司说“新增功能如果需要就放在二期,先把区块链钱X测试”“钱X测试拖的时间太长了”。

  2019年9月11日,XX公司发送了一串网址,说“钱X原型”,XX公司一个员工问“二期的原型?”,其另一个员工说“看一下哪些是新增的功能”,前一个员工又说“现在没有的,就都是新增功能”。

  2019年9月20日,XX公司在微信群问“钱X和物流系统的需求确定好了吗”,XX公司说“上次不是去你们那边跟你们确定了吗,目前在等你们这边出那个详细的报价文档,哪些是新增的,哪些是原有功能,然后再对应做下调整”“物流这边这两天需求确认一下,在发给你们,临时又变动了”。

  2019年9月25日,XX公司在微信群问“物流需求确定好了吗”,XX公司说“周五前确认给你”,XX公司说“这周之前一定要确认啊,马上就放假了”,XX公司说“好的”。

  2019年9月27日,XX公司在微信群说“怎么样了”,XX公司说“晚点给你”。

  2019年10月5日,XX公司在微信群发送了一串代码,说“这个是之前做的钱X原型,你参考下”。后又发送了一个文件“XX猩快递物流各系统”。

  2019年10月6日,XX公司在微信群说“现在有时间吗,把那个钱X的一些主要需求对下”。后双方进行了语音通话。

  2019年10月15日,XX公司说“双方合作先暂停,如果需要协商希望双方拿出态度,如果要走其他程序也是一种方式,希望双方知道整体项目上发生了什么,让整个进程拖成这个样子”。

  2019年10月29日,XX公司收到XX公司邮寄的《解除合同通知书》。

  (三)关于涉案软件的演示比对情况

  对于讼争合同约定的服务项目“区块链钱X”的开发需求与软件开发、交付问题,XX公司当庭陈述到“需求应当以合同书附件一‘功能表单1区块链钱X’约定为准,其并未同意XX公司后期提出的新需求”,“双方并未约定交付的是XXX版或苹果版软件,其于2019年8月20日发送苹果版XX装包给XX公司进行XX装测试,于2019年8月30日又发送了一次XXX版和苹果版XX装包给XX公司XX装测试”“有交付版本V1.0.1、版本V1.0.2软件,但尚无证据可以佐证交付了V1.0.2版本”。XX公司当庭陈述到“不应当以‘功能表单1区块链钱X’约定为准,其作为委托方依法可以变更合同内容,只是产生的费用双方需另行协商,变更后的需求是2019年9月11日其在微信群发送的钱X原型,其自行到XX公司处口头协商确定了;该钱X原型现保存在其员工手机内,不方便作为证据提交”,“双方口头约定交付的是XXX和苹果版软件,其于2019年8月30日收到XX公司发送的一次XXXXX装包,但是XX装包无法使用”。

  庭审中,双方同意以合同书中附件一“功能表单1”约定作为开发需求,与XX公司员工手机内开庭时下载的XXX软件V1.0.1版本进行演示比对。原审法院依法组织双方当事人就涉案软件的功能开发及使用状态进行了现场演示,演示结果为涉案软件完全具备“功能表单1”项下8个功能模块中的5个,其他3个功能模块中存有一些缺失。对此缺失,双方存有如下争议:XX公司主张“转账管理功能中,只能实现转出但不能收账;数字货币归集管理功能中,冷钱X没有实现;提现管理功能中,数字货币提现没有实现;虽然其他功能可以实现,但上述所缺失的功能系主体功能,缺失以后软件无法正常使用”。XX公司主张“既然已具备转出功能,就佐证可以收款;没有冷钱X功能是因为使用的是第三方IMTOKEN冷钱X;没有提现功能是因为已经实现的转账功能就是提现功能,即便存在所谓的功能缺失,也不影响主体功能”。

  另查明,对于讼争合同约定的服务项目“创新区块链物流系统及流程”的需求与软件交付问题,双方共同确认需求XX设计尚未明确、软件亦尚未交付。庭审中,双方同意以讼争合同书中附件二“功能表单2”约定作为需求,与XX公司员工手机内XXX版软件和电脑端软件进行演示比对。原审法院依法组织双方当事人就涉案软件的功能开发及使用状态进行了现场演示,演示结果为功能表单2所约定的243项功能中,164项功能符合功能说明约定;约定的微信小程序、微信公众号端没有开发。XX公司当庭主张“虽然前端、后端的部分功能有,但是两者结合起来的整体功能并未展示,无法确认功能完整性”,且“在XX公司没有确认XX设计下,XX公司不应自行进行开发,若由此造成损失,应由XX公司自行承担。”

  原审法院认为,(一)关于涉案合同是否应予解除。本案讼争合同书约定的“区块链消费通证服务”包括两个服务阶段。服务阶段一包括5个小项目(依次为“创新区块链物流系统及流程”“区块链钱X”“白皮书”“网站”“智能合约通证发行”),服务阶段二有1个小项目“对接商城系统”,各项目如前所述分别约定了对价。讼争合同书第1.2条约定“XX公司应在软件开发前进行XX功能设计的确认,并签订确认函”,第3.3条约定“XX公司依据与XX公司沟通的模式进行白皮书书写工作,并与XX公司事先确认好书写框架”。合同履行中,双方对服务阶段一中的“区块链钱X”“创新区块链物流系统”2个小项目,分别单独实施了XX功能设计开发、确认。可见,软件开发依约应以XX公司确认XX功能设计为前提,白皮书书写应由XX公司事先确认书写框架。但截止本案一审辩论终结,XX公司仅对“区块链钱X”项目进行过XX功能设计的确认。根据双方在微信群中的交涉和合同履行情况来看,双方签订讼争合同书后,XX公司完成“创新区块链物流系统”“区块链钱X”原型设计和XX设计后,多次催促XX公司确认XX功能设计,还发送《XX猩物流项目延期通知函》主张因XX公司迟延确认而应顺延工期。相较之下,对于“区块链钱X”开发项目,XX公司经XX公司多次催促下,直至2019年6月24日还仍处于“钱XXX确认函这边在走盖章流程”、2019年9月11日提出新的钱X原型。对于“创新区块链物流系统”项目,XX公司在XX公司多次催促下,都以“黄X今天在忙”“这几天黄X比较忙”为由不予确认XX公司提交的材料,乃至提起本案诉讼,也未确认该项目的XX功能设计。显然,双方在讼争合同书3.5条约定的“该项目开发总周期四个月”届满后,XX公司仍在提出新的钱X原型、未确认“创新区块链物流系统”XX功能设计,此时要求XX公司依约完成开发任务明显不合理。XX公司经XX公司催告后怠于承担上述协作义务,其行为已构成违约,依法应由XX公司承担相应的违约责任及后续软件开发延误的不利后果。

  但是,鉴于各个小项目之间具有一定独立性、阶段性,对于“区块链钱X”项目,在XX公司确认XX功能设计后,XX公司仍负有在合理期限内完成的义务。本案XX公司主张双方确认XX功能设计后还对新增功能达成口头合意,但从双方的微信沟通内容看,XX公司对XX公司新增的功能需求并未认可,且经原审法院当庭释明后,XX公司拒绝提供所谓新增功能后的“钱X原型”作为证据,此诉讼消极行为导致原审法院无法审查其新增需求内容,该“钱X原型”无法作为原审法院审查的依据。基于双方同意以讼争合同书约定的原需求进行演示比对,原审法院予以准许。XX公司主张双方口头约定交付的是XXX和苹果版软件,与XX公司实际发送过两款系统XX装包的事实可以相互印证,原审法院予以采信。现双方同意以XX公司举示的XXX系统V1.0.1版本进行演示,原审法院予以准许。经当庭演示的情况表明,“区块链钱X”已能够基本运行,但仅为XXX版本,且存在前述的三处功能缺失。因缺失功能已由双方明确在附件一“功能细分”项下,XX公司关于不存在功能缺失的辩称不能成立,原审法院不予采信。但从微信聊天沟通情况看,在XX公司发送XX装包后,XX公司一直未反映存在主体功能无法运行这一显然容易被发现的问题,反而继续提出新增需求,可见XX公司对软件延迟交付并无异议,前述功能瑕疵未导致软件无法正常使用,故XX公司关于“上述缺失系主体功能,缺失以后软件无法正常使用”的主张,缺乏事实依据,原审法院不予采信。基于软件还处于修改完善阶段,V1.0.1版本虽不是XX公司最终交付的版本,但可以据此反映在最终版本交付之前XX公司开发的XXX版本软件已具备合同约定的主要功能。

  考虑到XX公司已提前支付部分费用,测试的“区块链钱X”功能尚未达到双方约定,且各个项目存在一定的独立性、双方乃因其他项目沟通存在问题下,作为受委托人一方,XX公司仍负有继续完善“区块链钱X”开发的义务,但其却在2019年10月15日自行提出“双方合作先暂行”,未继续完善软件功能,该行为已构成违约,应当承担相应的违约责任。但是,“区块链钱X”只是讼争6个服务项目之一,在XX公司怠于确认其他XX功能设计下,XX公司在整体服务项目最后完成前仍有机会持续调整优化性能及最终交付合格软件,双方如继续共同善意履行合同,合同目的并非无法实现,这也符合双方在讼争合同书2.4条所约定的“项目上线并运营3个月内,如有运营上有缺失功能,乙方有义务继续履行开发职责并补足功能”共识。

  据此,XX公司已经履行了基本符合约定的阶段性开发任务,并未达到构成根本违约的程度,加之XX公司违约在先,在XX公司未能进一步证明其有权单方解除合同下,其《解除合同通知书》的通知行为无效。但,基于软件的开发特点,因合同履行涉及到较多的协作事项需双方善意履行,现双方已无继续履行合同的意愿,并考虑到涉案合同生效至今历经一年有余,从物流行业的发展速度、态势等客观因素分析,合同目的已难以实现,故结合本案的实际情况,原审法院确认涉案合同于本判决生效之日起解除。

  (二)关于XX公司是否应返还已支付的费用和利息,及XX公司否应继续支付合同进度款和滞纳金。本案中,XX公司已经部分履行了涉案合同的义务,完成了一些阶段性开发任务,其劳动应获得相应的对价。XX公司主张其已经完成白皮书和“区块链钱X”“创新区块链物流系统”开发及制作。但,关于白皮书,XX公司未能提供有效交付证据,应由其承担举证不能的不利后果。关于“区块链钱X”,因XX公司已如前述基本开发完成,涉案软件已具有独立的应用价值,原审法院将考虑“区块链钱X”包括8个功能模块、目前仅交付XXX版本及存在三个缺失功能,双方约定的总报价为160000元、未就具体开发功能模块约定相应的对价等情况,对XX公司此项开发成果的对价予以酌定。关于“创新区块链物流系统”,XX公司开发前,本来依约也应由XX公司事先确认XX功能设计。但,考虑双方已进行了多次XX功能设计的沟通,软件功能需求在附件二已有详细的约定,XX公司在2019年5月14日说“模块我们都对过了,整体流程还需要串起来,确定的模块可以先做”等情况,XX公司着手准备开发工作具有一定的合理性。现在涉案合同解除后,XX公司对上述阶段性成果必然付出了相应的人力物力财力,其劳动理应获得相应的对价。因XX公司未举证证明其开发的成本支出情况,原审法院将结合双方约定的此项服务总报价为550000元,约定的243项软件功能中XX公司已经基本实现了164项(完成率67.49%)等情况,根据相关市场行情,对XX公司该部分的工作量对价予以酌定。因此,在综合权衡前述合同履行的进度,结合讼争服务项目并未完成验收,合同解除后,XX公司客观上无需继续进行修正、维护、开发,其客观上减少了需要付出的劳动,同时考虑到双方互有迟延履行合同义务的违约行为,应相互承担违约责任,原审法院酌定XX公司应获得的工作总对价为288000元,因XX公司已支付XX公司288000元,故XX公司已获得的价款288000元无需返还,XX公司亦无需再支付其他后续合同尾款,双方各自诉求的利息或滞纳金也不再另行承担。综上所述,XX公司与XX公司于2019年4月17日签订的《区域链消费通证服务合同书》应予依法解除,XX公司其他本诉部分、XX公司反诉部分的请求均应驳回。

  原审法院判决:一、XX公司与XX公司签订的《区域链消费通证服务合同书》于判决生效之日起解除;二、驳回XX公司的其他本诉请求;三、驳回XX公司的反诉请求。案件受理费5620元,由XX公司负担;反诉案件受理费4978.28元,由XX公司负担。

  本案二审期间,双方当事人未提交新证据。

  原审查明的事实基本属实,本院予以确认。

  本院认为,《中华人民共和国民法典》(以下简称民法典)自2021年1月1日起施行,但依据《最高人民法院关于适用〈中华人民共和国民法典〉时间效力的若干规定》第一条第二款的规定,民法典施行前的法律事实引起的民事纠纷案件,适用当时的法律、司法解释的规定,但是法律、司法解释另有规定的除外。本案合同履行以及解除行为发生在《民法典》施行前,故本案仍应适用《中华人民共和国合同法》(以下简称合同法)的有关规定。合同法第八条规定,依法成立的合同,对当事人具有法律约束力。当事人应当按照约定履行自己的义务,不得擅自变更或者解除合同。

  本案系计算机软件开发合同纠纷,根据二审期间双方当事人的诉辩意见以及查明的事实,本案的争议焦点问题是:1.原审确定判决生效之日为合同解除日期是否适当;2.XX公司主张的合同款项应否返还。

  (一)关于原审确定判决生效之日为合同解除日期是否适当

  本院认为,XX公司向原审法院起诉的第一项诉讼请求系判令解除双方于2019年4月16日签订的《区块链消费通证服务合同书》,其在该具体诉讼请求及相应的事实与理由中均未明确主张合同解除的日期,原审法院依其该项诉讼请求,鉴于双方已无继续履行合同的意愿的事实,并根据合同的实际履行状况及合同目的已无法实现的情况,据情支持了XX公司的该项诉讼请求,并在XX公司未主张合同解除日期的情况下,确定判决生效日期为合同解除日期并无不当。

  合同法第九十四条规定:“有下列情形之一的,当事人可以解除合同:(一)因不可抗力致使不能实现合同目的;(二)在履行期限届满之前,当事人一方明确表示或者以自己的行为表明不履行主要债务;(三)当事人一方迟延履行主要债务,经催告后在合理期限内仍未履行;(四)当事人一方迟延履行债务或者有其他违约行为致使不能实现合同目的;(五)法律规定的其他情形。”XX公司称其具有法定及约定解除权,但首先,涉案合同并未对双方的解除权进行约定;其次,涉案合同明确约定软件开发应以XX公司确认IU功能设计为前提,但XX公司在XX公司多次催其确认XX功能设计并发送延期通知函后,迟迟未予确认,在合同约定的开发总周期届满后,XX公司仍在提出新的钱X原型需求且仍不确认“创新区块链物流系统”XX功能设计,在此情况下,XX公司才发微信表示“双方合作先暂停”,而在此之前XX公司并无其他违约行为,故应当认为系XX公司迟迟未确认需求及XX设计的行为导致了开发工作停滞。XX公司怠于履行合同协助义务,违约在先;而XX公司所发的微信内容仅表示暂停合作,其并未明确表示不履行合同义务,故XX公司发微信行为本身并不会导致合同目的无法实现,双方如能及时沟通、互相协助,XX公司及时确认需求及XX设计,涉案合同仍能继续履行,合同目的也能够实现。因此,XX公司称XX公司的行为导致合同目的无法实现的主张不能成立,XX公司并不具有法定解除权,其向XX公司发送《解除合同通知书》不发生合同解除的后果。

  对于XX公司称其不存在违约行为的理由,本院认为,计算机软件开发虽有功能需求随开发进程不断调整的特点,但正是基于该特点,合同双方更应积极配合,互相协助,及时确定需求,以便软件开发顺利进行,而不能以此为由怠于履行协助义务。本案中,XX公司作为软件开发的委托方,应尽快根据其需要确认需求及XX设计,并及时提出反馈意见,以便XX公司根据其确认意见进行下一步的软件开发。但在涉案合同明确约定XX公司应在开发前确认XX设计的情况下,XX公司迟迟未明确需求及签署XX确认函,在合同约定的开发周期届满后,依然未及时确认,其所称的新的需求也超出了合同的约定,故其称不存在违约行为的理由不能成立。XX公司称需求无法确认系XX公司软件开发实力不足、提出的物流XX设计不符合其要求所致,但需求及XX设计系在软件正式开发前XX公司根据自身需求及XX公司的原型或XX设计予以确认,而XX公司在XX公司多次催促其确认的情况下,既迟迟不予确认,也未提出调整意见,故需求未予确认系其行为导致,其称系XX公司原因导致需求无法确认、其不存在违约行为的主张,本院不予支持。

  (二)XX公司主张的合同款项应否返还

  本案合同签订后,XX公司着手进行了涉案软件的开发工作,并完成了一定的阶段性开发任务,付出了相应的劳动,并向XX公司交付了部分劳动成果,原审法院根据其所开发的“区块链钱X”及“创新区块链物流系统”的功能项目情况,结合相关项目的报价,综合权衡合同履行的进度及双方的违约情况等,酌情确定XX公司应支付的款项并判令XX公司无需返还所支付款项并无不当,XX公司关于原审确定支付比例失衡的主张,本院不予支持。XX公司称“创新区块链物流系统”中的164项功能系XXX子在诉讼中完成,但双方微信聊天记录显示XX公司已向XX公司发送了“创新区块链物流系统及流程”的XX装包,且原审法院在双方同意的情况下对XX公司提交的“创新区块链物流系统及流程”软件的功能开发及使用状态进行了演示,确定164项功能符合约定,故应认定XX公司完成了该部分的开发,XX公司称该164项功能系在诉讼期间完成的主张不能成立。

  综上所述,XX公司的上诉请求不能成立,应予驳回;原审判决认定事实清楚,适用法律正确,应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项之规定,判决如下:

  驳回上诉,维持原判。

  二审案件受理费5620元,由福建XX公司负担。

  本判决为终审判决。

  审判长傅X

  审判员李丽

  审判员汤锷

  二〇二一年九月二十七日

  法官助理郑XX

  书记员薛XX


其他案例:

下载本案例

基本信息

裁判日期:2021/09/26 星期日 16:00:00

审理法院:最高人民法院

行      业:软件开发行业

参与本案的律师

    关于我们 |业务介绍 |加入律图 |帮助中心 |网站地图 |意见反馈 | 不良信息举报>>

    Copyright©2004-2024 成都律图科技有限公司 版权所有 蜀ICP备15018055号-1 增值电信业务经营许可证(川B2-20160341)