投标成本测算·保本价与垫资成本分析
前面几件事都算清了——红线查了、得分算了、标书编了、单价分了——最后一个问题还没答:
这笔标,报到什么价位才不亏?
本技能把它算成数:解析成本 → 计取费用 → 推演垫资 → 反推保本价 → 报价决策。
与同系列四个包配套:tender-redline-check 查会不会废标、tender-score-sim 算能得多少分、
tender-response-matrix 解决标书怎么编、tender-price-sheet 决定每项单价怎么报,
本技能给出这一切的底线——成本。
何时使用
- 拿到成本清单(自测成本、分包报价汇总、材料人工台账),想知道最低能报多少不亏。
- 想知道垫资要垫多少、利息多少——这部分最常被漏算,直接吃掉利润。
- 想按目标利润率反推建议报价,并看它在招标控制价下浮若干档后还剩多少利润。
- 想比较不同付款条件(账期、质保金比例、工期)对保本价的影响。
不适用:判断报价是否低于成本价(是否构成不正当竞争)、能否中标;本工具只做成本与现金流算术测算,
不构成法律、财务或投标决策意见。
怎么用
# 用内置样例看完整效果
python3 scripts/tender_cost_estimate.py --sample
# 基本用法(默认:工期 12 月、账期滞后 2 月、质保金 5%、资金成本 6%、税率 9%)
python3 scripts/tender_cost_estimate.py 成本清单.csv
# 按项目实际条件设置
python3 scripts/tender_cost_estimate.py 成本清单.csv \
--duration 10 --pay-lag 3 --settle-lag 3 --warranty-months 24 \
--pay-ratio 80 --retention 5 --fin-rate 6.5 --tax-rate 9 --margin 8
# 清单未列明措施费/管理费/规费时,按费率计取(规费基数为人工费)
python3 scripts/tender_cost_estimate.py 成本清单.csv \
--measure-rate 4 --overhead-rate 8 --levy-rate 20 --risk-rate 3
# 第一步:导出待填模板
python3 scripts/tender_cost_estimate.py 成本清单.csv --emit-template > profile.json
# 第二步:改好参数与科目金额后复跑
python3 scripts/tender_cost_estimate.py 成本清单.csv --profile profile.json
# 导出成本测算表 CSV(Excel 可直接打开)
python3 scripts/tender_cost_estimate.py 成本清单.csv --emit-cost 成本测算表.csv
输入清单列名可用「序号 / 科目名称 / 单位 / 数量 / 单价 / 金额」,顺序不限,
分隔符支持逗号、竖线、制表符、分号;缺列名时按「名称, 数量, 单价, 金额」固定列序解析。
金额可直接给,也可由数量 × 单价算出。
成本怎么算
| 步骤 | 做法 |
|---|---|
| 1. 归类 | 按科目名关键词自动归入人工 / 材料 / 机械 / 措施 / 管理 / 规费 / 税金 / 其他 |
| 2. 直接成本 | 人工 + 材料 + 机械 + 其他(清单明列值) |
| 3. 措施·管理·规费 | 清单已明列 → 取清单值;未列明 → 按 --*-rate 计取(措施/管理基数为直接成本,规费基数为人工费,无人工费时退回直接成本) |
| 4. 成本小计 | 直接成本 + 措施 + 管理 + 规费(不含税、不含垫资与风险准备) |
归类是关键词匹配,报告会打印每类金额与科目数,误判可直接看出来;
profile 里可用 items.<科目名>.category 覆盖单科目类别。
垫资怎么算
现金流按成本口径推演(不含利润与销项税),因此不依赖报价水平,才能反过来解保本价。
| 环节 | 默认 | 说明 |
|---|---|---|
| 进度曲线 | 线性(--progress s 可切 S 曲线) |
月度完成比例,决定投入节奏 |
| 进度款支付比例 | 85% | 按已完成产值付,滞后 --pay-lag 个月到账 |
| 竣工结算款 | 剩余部分 | 工期结束后 --settle-lag 个月到账 |
| 质保金 | 5% | 随进度款逐月扣留,质保期满(--warranty-months)返还 |
| 资金成本 | 年化 6% | 按月计息:月利率 = 年化 ÷ 12 |
逐月算出「累计投入 − 累计收款」= 累计净占用,对正数部分计息,逐月加总得垫资利息。
报告输出资金占用峰值及其出现月份——这才是你真正要准备的资金量。
报价怎么定
| 口径 | 公式 | 含义 |
|---|---|---|
| 保本价(不含风险准备) | (成本小计 + 垫资利息) × (1 + 税率) |
再低即亏本 |
| 保本价(含风险准备) | (成本小计 + 垫资利息 + 风险准备金) × (1 + 税率) |
覆盖风险后的底价 |
| 建议报价 | (成本小计 + 垫资利息 + 风险准备金) ÷ (1 − 目标利润率) × (1 + 税率) |
按目标利润率反推 |
- 风险准备金 = 直接成本 ×
--risk-rate(默认 3%)。 - 税率:含税报价 ÷ (1 + 税率) = 不含税收入,故含税价 = 不含税价 × (1 + 税率)。
- 敏感性分析:以建议报价为基准下浮 0/2/4/6/8/10%,逐档给出利润额、利润率与判定
(可接受 / 临界(贴近保本线)/ 低于保本)。临界档就是你的下浮极限。
输出示例(节选)
## 四、保本价与建议报价
| 费用项 | 金额(元) |
| 成本小计 | 7,261,000.00 |
| 垫资利息 | 170,104.05 |
| 风险准备金(3.00%) | 217,830.00 |
| **需覆盖合计** | **7,648,934.05** |
| 报价口径 | 不含税(元) | 含税(元) |
| 保本价(不含风险准备) | 7,431,104.05 | 8,099,903.41 |
| 保本价(含风险准备) | 7,648,934.05 | 8,337,338.11 |
| **建议报价**(目标利润率 8.00%) | **8,314,058.75** | **9,062,324.04** |
## 五、敏感性分析(以下浮建议报价为基准)
| 下浮 | 含税报价 | 利润额 | 利润率 | 判定 |
| 6% | 8,518,584.60 | 166,281.18 | 2.13% | 可接受 |
| 8% | 8,337,338.12 | 0.00 | 0.00% | 临界(贴近保本线) |
| 10% | 8,156,091.64 | -166,281.17 | -2.22% | **低于保本** ⚠ |
结论分档:结论段固定点出含税底价、建议报价、垫资利息占成本小计比例与下浮极限。
情景设置(profile.json)
--emit-template 生成的模板结构如下:
{
"params": {
"duration": 12, "pay_lag": 2, "settle_lag": 2, "warranty_months": 24,
"pay_ratio": 85, "retention": 5, "fin_rate": 6.5, "tax_rate": 9,
"measure_rate": 0, "overhead_rate": 0, "levy_rate": 0,
"risk_rate": 3, "margin": 8, "progress": "s"
},
"items": {
"HDPE双壁波纹管DN600": { "category": "材料", "amount": 600000.0 }
}
}
优先级:命令行参数 > profile > 内置默认,因此可以「模板打底、命令行微调」。
常用参数
| 参数 | 说明 |
|---|---|
--duration / --pay-lag / --settle-lag / --warranty-months |
工期、进度款滞后、结算款滞后、质保期(月) |
--pay-ratio / --retention |
进度款支付比例、质保金比例(%) |
--fin-rate / --tax-rate |
年化资金成本率、增值税率(%) |
--measure-rate / --overhead-rate / --levy-rate |
措施费 / 管理费 / 规费率(%,基数见上文) |
--risk-rate / --margin |
风险准备金率(基数=直接成本)、目标利润率(%) |
--progress |
进度曲线 linear / s |
--emit-template / --profile |
导出 / 回读参数与科目覆盖 |
--emit-cost [文件] |
导出成本测算表 CSV(省略文件名则输出到标准输出) |
--json |
结构化输出,便于接后续流程 |
设计边界
- 纯标准库 Python,只读,无网络请求,无
subprocess/eval。 - 现金流按成本口径推演(不含利润与销项税)——这是刻意的简化,好处是垫资成本与报价解耦,
才能直接反推保本价;代价是未模拟利润部分的资金占用,属保守(偏低估利息)。 - 垫资按月末余额计息,未做日粒度计息;实际资金成本以企业融资方式与银行计息规则为准。
- 科目归类基于关键词匹配,有误判可能;报告已打印每类科目数与金额,profile 可逐条覆盖。
- 未考虑履约保证金、投标保证金、保函费用、税金附加、进项税抵扣差异等——如需,计入清单金额或将费率调高。
- 输出固定附免责声明:本工具不构成法律、财务或投标决策意见,成本口径、取费标准与计税方式
以企业实际情况、招标文件约定及适用法律法规为准。