法务在处理企业日常法律事务中,常常需要审核软件开发合同,经检索,计算机软件开发合同纠纷是常见的民事争议类型,计算机软件开发合同纠纷中最为常见的争议焦点在于开发方是否按合同约定标准交付软件,因此有关交付、验收的标准、方法的约定是合同审核要点。本文通过对最高人民法院民事判决书的研判,对类案的审理思路进行分析,总结审核软件开发合同验收条款的实务启发。

一、司法案例及裁判要点

1.双方约定了合同的验收标准,开发方仅完成部分合同义务的,未全部完成并验收的,视为根本违约。

在广州市行心信息科技有限公司、联合大数据有限公司计算机软件开发合同纠纷二审民事判决书【(2021)最高法知民终105号】一案中,最高人民法院认为:计算机软件开发合同并不同于劳务合同,评判是否履行合同义务的标准在于开发方是否交付符合合同约定的软件,而不是开发方是否实际投入了开发成本。如果系开发方的违约行为导致未能交付符合合同约定的软件,即使其已经投入了相应的成本或者已经开发完成大部分功能,只要开发方构成根本违约,委托方仍有权要求开发方承担合同解除后的违约责任。涉案合同的解除系行心公司违约行为造成,行心公司应当承担合同解除的不利后果。

2.开发方交付的软件虽不符合合同约定,但交付产品后,双方协商更改,且委托方最终使用了更新后的产品,视为开发方完成交付义务,委托方需支付开发费用。

在山东亿顺信息科技股份有限公司、杭州帮聚网络科技有限公司计算机软件开发合同纠纷民事二审民事判决书【(2021)最高法知民终2522号】一案中,最高人民法院认为:根据原审法院查明的双方相关聊天记录的内容可知,双方在开发软件的过程中,对软件的界面、手机定位车辆功能、软件更新计划、软件上线服务器、上线运行过程中对软件相关改进、在后台大屏幕显示前台物流信息功能等进行了磋商、更改,且根据亿顺公司的决定,在软件没有测试的情况下就于2018年8月3日直接上线运行,上述事实均属于基于双方合意对合同的实际履行进行了变更。根据在案事实,鉴于帮聚公司已经完成了涉案软件的开发,在该软件上线后进行了七个版本的修改,且根据亿顺公司在相关的转让说明书中披露的累计用户数及访问时长,涉案软件上线后亦在一定时间内处于使用状态,原审法院在判决解除合同后,根据涉案合同的性质、涉案软件开发完成情况等,酌情判决亿顺公司向帮聚公司支付部分软件剩余开发款30万元,并无不当。

3.委托方在试用产品未提出异议,且怠于验收的,应当视为验收合格。

在广东中设智控科技股份有限公司、深圳市国民运力科技集团有限公司计算机软件开发合同纠纷民事二审民事判决书【(2021)最高法知民终1824号】一案中,最高人民法院认为:中设公司作为涉案软件开发合同的委托方,应积极对软件进行测试验收并及时反馈具体情况。涉案合同虽约定了60天的试运行期,但中设公司在试运行期间未提出任何明确、具体的书面反馈意见,反而主动向运力公司索取软件源代码、数据库、测试用例、测试报告、操作手册等文档资料。在此情况下,中设公司怠于履行合同约定的验收义务,拖延不予验收,应视为涉案软件已验收合格。原审法院认定运力公司已完成开发工作、软件验收合格并无不当。中设公司虽主张运力公司交付的软件仅为演示版本,没有后台程序,但并未提交证据予以证明,且其该项主张亦与前述行为不相符,故对中设公司的该项上诉理由不予支持。

4.委托方虽未签署验收通过的文件,但对开发方交付的产品未提出异议,且已要求开发方开具尾款发票,应当认定符合验收条件。

在北京数字佳信技术有限公司、北京摩卡软件有限公司计算机软件开发合同纠纷民事二审民事案(2020)最高法知民终1249号民事判决书中,最高人民法院认为:关于软件是否符合验收条件问题。在涉案软件交付过程中,摩卡软件公司与数字佳信公司的邮件内容均为交付源代码、进行验收、索要软件配套文档等。摩卡软件公司从未向数字佳信公司表示涉案软件存在缺陷或问题,亦未对涉案软件提出任何修改意见,反而主动要求数字佳信公司开具尾款发票。数字佳信公司开具发票后,摩卡软件公司也对尾款发票予以签收。结合双方关于开发成果验收后正式上线再开具尾款发票支付尾款的合同约定,应当认定数字佳信公司交付的软件基本符合合同验收约定。


