在西安做软件开发,真正把项目做崩的,八成不是技术做不了,是合同没写清楚。
我们接手过的"上一家没做完"的项目里,翻出来的合同大多只有两页:甲方乙方、项目总价、交付时间。剩下全靠口头。等到中途要加一个功能、要改一版设计、要延一周上线,双方的说法就开始对不上了——甲方觉得"这不是本来就该有的吗",乙方觉得"这个得加钱",最后不欢而散,钱花了,东西没拿到。
这篇把西安软件开发合同里最容易踩的 7 个坑逐个拆开,每个坑都给出可直接抄进合同的写法。你在签任何一家公司的合同之前,拿这篇对一遍。
坑一:功能范围写的是一句话,不是一份清单
这是最常见、也是杀伤力最大的一个坑。合同里写"开发一套商城小程序,包含商品管理、订单管理、用户中心、支付功能",看起来挺全,实际上每个词都能扯皮。
"商品管理"包不包含批量导入?"订单管理"包不包含退款审核流程?"用户中心"包不包含会员等级和积分?没写清楚,做到一半就是无休止的争论。
正确写法:合同后面必须挂一份《功能清单》作为附件,逐条列出模块、子功能、字段和交互细节,双方签字确认。这份清单是后续所有争议的唯一依据。清单条目一般 40-120 条,写不清楚的项目,说明对方自己也没想清楚。
我们报价前会先把功能清单列出来再报,因为价格就是按清单条目算出来的。下面这几档是西安市场 2026 年的行情,你可以先对着估一下自己的项目落在哪:
差价来源很直接:AI 辅助开发在代码生成、UI 组件、接口联调环节能大幅压缩人工时间,省下的成本直接体现在报价上。但再低的报价,也得先有清单——没有清单的报价单,本质上是一张空头支票。
坑二:付款比例全压在前面,或者全压在后面
两种极端都要避开。
一种是"预付 70%,开工"——钱一付出去,你的项目就排到了对方所有新单子的后面,催进度只能靠人情。另一种是"验收后付全款"——几乎没有正规公司会接,接了的往往会在中途用各种理由加钱,把前期亏损找补回来。
在西安软件开发行业,比较稳妥的节奏是三到四期:
| 阶段 | 比例 | 付款触发条件 |
|---|---|---|
| 首期(启动) | 30% | 功能清单确认签字、UI 稿确认 |
| 二期(中期) | 35% | 核心模块可演示,能点通主流程 |
| 三期(交付) | 30% | 部署到正式环境,验收测试通过 |
| 尾款(质保) | 5% | 上线满 30 天无重大故障 |
关键在触发条件必须写死。"项目过半付 40%"这种写法没有意义——什么叫过半,双方各有各的算法。写"核心模块可演示、主流程能点通",到时候能演示就是能演示,不能就是不能,没有模糊空间。
坑三:需求变更没有计价规则
这是第二大坑。合同里通常只写"如需变更需求,双方另行协商",这句等于没写——协商不成怎么办?没有下文。
软件开发中变更是必然的,甲方在做的过程中会想清楚更多细节,这很正常,不应该被当成"找茬"。问题在于变更要不要加钱、加多少、工期顺延几天,必须在签合同的那一刻就约定好规则。
可直接抄的写法:"功能清单确认后,新增清单外功能模块的,按人天计价,单价 600 元/人天,由乙方在变更确认前出具工时评估,甲方书面确认后执行;工期按确认工时折算顺延。清单内功能的细节调整不计入变更。"
600 元/人天是西安用 AI 辅助开发后的行情价,传统外包公司一般报 1000-1500 元/人天。这个单价写进合同,双方心里都有底:甲方知道加一个功能大概要多少钱,乙方也不可能漫天要价。
坑四:验收标准没写,尾款永远收不回 / 永远付不出
乙方视角:东西做完了,甲方一直说"再改改",尾款拖半年。甲方视角:做出来一堆问题,对方说"这就是你要的",钱已经付了。
两种困境的根因是同一个——验收标准没量化。"系统运行稳定""界面美观""功能完善",这些词在争议面前一文不值。
可执行的验收标准长这样:
- 功能项:以《功能清单》为准,逐条走查,全部条目可正常操作即通过,允许存在不影响主流程的次要问题不超过 5 条
- 性能项:首页首屏加载不超过 3 秒(4G 网络),列表页接口响应不超过 1 秒
- 兼容项:主流机型(iOS 近三年机型、Android 主流品牌近两年机型)无布局错乱、无闪退
- 缺陷项:验收期内提交的缺陷,严重级(主流程不可用)24 小时内响应,一般级 3 个工作日内修复
- 验收期:交付后 7 个工作日内完成验收,逾期未提交书面异议视为验收通过
最后那条"逾期视为通过"是保护乙方的,同理甲方也该加一条:验收期内提出的清单内问题,乙方未修复的,甲方有权暂缓支付对应比例尾款。写清楚两边的权利,合同才是平衡的。
坑五:源码和服务器归属没写明
这一条经常被忽略,但踩了就是致命的——项目做完了,甲方想换个团队维护,才发现源码拿不到,服务器在对方手里,域名也是对方注册的。
合同里必须写死三件事:
| 资产 | 必须写明的内容 | 常见陷阱 |
|---|---|---|
| 源代码 | 完整源码(含前端、后端、数据库脚本、部署文档)交付时间、交付方式 | 只给编译后的包,不给源码 |
| 服务器/云账号 | 账号主体归甲方,乙方仅有部署权限 | 服务器买在乙方账号下,续费被卡 |
| 域名/小程序主体 | 注册主体为甲方,管理员账号移交 | 小程序注册在乙方主体下,迁移极麻烦 |
特别提醒小程序主体——小程序注册主体一旦确定,迁移要走复杂的流程,个别情况基本无法迁移。注册时务必用自己的营业执照,不要图省事让对方代注册。
坑六:质保期和售后范围含糊
"终身免费维护"和"交付即结束"是两个极端,都不现实。合理的写法是分两层:
质保期内,乙方负责修复自身代码缺陷(不含新增需求、不含甲方误操作导致的数据问题、不含第三方服务变更导致的适配)。超出质保期后,按年度签维护协议。
西安这边的年度维护费用行情:
| 项目类型 | 年维护费(市场价) | 年维护费(我方) |
|---|---|---|
| 企业展示网站 | 2000-5000 元 | 600-1500 元 |
| 展示型小程序 | 5000-10000 元 | 1500-3000 元 |
| 电商/系统类 | 项目额 15%-20% | 项目额 8%-12% |
注意"第三方服务变更导致的适配"这一条——比如微信支付接口升级、地图服务调整、证书过期,这类问题不算乙方缺陷,但也不该让甲方自己扛。建议单独约定:第三方变更导致的适配,乙方按成本价协助处理,不收项目级费用。
坑七:违约条款只有一句"按合同法执行"
这句是废话。真正有用的违约条款必须包含具体数字:
- 延期交付:每逾期 1 个工作日,乙方支付合同总额 0.5% 的违约金,累计不超过合同总额 10%(因甲方未及时确认需求、未提供资料导致的延期除外)
- 逾期付款:每逾期 1 个工作日,甲方支付应付金额 0.5% 的违约金;逾期超过 15 日,乙方有权暂停服务
- 单方终止:任一方无故终止合同,需支付对方已完成工作量对应的费用,并额外支付合同总额 10% 作为补偿
写数字不是为了真去打官司,而是为了让双方都认真对待工期和付款。有数字,大家会算账;没数字,全凭自觉,自觉通常靠不住。
三个真实纠纷,都是这几条没写清
案例一:功能清单缺一行,2 万的项目扯了三个月
西安一家做工业配件的公司,找外包做一个内部报价系统,合同价 21600 元。合同里写了"支持导出报价单",但没写导出格式。
甲方以为能导出成自己公司模板的 Excel 表头(12 个固定字段、带公司抬头);乙方做成了通用表格导出(8 个字段、无抬头)。就这一行之差,双方在验收阶段僵持了三个月,最后乙方免费补做了,工期拖了 90 天,甲方错过了一批招标。
如果当时清单里写"导出格式:Excel,字段名与甲方提供的模板一致,含公司抬头",这三个月完全可以省掉。
案例二:变更没计价,7 万的项目最后付了 11 万
一家连锁餐饮客户做点单小程序,合同价 12800 元,只写了"新增需求另行协商"。开发过程中陆续加了会员储值、桌台管理、后厨分单、优惠券核销四个模块,每次乙方报价甲方都觉得"太贵了",但项目已经做到一半,换人成本更高,只能接受。
最后实际付款 21400 元,比合同价高出 8600 元,而且每次加钱的沟通都要吵一轮。如果合同里预先写明 600 元/人天的变更单价,甲方在提需求那一刻就能算出大概成本,乙方也不用每次单独报价——双方都不会这么难受。
案例三:小程序注册在乙方主体下,迁移花了半年
一位客户找个人开发者做预约小程序,价格便宜,程序也做出来了。问题出在注册环节:开发者图省事,用自己的主体注册了小程序。
后来客户要扩展功能、要接入自己的公众号,才发现小程序不属于自己。迁移流程走了半年,中间因为主体资质问题卡了三次,最后不得不重新注册一个新小程序,重新积累用户数据。
签合同前的自查清单
把下面这 9 条对着合同过一遍,缺哪条补哪条:
- 有没有《功能清单》附件,条目是否逐条可验证
- 付款分几期,每期的触发条件是不是可判定的客观标准
- 需求变更的人天单价写没写(建议 600 元/人天)
- 验收标准有没有量化到加载时间、响应时间、缺陷等级
- 验收期是几天,逾期未异议的效力怎么算
- 源码、服务器账号、域名、小程序主体的归属是不是都归甲方
- 免费质保期多久,质保范围含什么不含什么
- 第三方服务变更导致的适配,责任怎么分
- 延期交付、逾期付款、单方终止的违约金是不是有具体数字
写在最后
合同写得细,看起来麻烦,实际上是在保护双方。真正想长期做下去的开发团队,不会抗拒一份写清楚的合同——因为项目做砸了,对乙方同样是损失。
我们在西安接软件开发、小程序、APP、网站和 AI 智能体项目,报价前一定会先出功能清单,清单确认后才报价。当前行情:企业展示网站 600-1800 元,展示型小程序 1800-3600 元,电商型小程序 3600-7200 元,定制系统类 APP 1.8万-4.8万元,AI 智能体 3000-12000 元。
一句话总结:合同里凡是"双方另行协商"的地方,都是将来要吵架的地方。签之前把这些地方换成数字和清单,项目就成了一半。