山东省高级人民法院
民 事 判 决 书
（2018）鲁民终287号
上诉人(原审被告、反诉原告）：上海申脉信息技术有限公司。住所地：上海市徐汇区桂平路***号***室。
法定代表人：陈盛鑫，总经理。
委托诉讼代理人：秦鹏，山东康桥（北京）律师事务所律师。
被上诉人（原审原告、反诉被告）：山东春旭电气有限公司。住所地：山东省青州市经济开发区亚东街。
法定代表人：田超，总经理。
委托诉讼代理人：夏松亭，男，系该公司职工。
委托诉讼代理人：王者军，山东昌潍大鹏律师事务所律师。
上诉人上海申脉信息技术有限公司(以下简称申脉公司)因与被上诉人山东春旭电气有限公司(以下简称春旭公司)计算机软件著作权许可使用合同纠纷一案，不服山东省潍坊市中级人民法院（2017）鲁07民初393号民事判决，向本院提起上诉。本院于2018年1月27日立案后，依法适用普通程序，开庭进行了审理。上诉人申脉公司的法定代表人陈盛鑫、委托诉讼代理人秦鹏，被上诉人春旭公司的委托诉讼代理人夏松亭、王者军到庭参加诉讼。本案现已审理终结。
申脉公司上诉请求：撤销一审判决并依法改判驳回春旭公司诉讼请求、支持申脉公司反诉请求（支付合同尾款96000元）。本案诉讼费用由春旭公司负担。事实与理由：一、原审判决申脉公司返还春旭公司已支付价款及支付违约金系认定事实不清、适用法律错误。1、申脉公司已经履行了软件安装及培训等主要合同约定任务。涉案合同的主要内容包括春旭公司向申脉公司购买涉案软件的使用权和服务。合同明确约定使用权是指向春旭公司提供涉案软件及所附文档，服务是指申脉公司提供给春旭公司安装及现场培训等技术支持。春旭公司认可及原审在案证据均可认定申脉公司履行了软件提供及安装培训等主要任务。后因双方因BOM表(物料清单)等基础流程演练数据是否及时提供无法达成一致意见，限制了软件部分功能的实现。因此，春旭公司要求申脉公司返还全部已支付合同款项缺乏依据。2、申脉公司在合同履行过程中不存在违约行为。双方签订的涉案合同及补充协议对于软件的具体操作效果及运行环境等都没有作出详细的约定，春旭公司称软件部分功能无法使用，但根据原审查明情况，申脉公司对于涉案合同项下的软件在安装后多次上门进行技术服务并向春旭公司员工提供了培训服务，春旭公司没有证据证明软件部分功能无法使用的原因是申脉公司提供的软件及服务存在问题还是春旭公司始终未提供BOM表(物料清单)等基础流程演练数据且不符合软件运行要求的问题，且春旭公司仅提供与第三方公司的销售单无法据此认定上诉人存在违约行为。二、原审判决驳回申脉公司反诉请求不当。依据双方签订的涉案合同第六条付款方式6.2条约定，剩余款项于系统安装完成后30日内付清。上述尾款支付约定安装完成并未附加任何其他条件，申脉公司于2015年10月13日前往春旭公司处安装完成涉案软件，春旭公司应当支付尾款。
春旭公司辩称，申脉公司未完成合同主要义务，仅完成安装、调试后并不当然就完成合同主要义务。根据春旭公司一审提交的证据证明，涉案软件安装后不能实现合同目的，就不能认为申脉公司完成了合同主要义务。关于申脉公司的反诉，基于上述理由，在申脉公司涉案软件不能实现合同目的时，反诉就不能成立，应驳回上诉维持原判。
春旭公司向一审法院起诉请求：1、申脉公司支付春旭公司货款144000元，违约金48000元，共计192000元；2、诉讼费用由申脉公司承担。
申脉公司向一审法院提出反诉请求：1、春旭公司按《软件销售合同》约定向申脉公司支付剩余合同款96000元；2、诉讼费用由春旭公司承担。
一审法院认定事实如下：2015年10月8日，春旭公司作为甲方，申脉公司作为乙方，签订《软件销售合同》一份，约定乙方授予甲方申脉JW8制作管理软件V3.10的使用权，乙方保证所许可的申脉JW8制作管理软件V3.10符合中华人民共和国有关法律、法规规定及所附文档的功能说明。交付地点在甲方所在地，交货方式为乙方上门安装。使用许可费240000元，甲方于合同生效之日起3个工作日内向乙方支付本合同款项60%作为首付款144000元，剩余96000元，于系统安装完毕后30日内付清。本合同金额包含10天免费现场实施培训服务，免费服务期间为2015年10月15日至2016年12月31日，免费服务期后，以每年服务费金额为项目整体合同金额的10%计算。乙方保证所许可使用的申脉JW8制作管理软件符合所附文档的功能说明，下述原因引发软件问题不在本保证范围内：1、甲方未按申脉JW8制作管理软件规定使用软件；2、甲方安装的第三方产品出错、硬件或网络出错。任何一方违反本合同，造成本合同不能执行，须向另一方支付违约金，违约金的金额为本合同金额的20%。合同签订后，春旭公司依照约定将首付款144000元支付给申脉公司，申脉公司在部署管理软件过程中，春旭公司作为甲方，申脉公司作为乙方，于2016年9月30日签订《附加条款》一份，该《附加条款》主要内容为：因ERP系统于2015年10月8日签订合同，实施以来进展缓慢。总结主要由于以下原因：1、软件存在个别BUG（缺陷），需要及时修复解决；2、甲方在操作发现问题时，未及时沟通；3、甲方未及时提供BOM（物料清单）表等基础流程演练数据。为确保后续工作正常执行，问题快速及时解决，双方作以下约定：1、乙方安排现场指导，现场操作人员必须优先配合，实施指导占用原合同天数；2、乙方接收到问题报告（非操作便利需求），立即处理；3、甲方发现问题，及时反馈到甲方指定邮箱；如果在系统执行过程中出现操作流程异议时，在按系统流程操作能够执行情况下甲方应按系统执行，在进行探讨和优化。计划：在甲方及时按系统操作的前提下，乙方确保订单管理、发货、销售应收功能2016年10月17日安排上门指导，2016年10月21日前正常使用。之后，申脉公司曾于2016年10月派员到春旭公司处提供现场服务，但双方在《附加条款》确认的问题至今未予解决。
一审法院认为，双方签订的《软件销售合同》及《附加条款》虽名为销售合同，但从双方争议内容看，双方签订的不是软件销售合同，而是计算机软件许可使用合同。根据最高人民法院《关于审理技术合同纠纷案件适用法律若干问题的解释》第四十六条第二款的规定“计算机软件开发、许可使用和转让等合同争议，著作权法以及其他法律、行政法规另有规定的，依照其规定；没有规定的，适用合同法总则的规定，并可以参照合同法第十八章和本解释的有关规定处理”。双方签订的《软件销售合同》，主体合格，意思表示真实，内容未违反法律、行政法规的强制性规定，故合法有效，对合同当事人具有法律约束力。双方约定的质量标准为申脉公司保证所许可的申脉JW8制作管理软件V3.10符合中华人民共和国有关法律、法规规定及所附文档的功能说明，本案《软件销售合同》标的物应按照符合合同目的的特定标准履行。双方当事人就涉案软件的安装、调试于2016年9月30日签订《附加条款》确认安装、调试过程中存在1、软件存在个别BUG（缺陷），需要及时修复解决；2、甲方在操作发现问题时，未及时沟通；3、甲方未及时提供BOM（物料清单）表等基础流程演练数据等问题，并就解决上述问题提出解决意见。但双方未就具体需要沟通的问题及春旭公司应提供BOM（物料清单）表等基础流程演练数据的范围进行明确。申脉公司曾于2016年10月派员到春旭公司处提供现场服务，双方应有就有关问题进行沟通的时间和场合。申脉公司作为计算机软件著作权的许可使用人，应提供符合合同目的的软件，但至本案一审开庭审理，其并无证据证明已解决软件存在的缺陷及软件中订单管理、发货、销售应收等功能的正常使用问题，构成违约。春旭公司请求判令申脉公司支付已付货款并承担违约金的诉讼请求应予支持。申脉公司请求判令春旭公司支付剩余货款并承担违约金的诉讼请求不予支持。一审法院根据《中华人民共和国合同法》第八条、第六十条、第一百零七条、第一百一十一条、最高人民法院《关于审理技术合同纠纷案件适用法律若干问题的解释》第四十六条第二款之规定，判决：一、申脉公司于判决生效之日起十日内，支付春旭公司已付货款144000元；二、申脉公司于判决生效之日起十日内，支付春旭公司违约金48000元；三、驳回申脉公司的反诉请求。如未按判决指定的期间履行给付金钱义务，应当依照《中华人民共和国民事诉讼法》第二百五十三条之规定，加倍支付迟延履行期间的债务利息。案件受理费4140元，反诉案件受理费1590元，由申脉公司负担。
二审期间，双方当事人围绕上诉请求提交了证据，本院组织双方当事人进行了证据交换并发表质证意见。
申脉公司提交证据为：证据1、视频截图，证明涉案软件项目部分功能存在定制开发，仍属于开发未结束阶段，且春旭公司应提供的BOM表（物料清单）一直未提供。证据2，IW8制造管理系统功能清单，证明涉案软件系统共包括31个功能，春旭公司指称的瑕疵只存在3个功能即订单管理、发货管理、应收账款功能。证据3，视频截图，证明春旭公司一审提交的证据四、五实际为操作错误。证据4，视频截图，证明春旭公司一审提交的证据六、七实际为操作错误。证据5，视频截图，证明一审春旭公司提交的证据八光盘中的瑕疵并不能影响功能实现。证据6，视频截图，证明春旭公司一审提交的证据九、十实际为操作错误。证据7，申脉公司实施现场会议视频，证明原先有些功能没有，后来进行了定制化，实施计划是真实的，实际履行了。证据8，申脉公司宣传手册一本，证明涉案整套软件功能。
春旭公司质证意见为：对于证据1真实性没有异议，对证明目的和表示内容有异议，操作是按照操作说明进行操作，不存在错误问题，且一审法院要求申脉公司到春旭公司现场进行演示但申脉公司一直不予前往。双方签订的附加条款中有订单管理这一项，订单管理包括合同项。至于BOM表（物料清单）未提供是因该表涉及商业秘密，其他都提交了。对证据2真实性不确定，以春旭公司提交视频内容为准，而且申脉公司提供的软件是一个系统，功能是互相关联的，一个错误就可能涉及采购、销售、财务等功能，不认可瑕疵只存在3个功能的陈述。对于证据3、4、6真实性没有异议，但不能证明是春旭公司操作错误，该软件操作符合软件流程。对证据5，不认可相关软件缺陷不影响功能实现，实际上报价单制作过程中点击导入按钮，报价明细单并没有出现导入的报价明细，影响了正常使用。对证据7真实性没有异议，申脉公司确实进行了培训，但有很多功能不能实现，失去了购买该软件的合同目的。对证据8真实性没有异议，但不能证明春旭公司使用该软件时该说明书存在，春旭公司没有收到该宣传手册。
本院认为，对于申脉公司提交的证据1、3、4、5、6、7、8的真实性春旭公司没有异议，本院予以确认，对于上述证据与本案的关联性问题将结合本院此后的评判分析一并予以认定。对于申脉公司提交的证据2因系申脉公司单方提交，在春旭公司未予认可且无其他证据佐证的情形下，本院对该证据的真实性及与本案的关联性不予认定。
二审还查明，春旭公司未向申脉公司提供涉案BOM表(物料清单）。一审庭审中，申脉公司认可在2016年9月30日双方签订的《附加条款》所涉“软件存在个别BUG（缺陷），需要及时修复解决”中，“BUG（缺陷）”就是春旭公司使用的涉案软件存在个别计算错误。同时，对于一审法院提出对涉案软件进行现场勘验的要求，申脉公司以数据错误是个别缺陷，不能导致整个合同目的无法实现为由，明确表示不同意现场勘验。
二审查明的其他事实与一审法院查明一致。
本院认为，本案双方争议的焦点问题主要是，在涉案合同履行过程中申脉公司是否构成违约，如构成违约应当如何承担民事责任。
关于申脉公司是否构成违约问题。《中华人民共和国合同法》第六十条规定，当事人应当按照约定全面履行自己的义务。本案中，春旭公司与申脉公司于2015年10月8日签订的软件销售合同及2016年9月30日签订的附加条款为双方真实意思表示且并不违反法律法规的强制性规定，应为有效合同。因此，判断申脉公司是否存在违约行为，应当以涉案合同约定为依据，结合各方具体履行情况进行认定。根据双方签订的软件销售合同及附加条款约定，申脉公司的合同义务不仅是许可安装涉案软件而且还应当进行软件实施培训及相应技术服务等,以保证涉案软件能够正常运行使用并实现春旭公司合同目的。在2016年9月30日双方签订附加条款时，涉案软件尚处于免费服务期间内，申脉公司对于该软件使用运行中出现的问题负有及时修复解决的合同义务。一审查明，2016年10月份，根据双方约定，申脉公司派员进行了上门技术服务但未能解决存在的问题。对于未能解决的原因，申脉公司认为主要原因在于春旭公司未能提供BOM表（物料清单）等基础流程演练数据，如果BOM表（物料清单）可以确定就可以保证订单明细项的准确性，而春旭公司则认为订单生成不涉及BOM表（物料清单）问题，是涉案软件存在缺陷。本院认为，作为涉案软件的研发方和许可方，申脉公司应当具备确保涉案软件正常运行并及时修复存在问题的技术能力。申脉公司在双方签订的附加条款中认可涉案软件存在个别缺陷并需要及时修复，结合申脉公司在一审中关于涉案软件存在的个别缺陷就是计算错误的陈述，可以看出申脉公司对于春旭公司使用的涉案软件本身存在计算错误的缺陷是明知的。二审中，申脉公司又认为涉案软件存在计算错误是春旭公司操作错误及未提交BOM表（物料清单）导致，与一审陈述矛盾。虽然申脉公司提交了相关视频截图作为春旭公司操作错误的证据，但上述视频截图系春旭公司一审提交的部分证据内容，在申脉公司未提供其对春旭公司就涉案软件进行培训时的具体操作标准和操作说明以资对照的情形下，仅依据上述证据内容并不能证明涉案软件存在的缺陷系由春旭公司操作错误造成。而且本院注意到，一审法院曾在审理中提出对涉案软件进行现场勘验的要求，但申脉公司明确表示不同意现场勘验，造成本案双方争议的相关问题产生的原因难以查清，对此申脉公司应承担不利后果。综上分析，申脉公司虽然履行了许可安装涉案软件的合同义务，并进行了相关培训和售后技术服务，但在免费服务期间内对于涉案软件存在的部分缺陷未能及时进行修复和解决，属于对涉案合同的瑕疵履行，构成违约。故申脉公司关于已经全部履行了合同义务，不存在违约行为的上诉主张本院不予支持。
关于申脉公司应承担的民事责任问题。《中华人民共和国合同法》第一百二十条规定，当事人双方都违反合同的，应当各自承担相应的责任。本案中，本院认定申脉公司存在违约行为，应当依法承担违约责任，但同时也应对春旭公司在涉案软件销售合同的履行过程中是否存在违约行为进行审查，以合理界定各方责任。根据双方签订的附加条款相关内容，涉案软件实施以来进展缓慢的主要原因除存在个别缺陷需要及时修复外，还包括春旭公司在操作发现问题时，未及时沟通以及春旭公司未及时提供BOM表（物料清单）等基础流程演练数据。因此，及时提供BOM表（物料清单）是春旭公司的合同义务，但至本院二审期间，春旭公司仍以涉及商业秘密为由没有向申脉公司提供上述BOM表（物料清单），亦构成违约，应承担相应责任。考虑到BOM表（物料清单）属于基础流程演练数据，对于涉案软件整体运行存在较大影响，在春旭公司未能提供的情形下，应当承担涉案合同不能履行的主要责任。由上分析，在平衡各方利益的基础上，春旭公司已支付给申脉公司的144000元货款不再予以返还，春旭公司尚未支付申脉公司的货款96000元亦不再支付，双方自行承担相应的违约责任。一审法院对各方民事责任的认定不妥，本院予以纠正。
综上所述，申脉公司的上诉请求部分成立。本院依照《中华人民共和国合同法》第六十条、第一百二十条、《中华人民共和国民事诉讼法》第一百七十条第一款第二项规定，判决如下：
一、撤销山东省潍坊市中级人民法院（2017）鲁07民初393号民事判决；
二、驳回山东春旭电气有限公司的诉讼请求；
三、驳回上海申脉信息技术有限公司的反诉请求。
一审案件受理费5730元，由山东春旭电气有限公司负担4140元，上海申脉信息技术有限公司负担1590元；二审案件受理费5730元，由山东春旭电气有限公司负担3438元，上海申脉信息技术有限公司负担2292元。
本判决为终审判决。
审判长 于军波
审判员 于志涛
审判员 张金柱
二〇一八年六月十一日
书记员 邢晓宇