二、实务启发审核要点

笔者通过检索案例,选取以上几宗最高人民法院审理的软件开发合同司法判例,从委托方及开发方的不同角度,浅析法务在拟定、审核软件开发合同中验收条款要点:

1.对委托方而言

认定软件开发方是否履行合同义务的通常标准在于开发方是否交付符合合同约定的软件成果。由于开发方的违约行为导致其未能交付符合合同约定的软件,致使合同目的无法实现的,即便开发方已经投入了相应的成本或者已经开发完成部分功能,委托方仍有权单方解除合同并要求开发方承担违约责任,因此委托方在拟定软件开发合同时,应当明确如下内容:

明确验收标准,软件开发合同如对功能开发需求及验收标准约定不明确,可能导致开发方交付的产品与委托方要求的产品有较大的差异,笔者在工作中处理过双方对验收标准不同理解的实务,由此产生责任推诿。因此,笔者建议在拟定软件开发合同时,应当邀请技术部门人员参与,并与实际使用者沟通细节。如双方确无法在合同签署时确定验收标准的,至少应当有兜底条款,如要求开发方交付的产品应当满足委托方的使用目的,或明确约定以软件上线、正常运行为交付要求。

明确验收方法,因大部分的软件开发合同交付往往会存在分阶段交付的情况,因此合同也约定分阶段付款,因委托方除与开发方签署合同外,还会与客户签署合同约定交付产品时间及标准,因此,为了不承担与客户的合同中违约责任,委托方在阶段验收时发现开发方存在技术问题,但继续要求开发方交付设计、测试、上线等阶段,且按阶段付款。

关于已付款或要求对方开具发票的行为是否可以视为默示验收,本文也选取了案例,最高人民法院认为可以视为通过验收,因此,建议委托方对于阶段性验收已发现的问题,切莫采取默示或拒绝验收等处理方式,应当明确作出不符合验收的表示,并要求对方限期改正再次组织验收,如因为要继续推进合同履行而付款的,也应当明确付款不代表验收合格,避免被司法机关认定为默示验收,从而承担支付开发费和逾期付款违约金的风险。

委托开发合同是对未知技术的开发,因此存在开发失败的风险,委托方主导的合同中应当明确约定,开发失败的处理方式,包括解除合同,或约定委托方让步接受已开发完成的部分支付相应开发费的约定。

2.对开发方而言

软件开发合同存在因现有技术无法验收或存在瑕疵现行技术无法发现,作为开发方,在合同中可以约定,对于验收时的方法及认知水平导致质量缺陷未产生或被发现的情形,或因现行技术原因,导致验收不能,视为委托方对项目或设备的内在质量缺陷不持异议,视为产品达到当时的检验标准。

另外,委托方以开发方未交付开发成果为由,主张由开发方承担违约责任的,由开发方承担软件已经交付的举证责任,而部分软件开发合同依赖与委托方提供部分的基础技术材料,因此合同应当明确约定委托方应当在某期限前交付基础材料的条款,还有部分开发合同中,委托方除了应当交付基础材料外,还需要提供设备设施支持,比如汽车行业中,需要有实车进行测试,因此,合同中应当约定清楚双方的责任,确因委托方原因导致开发失败的,约定由委托方承担责任。

此外,开发方是否交付符合合同约定的软件成果举证责任在开发方,开发方应当提供软件成果或备案软件作为证据,包括开发方发送软件成果的相关证据材料或电子证据等,为了避免承担举证责任的不利后果,开发方应做好软件产品的备份,在交付时应获得委托方的确认验收签字,或得到对方明确收到交付物的回复。

作者介绍:

陈咏,德赛西威

陈咏,德赛西威

点赞(0)

评论列表 共有 0 条评论

暂无评论

法务人求职招聘

微信扫一扫查看招聘信息

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部