基本案情
[我方为被告乙公司的代理人]
原告江苏某置业管理有限公司(以下简称甲公司)与被告南京某软件有限公司(以下简称乙公司)分别于2017年5月3日、2018年5月14日签订了《智能酒店、公寓及民宿管理技术合同书》(以下简称“一期合同”)、《智能民宿管理系统(二期)技术合同书》(以下简称“二期合同”),约定乙公司为甲公司进行智能酒店、公寓及民宿管理系统的设计开发(分为一期、二期进行)。其中,一期合同约定甲公司向乙公司支付开发总报酬135万元;二期合同约定甲公司向乙公司支付开发总报酬47.32万元。上述两合同履行过程中,甲公司向乙公司支付了合同款,共计104.196万元,其中90万元为一期合同价款,14.196万元为二期合同价款。2017年6月5日,乙公司就一期合同项目出具了《项目设计确认报告》。2017年6月16日,乙公司完成了《智能酒店、公寓及民宿管理系统详细设计》方案。之后,双方又进行进一步协商,作了一定的修改、优化。2017年9月4日,乙公司员工发送邮件给甲公司员工,就上周与甲公司经理进行业务沟通后所形成的修改意见和建议进行了归纳总结。2017年12月7日,乙公司技术人员向甲公司的技术人员等发送电子邮件,主题为“20171207-关于'智能酒店、公寓及民宿管理系统’上线计划的通知”,内容中显示管理系统定于2017年12月10日-12月11日整体上线。2017年12月11日,邮件显示管理系统已上线成功,并确定未来一个月将完成系统试运行阶段。2017年12月13日,乙公司对甲公司员工就民宿、公寓所有流程进行初步培训。2017年12月19日,乙公司向甲公司发送申请付款邮件,内容为乙公司开发的“智能酒店、公寓及民宿管理系统”的一期系统软件已在2017年12月10日全部上线,并于当天完成系统的部署、安装和调试,遂请求甲公司支付应于2017年12月15日支付的40万元合同价款。2018年1月23日,甲公司向乙公司支付了 40 万元。2018年5月21日,乙公司就二期合同出具了《详细设计》方案,甲公司作了确认。之后,双方技术人员和设计人员就具体的细节进行了沟通、修改和确认。2018年6月11日,乙公司的技术人员发邮件给甲公司多名员工,主题为幕后致选小程序,附件为软件测试单,邮件内容中提及乙公司于2018年6月11日完成幕后致选小程序测试,现已经发布至后台审核,请甲公司关注并做好测试准备,并提出了目前存在的问题。2018年6月12日至2018年8月16日期间,双方多次通过邮件、微信聊天方式就幕后致选小程序、幕后致选APP软件、PMS问题进行了沟通,乙公司出具了二期验收报告,但甲公司不予确认。
2018年9月6日,甲公司向乙公司发送律师函,律师函称 :甲公司已经按约支付了一期合同和二期合同费用共计1041960元。乙公司应于合同订立后80个工作日内交付一期的开发成果并完成调试工作,并于半个月后完成试运行,但是乙公司至今未能交付开发成果,开发的APP、PMS及小程序仍存在诸多问题。小程序中存在图片上传闪退、Banner图片不能点击、预订一级页面不过滤房态等;PMS上存在停售状态的房间可以正常预订付款、部分功能意义不明、会员管理系统混乱、民宿系统空壳、公寓办卡不能登录等问题。甲公司认为,乙公司的行为严重影响了其产品营销工作,给其造成了巨大的经济损失。因此根据双方订立的合同约定,甲公司要求立即解除双方订立的一期和二期合同,并要求乙公司退还已经支付的合同价款,并支付违约金。
2018年9月10日,乙公司针对甲公司的律师函回复称 : 1、一期合同已于 2018年1月20日完成交付,甲公司完成验收后支付了货款,现处于运维阶段。2、二期合同约定的研发成果已于2018年6月12日提交测试,并提交了验收清单,甲公司于2018年7月9日完成合同内小程序验收并签字确认。甲公司没有按约支付第二阶段价款,乙公司无法完成下一阶段(共三阶段)研发。乙公司于2018年8月16日提交整体测试,发起项目验收申请,甲公司至今没有任何回复。
甲公司诉至法院,请求涉案两份解除合同,乙公司返还合同款并支付违约金。
一审法院审理
一审法院审理后,归纳的争议焦点为:涉案合同是否应当解除,以及合同解除后应当如何确定双方的合同责任。
针对上述争议焦点,一审法院认为:涉案技术开发合同应继续履行。涉案合同为计算机软件开发合同,所涉软件开发较为复杂,不仅体现在整体架构上,还体现在每一个详细需求和功能上。合同双方在履行合同过程中,一直保持着密切的沟通与协商,且在确定了详细的设计方案后还在不断地进行修改、优化和完善。对于一期合同履行中存在的问题,首先,乙公司已经完成了所涉软件开发绝大部分的内容,且基本可实现约定的使用功能。其次,虽然没有证据证明交付的软件中缺失的功能模块系源于双方协议一致所致,但是在确定了设计方案后,双方仍然在不断地进行协商,对设计方案进行修改和完善。甲公司在所涉软件测试和运行很长一段时间内没有向乙公司提出该问题。综合看来,乙公司所述双方商定将该功能留至以后开发的辩解有一定的可能性。再次,缺失的和存在问题的功能模块只是占了总体内容的很小一部分,可以通过开发和优化解决,且该软件已经上线运营了一段时间。因此,乙公司基于一期技术合同所交付的合同标的,虽然存在问题,但是基本可以实现合同目的,在甲公司经运行并及时向乙公司提出以及乙公司进一步对软件进行开发和优化的情况下,可以实现合同目的。在目前的情况下,解除该合同缺乏必要性。
对于一期合同履行中存在的问题 ,乙公司已于2018年8月16日将基于该合同约定所开发的软件交于甲公司,以供其测试和验收。但是,在合同约定的测试和验收期限内,甲公司并未就测试和验收情况向乙公司进行反馈,而是选择于2018年9月6日通过律师函的方式指出软件中存在的问题并要求解除合同,这与合同中有关测试和验收条款的约定相悖。因此,该合同项下存在的问题可以通过测试、验收、反馈和优化等方式解决,并无解除合同的必要。综上,对于涉案一期合同中存在的问题,甲公司可以通过与乙公司及时沟通和反馈得到解决,但是其没有及时提出,而是在之后较长时间方才直接提出解除合同,故其解除合同等诉讼请求不应得到支持;对于涉案二期合同中存在的问题,甲公司亦可通过测试、验收并向乙公司进行反馈以及要求其进行优化等方式解决。因此,法院对于甲公司要求解除涉案合同、返还财产和赔偿损失之诉讼请求不予支持。
由于乙公司在履行涉案一期合同过程中确实存在履行行为没有完全达到合同约定之情形,且二期合同的履行尚且存在诸多问题,需要其继续履行合同,以完全履行合同之约定,实现合同之目的。涉案两份合同不应解除,双方应当继续履行。
一审法院判决
一审法院判决如下:驳回原告甲公司的全部诉讼请求。
二审法院审理
二审中,双方没有提交新证据。一审法院查明的事实基本属实,二审法院予以确认。二审法院认为,本案的争议焦点问题是 : 涉案合同是否应当解除。乙公司是否应当退还合同款并支付赔偿金。
甲公司上诉提出,乙公司未向其交付符合合同约定的产品,且超出约定的开发期限,双方已无继续履行合同的必要,涉案合同应予解除,乙公司应退还其已支付的合同款项并支付赔偿金。对此,法院认为,首先,经一审法院勘验。双方在一期合同项下约定的功能已基本实现,仅存在少量未实现的功能和遗留的故障,且其中部分问题不能归咎于乙公司履行不当。2017年12月19日,乙公司向甲公司发送的邮件载明其已将该合同项下的系统软件在2017年12月10日全部上线,并已完成部署、安装和调试,要求甲公司支付合同尾款40万元。后甲公司向乙公司支付尾款40万元。且在2018年5月14日,甲公司与乙公司又签署了二期合同。根据上述证据显示,乙公司在收到甲公司要求其支付合同尾款的邮件后未对软件系统的使用提出任何异议,并支付该合同的尾款,随后亦签署了二期合同,故可以认定甲公司认可了乙公司完成了一期合同项下的主要义务。在乙公司已经基本完成开发义务的情况下,甲公司以乙公司未交付符合合同约定的成果,进而要求解除合同的主张没有事实和法律依据,法院不予支持。
其次,关于二期合同的履行情况,依据现有证据可知,在该合同履行过程中,乙公司的技术人员一直通过邮件等方式积极与甲公司的工作人员沟通,并未出现怠于履行合同的情况。2018年7月9日,张智华在二期验收报告上签字,确认验收通过。甲公司虽对于张智华的签字不予认可,但从原审查明的情况看,双方签订合同约定开发的软件实际使用方为甲公司的子公司幕后致选公司,张智华系幕后致选公司的法定代表人及股东,乙公司在软件开发过程中,与甲公司技术人员的邮件往来也多次抄送张智华,故应当认定乙公司有理由相信张智华有权代表甲公司在验收报告上签字。2018年8月16日,乙公司向甲公司发送的邮件,提请对二期项目进行最终验收,并重申按照合同约定,5个工作日内,如甲公司无任何反馈,乙公司将默认验收成功。甲公司对此未予反馈。通过原审勘验,二期交付的软件系统虽存在一定功能缺陷,但上述缺陷可以通过优化等方式解决。乙公司已实际履行了该合同项下的主要义务,合同并无解除的必要。
最后,涉案合同系计算机软件开发合同,作为开发方,乙公司的主合同义务为开发完成并交付符合合同目的的软件产品。如前已述,乙公司已经基本履行了合同主要义务。虽然双方合同第十二条约定,如因乙公司原因导致项目延期超过15日,甲公司有权单方解除合同并要求乙公司退还已支付报酬和给予赔偿,但甲公司并未证明上述延期系因乙公司单方原因所致,也没有在合同履行过程中向乙公司提出,同时考虑到甲公司在履行合同付款义务时,存在多次延期付款现象,双方在软件开发过程中,也存在开发内容的增减变更情况。故法院认为,在乙公司交付了成果要求对项目进行整体验收后,甲公司未积极回应,提出软件问题要求修改完善,反而以发送律师函的方式通知乙公司依照合同第十二条解除合同,要求乙公司退还合同款并支付赔偿金,有违诚信履约原则,法院不予支持。
二审法院判决
二审法院判决如下:驳回上诉,维持原判。
服务过程
代理人接受乙公司委托后,重点围绕以下三个方面作为主要代理思路:
1、两份合同的基本情况及付款情况;
2、涉案的软件系统的开发及上线情况,甲公司是否已认可并验收了涉案软件系统;
3、甲公司所列举的涉案软件系统存在问题及其他违约行为是否构成根本违约。
代理律师观点
本案的争议焦点问题是 : 涉案合同是否应当解除。乙公司是否应当退还合同款并支付赔偿金。代理人认为,涉案合同不满足解除条件,应继续履行。
首先,根据上文所述的代理思路,代理人对于甲方关于两份合同的款项支付进行了制表、明确列出,证明甲公司按照合同约定,在认可乙公司阶段性工作的前提下支付了合同款项。
其次,代理人认为两份合同中涉及的软件系统乙公司均已总体开发完成并上线,甲公司在本次诉讼前已用其行为认可并验收了乙公司软件,具体表现在:
1、从乙公司提交证据(双方各个阶段往来邮件)可以看出,乙公司在软件开发的整个过程均与甲公司保持密切联系,一期合同的款项并非一次性付清,除最后一期尾款10万元外,其余第一、二、三、四期款项经乙公司催告后,甲公司均予以支付;
一期委托开发技术合同中对于各付款阶段均设定了付款条件,如:第三阶段的付款条件为系统部署、安装通过双方调试后五个工作日内;第四个阶段的付款条件为一期系统在一个月测试后的5个工作日内。从常理推断,只有在乙公司开发的系统满足了甲公司的条件、获得甲公司认可的情况下,甲公司才可能付款。
2、一期委托开发技术合同内容原本是包含了一期、二期两个开发阶段,但一期项目完成后,甲公司未按约履行而是就二期开发内容向社会公开招投标,重新确定二期合同的开发人。经过比对,甲公司最终仍然选择了乙公司继续进行二期软件的开发,试问:如果甲公司对一期软件不认可,怎么可能继续选择乙公司进行二期开发?
3、在二期技术合同履行过程中,甲公司设立并持股99%的子公司南京某互联网科技有限公司(该公司的设立即为甲公司的软件开发服务,开发成果的软著也登记在该公司名下),其法人已对其中二期合同中的小程序部分予以签字验收(虽甲公司对其法人身份多方抵赖,通过其出庭作证已经证实其二期项目负责人的身份,有权利予以验收)。
4、乙公司于2018年8月16日发起对二期项目整体验收邮件(证据17),甲公司未按照合同约定的时间内向乙公司提供验收单,也没有在合理时间内完成验收,更没有提出及任何优化修改要求,应当视为已经验收。
第三,软件系统已总体开发完毕并交付,并且甲公司所列举的乙公司软件系统存在的问题及其他违约行为,除三个小功能缺失外其余均无事实及法律依据,因此代理人认为乙公司不构成根本性违约,甲公司无权解除合同。
针对甲公司在诉讼中提出的软件系统问题,乙公司“针对甲公司所列出的问题清单所作的答复”以及法庭检验官“勘验笔录”,现做简要总结意见如下:
1、由于甲公司在乙公司已当庭提醒其服务器过期需及时续费的情况下怠于缴纳费用,导致乙公司之前已为其安装的软件全部被服务器格式化。经过乙公司对软件的重新部署安装,在法院的主持下现已完成了对软件所有功能的检测。
2、本次软件开发涉及平台、公众号、小程序、app几个方面,通过比对我们可以看出双方无争议的、确实存在缺失或存在bug的功能仅为三处,分别为“公众号中的后台操作会员等级无法升级”、“公众号中已被预订房源仍可付款”及“TTV明细表缺失”,所占全部功能比例不足千分之一。并且此三个问题,均不是主要功能问题,属于前期双方都未被检测出的大功能项下遗漏的小问题,并且均不存在技术上的难度,乙公司已经完成修复立即可以提供给甲公司。
甲公司在庭审辩论期间夸大了上述三个问题的严重性,软件是需要实际运行才能发现其中缺失和bug,甲公司实际怠于运行使用软件,而非乙公司怠于进行修复。市面上成熟的订房软件如携程、IHG也会不时的出现bug,难道就此全盘否定整个软件吗?
3,其余甲公司所列问题,有的被明确证明根本不存在,有的为合同功能设计中未明确有此要求,有的是甲公司没有提供接口或完成商家信息录入,还有的是甲公司单方面认为设计不合理不符合其要求,但具体要求是什么?在法庭给予其5日举证期限后甲公司也没有提供相关证明材料。
综上,乙公司已向甲公司交付软件,并要求甲公司及时验收。软件需实际运行才能发现其中缺失和漏洞,甲公司实际怠于验收及运行使用软件,而非乙公司怠于进行修复,甲公司直接要求解除合同,有违诚信履约原则。所以,甲公司无权解除合同,乙公司无须退还合同款并支付违约金。
专业价值(特色)
近年来,随着移动互联网的发展,涉及移动端例如手机应用APP、小程序、网站等软件类开发合同纠纷明显增长,计算机软件开发合同纠纷的主要特点为:
(一)争议焦点相对集中。计算机软件开发合同纠纷中,单纯因拖欠合同款项引发的诉讼较少,实务中该类案件的争议焦点主要集中在开发成果是否交付及交付内容是否符合合同约定、当事人是否存在履行迟延、委托方合同目的是否实现的认定等问题。正如本案中,甲公司也是以乙公司交付的开发产品不符合合同约定为由要求解除合同。
(二)调撤率较高。其原因主要有以下两个方面 :一是当事人对合同履行事实的证据固定程度较低,举证较为困难,尤其是委托方缺乏证据意识并在技术事实的说明上处于弱势地位,故案件事实常常处于真伪不明的状态。二是案件事实复杂,诉讼成本较高。计算机软件开发合同履行期间较长,且履行过程中通常涉及需求的调整和变更,查明事实往往需要进行多次庭审。另外,有些技术事实需要鉴定,鉴定费用普遍过高。在本案中庭审中,法院也组织了计算机类技术调查官参与审理,对涉案软件进行验证。
(三)反诉比例较高。其主要原因在于:一是软件本身的技术性和软件功能项、模块项的不确定性,导致双方签署合同时对产品的详细设计或者验收标准的约定较为模糊;二是在开发过程中,委托方和开发方都有可能会依据开发情况对软件的功能进行调整和细化,容易导致双方对履约标准存在较大争议。而本案中,乙公司也对甲公司提起了反诉。
综上,本案具有计算机软件开发合同纠纷的典型特征,有代表性,对于同类案件的处理具有一定的指导意义。
业务成效
我方作为被告乙公司的代理人,在双方对于合同履行事实的证据固定程度较低,举证较为困难,并在技术事实难以说明的情况下,在合同约定的服务内容及软件需求、软件的交付时间、软件本身的验证结果双方对于软件的验收标准及验收情况、异议内容等多方面进行了充分辩论。
本案定性的重点在于计算机软件开发内容的比对,开发内容包括网站平台、小程序、app及公众号,并分为一期开发和二期开发阶段。代理律师对《智能酒店、公寓及民宿管理系统详细设计》中涉及的近万条功能内容及CRM、PMS、EMS、CDDS四个子系统,在法院技术调查官和公司技术人员的帮助下,逐一进行比对,发现问题的,需进行合理的解释,以证明问题不存在或者是因对方原因导致问题出现。这对律师提出了除法律知识以外的极高专业技术要求,也需要代理律师有着极强的责任心和认真细致的工作。最后,被法院认定存在BUG或遗漏开发的功能不足全部功能的千分之一,确认软件已基本完成开发。
本案还涉及软件开发著作权登记及上线的流程。代理律师通过对著作权登记证书的申请时间以证明软件交付的时间,对于软件上线的不通版本(IOS和安卓)以证明合同约定不明非乙方公司不履行义务,通过对服务期器注册、付款人的确定以证明服务期过期责任在对方公司,从而在各方面扭转了形势,以被告身份在一审、二审中均取得了胜诉。
在本案中也有诸多可供参考的裁判规则及注意事项:其一,当事人订立合同的动机并不当然等同于其合同目的,计算机软件开发需求应以涉案合同及其附件约定的详细设计方案为准;其二,软件开发方初始交付的软件通常需要进一步完善,需委托方对软件进行充分测试以提出改进需求,进而开发方进行改进优化,各方应积极履行其权利义务,怠于履行的一方,应承担不利后果;其三,软件开发合同的各方履行情况,应注意保留证据材料,通常以邮件、微信作为日常往来沟通的媒介。重要时间点,如上线时间、验收时间、测试回函,需以书面形式,并由双方负责人签字确认。