某老板上周给我转了三份报价单:同样一个「销售订单 + 库存 + 简单财务对账」的小系统,A 家报 18 万,B 家报 42 万,C 家报 7.8 万。他问我:「这中间差了五倍,谁在骗我?」
看完报价单的第一反应是:三家都没在骗他,但三家都不一定能把这事干好。A 家没写验收标准,B 家塞了大量「需求调研」「项目管理」「架构设计」的虚项,C 家干脆按固定总价砸过来,连功能清单都只列了三行。
如果你最近也收了几份外包报价,正在三家之间反复横跳——这篇就是写给你的。下面这套方法不教砍价话术,教你怎么把一份看不懂的报价单拆成可以一条条对账的东西。
一、两种计价模式:固定总价 vs 按人天,各自的坑长什么样
软件外包报价无非两种底层逻辑。一种是固定总价(Fixed Price):先确定范围,对方报一个总价,做完交付。另一种是按人天结算(Time & Material):明确单价,按实际投入的人天数结算。两种模式没有绝对优劣,但坑的方向完全不同。
| 计价模式 | 适合场景 | 主要风险 | 甲方该重点防什么 |
|---|---|---|---|
| 固定总价 | 需求清晰、有原型、范围可锁 | 报价方为了控制成本会偷工减料,或者把"超出范围"作为加价借口 | 把"范围"写死。功能清单、UI 稿、验收用例必须落进合同附件 |
| 按人天结算 | 需求不稳定、要边做边改 | 工时会被往多里报,进度不可控,最后总账远超预算 | 设月度封顶、设里程碑、看每周燃尽图、保留随时叫停权 |
| 混合模式(核心模块固定价 + 增量按人天) | 主体功能明确、有 20%-30% 增量需求 | 增量部分容易失控,"哪些算增量"会有扯皮 | 提前定义增量判定规则,每个增量需求要书面确认 |
固定总价的隐藏陷阱是「范围战争」。报价时按 10 个功能报价,做到一半你想加第 11 个,对方就开始算「额外开发费」,而且单价往往比报价时单位贵 2-3 倍。按人天结算的陷阱是反过来——前期单价看着便宜,最后人天数翻倍翻三倍。
中小项目通常建议固定总价 + 锁死功能清单。大项目或者甲方自己都没想清楚需求的,建议混合模式:「确定的部分」按固定总价做,「探索的部分」按人天但封顶。
二、工作量怎么自查:用模块拆解 + 人天常识感
报价单上写「订单管理:8 万元」、「库存模块:12 万元」——这种粒度的报价根本没法判断贵不贵。你要做的第一件事是把每个大模块拆成具体功能项,再用「一个中等复杂度功能大概多少人天」的常识感去对账。
这里有几个粗略的锚点,市场上的合理区间大致是:
| 功能复杂度 | 典型例子 | 合理人天区间 |
|---|---|---|
| 简单 CRUD 单表 | 客户基础信息维护、单据列表查询 | 0.5-1.5 人天 |
| 带审批流的单据 | 销售订单录入 + 上级审批 + 状态流转 | 3-6 人天 |
| 带规则计算的核心模块 | 库存出入库 + 多仓调拨 + 成本结转 | 8-15 人天 |
| 复杂报表/看板 | 多维度销售分析 + 钻取 + 导出 | 4-8 人天 |
| 第三方系统对接 | 对接钉钉、对接金蝶 K/3、对接快递 100 | 5-12 人天/接口 |
| 移动端同步 | H5 或小程序版本 | 主体功能 PC 端的 40%-60% 工作量 |
行业里中小型外包公司的人天单价大致在 1500-3500 元区间,一线城市知名团队会到 4000-8000,海外团队更高。你拿对方报价里的总金额除以人天单价,反推出对方认为这套系统要多少人天,再用上面这张表对照——如果对方算下来要 200 人天而你拆出来只值 80 人天,要么是他报虚了,要么是他对需求的理解和你完全不一样,两个都要立刻问清楚。
这个动作还有副作用:逼自己把需求想清楚。很多甲方一开始只有「我要一套 ERP」,拆完功能清单才发现「原来我想要的只是销售单 + 库存联动」,砍掉一半模块预算自然就下来了。这一步可以参考 ERP 实施成本拆解 里更细的成本结构。
三、虚高报价的 6 个信号
报价虚高不一定是对方在坑你,更多时候是对方自己没算清楚,习惯性按「最坏情况」报。但作为甲方,下面 6 个信号出现任意 2 个以上,就要警惕:
- 报价单里没有验收标准。没写「什么叫做完」,意味着对方做到什么程度都算交付。
- 需求越模糊报价越高。本来一句话能说清的功能,对方写成「智能化订单管理引擎,支持多维度规则配置」,金额翻倍——这是销售在给自己留余量。
- 「低价进场 + 后期变更收高价」的套路。报价单总额很有竞争力,但「变更单价」「加急开发」「定制报表单价」全部远高于市场。
- 源码不交付,或者只交付编译后的可执行文件。这等于把你长期绑死。
- 质保期短于 3 个月。正常定制开发应该有 6-12 个月质保,质保期内 bug 免费修。
- 维护费畸高。一年维护费超过开发总价 25% 的,基本是把后续利润提前锁死。行业合理区间是 10%-18%。
这 6 条不是「命中即骗」,是「命中要追问」。拿着报价单一条条问对方——靠谱的供应商会愿意补,心里有鬼的会找一堆理由拖。
四、报价过低同样危险:便宜的代价复盘
很多老板被高报价吓过一次之后,会本能地选最便宜的那家。但报价过低同样是个红灯,原因也很朴素:行业人天成本是公开的,对方报得明显低于市场,那他一定在某个地方省钱了。
省钱的常见姿势是:用最便宜的人(资深工程师挂名,实际写代码的是实习生)、偷工减料(不做兼容性、不写测试、不做索引)、做完跑路(拿走尾款后不再响应)、合同上规避质量责任(根本没写质量标准,能跑起来就算交付)。
我见过一个 80 人规模的批发企业(脱敏):原本三家报价是 25 万、32 万、9 万,老板选了 9 万的。做到一半对方核心工程师离职,剩下的人没经验,7 个月只交付了 30% 的功能,最后再花 18 万找另一家收尾——总成本反而比当初选 25 万那家还多。关键不是「便宜的肯定坑」,而是没有把质量和兜底机制写进合同。
如果你正在 SaaS 和定制之间犹豫,可以看 SaaS 订阅与定制买断怎么选 里的成本对照。
五、AI Coding 时代:合理人天正在下降
这一节要说一个老板们容易忽视的趋势:过去 18 个月,同样需求的合理人天正在系统性下降。
原因是 AI 辅助编程工具(Copilot、Cursor、Claude Code 这类)让一个熟手工程师的产出大概翻了 1.5-2 倍。前端样式、CRUD 接口、单元测试、SQL 查询、各种适配代码——这些过去吃工时的活,现在写起来快得多。
意味着如果对方报价用的还是三年前的人天估算——比如「一个销售订单录入页要 5 人天」——那报价天然就贵了 30%-50%。AI 不是替代工程师,但确实压缩了基础工作的时间。三条经验值:
| 工作类型 | 过去合理人天 | AI Coding 辅助后合理人天 |
|---|---|---|
| 简单 CRUD 页面(增删改查) | 1-1.5 人天 | 0.3-0.6 人天 |
| 标准业务流程(带审批、状态机) | 4-6 人天 | 2-3.5 人天 |
| 第三方接口对接 | 5-10 人天 | 3-6 人天 |
| 复杂算法/规则引擎/性能优化 | 不太变 | 基本不变 |
注意最后一行:AI 对复杂业务规则、性能调优、架构决策的帮助有限,那些环节的工时不会明显下降。所以如果对方的报价里大头是核心业务规则和性能优化,那贵得有道理;如果大头都是 CRUD 页面和接口拼装,那现在的合理报价应该比三年前低 30% 左右。
这件事另一个角度的延伸:AI Coding 时代的定制开发成本 里我们算过一笔更详细的账,简单结论是——AI Coding 不是让定制变成白菜价,而是让「同样预算能买到的功能」变多了。这本身就在给报价虚高的供应商挤水分。
六、把报价谈成可控合同的动作清单
报价谈完只是第一步,真正决定你后半年顺不顺的是合同里写了什么。下面这份清单是我每次评审定制开发合同时一定会过的:
- 要 WBS(工作分解结构):把所有功能拆成最小可交付单元,作为合同附件
- 要里程碑:3-5 个为宜,每个里程碑对应明确的交付物 + 验收标准 + 付款比例
- 要源码归属:开发完成后源码归甲方,代码托管账户密码在最终验收时移交
- 要验收挂付款:每期付款必须挂在验收通过后,不验收不付款
- 要写明维护范围:质保期多长、质保期内修 bug 免费、质保期后维护费率
- 要罚则:延期罚款比例、核心团队不得擅自更换、合同终止时的退款规则
- 要明确变更管理:超出 WBS 的需求按什么单价、什么周期处理
特别强调第 4 条。一个常见的付款结构是 30%(签订)+ 30%(里程碑 1 验收)+ 30%(里程碑 2 验收)+ 10%(质保期满)。不要接受「先付 60% 才开始干活」这种条款,那等于你预付了对方的全部成本,对方做不做完都不亏。
这一节也可以参考更系统的 怎么选定制开发公司 里的供应商评估框架。
七、一份带走就能用的自检打分表
给一个简化版打分表,下次收到报价单按这个打分,70 分以上才值得继续谈:
| 检查项 | 满分 | 怎么打分 |
|---|---|---|
| 是否有详细 WBS / 功能清单 | 15 | 每个功能能对应到具体页面或接口 = 15;只有大类描述 = 5;只有总价 = 0 |
| 是否明确计价模式 | 10 | 写明固定价/人天/混合,并给出单价 = 10;模糊 = 5 |
| 验收标准是否写入 | 15 | 每个里程碑都有可测量的验收点 = 15;只有口头 = 0 |
| 源码与知识产权归属 | 10 | 明确归甲方 = 10;模糊或归乙方 = 0 |
| 质保期与维护规则 | 10 | 6-12 个月质保 + 维护费率写明 = 10;只有数字没有规则 = 5 |
| 付款节奏 | 15 | 首付不超过 30% + 大头挂里程碑 = 15;首付超 50% = 0 |
| 报价对应的人天是否合理 | 15 | 反推单价在市场区间、工作量符合常识 = 15;明显偏离 = 0 |
| 团队稳定性条款 | 10 | 核心成员不得擅换 + 罚则 = 10;无 = 0 |
低于 50 直接淘汰。50-70 之间,谈一轮看对方愿不愿意补条款。70 以上意味着对方对项目想得比较清楚,合作概率才大。
写在最后
软件外包本质上不是「你买一个东西」,而是「你买的是别人 3-6 个月的工程产出 + 后续若干年的维护承诺」。报价单上那个数字只是表面,决定你会不会踩坑的是 WBS 够不够细、验收标准够不够硬、付款节奏够不够稳。
很多老板被「便宜」或「贵」两个字困住,忽略了真正该看的东西。下次拿到报价单时多问几个为什么,多要几份附件,多压一压付款节奏,基本就不会被坑得太惨。
一句话:报价单是给你看的,合同才是用来约束对方的。看报价单的时间花 1 小时,谈合同条款的时间花 1 周。顺序搞反了,钱就开始往坑里掉。




