FSD M3 · 报价与定价
← 总则 | 附录 → | 上游:主 PRD(6.1 / 7.2 报价编辑页)| 交互稿:prd/design/quotation/(已确认)
册边界:询价与商机归 m02;转单后的订单本体归 m04(本册到「版本锁定可转」+ 基线回链为止);审批中台归 m15(本册承载报价审批的业务触发与状态机,审批任务实例归 F15.01)。F03.06 阶梯计价与价格规则为 P1(MVP 仅费用明细人工+简单计算,规则引擎随 P1 落地)。
M3 报价与定价
F03.01 报价创建与来源
对应 PRD:6.1 主流程前三步(prd/印刷行业工单系统产品与交互设计.md:208)| 交互稿:prd/design/quotation/(已确认,报价列表屏)| 实现落点:待回填 | 操作入口:/quotations(新建入口)| 状态:未实现
1 功能定义
报价单的创建入口,三个来源:从询价转入(承接 m02 F02.02 的需求要素)、从产品模板新建、从既有报价复制版本;创建后进入需求录入(条件齐备性决定能否计价)。无可用价格参数时允许标记人工报价并说明(6.1 前置)。
2 触发条件与前置状态
- 触发:报价列表「新建」三来源入口;询价详情「转报价」(F02.02 联动)。
- 前置状态:来源询价已确认需求要素;模板/复制来源须对应对象存在且可引用;客户存在或草稿可存(F02.01)。
3 输入与校验
| 字段 | 必填 | 校验 | 失败处理 |
|---|---|---|---|
| 来源(询价/模板/复制) | 是 | 来源对象存在且可引用 | 阻断并提示 |
| 客户/联系人 | 是 | 存在且未停用 | 阻断 |
| 需求要素(数量档/尺寸/材料意向/交期等) | 计价前必填 | 齐备性 | 缺失可存草稿、不可提交 |
| 材料版本/工艺路线版本 | 计价前必选 | 引用版本 已生效(m06) | 「版本已失效,请重选」阻断 |
| 人工报价标记 | 无参数时 | 说明必填 | 缺说明阻断提交 |
4 处理流程
5 输出与结果状态
报价单 草稿(v1)+ 来源回链(询价/模板/母本报价);人工报价标记留痕。
6 状态流转
[*] → 草稿;后续版本状态机见 F03.03(quotation README 状态迁移图)。
7 边界与异常
| 条件 | 系统行为 | 提示 |
|---|---|---|
| 来源询价要素不全 | 允许建草稿,转计价时定位缺失 | 「请补全需求要素」 |
| 母本报价已失效 | 复制仍可用(新版本独立),提示母本状态 | 「母本已失效,已复制为草稿」 |
| 客户停用 | 阻断创建(F02.01 联动) | 「客户已停用」 |
| 无价格参数 | 人工报价标记必填说明 | 「待人工定价」 |
8 权限与数据规则
- 销售/报价专员可创建(本组织数据范围);草稿本人与授权人可见。
- 人工报价说明进审计(F15.03)。
F03.02 报价编辑与三价差异
对应 PRD:6.1 字段/规则要点(prd/印刷行业工单系统产品与交互设计.md:210)+ 7.2 报价编辑页(:367-370)| 交互稿:prd/design/quotation/(已确认,报价编辑-版本对比屏)| 实现落点:待回填 | 操作入口:/quotations/{quoteId}/edit | 状态:未实现
1 功能定义
7.2 三栏编辑工作区:左=需求条件(数量档三档——R-001 双单位换算;成品尺寸→开数/利用率——R-002;材料/路线版本;交期/收货地),中=费用明细(费用项拆分——假设 Q3;阶梯行——Q36 公式访谈候选禁预设;无价格参数标「待人工定价」),右=价格汇总(建议价/最终价/客户价三价差异展示;毛利区按角色脱敏——Q41;审批信息)。人工修改计价结果须填原因(6.1 规则)。
2 触发条件与前置状态
- 触发:草稿/被驳回版本打开编辑。
- 前置状态:版本状态允许编辑(
草稿;待审批/待客户确认不可编辑,修改须复制新版本——F03.03)。
3 输入与校验
| 字段 | 必填 | 校验 | 失败处理 |
|---|---|---|---|
| 数量档(多档) | 是 | 单位换算合法(R-001:不可换算阻断) | 阻断并提示 |
| 成品尺寸/开数方案 | 是 | 开数绑定材料版本(R-002,引用 m06) | 版本不匹配阻断 |
| 费用项明细 | 是 | 项结构可配置(假设 Q3:拆分项+可退/可复用属性) | — |
| 阶梯价行 | 启用规则时 | 区间连续、单价/固定费合法;公式访谈候选(Q36)禁预设 | 区间断档阻断 |
| 人工改价 | 允许 | 改价原因必填 | 缺原因阻断保存 |
| 币种/税率口径 | 是 | 枚举 | 阻断提交 |
4 处理流程
5 输出与结果状态
版本内容更新(草稿态);三价差异视图;改价原因留痕;计价明细(费用项×数量档矩阵)。
6 状态流转
编辑不改变版本状态(草稿 内迭代);保存生成版本内容更新,提交审批触发 F03.04;关键项修改后的「与上一版差异」高亮由 F03.03 版本链承载。
7 边界与异常
| 条件 | 系统行为 | 提示 |
|---|---|---|
| 数量档单位不可换算 | 阻断(R-001) | 「单位不可换算」 |
| 材料/工艺无价格 | 标记待人工定价(6.1 异常) | 「待人工定价」 |
| 超权限价格/折扣 | 提交按钮禁用并说明(7.2) | 「超出授权范围」 |
| 多人编辑冲突 | 提示复制新版本(6.1 异常) | 「最新版本已由 X 保存,是否复制新版本」 |
| 有效期不足 | 强提示(6.1 异常;参数假设 Q5) | 「有效期临近」 |
8 权限与数据规则
- 编辑:销售/报价专员(本组织);毛利/成本区按 Q41 三角色渲染(厂长+财务+报价核价可见,销售/客服不可见)。
- 报价对销售/客服可见(Q41);改价原因进审计(F15.03)。
F03.03 报价版本链与对比
对应 PRD:6.1 规则「每次修改生成新版本;版本锁定后才可转订单;过期报价自动转失效但不能删除」(prd/印刷行业工单系统产品与交互设计.md:210)| 交互稿:prd/design/quotation/(已确认,列表版本链展开 + 编辑屏版本对比表)| 实现落点:待回填 | 操作入口:/quotations(版本链展开)、/quotations/{quoteId}/edit(版本对比)| 状态:未实现
1 功能定义
报价的版本链管理:每次修改生成新版本(v1/v2/…不覆盖原版);任意两版本对比高亮(数量/单价/金额/条款变化);版本状态机(草稿→待审批→待客户确认→已确认/已失效→已转单);已确认版本锁定后才可转订单;有效期届满自动失效且不可删除。
2 触发条件与前置状态
- 触发:编辑关键项保存(生成新版本);列表展开版本链;对比操作。
- 前置状态:报价单存在;被驳回/客户要求改版时从原版复制新版本。
3 输入与校验
| 字段 | 必填 | 校验 | 失败处理 |
|---|---|---|---|
| 新版本(复制自当前) | 修改时自动 | 母版本状态可复制 | 终态版本只读 |
| 对比版本对 | 是 | 同一报价单内 | 跨单不可比 |
| 有效期 | 每版本必填 | 不早于当日(确认方式假设 Q5) | 过期自动失效 |
4 处理流程
5 输出与结果状态
版本链(不可变历史)+ 对比视图;已确认 版本显示锁定标记;失效版本保留可查(不删除)。
6 状态流转
版本状态机:草稿 → 待审批 →(通过)待客户确认 →(确认)已确认 →(转单)已转单;待客户确认 →(届满)已失效;驳回/改版回 草稿(新版本)——全图见 quotation README 状态迁移图。
7 边界与异常
| 条件 | 系统行为 | 提示 |
|---|---|---|
| 他人已生成更新版本 | 冲突提示(6.1 异常) | 「最新版本已由 X 保存」 |
| 对已转单版本修改 | 禁止(终态只读),提示复制 | 「已转单版本不可改」 |
| 有效期届满 | 自动 已失效,保留不删除 | 列表失效徽标 |
| 版本被占用为订单基线 | 基线字段锁定 | 「已作为订单基线」 |
8 权限与数据规则
- 版本历史全链对本域角色可读(Q41:报价对销售/客服可见)。
- 版本不可物理删除;失效/转单均进审计(F15.03)。
F03.04 报价审批
对应 PRD:6.1 权限「销售经理按金额/毛利阈值审批」+ 异常「超权限价格拦截」(prd/印刷行业工单系统产品与交互设计.md:212)| 交互稿:prd/design/quotation/(已确认,编辑页提交弹窗 + 列表状态徽标——页面树 3.3 归并)| 实现落点:待回填 | 操作入口:/quotations/{quoteId}/edit(提交弹窗)、/quotations(徽标)| 状态:未实现
1 功能定义
报价审批的业务触发与结果承载(B3 归并裁决:审批动作由编辑页提交弹窗收集理由/加急/有效期 + 列表徽标承载,不设独立审批屏;审批任务实例与统一入口归 m15 F15.01):提交校验(超授权折扣/无成本/缺规则禁提交)、审批人按金额/毛利阈值路由(阈值可配置)、结果回写版本状态。
2 触发条件与前置状态
- 触发:编辑页「提交审批」。
- 前置状态:版本
草稿;三价与明细齐备;无禁提交条件。
3 输入与校验
| 字段 | 必填 | 校验 | 失败处理 |
|---|---|---|---|
| 审批理由 | 是 | 非空 | 阻断提交 |
| 加急标记 | 否 | 加急费提示(费用项,金额访谈候选) | — |
| 有效期 | 是 | 不早于当日(确认方式假设 Q5) | 阻断 |
| 超授权校验 | 自动 | 折扣/价格超当前用户授权即禁用提交(7.2) | 按钮禁用+说明 |
4 处理流程
5 输出与结果状态
版本状态 待审批 →(同意)待客户确认 /(驳回)草稿+驳回原因;审批任务实例归 F15.01 状态机;列表徽标同步。
6 状态流转
报价版本状态机见 F03.03;审批任务状态机(待审批→已同意/已驳回/已转办/已撤回)见 00-总则 §1 通用审批状态机(m15 承载)。
7 边界与异常
| 条件 | 系统行为 | 提示 |
|---|---|---|
| 审批中版本被修改 | 禁止编辑;改动须撤回或驳回后新版本 | 「审批中版本不可改」 |
| 审批人配置缺失 | 阻断提交 | 「未配置审批规则」 |
| 发送客户确认 | 审批通过后动作(确认方式假设 Q5:MVP 上传凭证留档) | — |
| 客户确认/驳回 | 驳回走新版本;确认则版本锁定(F03.03) | — |
8 权限与数据规则
- 审批角色=销售经理及以上,按金额/毛利阈值路由(阈值可配置,访谈候选不预设);财务核对付款条款(6.1 权限)。
- 提交人=发起人;审批过程进审计(F15.03)。
F03.05 报价转订单
对应 PRD:6.1 规则「版本锁定后才可转订单」+ 异常「报价转单后显示基线链接」(prd/印刷行业工单系统产品与交互设计.md:210,212)+ Q18 快照裁决| 交互稿:prd/design/quotation/(已确认,列表操作列「转单」)| 实现落点:待回填 | 操作入口:/quotations(转单——仅 已确认 版本)| 状态:未实现
1 功能定义
已确认(锁定)版本转为订单入口:仅 已确认 且未失效、未被占用的版本可转;转单动作把版本基线带入订单创建(F04.01),订单确认时冻结四类快照(Q18/R-008,承载在订单域 F04.05);转单后报价侧显示基线链接(6.1 异常)。
2 触发条件与前置状态
- 触发:报价列表行操作「转订单」;订单创建入口反向选报价(F04.01)。
- 前置状态:版本
已确认、未失效、基线未被其他订单占用;客户启用状态。
3 输入与校验
| 字段 | 必填 | 校验 | 失败处理 |
|---|---|---|---|
| 目标版本 | 是 | 状态=已确认、未失效、未占用 | 「报价已失效/已转单」阻断 |
| 明细与条款承接 | 自动 | 版本内容完整 | 缺失提示核对 |
4 处理流程
5 输出与结果状态
订单草稿(m04 承载)+ 报价版本标记「已转单」+ 基线双向链接(报价↔订单)。
6 状态流转
版本 已确认 → 已转单(终态,只读);订单侧状态机归 m04。
7 边界与异常
| 条件 | 系统行为 | 提示 |
|---|---|---|
| 并发转单(两订单同抢一版本) | 先到先得,后者阻断 | 「该版本已转单」 |
| 转单后报价失效 | 不影响已转订单(快照已冻结 Q18) | — |
| 转单前版本失效 | 阻断,须重新确认版本 | 「报价已失效」 |
8 权限与数据规则
- 转单权限=销售/报价专员(本组织数据范围);基线链接对订单域可见(跨域只读)。
- 转单动作进审计(F15.03)。
F03.06 阶梯计价与价格规则(P1)
对应 PRD:6.1 规则「阶梯价按基准数量区间、单价、固定费、是否累计、生效期计算;折扣可设比例/金额及审批门槛」+ §六模块行「定价规则」P1(prd/印刷行业工单系统产品与交互设计.md:178,210)+ 调研 R-007(损耗估算版本)| 交互稿:prd/design/quotation/(已确认,编辑屏费用明细阶梯行)| 实现落点:待回填 | 操作入口:/quotations/{quoteId}/edit(费用明细)| 状态:未实现
1 功能定义
价格规则引擎(P1 里程碑,MVP 以费用明细人工维护承接):阶梯计价规则(适用对象/数量区间/单价或金额/固定费用/是否累计/生效期/币种/税口径/审批人)、折扣规则(比例/金额+审批门槛)、规则版本管理(结算时把规则版本写入账单防止调价影响历史账单——与 m13 联动;损耗估算版本按 R-007 保存计划/实做对比)。计价公式与维度访谈候选,禁预设(Q36)。
2 触发条件与前置状态
- 触发:费用明细启用阶梯行;价格规则维护入口(P1)。
- 前置状态:材料/工艺价格参数已维护或人工报价兜底;规则版本可引用。
3 输入与校验
| 字段 | 必填 | 校验 | 失败处理 |
|---|---|---|---|
| 阶梯区间 | 启用时必填 | 区间连续无断档、无重叠 | 阻断保存 |
| 单价/固定费/是否累计 | 是 | 数值合法 | 阻断 |
| 生效期/币种/税口径 | 是 | 枚举+日期合法 | 阻断 |
| 折扣审批门槛 | 是 | 门槛可配置(比例/金额) | 超门槛走 F03.04 |
| 规则版本 | 结算引用 | 版本存在且生效(m13 入账单) | 「规则版本已失效」提示 |
4 处理流程
5 输出与结果状态
价格规则版本集 + 计价命中明细;规则版本随基线进入订单与账单(m13 F13.01);损耗估算版本(R-007)供成本对比。
6 状态流转
规则版本沿用通用主数据状态机(§1:草稿→评审→生效→失效,m06 模式);失效规则不影响历史报价/账单(版本已写入)。
7 边界与异常
| 条件 | 系统行为 | 提示 |
|---|---|---|
| 区间断档/重叠 | 阻断保存 | 「阶梯区间不连续」 |
| 规则调价 | 新版本生效,旧版本留痕 | — |
| 无匹配规则 | 回退人工报价(F03.01) | 「待人工定价」 |
| 折扣超门槛 | 禁提交+说明(F03.04) | 「超出授权范围」 |
8 权限与数据规则
- 规则维护=报价核价/财务(Q41 成本角色);折扣门槛配置=管理层。
- 规则版本变更进审计(F15.03);公式参数访谈候选禁预设。
E2E 场景清单(m03 覆盖地图)
| 场景 ID | 场景名 | FSD 功能 ID | 前置种子 | 主干路径 | 关键断言 | 冒烟? | 可并行? | 现状 |
|---|---|---|---|---|---|---|---|---|
| E03.01 | 询价转报价主干 | F03.01(+F02.02) | 已确认询价(m02) | 转报价→承接要素→计价→存草稿 | 报价草稿生成;来源回链询价 | ✓ | ✓ | 未实现 |
| E03.02 | 版本链修改不覆盖 | F03.03 | 草稿报价 | 修改关键项→保存 | 原版本保留;新版本生成;差异高亮 | ✓ | ✓ | 未实现 |
| E03.03 | 提交审批→客户确认→锁定 | F03.04/F03.03 | 齐备草稿 | 提交(理由+有效期)→同意→客户确认 | 版本锁定;徽标同步;驳回回草稿+原因 | ✓ | — | 未实现 |
| E03.04 | 超授权拦截 | F03.04 | 低角色用户+高折扣报价 | 提交 | 按钮禁用+说明;无审批任务产生 | ✓ | ✓ | 未实现 |
| E03.05 | 有效期届满自动失效 | F03.03 | 待客户确认版本+有效期临界 | 届满 | 自动已失效;保留可查不删除 | ✓ | ✓ | 未实现 |
| E03.06 | 转单基线回链 | F03.05→F04.01 | 已确认版本 | 转单→订单确认 | 版本已转单终态;报价↔订单基线双向链接 | ✓ | — | 未实现 |
| E03.07 | 单位不可换算阻断 | F03.02 | 双单位材料(R-001) | 录入非法换算数量档 | 阻断并提示;合法换算通过 | — | ✓ | 未实现 |
| E03.08 | 毛利脱敏 | F03.02/F15.02 | 销售与财务两角色 | 打开编辑屏 | 毛利区销售不可见(Q41);财务可见 | ✓ | ✓ | 未实现 |
| E03.09 | 阶梯规则命中与版本入账单(P1) | F03.06/F13.01 | 生效规则版本+转单订单 | 报价命中阶梯→转单→对账 | 计价命中明细正确;规则版本写入账单(m13 联动) | — | ✓ | 未实现 |