全文
甲公司乙公司计算机软件开发合同纠纷一审民事判决书
上海知识产权法院
民事判决书
(2016)沪73民初872号
原告(反诉被告):甲公司,住所地上海市徐汇区。
法定代表人:俞某,董某兼总经理。
委托诉讼代理人:张某,某律师事务所律师。
委托诉讼代理人:符某,某律师事务所律师。
被告(反诉原告):乙公司,住所地上海市崇明区。
法定代表人:郑某,总经理。
委托诉讼代理人:郭某,某律师事务所律师。
丙公司(以下简称丙公司)丁某(以下简称丁某)计算机软件开发合同纠纷一案,本院立案后,依法适用普通程序进行审理。审理中,戊公司的反诉,并与本诉合并审理。2017年2月10日、5月3日、5月22日、6月22日、9月5日、12月6日,本院组织双方当事人进行了庭前会议和涉案开发成果的演示。根据案件审理需要,技术调查官王传极参与本案诉讼活动。2018年3月6日,本院公开开庭审理了本案,原告(反诉被告)丙公司的委托诉讼代理人张某,被告(反诉原告)丁某的委托诉讼代理人郭某到庭参加诉讼。本案现已审理终结。
原告(反诉被告)丙公司向本院提出本诉诉讼请求:1.己公司丁某2016年4月11日签订的《合同书》自2016年11月4日解除;2.庚公司辛公司支付的预付款人民币240,000元(以下币种均为人民币),壬公司实际支付之日(2016年4月20日)癸公司返还上述款项之日止,以240,000元为基数,按照中国人民银行同期贷款利率计算的利息;3.庚公司丙公司支付自2016年8月7日起至2016年11月3日的延期交付滞纳金35,600元;4.庚公司丙公司赔偿损失80,000元。事实与理由:丙公司丁某于2016年4月11日签订《合同书》,丙公司子公司开发“中盈TPA理赔系统”项目,根据合同约定,该项目应于2016年8月6日之前开发完成上线。涉案合同签订后,丙公司丑公司支付预付款240,000元,寅公司并未按照约定的时间完成项目开发工作,交付的阶段性成果亦不符合合同约定,卯公司多次催告,丁某仍未完成开发。辰公司的行为已经违反了合同约定,故根据法律规定及涉案合同的有关约定,丙公司于巳公司解除合同,午公司。丙公司认为,合同解除后,丁某未公司已经支付的款项,还应支付该款项的利息。丁某延期履行交付义务,应当根据合同约定承担相应违约责任,即以合同总费用800,000元为基数,申公司提出解除合同之日止,按日0.05%支付延期交付滞纳金。此外,酉公司严重延期履行合同,丙公司为避免损失进一步扩大,不得不委托案外人另行开发TPA理赔系统,且由于时间紧迫,相应开发报酬只能予以提高,造成差价损失80,000元,戌公司赔偿。综上,丙公司请求本院支持其上述诉讼请求。
被告(反诉原告)丁某针对本诉辩称:1.丁某付出了大量人力、物力、财力和巨额成本,已经基本完成了涉案项目的开发工作,并分别于2016年7月25日、8月12日、8亥公司提交了阶段性开发成果,涉案合同已经基本履行完毕,甲23公司要求解除合同的依据不充分,其支付的预付款也不应予以返还。2.在合同履行过程中,丙公司一直怠于提供项目需求,直至2016年7月26日才第一次主动提供项目需求报告,而且没有按约提供适用于项目开发的硬件即开发机(服务器),也没有提供TPA3.0数据库结构文档,乙24公司的开发工作时间延误,丁某丙25公司主张的延期交付滞纳金。3.丙公司丁26公司解除涉案合同的情况下,另行与案外人签订合同,戊27公司。己28公司提交的证据可以看出,其与案外人签订的合同中约定的软件功能比涉案合同约定的少二三十项,丙公司也未向案外人全额支付合同款项,甲23公司所称的差价损失不能成立,庚29公司承担。综上,丁某辛30公司的全部本诉诉讼请求。
被告(反诉原告)丁某向本院提出反诉诉讼请求:1.辛30公司要求确认涉案合同解除的诉讼请求,要求继续履行涉案合同;2.壬31公司支付剩余项目经费560,000元。事实与理由:涉案合同签订后,丙公司未按约履行提供项目需求报告的义务,丁某为了不耽误项目进程,主动分析系统项目需求,癸32公司进行确定,致使项目开发自2016年6月底才能开始。另外,丙公司子33公司可适用于开发的开发机(服务器),以及TPA3.0数据库结构文档,又浪费了大量的开发时间。因此,丑34公司,丁某已按约履行了自己的责任和义务,不存在违约行为,涉案合同不应予以解除,应继续履行,丙公司寅35公司剩余的合同款项。综上,丁某请求本院支持其上述反诉诉讼请求。
原告(反诉被告)丙公司针对反诉辩称:1.根据涉案合同约定,丁某卯36公司的需求就是要求开发一款和TPA3.0功能完全相同的软件系统,丙公司辰37公司提供项目需求,丁某巳38公司提出的需求进行分析,做出了分析报告,甲23公司午39公司所称的一直怠于提供需求的违约行为。2.未40公司申41公司提供开发机(服务器),丙公司也没有提供TPA3.0数据库结构文档的义务,酉42公司千方百计跟原来的开发商沟通,拿到了TPA3.0数据库结构文档,戌43公司,甲23公司亥44公司所称的该两项违约行为。3.辰公司存在严重延期交付开发成果的违约行为,如果在此情况下不采取措施,甲45公司2017年主营业务受到很大影响,乙46公司才找案外人重新开发涉案项目,丙47公司解除合同,丙公司此行为并不构成违约。4.按照涉案合同约定,丁某交付的开发成果应包括八项模块,但其不仅延期交付,交付的成果也仅为三项模块,且不符合要求,甲23公司不需再向其支付剩余合同款项。综上,丙公司丁48公司的全部反诉诉讼请求。
本案审理中,当事人围绕本诉和反诉诉讼请求依法提交了证据,本院组织当事人进行了证据交换和质证。本院依据采纳的相关证据和当事人的陈述查明如下事实:
一、涉案合同的签订情况
2016年4月11日,丙公司(甲方)丁某(乙方)就“中盈TPA理赔系统”项目的开发签订《合同书》,该合同与本案有关的主要内容为:一、项目内容及技术要求1.戊49公司业务发展和管理的需要,决定委托乙方进行本系统的开发工作。本系统的有关功能需求,以甲方目前已有TPA系统已实现的所有功能为基准,乙方保证其开发的本系统可替代甲方当前系统的全部现有功能,并在性能上优化,具体内容可见本合同附件一(需求范围)。2.甲方委托乙方进行本系统的开发建设工作,系统由甲方确认项目的需求,提出基本的技术框架要求,乙方按照业务需求进行系统的详细设计、开发、调试以及上线辅导等工作……。3.乙方应根据附件一之要求,按照项目管理开发规范,开展系统开发工作。4.在本合同生效之日起五个工作日内,乙方按照项目的要求,提供详细的项目组成人员、人员分工、开发计划文档,以确认项目正式开工,该文件作为乙方项目启动的验收标准;在项目启动,做好全面的项目详细功能设计以后,乙方应向甲方提供系统详细设计并征得甲方认可;在项目基本开发完成准备上线前,乙方应向甲方提供系统测试报告文档;在系统正式上线后,乙方应该向甲方提供系统设计和软件代码以及其他相关文档(如操作手册等)。5.项目开发时间:本项目在2016年4月6日开始启动,同年8月6日之前开发完成上线。甲方有权利督促乙方按规定时间完成项目开发,有增加或修改内容双方需另行协商解决;在不影响进程的情况下,对于甲方的小规模变动的需求,乙方必须满足;若出现大幅度的变更,则甲乙双方商议延长开发周期,并另外核算变更引起的费用变更,乙方有权利不接受大幅度的变更。二、相互提供条件和协助事项(一)甲方责任1.为保证项目按进度进行,甲方应给予乙方积极配合,为乙方提供项目进行的必要条件。甲方应安排一名项目负责人与乙方保持联络,并提供详细的项目需求报告,按照项目需求报告,乙方方能开始进行详细的项目技术设计工作。2.甲方负责提供系统需求、试验场地和力所能及的有利于系统开发的支持;协助乙方进行项目的系统设计以及系统调试,与乙方配合完成系统验收工作,并予以签字确认。3.按照合同规定向乙方支付合同款项……。(二)乙方责任1.保证提供足够的具备丰富开发经验及开发能力的软件工程师开展本系统的设计、开发和调测等工作……。2.按附件一及本合同中有关条款明确的设计目标,安排按质、保量、及时、可靠地开展系统开发工作,并在项目计划中,乙方需提供里程碑供甲方监控乙方的开发进度……。三、履行方式(交付形式、地点、时间进度以及运输)1.本合同自甲乙双方签字之日起生效,除因本合同约定提前终止合同外,系统验收之日起正常运行3个月后,合同自然终止……。四、验收的标准、方式1.验收标准:以甲方当前.net开发的TPA系统功能为准,结合项目需求阶段甲乙双方确认的依据——附件一(TPA理赔系统需求范围)中所列的作为项目验收标准。此外,性能测试及安全性测试以通过甲方客户企业——己50公司的测试为准。2.项目正式上线后一周内启动项目验收流程,由甲乙双方组成验收小组,以现场验收方式进行验收。3.验收通过后双方应签署验收合格证明书,系统正式交付甲方。五、费用及支付方式1.本项目经费总计800,000元,由甲方支付给乙方。2.支付方式(分期支付):按照合同约定的付款期限,在完成该阶段任务并由甲方认可后进行付款。第1次支付项目总经费的30%,时间:合同签订后五个工作日内;第2次支付项目总经费的50%,时间:系统功能验收经甲方书面确认后五个工作日内;第3次支付项目总经费的20%,时间:上线验收经甲方书面确认后五个工作日内。3.发票形式及开具时间……。十、违约责任1.乙方未能按合同要求履行合同的,除应返还甲方已支付的合同款项以外,还应赔偿由此给甲方造成的一切损失。2.乙方有责任按期向甲方交付完整的源代码、用户手册和设计文档,实现项目中的所有功能,如因乙方自身原因,未能按时交付,则每延期一天,甲方将扣除乙方总费用的0.05%作为补偿。在履行合同的过程中,如果乙方将不能按照合同规定的时间履行合同时,应该及时以书面形式将拖延的事实、可能拖延的时间和原因通知甲方。甲方在收到乙方通知后,应尽快对情况进行评价,并确定是否酌情延长乙方履行合同的期限以及是否收取误期违约金。延期应通过修订合同的方式由双方认可……。十一、项目合同终止由于乙方不履行合同或严重违反合同,造成合同部分或全部无法履行时,甲方除有权向乙方索赔外,并有权部分或全部终止合同。对于部分终止的合同,乙方除应承担合同第十条规定的责任外,还应继续履行合同的剩余部分。1.违约终止合同下述事项发生时,在甲方对乙方违约而采取的任何补救措施不受影响的情况下,甲方可向乙方发出书面违约通知书,提出终止部分或全部合同:(1)如果乙方未能在合同规定的期限或甲方根据合同条款的规定同意延长的期限内提供部分或全部的服务或工作产品,达到合同所规定的要求;(2)如果乙方未能履行合同规定的其他任何义务……。本案审理中,双方一致确认,涉案合同实际并未附合同中约定的附件一(TPA理赔系统需求范围)。
二、涉案合同的履行等情况
(一)2016年4月20日,丙公司丁某支付第一期项目经费240,000元。
(二)涉案合同履行过程中,丙公司、丁某相关人员之间的往来电子邮件、微信聊天记录情况:
1.2016年5月3日14:59、15:01、15:17,丙公司庚51公司牟子实发送主题分别为“转发:规则”“转发:北京中智方案比例”“转发:北京中智的保险方案”的电子邮件,并附相应附件“中盈整理规则.xlsx”“Book1.xlsx”“保险方案(供北京中智)1014-1.doc”。同年5月16日15:37,辛52公司胡某、沈某发送主题为“Fwd:tap进度分析和计划”的电子邮件,并附相应附件“pta开发计划.xls”。该开发计划显示:需求分析从2016年5月16日开始至2016年6月30日截止;开发安排从2016年5月16日开始至2016年10月30日截止,其中9月1日至10月30日,预期目标为测试、bug修改、最终版本release。同日17:37,胡某回复牟子实“麻烦看看计划是否还有需要修改添加的地方。”该电子邮件的附件“TPA项目开发计划表”显示,项目开发共分为需求、开发、调试、交付四个阶段,开发阶段从2016年6月1日开始至2016年8月31日截止;调试阶段从2016年9月1日开始至2016年10月7日截止,其中9月1日至9月30日,预期目标为分功能测试、bug修改,10月1日至10月7日,预期目标为历史数据迁移;交付阶段从2016年10月8日开始至2016年10月31日截止,预期目标为试运行。同日23:33,牟子实将胡某发壬53公司法定代表人郑某和另一人员林晓,内容为:“胡总调整的新项目进度表。”
2.2016年5月23日13:14,牟子实向胡某、沈某发送主题为“TPA系统调研”的电子邮件,内容为:“这是经过上周调研后整理的TPA系统与ERP系统流程图,以及TPA系统数据结构分析表。”该电子邮件的附件包括“ERP流程图.png”“TPA流程图.xls”“TPA数据库分析.xlsx”。同年6月15日17:23,癸54公司法定代表人郑某等发送主题为“中盈TPA系统开发需求文档模块确认通知”的电子邮件,并抄送胡某、沈某等,内容为:“TPA系统的‘基本信息’模块需求分析工作完成,客户已经确认。可于今日起推进至下一工作阶段了。”该电子邮件的附件为“中盈TPA系统需求说明书.docx”。次日18:05,丙公司子55公司法定代表人俞某、胡某、丑56公司法定代表人郑某发送主题为“TPA系统开发进度会议纪要”的电子邮件,内容为:“以下为今天下午的会议纪要,如有遗漏还请补充。沟通结果1)于6/16完成,对北京中智要求提供的需求报表进行系统模块增加,并对北京部分员工开放相关导出报表权限。2)6/20下周一前,it团队完成所有需求编辑汇总工作(包含之前遗漏部分);6/23下周四前,双方完成所有需求确认工作。3)双方已确认模块,即时进行开发。4)6/24下周五前,预估开发时间,制定模块细节开发计划。5)开发人员不少于3人,需严格按开发计划时间进行开发……。”同年6月22日17:10,牟子实向胡某、沈某、朱秀倩发送电子邮件,内容为:“TPA项目的系统需求分析文档已完成初步确认,请查阅。PS,需求.doc是待讨论的3.0修改意见列表。”该电子邮件的附件为“中盈TPA系统需求说明书_待确认.docx”。根据该需求说明书显示,涉案系统共包括基本信息、导入模块、基础库、保单管理、理赔管理、财务模块、报表中心、统计查询等功能模块(每一项模块下又包括多项功能)。次日9:29,胡某回复牟子实“对于附件的需求是根据目前网页的页面呈现和业务流程整理而出的,但是每个页面的层级,关连以及相关的IT逻辑我们是很难完全详尽,所以该需求中‘如有疏漏,实际还请以TPA系统现有模块为准’。不能以此为最终依据,造成今后双方工作理解的差异。”同日12:33,牟子实回复胡某“按照项目计划,本轮需求分析工作的目的是旨在明确TPA系统的全部业务功能,并落实成为一份详细且可操作的项目文档以供开发和未来的需求解释工作参考。因此,该文档的内容并不是最终系统开发的最终依据,而是为了使项目推进到下一个阶段,先将此内容作为后续开发的起点和依据来进行评估和确认。本轮需求确认通过后,郑工处便可即日起投入项目开发,后续需求需要讨论的部分也在昨天的邮件附件中已经提出,后面将通过‘新需求评估和已确认功能点同步开发,已完成模块的需求变更评估后确认开发计划’的模式进行,最大限度保证项目计划的顺利实施。”同年6月27日11:47,胡某回复牟子实“需求没有问题,确认。”
3.2016年6月26日22:56,郑某向俞某发送主题为“中盈TPA系统工作量及进度评估”的电子邮件,内容为:“根据梳理的需求,我们评估下来如果重新开发,工作量是半年也完不成的。这也是25日我没有发出这个评估的主要原因。但这两天我与开发团队沟通了几次,如果在原有java系统的基础上进行改造,是基本可以在原计划的时间内完成开发。而且这次我们的开发将采用迭代方式,即之前说的开发完成的功能在当周就发布。这种情况下,即使没有百分百完成系统的上线,主要功能都应该可以上线。可以保证不影响业务的正常切换。评估请见附件,细节问题我们明后天见面再商讨……。”该邮件的附件“中盈TPA系统工作量及进度评估.xlsx”显示,涉案系统包括的功能模块最晚完成日期为2016年9月25日。同年6月30日1:33,郑某向沈某发送主题为“开发进度”的电子邮件,并抄送俞某和胡某,内容为:“开发进度根据上次的约定,把最近一周的进度细化,请见附件。这两天我们研究了TPA3.0的保单相关表,发现他的数据库设计的非常不规范。另外我们也证实他们并没有对2.0的数据进行迁移……。”次日14:52,胡某回复郑某“……因为模块都只写了名称,具体内容根据目前TPA内容来进行。我下周一给你确认同步各模块人员,然后每天我们都沟通一下……。”
4.2016年7月7日10:47,沈某向郑某发送主题为“TPA开发相关事项备忘”的电子邮件,内容为:“根据我们昨天所谈,这周需要处理的事项,包括:“1)北京报表需要加五个字段,内容已电子邮件给您了,本周内完成。2)原有部署的发布环境的笔记本,因感染病毒,暂时采用隔离病毒并带毒运行方式,为此,今天我们将重新帮您安装ubuntuserver到您留下的台式机中,完成后,请您安排人员重新部署相应开发环境,本周内完成,完成后将带毒运行的笔记本关闭。3)分析韩总的数据库结构,将您需要了解的不清楚的问题以XLS表方式列出,我们将一并要求韩总答复,本周内完成。4)重新部署发布环境后,将已开发好的模块发布一版,我们营运部门将进行测试。5)请细化本月完成开发模块内容的时间进度表。”同年7月11日0:39,郑某回复沈某“需要小韩配合解释的数据库表都放在附件里面了,麻烦你让他们给出结果……。”同日16:14,郑某再次回复沈某,针对之前沈某向其发送的主题为“TPA开发相关事项备忘”的电子邮件中提到的事项1)-5)作了相应答复,其中事项1)答复“已经发布到生产环境“;事项2)答复“这个需要一些时间,争取20号之前完成”;事项3)答复“已经发出”;事项4)答复“今晚会发布一版,包含基础库和客户管理”;事项5)答复“见附件”。
5.2016年7月18日0:25,郑某向沈某发送主题为“本周项目事项小结”的电子邮件,内容为:“周末我们花了大力气迁移开发机的环境,现在git服务、maven服务和Jenkins都已经部署好,但是在迁移的时候发现版本不兼容的问题……另外3.0的数据库的注释需要再催一催小韩了。我们开发过程中遇到一些问题,周一或者周二我会电话或者到现场询问相关业务人员。”次日22:36,郑某再次向沈某发送主题为“项目备忘”的电子邮件,内容为:“1.因为现在小韩不肯提供数据库说明,我们的开发进度和数据迁移都会受到影响。因此我建议基于2.0的数据库上做扩展,没有的字段做添加。2.由于得不到源代码,如果3.0的系统交给我们维护,可以做到对数据的修改。如果对系统不做代码修改,是没有问题的。现在木江已经完成了基础数据模块的开发,因为牵扯到开发机迁移的问题,无法发布。本周三如果迁移无法完成,我们将启动应急方案……明天下午我会抽空去现场询问基本信息和基础库这两个模块的几个问题。本周四晚木江会发布程序。”
6.2016年7月20日16:02,郑某向朱秀倩发送主题为“关于TPA3.0系统的几个问题”的电子邮件,内容为:“为了区分几个系统,我们定义现在小韩做的系统为TPA3.0,现在北京还在用的是TPA2.0,正在开发中的是TPA4.0。有几个问题:一、基本信息模块……二、基础库模块……。”同日16:56,朱秀倩回复郑某,对于郑某在上述电子邮件中提出的问题均予以了回复。同年7月22日,俞某向郑某发送微信“郑工,我压着火,咬着牙,忍着屈辱去问小韩拿来的这些东西,最终会不会浪费掉啊?”郑某回复俞某“他这种状态给出的东西是真是假也难说。我先看看。”同年7月25日15:51,朱秀倩向郑某发送主题为“tpa4.0基本信息及基础库字段核对”的电子邮件,内容为“根据开发人员杨木江提供的tpa4.0测试网站http://172.16.18.8:90/joying-tpa-web对已完成的基本信息及基础库模块与tpa3.0进行核对后发现,目前tpa4.0版本只是在tpa2.0上略微进行调整,绝大部分模块及字段都有遗漏(详情可见附件对比表)。根据之前的开发计划2016年7月底之前需完成基本信息、基础库、导入等模块,但目前已完成的模块严重遗漏字段及内容,其他部分模块也并未完成。按此进度则无法在规定时间内完成所有模块,还请与开发人员沟通,抓紧处理。”同年7月26日15:49,丙公司的严文娟向郑某发送主题为“答复:tpa4.0基本信息及基础库字段核对”的电子邮件,内容为“如我们昨天讨论的,对于2.0版本与3.0版本主要的区别总结如下……下一步工作计划:目前阶段整个项目的时间是delay的,因此对于最主要的基础信息、导入模块、基础库以及保单管理的基本框架需要在本月底搭建完成,附件整理的TPA系统需求以及之前整理的需求文字,供参考!”同年7月27日12:52,郑某回复严文娟“昨晚我把PPT对照系统看了一遍,今晚我会跟开发把这些内容讲解一遍。需求里面的字段这两天我会逐个看,当中的问题我会总结出来发邮件给你。我们周四或者周五晚上再碰头聊一次。”同年7月28日8:38,严文娟回复郑某“附件是140个层级的方案设置,在Excel最后的透视表中可以看出,层级增加的原因是保额的不同,导致摆列组合的增加,这个部分我也想与你讨论具体方法,如果可以我们这两天都可以讨论一下!”
7.2016年8月10日15:17,严文娟向郑某发送电子邮件,内容为:“继我们上周三(8月3日)下午会议讨论后,本周一有一位同事过来,但是他没有具体的需求,不知道您这里是否有协调?本周二、三(今天)这位同事没有来我司,以上是目前人员的情况,如有后续还请麻烦回复;这周是否有新的发布可以给到我们,目前整个TPA项目的进度没有任何进展,还盼回复!”同日16:51,郑某回复严文娟“上周开会之后,由于基于2.0数据库基础上开发的功能方式你们不能接受。我们经过讨论,决定在3.0数据库的基础上做开发……明天晚上木江会再发一版。”同年8月12日11:10,郑某向严文娟发送电子邮件,内容为:“昨晚发布高仿3.0模式的新版本,目前只有系统管理以及基础数据中的医院和城市。”同日13:43,严文娟回复郑某“收到,发布的内容为医院、城市,里面的字段是正确的,但是没有功能(如导入、新增等)……”同年8月16日10:30,严文娟向郑某发送电子邮件,内容为:“寅57公司了,不知道本周是否有新一版系统可以发布,盼回复!”同年8月25日11:01,郑某回复严文娟“昨晚进行了新的发布……发布新的模块:基础库的剩余6个模块,基本信息中的客户信息,由于新加入的两位全职的工程师对一些技术框架和业务的熟悉有一段时间的过程,但未来会加速赶上进度。”
8.2016年9月1日18:56,郑某向严文娟发送电子邮件,内容为:“卯58公司、辰59公司列表、险种信息列表、雇员信息列表;巳60公司保单列表。另外有几个问题需要讨论一下,请严文娟帮忙看看。”同年9月2日8:51,严文娟回复郑某“收到发布的内容,都是无法进行操作的对吗?需要确认的问题,麻烦您发邮件给我们,因为有很多问题需要跟我们同事一起讨论,还请知悉!”同日11:34,朱秀倩向郑某发送电子邮件,内容为:“对发布的模块进行核对后,有以下部分有遗漏:雇员信息列表……公司保单信息……疾病信息库……公共责任列表……药品信息库……以上模块仅针对字段进行核对,实际功能及联动需后续理赔模块完成后,在实际操作中进行核实确认。另,邮件中所提及的问题是否可以汇总后发给我们。盼复。”同年9月6日14:29,郑某回复严文娟,将“问题.docx”作为附件发送给严文娟。同年9月7日12:22,严文娟回复郑某,对于相关问题予以答复。
9.2016年9月19日22:46,郑某向严文娟发送电子邮件,并抄送沈某、朱秀倩等,内容为:“今天进行了新的发布……发布的新的模块:基本信息:午61公司、险种信息列表、辰59公司列表、雇员信息列表、客户信息列表;保单管理:申请续保、人员保单列表、公司保单列表;理赔管理:赔案受理、赔案录入、赔案扫描(未接入扫描仪)、受理号码段(未接入打印机)、赔案初核列表(开发未完全完成)。这两周的开发速度逐渐在赶上进度,争取月底能跑通主要流程。感谢沈总、严文娟、朱秀倩这段时间的大力支持。”同年9月21日9:49,朱秀倩回复郑某“对本次发布的模块进行核对后,有以下部分有遗漏:雇员信息列表……人员保单列表……公司保单列表……受理号码段……赔案受理……赔案扫描……赔案录入……赔案初核……以上模块仅针对字段进行核对,实际功能及联动需后续理赔模块完成后在实际操作中进行核实确认。另,之前几次邮件反馈的缺少的模块也未修改。”
10.2016年9月29日,俞某向郑某发送微信“系统情况怎么样?”郑某回复“已经在开发赔款申请了,节前争取把主流程开发完。”俞某回复“按照合同不是什么主流程的问题,是该交货了吧?我下午去查一下合同。”郑某回复“嗯”。俞某回复“那你考虑下怎么办吧。”郑某回复“所以我想听听你的想法。”俞某回复“你想一个我能接受的方案吧。”
11.2016年10月18日14:14,沈某向郑某发送电子邮件,内容为:“鉴于你们新T某某开发违反合同规定、严重超期,就上周五和你所谈,公司决定中止与你们的合作,为此,我们IT部门将中断所有与新T某某开发相关的外部连接,营运部门也不再解答任何与新T某某开发相关的问题,特此通知。至于你和我们所签署的原ERP/TPA(北京T某某系统)维护合约依然有效,请维持原有工作,如需我们IT部门及营运部门协助,我们将一如既往提供协助。关于新T某某开发合同善后事宜,请您考虑下周给我们答复。”
(三)2016年11月3日,丙公司未62公司(申63公司向登记机关登记的住所地)发送《违约通知书》,主要内容为:酉64公司提供的信息,丙公司戌65公司签署合同书,丙公司子公司开发“中盈TPA理赔系统”。根据合同书约定,本项目应于2016年8月6日之前开发完成上线。合同书签署后,丙公司丑公司支付了预付款240,000元。寅公司并未于2016年8月6日完成本项目开发工作。卯公司多次催告,截至目前,丁某仍未完成本项目的开发工作。辰公司的行为已经违反了双方合同约定,亥66公司,并根据合同书的有关约定,甲67公司即日起解除并终止合同书。同时,丙公司乙68公司丙69公司承担其他违约责任的权利。同年11月7日,丙公司丁70公司(收件地址为上海市杨浦区某地XXX号长阳谷1号楼1409室)发送上述《违约通知书》。根据中国邮政速递物流信息网上的相关信息显示,前一次发送的《违约通知书》于2016年11月4日投递并签收,后一次发送的《违约通知书》于2016年11月8日投递并签收。
三、其他事实
(一)2016年10月28日,丙公司(甲方)戊71公司(乙方,以下简称戊71公司)签订《合同书》,约定甲方委托乙方进行“中盈TPA理赔系统”项目的开发建设工作;项目在2016年10月1日开始启动,2016年12月31日之前开发完成上线;此项目不含税费用合计为880,000元,含税合计906,400元。第1次支付项目总费用的50%,时间为合同签订后五个工作日内;第2次支付项目总费用的20%,时间为系统功能验收经甲方书面确认后五个工作日内;第3次支付项目总费用的30%,时间为上线验收通过且经甲方书面确认后五个工作日内。酉64公司提交的电子银行业务回单、电子银行流水、账户对账单显示:2016年11月4日、2017年4月14日、2017年4月24日、2017年8月14日、2017年11月9日、2017年12月27日、2018年3月20日,丙公司己72公司支付费用453,200元、166,800元、13,200元、180,000元、45,000元、157,590元、48,200元,合计1,063,990元。
丙公司提交的2017年1月12日《中盈TPA系统项目验收申请报告》载明:戊71公司开发的“中盈TPA理赔系统”已经通过验收,丙公司于2017年1月26日同意上线。该系统的验收内容包括理赔模块、数据管理、数据导入、系统接口、报表、工具、安全性等内容。
(二)本案审理中,庚73公司丁某辛74公司服务器中的涉案项目开发成果进行演示,壬75公司表示无法确定该服务器硬盘中的开发成果是否完整,要求将数据库与开发成果连接后再对开发成果是否完整予以确定。丁某尝试多种技术方案均无法将数据库与开发成果进行连接,故演示未能进行。
本院认为,丙公司丁某签订的涉案合同系当事人真实意思表示,合法有效,对双方当事人具有法律约束力,双方均应当按照合同约定全面履行自己的义务。根据双方当事人的诉辩意见,本案的主要争议焦点为:一、双方在合同履行过程中是否存在对方主张的违约行为;二、涉案合同是否应确认予以解除以及合同解除后的责任承担。
关于第一项争议焦点,丙公司认为,丁某的违约行为为迟延交付完整的开发成果,且交付的阶段性开发成果也不符合合同约定。丁某则认为,其已经基本完成了涉案项目的开发工作,不存在违约行为,癸76公司存在怠于提供项目需求报告、未按约提供可适用于开发的开发机(服务器)以及TPA3.0数据库结构文档的违约行为,丑34公司。
丙公司子77公司的违约行为,本院认为,首先,按照涉案合同约定的开发时间,涉案项目应于2016年8月6日之前开发完成上线。丑78公司丁某发送电子邮件中所附的“TPA项目开发计划表”显示,丙公司认可涉案项目开发阶段至2016年8月31日,从2016年9月1日开始至2016年10月7日为调试阶段(其中9月1日至9月30日,预期目标为分功能测试、bug修改),2016年10月8日开始至2016年10月31日为交付阶段。因此,涉案项目的履行期限应以该开发计划表所确定的时间为准。其次,根据本院查明的事实,涉案项目所涉“中盈TPA理赔系统”应包括基本信息、导入模块、基础库、保单管理、理赔管理、财务模块、报表中心、统计查询等功能模块,丁某寅79公司交付阶段性开发成果,但截至2016年9月19日,丁某交付的开发成果仅涉及基本信息、基础库、保单管理、理赔管理四项功能模块,其余功能模块均未交付。对于已经交付的开发成果,丙公司测试后提出了存在的问题,丁某亦未能举证证明相关问题已经修改完成。而且双方法定代表人2016年9月29日的微信聊天记录显示,丁某法定代表人郑某称“已经在开发赔款申请了,节前争取把主流程开发完”,据此可以说明当天涉案系统的开发工作仍在进行中,并未完成,而该时间点不但已超过前述开发计划表所确定的开发阶段期限,且也已超过卯80公司法定代表人俞某发送电子邮件所附“中盈TPA系统工作量及进度评估.xlsx”中列明的涉案系统功能模块最晚完成日期2016年9月25日。因此,丙公司子77公司的违约行为成立,本院予以认定。丁某的相关辩称意见,本院不予采纳。
丁某辰81公司的违约行为,本院认为:一、根据涉案合同约定,巳82公司确认项目需求,提出基本的技术框架要求,丁某按照业务需求进行系统的详细设计。丙公司应提供详细的项目需求报告,丁某按照项目需求报告进行详细的项目技术设计工作。根据本院查明的双方往来电子邮件的内容,丙公司午83公司提供了涉案项目的相关需求,丁某未84公司提供了经调研后形成的系统流程图及数据结构分析表等,同年6月22日,丁某又申85公司,酉86公司提供的系统详细设计,丙公司于同年6月27日对此予以确认,上述履行过程符合涉案合同的约定。丁某辰81公司怠于履行提供项目需求报告的义务,但并未提供相应证据予以证明,戌87公司亥88公司履行相关义务。二、根据涉案合同约定,丙公司甲89公司积极配合,乙90公司提供项目进行的必要条件;丙公司负责提供试验场地和力所能及的有利于系统开发的支持等。但涉案合同并未约定用于涉案项目开发的开发机(服务器)丙91公司提供,且在双方的往来电子邮件中,丁92公司提及原部署发布环境的笔记本,因感染病毒,戊93公司在台式机中重新部署相应开发环境外,己94公司庚95公司提供开发机(服务器)的相关内容。关于TPA3.0数据库结构文档的提供问题,辛96公司现有TPA3.0系统已实现的所有功能为基准,并可替代现有系统的全部现有功能,故TPA3.0数据库结构文档确属涉案系统开发之所需,丙公司有义务对此提供协助。涉案合同实际履行过程中,丙公司对此予以了协助,丁某亦于2016年7月22日前拿到了该数据库结构文档。三、丁某主壬97公司存在上述违约行为,而按照涉案合同的约定,在履行合同的过程中,癸98公司将不能按照合同规定的时间履行合同时,应该及时以书面形式将拖延的事实、子99公司;丙公司丑100公司通知后,应尽快对情况进行评价,寅101公司履行合同的期限以及是否收取误期违约金。寅公司卯102公司辰103公司,巳104公司发送的电子邮件中仍表示“由于新加入的两位全职的工程师对一些技术框架和业务的熟悉有一段时间的过程,但未来会加速赶上进度。”综上,丁某午105公司存在相关违约行为的主张,本院不予采纳。
关于第二项争议焦点,本院认为,《中华人民共和国合同法》第九十三条第二款规定,当事人可以约定一方解除合同的条件。解除合同的条件成就时,解除权人可以解除合同。涉案合同约定,癸98公司未106公司根据合同条款的规定同意延长的期限内提供部分或全部的服务或工作产品,达到合同所规定的要求,丙公司申107公司发出书面违约通知书,提出终止部分或全部合同。上述酉108公司可以解除合同的条件。如本院在第一项争议焦点中所述,丙公司子77公司迟延交付完整的开发成果,且交付的阶段性开发成果也不符合合同约定的违约行为成立,甲23公司委托戌109公司发送《违约通知书》,亥110公司解除合同,符合法律和涉案合同的约定。该《违约通知书》于2甲111公司,甲23公司关于要求确认涉案合同自2016年11月4日解除的诉讼请求,本院予以支持。丁某要求继续履行涉案合同的反诉请求,本院不予支持。
《中华人民共和国合同法》第九十七条规定,合同解除后,尚未履行的,终止履行;已经履行的,根据履行情况和合同性质,当事人可以要求恢复原状、采取其他补救措施,并有权要求赔偿损失。本案中,乙112公司的违约行为而解除,且涉案合同约定,丁某未能按合同要求履行合同的,丙113公司已支付的合同款项以外,丁114公司造成的一切损失,甲23公司戊115公司返还预付款240,000元的诉讼请求,本院予以支持。午105公司戊115公司支付预付款利息的诉讼请求,由于该预付款支付之日(2016年4月20日)涉案合同处于正常履行过程中,丁某亦在收到该款项后按照合同约定履行开发义务,己116公司支付利息,而应该以涉案合同解除之日即2016年11月4日作为支付利息的起算点,庚117公司辛118公司以240,000元为基数,从壬119公司实际返还该款项之日止,按中国人民银行同期贷款利率计算的利息。
癸120公司庚95公司支付剩余合同款项560,000元的反诉请求,鉴于涉案合同约定的剩余合同款项的子121公司丑122公司书面确认,寅123公司尚未完成系统功能验收前的开发工作,故上述剩余合同款项的支付条件均未成就,丁某的该项反诉请求,本院不予支持。
午105公司戊115公司支付延期交付滞纳金35,600元的诉讼请求,丙公司表示其该主张的依据是涉案合同中关于“乙方有责任按期向甲方交付完整的源代码、用户手册和设计文档,实现项目中的所有功能,如因乙方自身原因,未能按时交付,则每延期一天,甲方将扣除乙方总费用的0.05%作为补偿”的约定,卯124公司戊115公司返还已收取全部合同款项的诉讼请求,辰125公司庚95公司支付剩余合同款项的反诉请求,故不存在再按上述合同约定扣除相应费用作为补偿,丙公司的该项诉讼请求,本院不予支持。午105公司戊115公司赔偿损失80,000元的诉讼请求,丙公司虽为此提交了相关证据,酉42公司提交的《中盈TPA系统项目验收申请报告》显示,第三方开发的“中盈TPA理赔系统”巳126公司需开发的功能模块,丙公司提交的其向第三方支付的合同款项金额及付款时间,亦无法与其和第三方签订合同的相关约定予以对应,甲23公司午127公司的违约行为给其造成了该损失。因此,丙公司的该项诉讼请求,本院亦不予支持。
综上所述,依照《中华人民共和国合同法》第八条、第六十条第一款、第九十三条第二款、第九十六条第一款、第九十七条、第一百零七条规定,判决如下:
一、原告(反诉被告)甲公司与被告(反诉原告)乙公司2016年4月11日签订的《合同书》自2016年11月4日解除;
二、被告(反诉原告)乙公司应于本判决生效之日起十日内返还原告(反诉被告)甲公司合同预付款人民币240,000元,并应于本判决生效之日起十日内支付原告(反诉被告)甲公司自2016年11月4日起计算至2018年6月28日止的利息人民币19,063元,以及以人民币240,000元为基数、自2018年6月29日起至实际支付之日止、按中国人民银行同期贷款利率计算的利息;
三、驳回原告(反诉被告)甲公司的其余本诉诉讼请求;
四、驳回被告(反诉原告)乙公司的反诉诉讼请求。
被告(反诉原告)乙公司如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百五十三条规定,加倍支付迟延履行期间的债务利息。
本诉案件受理费人民币6,720元,由原告(反诉被告)甲公司负担人民币2,150元,被告(反诉原告)乙公司负担人民币4,570元;反诉案件受理费人民币4,700元,由被告(反诉原告)乙公司负担。
如不服本判决,可以在判决书送达之日起十五日内,向本院递交上诉状,并按对方当事人的人数提出副本,上诉于上海市高级人民法院。
审 判 长 吴盈喆
审 判 员 刘 静
人民陪审员 汤洪波
二〇一八年六月二十八日
书 记 员 朱丽娜
附:相关法律条文
《中华人民共和国合同法》
第八条依法成立的合同,对当事人具有法律约束力。当事人应当按照约定履行自己的义务,不得擅自变更或者解除合同。
依法成立的合同,受法律保护。
第六十条当事人应当按照约定全面履行自己的义务。
……。
第九十三条……
当事人可以约定一方解除合同的条件。解除合同的条件成就时,解除权人可以解除合同。
第九十六条当事人一方依照本法第九十三条第二款、第九十四条的规定主张解除合同的,应当通知对方。合同自通知到达对方时解除。对方有异议的,可以请求人民法院或者仲裁机构确认解除合同的效力。
……。
第九十七条合同解除后,尚未履行的,终止履行;已经履行的,根据履行情况和合同性质,当事人可以要求恢复原状、采取其他补救措施,并有权要求赔偿损失。
第一百零七条当事人一方不履行合同义务或者履行合同义务不符合约定的,应当承担继续履行、采取补救措施或者赔偿损失等违约责任。
本案法律依据
中华人民共和国合同法 第107条
中华人民共和国合同法 第60条1款
中华人民共和国合同法 第8条
中华人民共和国合同法 第93条2款
中华人民共和国合同法 第96条1款
中华人民共和国合同法 第97条
中华人民共和国民事诉讼法(2017修正) 第253条