跳到主要内容
王渊·李伟律师团队复杂疑难问题解决专家

客户问答 · 企业反舞弊与职务侵占系列

Q&A:供应商把同一套软件用在多个项目里,却都号称是独立开发的系统,公司能不能要求退款?

公司在复盘多个软件项目时,发现几套据称“针对不同业务独立开发”的系统,菜单、数据库表、代码目录,甚至页面中的错别字都高度一致。供应商只更换了项目名称和配色,却在每份合同里都收取了定制开发费。

· 本批审校完成于 2026-08-27

文|说人话的王渊

一、问题引入

公司在复盘多个软件项目时,发现几套据称“针对不同业务独立开发”的系统,菜单、数据库表、代码目录,甚至页面中的错别字都高度一致。供应商只更换了项目名称和配色,却在每份合同里都收取了定制开发费。

这种情况看起来很像“一套系统重复卖”。但软件开发本来就会使用通用框架和既有模块。那么,代码重复到什么程度,公司才能要求退款?

二、法律问题翻译

这个问题要转换为三个法律判断:

  1. 合同承诺的是从零独立开发、独家成果,还是基于通用平台进行定制和授权?
  2. 重复的是合理复用的底层框架,还是各项目付费购买的核心定制成果?
  3. 供应商在签约时是否隐瞒现有成果或重复收费,并因此使公司在违背真实意愿的情况下签约?

三、先说结论

  • 同一套软件用在多个项目里,不当然违法。通用模块、开源组件、成熟底座和标准接口本来就可以复用,前提是不违反授权、保密和独家约定。
  • 供应商如果明确承诺“独立开发”“成果归本公司独家所有”,却仅把同一套现成系统换名后重复收取全额开发费,就可能构成违约,达到欺诈条件时还可能请求撤销合同。
  • 公司需要证明的不只是“长得像”,而是合同承诺、代码来源、相同范围、各项目真实定制量、供应商的披露以及费用是怎样计算的。
  • 即使违约成立,也不当然全额退款。要区分撤销合同后的返还、解除合同后的清算,以及已经实际使用的有价值部分。

四、裁判要旨与参考案例

一起计算机软件开发合同纠纷中,委托方约定取得项目源代码著作权。软件交付后,公证取得的文件显示了案外商城系统的名称、作者和网站信息,前台、后台和目录也存在大量相似内容,开发方又未能作出合理解释。

最高人民法院最终认定,开发方未尽源代码权利瑕疵担保义务,委托方取得软件著作权的合同目的无法实现,因而支持解除合同、返还已付款项。

该案的直接争点是交付软件与第三方软件高度相似,并非同一供应商向多个委托方重复收费。它在本题中只能说明:当合同承诺定制源码及权利归属时,现有系统来源和权利瑕疵可能导致合同目的无法实现;不能反推任何代码重复都应退款。

案件来源:山东省济南市中级人民法院(2020)鲁01民初3195号一审民事判决;最高人民法院(2021)最高法知民终677号二审民事判决,驳回上诉、维持原判,为生效裁判。最高人民法院知识产权法庭入库案例

五、律师建议

第一,先固定供应商的承诺。保留合同、技术方案、投标文件、报价单和销售沟通,找到“独立开发”“独家”“从零开发”和定制工作量的具体表述。

第二,让技术比对回到可解释的范围。区分开源组件、通用框架、供应商既有模块和各项目核心定制代码,记录文件哈希、目录、特征代码、数据库结构和提交历史。

第三,证据来源要合法。公司可以比对自己合法持有的项目材料,但不要未经授权进入其他客户的服务器或复制其商业秘密。必要时通过诉讼保全、法院调查或鉴定解决。

第四,不要一开始只提“全额退款”。可以根据证据分别评估补交真实定制成果、减少价款、赔偿损失、解除或撤销。《最高人民法院关于审理技术合同纠纷案件适用法律若干问题的解释》第九条对以现有成果冒充待开发成果、对同一课题重复收费的欺诈情形作了专门规定,但其适用仍要证明欺诈和违背真实意思订约。国家法律法规数据库官方文本

六、最后的话

软件开发不是每个项目都要从第一行代码重写,合理复用本身并没有问题。真正有问题的,是明明卖的是独立开发,交付的却只是未披露的旧系统。

所以,公司不要一看到相同代码就立刻下结论。先把当初买的是什么、对方隐瞒了什么、真正交付了多少查清楚,才能判断该退多少,还是应当先补交和减价。

来源:第七阶段六段式成稿 R1(2026-08-22);来源编号 ZH-G-008;原稿署名「说人话的王渊」。

专业团队

本文相关专业团队

王渊律师

浙江京衡(上海)律师事务所|执业证号:13101202010257217

公司商事及合规、商业类刑民交叉、不正当竞争与知识产权。

李伟律师

浙江京衡(上海)律师事务所|执业证号:13101202510896593

刑事辩护、刑事控告、刑民交叉及相关商事争议处理。