山东省济南市中级人民法院民 事 判 决 书（2019）鲁01民初4067号原告：山东学也互联网科技有限公司，住所地山东省济南市。法定代表人：王爱凤，总经理。委托诉讼代理人：司建彬，山东柳泉律师事务所律师。被告：淄博海智物联网科技有限公司，住所地山东省淄博市。法定代表人：田鹏昌，总经理。委托诉讼代理人：韩旭吉，山东言博律师事务所律师。原告山东学也互联网科技有限公司（以下简称学也公司）与被告淄博海智物联网科技有限公司（以下简称海智公司）计算机软件开发合同纠纷一案，本院于2019年11月15日立案后，依法组成合议庭，适用普通程序公开开庭进行了审理。原告学也公司的委托诉讼代理人司建彬，被告海智公司的委托诉讼代理人韩旭吉到庭参加诉讼。审理过程中，双方当事人庭外和解未果。本案现已审理终结。原告学也公司向本院提出诉讼请求：1、确认原告与被告签订的《系统购销合同》已解除；2、判令被告返还原告已支付的费用90100元；3、判令被告向原告支付违约金4320元；4、本案的诉讼费用由被告承担。事实及理由：原告是一家从事教育咨询、互联网信息服务的企业。2019年5月，原告决定委托被告开发该教育系统软件。5月9日，原告与被告开始磋商《系统购销合同》签订事宜，经双方协商确定结算方式为“合同总金额为26万元，合同签署后，乙方需预付甲方订金总开发票额的30%即8万元；系统试运营之前付55000元；系统试运营之后付55000元；乙方收到甲方开发的“教育系统”两天内结算总开发金额的20%即人民币……”。按照双方合意，原告委托被告开发的整套系统包括后台管理系统、安卓及苹果手机软件、下载网址、学也的门户网站、微信小程序，合同总金额为26万元，且被告承诺于合同签订后7个工作日出具APP界面图稿，整个系统的开发周期为两个月，自确定APP界面图稿后计算。原告于2019年5月15日、16日向被告支付了预付款8万元，被告于2019年5月17日向原告送达了开发进度计划表。但之后，被告于2019年6月5日才向原告交付APP界面图稿，且此后被告也未能按照被告自行制作的进程计划完成进度计划，即使按照两个月的开发周期计算，被告也未能按照约定交付系统，因此，原告于2019年8月27日致函被告解除双方的合同关系，并要求其退还原告已支付的款项。但截至原告起诉，被告仍未将款项退还原告。被告海智公司辩称，一、原告所诉与事实不符，本案系原告违约，被告不存在违约情况，作为违约方的原告无权要求解除合同，更不具有单方解除合同的权利。从2019年5月15日签订开发合同到2019年7月23日测试APP下载二维码及APP安装测试包（即apk)交付给原告，再到2019年8月6日，原告迟迟未履行合同义务。被告8月6日向原告催告，直至8月22日，原告仍然未履行义务。故本案合同一直没有履行完成，系由于原告迟延履行合同主要义务。二、软件开发开发过程中，开发进度拖延完全是原告一方原因造成的。在本案中，开发进度的拖延，除了是因为合同二期、三期款项迟迟不支付，导致被告后续工作无法推进外,还有一个很重要的原因就是，在开发期间，原告内部沟通不畅通，导致被告对同一事项多次修改，延长了开发周期，浪费了被告技术人员的时间和心血。另外，原告多次迟延提出修改意见，导致本应确定的事项被一再拖延，最终导致整个系统开发过程拖延。原告对于被告在开发初期便已提交且原告应当确定的界面设计，在开发后期甚至到8月6日仍多次提出诸多修改要求，导致时间一次次地被拖延。三、基于计算机软件开发的特殊性，按软件开发的进度分段支付合同价款的约定是行业惯例，也是非常合理的。被告在原告未支付二期款项的情况下拒绝交付软件源代码既符合行业惯例，也是对自身合法利益的正当维护。综上所述，被告始终勤勉履行合同义务，不存在违约事由，且对于未能按时交付系统存在免责事由，即原告未履行合同主要义务，原告存在过错。要求驳回原告全部诉讼请求。当事人围绕诉讼请求依法提交了证据，本院组织当事人进行了质证，根据当事人陈述和经审查确认的证据，本院认定事实如下：2019年5月15日，原告（乙方）与被告（甲方）签订《软件系统开发合同》（合同编号YD2019051101），约定：一、开发软件使用许可。乙方拥有“教育系统”的永久使用权；乙方对上述软件拥有版权。乙方在后续运营平台时涉及相关法律事宜均与甲方无关。二、订交货条款。1.软件搭建时乙方根据甲方出具的《“教育系统”制定开发需求单》（以下简称“制定单”）的要求将详细内容提供，并由乙方确认为准。2.甲方根据“制定单”进行开发，甲方在交付前应根据本合同、“制定单”等所列的检测标准对该交付内容进行测试，以确认其符合本合同的规定，再通过邮件等方式打包发送给乙方。3.交付内容包括系统后台和APP软件，包含(但不限于)文档、用户指南、操作手册、安装指南和测试报告等，所交付的文档与文件应可供人阅读。4.乙方在接收上述的交付内容后，应立即对软件进行测试和评估，以确认其符合“制定单”的功能，并签订验收单回传给甲方，确认验收完成。三、产品的售后服务条款。1.保修期。甲方将产品交付乙方验收完成后，甲方免费维护系统的正常运行。试运行期间软件出现的任何问题与故障，甲方承诺在24小时内免费修复(包含节、假日)。且“系统”在试运营期间出现的故障修复后，新的试运营期从修复交付之日起重新计算。测试期间，由于系统本身产生的bug，甲方承诺承担修复系统所产生的所有额外费用。甲方承诺，自合同生效之日起向乙方提供一年的系统维护服务及相应的技术支持。服务到期以后如乙方若仍然长期运营并和甲方合作，双方再进行协商…。五、费用及付款方式。1.内容：“教育系统”永久使用权。(整套系统包括“教育系统”后台管理系统、安卓及苹果手机软件、下载网址，学也的门户网站，微信小程序)。2.结算方式：合同总金额人民币26万元。合同签署成功后，乙方需预付甲方订金总开发金额的30%即8万元；测试APP出来之前付5.5万元；测试APP出来之后付5.5万元；乙方收到甲方开发的“教育系统”五天内结算5万元；乙方需在2020年5月14日支付余下款项即2万元…。六、权利与责任。1.甲方向乙方提供“系统”进行初始安装时，乙方应预先提供可远程访问的计算机并安装指定的操作系统。2.乙方对“系统”拥有永久使用权。乙方对开发的“教育系统”拥有所有的知识产权，以及对源代码/技术文档等资料的所有权。在未经乙方的授权下，甲方不得复制或授权他人运用。3.甲乙双方在合作过程中有关的非公开信息，甲乙双方负有保密的责任和义务，该义务不因合同的解除或终止而结束。4.乙方应有责任有义务积极配合甲方做好售后服务及其他服务工作。5.甲方有权利和义务为乙方“教育系统”制作、发展及运营进行保密。如果甲方泄露乙方相关运营，乙方有权要求甲方进行赔偿。七、协议终止及续约。1.本合同任何一方不履行合同的，约定的另一方有权单方终止合同，并有权要求违约方就守约方因此遭受的损失承担全部赔偿责任。本合同至约定的合同期满后自动终止。…八、违约责任。1.本合同任何一方违约，因违约方的违约行为给对方造成损失的，违约方均应承担违约责任，赔偿守约方因此遭受的全部损失。乙方未按约定支付货款的，每逾期一日，甲方有权要求乙方支付未付金额0.1%的违约金。甲方开发不能按期交付的，每逾期一日，乙方有权要求甲方承担未付金额的0.1%的违约金，并继续履行本合同所规定的义务。软件开发周期为两个月，自乙方确定APP界面图稿后开始计算。合同签订后七个工作日甲方出具APP界面图稿。九、免责条款。因不可抗力致使合同目的不能实现的；因非软件系统等外部因素而导致不能正常使用的；乙方迟延履行合同主要义务，经催告后在合理期限内仍未履行；乙方有其他违约或违法行为致使合同目的不能实现的；乙方宣告破产或宣告解散；由于国家宏观政策所带来的不可逆的风险。…十二、合同的解除。甲乙双方有违反本合同规定的行为，双方均有权向对方提出解除本合同的请求。若需解除本合同，需提前十五天以书面形式通知对方，并在通知发出之日(以快递单发出之日起算)起十五天内结清因履行本合同而产生的债权债务。原告分别于2019年5月15日、5月16日分别向被告支付开发费用5万元、3万元，共计8万元。同年7月9日，原告向被告另支付服务器租赁费是8100元，苹果开发者账号委托费2000元，共计10100元。另查明：1、原告授权第三人李斐与被告签订的涉案合同，合同模板由被告提供，后在李斐的居中沟通下，双方对合同具体条款进行多次协商修改。2019年5月17日，李斐将被告制作的系统需求列表发送给原告，列表载明：系统有“注册”“登陆”“退出登陆”“首页”“课程大数据”“预约”“个人中心”等七个功能点，其中，“首页”中有“首页”“推荐机构”“推荐课程”“免费课程”四个子功能；“个人中心”中有“个人资料”“我的订单”“我的预约”“我的足迹”“我的收藏”“我的分享”“客服中心”七个子功能。另外，系统还设有“基础设置”“代理商管理”“机构管理”“订单管理”“支付管理”“推送管理”“客服管理”等一级栏目，其中，“基础设置”中有“区域管理”“会员设置”“分类管理”“会员管理”“支付设置”“分成设置”等二级栏目，每项功能均对应有详细的功能描述，并注明开发的开始和结束时间。2019年5月29日，被告将涉案APP界面设计图发送给了李斐，并告知原告尽快确定界面设计。7月23日，被告将安卓版APP测试包发送给原告，原告回复“咱们这个APP还有好多功能没实现，大概多长时间能做完啊？”被告回复“界面功能看看有哪些需要完善的”“界面上有些调整”。之后，原告分别于7月25日、7月31日、8月3日、8月6日向被告书面发送修改要求，被告分别于7月31日、8月2日、8月5日向原告发送修改后的APP测试包。双方当庭认可上述APP测试包的发送及修改过程，被告确认在8月6日原告提出修改意见后，被告未再向原告发送新的APP测试包。经当庭对原告诉讼代理人手机上安装的涉案APP软件进行实际操作，发现点击软件界面上部分功能模块无法跳转进入相应开发页面。2、被告当庭确认在双方发生争议前仅开发了安卓版APP，并申请了苹果开发者账号，其余内容，包括学也的门户网站、微信小程序等未予开发。3、2019年8月6日，原、被告就APP软件的继续开发及第二笔开发费用支付问题进行了协商。原告发送内容为：“…这只是我们的界面确认，测试版是架构全部搭起来，我们点开里面有后台有程序，这叫测试版。麻烦抓紧推进测试版吧，什么时候能拿到测试版费用取决于你们的开发速度”“费用该支付的我们肯定会支付，但是这个测试APP没有达到预期效果，并且这个测试版不具备任何功能，只有一个页面，我也不清楚咱们的后台功能有没有在开发”“现在用后台能否操作APP”“钱我们肯定不会少，但是我们反馈的问题得解决啊”。被告回复内容为：“界面确认是最初UI界面的时候，这次测试版界面给你们的时候我们后台是写了相应功能的，接下来我们技术的工作就是针对前端做一些技术对接，还有一些资质的审核，技术开发的流程就是先给你这样的测试版，不可能都开发好了再写这样的修改…”“正常APP开发都是要支付50%到70%的，当时你们说前期资金紧张先付30%，测试APP出来后再接着支付一部分费用，考虑到斐哥（李斐）的关系我们就接了…”“后台在给你们APP时就给你们了啊”“后台可以操作但不能控制前端，接下来的工作就是做一些接口的对接和资质的审核”“…你那边商量一下把二期费用清一下，我这边就接着让技术加班改掉，继续接下来的工作”“学也APP早已内测完毕，希望你们给我们打款，我们将继续接下来的工作直至给你们交付完毕。如果学也公司一直拖欠款项，未按合同约定打款，我们将停止一切后续工作，保留法律诉讼权利”。8月27日，原告向被告发出解除合同通知书，要求解除双方签订的涉案合同，并要求被告退还已支付的款项。被告当庭确认在当月底收到了该通知书但未作回复。原告未提供证明被告的具体签收日期。本院认为，原、被告双方签订的软件系统开发合同系双方真实意思表示，合法有效。本案双方当事人争议的焦点主要有：1.被告认为原告拒绝支付第二笔开发费用违约在先的主张是否成立；2.原告主张涉案合同已解除是否成立。关于第一个焦点问题。根据《中华人民共和国合同法》第六十条规定，当事人应当按照约定全面履行自己的义务；应当遵循诚实信用原则，根据合同的性质、目的和交易习惯履行通知、协助、保密等义务。本案中，原被告双方约定由被告为原告开发包括后台管理系统、安卓及苹果手机软件、下载网址，学也的门户网站，微信小程序的教育系统，并约定被告自合同签订后七个工作日出具APP界面图稿，自原告确认界面图稿后开始计算软件开发周期，开发周期为两个月。合同履行过程中，原告依约向被告支付第一笔开发费用后，被告于2019年5月29日将APP界面图稿发送给原告的代理人李斐。7月23日，被告将安卓版APP测试包发送给原告，原告就该软件先后提出4次修改要求，被告根据原告前3次所提要求对软件进行了相应修改并分别向原告发送了修改后的测试包，在第4次修改前，双方因第二笔开发费用支付问题产生争议。本院认为，根据审理查明的事实和证据，第二笔开发费用的支付条件并未成就，理由如下：首先，被告向原告发送的测试包不应认定为双方合同约定的测试APP。一是涉案合同对第二笔开发费用的支付时间约定为“测试APP出来之前”，由于涉案合同未对“测试APP”的含义作出明确界定，而双方对此又有不同理解，本院认为，鉴于涉案格式合同系由被告提供，双方当事人对相关内容及条款的理解有分歧，应作不利于被告方的解释，也就是说，应对合同约定的“测试APP”作狭义解释，将其限定为“已完成功能开发的APP”。二是结合双方就上述测试包的沟通内容，即：原告询问“咱们这个APP还有好多功能没实现，大概多长时间能做完啊？”被告回复称“界面功能看看有哪些需要完善的”“界面上有些调整”，可以看出被告发送给原告的APP并未开发完成，其发送测试包的目的主要是界面调整后征求原告对完善界面功能的意见，而非交付原告进行测试。三是退一步讲，即使原告在查看界面功能并提出完善意见的同时能够同步了解部分已开发功能的运行情况，但鉴于部分功能需求并未开发，根据现有证据无法确定被告交付的软件已完全具备测试条件。其次，被告的开发内容不符合双方约定。一是双方在涉案合同中约定了多项开发内容，包括安卓版和苹果版APP、微信小程序、门户网站等，在双方对开发的先后顺序未作约定的情况下，被告应同步进行开发。而根据现有证据，被告仅就安卓版APP进行了部分开发，苹果版APP、微信小程序、门户网站等开发内容并未进行实际开发。被告当庭辩称双方口头约定部分内容列入二期开发，但并未提供相应证据，本院不予支持。二是根据双方合同约定，测试APP应包括安卓版和苹果版APP，而被告并未进行任何苹果版APP开发，更谈不上交付和测试问题。综上，被告认为原告拒绝支付第二笔开发费用违约在先的主张，不能成立。关于第二个焦点问题。《根据中华人民共和国合同法》第九十四条规定，在履行期限届满之前，当事人一方明确表示或者以自己的行为表明不履行主要债务。当事人可以解除合同。如上所述，被告所完成的现有开发内容并未达到双方约定的第二笔开发费用的支付条件。双方发生争议后，原告于2019年8月6日向被告明确表示肯定会支付开发费用，并发送信息“…麻烦抓紧推进测试版吧，什么时候能拿到测试版费用取决于你们的开发速度”进行催告，在此情况下，被告坚持索要第二笔开发费用，并明确表示“如果原告未按合同约定打款，被告将停止一切后续工作”。综上，被告以原告未支付第二笔开发费用为由拒绝继续进行教育系统开发工作，构成根本违约，原告据此主张解除合同于法有据。鉴于原告已于2019年8月27日向被告发出解除合同通知书，被告当庭确认于当月底收到后未作回复，故原告要求确认双方签订的涉案合同已解除，于法有据，但本院认为解除日期应按2019年8月31日认定。关于合同解除的后果问题，根据《中华人民共和国合同法》第九十七条规定，合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施，并有权要求赔偿损失。本案中，鉴于涉案合同解除系因被告违约所致，被告应全额返还原告交纳的费用，并支付违约金。违约金的数额，以双方合同约定的未付金额169900元为基数，按每日0.1%计算。原告当庭主张违约期间自2019年7月25日计算至2019年8月27日，本院认为，根据现有证据，双方确定界面图稿及开发完成的具体时间无法确定，被告违约起算点应自其明确表示不进行开发时，即2019年8月6日开始计算至2019年8月27日，共计3737.8元。综上，依据《中华人民共和国合同法》第六十条、第九十四条第（二）项、第九十七条规定，判决如下：一、确认原告山东学也互联网科技有限公司与被告淄博海智物联网科技有限公司于2019年5月15日签订的《软件系统开发合同》于2019年8月31日解除；二、被告淄博海智物联网科技有限公司于本判决生效之日起十日内返还原告山东学也互联网科技有限公司开发费用共计90100元；三、被告淄博海智物联网科技有限公司于本判决生效之日起十日内支付原告山东学也互联网科技有限公司违约金3737.8元；四、驳回原告山东学也互联网科技有限公司的其他诉讼请求。如果未按本判决指定的期间履行给付金钱义务，应当按照《中华人民共和国民事诉讼法》第二百五十三条之规定，加倍支付迟延履行期间的债务利息。案件受理费2161元，由原告山东学也互联网科技有限公司负担161元，被告淄博海智物联网科技有限公司负担2000元。如不服本判决，可以在判决书送达之日起十五日内，向本院递交上诉状，并按照对方当事人的人数或者代表人的人数提出副本，上诉于最高人民法院。审判长  李宏军审判员  庄辛晓审判员  李新岩二〇二〇年八月十日书记员  杜艳丽