# FSD M3 · 报价与定价

LLMS 索引： [llms.txt](/llms.txt)

---

> [← 总则](/poms/fsd/00-%E6%80%BB%E5%88%99/) ｜ [附录 →](/poms/fsd/99-%E9%99%84%E5%BD%95/) ｜ 上游：[主 PRD](/poms/%E5%8D%B0%E5%88%B7%E8%A1%8C%E4%B8%9A%E5%B7%A5%E5%8D%95%E7%B3%BB%E7%BB%9F%E4%BA%A7%E5%93%81%E4%B8%8E%E4%BA%A4%E4%BA%92%E8%AE%BE%E8%AE%A1/)（6.1 / 7.2 报价编辑页）｜ 交互稿：[prd/design/quotation/](/poms/design/quotation/readme/)（已确认）
>
> 册边界：询价与商机归 m02；转单后的订单本体归 m04（本册到「版本锁定可转」+ 基线回链为止）；审批中台归 m15（本册承载报价审批的业务触发与状态机，审批任务实例归 F15.01）。F03.06 阶梯计价与价格规则为 **P1**（MVP 仅费用明细人工+简单计算，规则引擎随 P1 落地）。

### M3 报价与定价

#### F03.01 报价创建与来源

**对应 PRD**：6.1 主流程前三步（`prd/印刷行业工单系统产品与交互设计.md:208`）｜ **交互稿**：[prd/design/quotation/](/poms/design/quotation/readme/)（已确认，报价列表屏）｜ **实现落点**：待回填 ｜ **操作入口**：`/quotations`（新建入口）｜ **状态**：未实现

##### 1 功能定义

报价单的创建入口，**三个来源**：从询价转入（承接 m02 F02.02 的需求要素）、从产品模板新建、从既有报价复制版本；创建后进入需求录入（条件齐备性决定能否计价）。无可用价格参数时允许标记**人工报价**并说明（6.1 前置）。

##### 2 触发条件与前置状态

- 触发：报价列表「新建」三来源入口；询价详情「转报价」（F02.02 联动）。
- 前置状态：来源询价已确认需求要素；模板/复制来源须对应对象存在且可引用；客户存在或草稿可存（F02.01）。

##### 3 输入与校验

| 字段 | 必填 | 校验 | 失败处理 |
|------|------|------|----------|
| 来源（询价/模板/复制） | 是 | 来源对象存在且可引用 | 阻断并提示 |
| 客户/联系人 | 是 | 存在且未停用 | 阻断 |
| 需求要素（数量档/尺寸/材料意向/交期等） | 计价前必填 | 齐备性 | 缺失可存草稿、不可提交 |
| 材料版本/工艺路线版本 | 计价前必选 | 引用版本 `已生效`（m06） | 「版本已失效，请重选」阻断 |
| 人工报价标记 | 无参数时 | 说明必填 | 缺说明阻断提交 |

##### 4 处理流程

```mermaid
flowchart TD
    A[新建入口] --> B{来源}
    B -- 询价 --> C[承接需求要素 m02]
    B -- 模板 --> D[载入模板条件]
    B -- 复制 --> E[复制既有版本]
    C --> F[需求录入]
    D --> F
    E --> F
    F --> G{价格参数可用?}
    G -- 是 --> H[生成计价明细 → F03.02]
    G -- 否 --> I[标记人工报价+说明]
    I --> F
```

##### 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/](/poms/design/quotation/readme/)（已确认，报价编辑-版本对比屏）｜ **实现落点**：待回填 ｜ **操作入口**：`/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 处理流程

```mermaid
flowchart TD
    A[打开编辑] --> B[左栏需求条件]
    B --> C{单位换算合法?}
    C -- 否 --> X[R-001 阻断]
    C -- 是 --> D[中栏费用明细]
    D --> E{参数齐备?}
    E -- 否 --> F[待人工定价+说明]
    E -- 是 --> G[规则计价]
    F --> H[右栏三价汇总]
    G --> H
    H --> I[人工修改? 原因必填]
    I --> J[保存草稿 / 提交审批 → F03.04]
```

##### 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/](/poms/design/quotation/readme/)（已确认，列表版本链展开 + 编辑屏版本对比表）｜ **实现落点**：待回填 ｜ **操作入口**：`/quotations`（版本链展开）、`/quotations/{quoteId}/edit`（版本对比）｜ **状态**：未实现

##### 1 功能定义

报价的版本链管理：每次修改生成新版本（v1/v2/…不覆盖原版）；任意两版本对比高亮（数量/单价/金额/条款变化）；版本状态机（草稿→待审批→待客户确认→已确认/已失效→已转单）；**已确认版本锁定后才可转订单**；有效期届满自动失效且不可删除。

##### 2 触发条件与前置状态

- 触发：编辑关键项保存（生成新版本）；列表展开版本链；对比操作。
- 前置状态：报价单存在；被驳回/客户要求改版时从原版复制新版本。

##### 3 输入与校验

| 字段 | 必填 | 校验 | 失败处理 |
|------|------|------|----------|
| 新版本（复制自当前） | 修改时自动 | 母版本状态可复制 | 终态版本只读 |
| 对比版本对 | 是 | 同一报价单内 | 跨单不可比 |
| 有效期 | 每版本必填 | 不早于当日（确认方式假设 Q5） | 过期自动失效 |

##### 4 处理流程

```mermaid
flowchart TD
    A[修改关键项] --> B[复制生成新版本]
    B --> C[新版本编辑 F03.02]
    A --> D[原版本保留不动]
    C --> E[版本对比: 与上一版差异高亮]
    E --> F[版本锁定: 已确认]
    F --> G[可转订单 → F03.05]
```

##### 5 输出与结果状态

版本链（不可变历史）+ 对比视图；`已确认` 版本显示锁定标记；失效版本保留可查（不删除）。

##### 6 状态流转

版本状态机：`草稿 → 待审批 →（通过）待客户确认 →（确认）已确认 →（转单）已转单`；`待客户确认 →（届满）已失效`；驳回/改版回 `草稿`（新版本）——全图见 quotation README 状态迁移图。

##### 7 边界与异常

| 条件 | 系统行为 | 提示 |
|------|----------|------|
| 他人已生成更新版本 | 冲突提示（6.1 异常） | 「最新版本已由 X 保存」 |
| 对已转单版本修改 | 禁止（终态只读），提示复制 | 「已转单版本不可改」 |
| 有效期届满 | 自动 `已失效`，保留不删除 | 列表失效徽标 |
| 版本被占用为订单基线 | 基线字段锁定 | 「已作为订单基线」 |

##### 8 权限与数据规则

- 版本历史全链对本域角色可读（Q41：报价对销售/客服可见）。
- 版本不可物理删除；失效/转单均进审计（F15.03）。

#### F03.04 报价审批

**对应 PRD**：6.1 权限「销售经理按金额/毛利阈值审批」+ 异常「超权限价格拦截」（`prd/印刷行业工单系统产品与交互设计.md:212`）｜ **交互稿**：[prd/design/quotation/](/poms/design/quotation/readme/)（已确认，编辑页提交弹窗 + 列表状态徽标——页面树 3.3 归并）｜ **实现落点**：待回填 ｜ **操作入口**：`/quotations/{quoteId}/edit`（提交弹窗）、`/quotations`（徽标）｜ **状态**：未实现

##### 1 功能定义

报价审批的业务触发与结果承载（**B3 归并裁决**：审批动作由编辑页提交弹窗收集理由/加急/有效期 + 列表徽标承载，不设独立审批屏；审批任务实例与统一入口归 m15 F15.01）：提交校验（超授权折扣/无成本/缺规则禁提交）、审批人按金额/毛利阈值路由（阈值可配置）、结果回写版本状态。

##### 2 触发条件与前置状态

- 触发：编辑页「提交审批」。
- 前置状态：版本 `草稿`；三价与明细齐备；无禁提交条件。

##### 3 输入与校验

| 字段 | 必填 | 校验 | 失败处理 |
|------|------|------|----------|
| 审批理由 | 是 | 非空 | 阻断提交 |
| 加急标记 | 否 | 加急费提示（费用项，金额访谈候选） | — |
| 有效期 | 是 | 不早于当日（确认方式假设 Q5） | 阻断 |
| 超授权校验 | 自动 | 折扣/价格超当前用户授权即禁用提交（7.2） | 按钮禁用+说明 |

##### 4 处理流程

```mermaid
flowchart TD
    A[提交弹窗] --> B{超授权校验}
    B -- 超限 --> X[禁用+说明]
    B -- 通过 --> C[生成审批任务 → F15.01]
    C --> D{审批结论}
    D -- 同意 --> E[待客户确认]
    D -- 驳回 --> F[草稿+原因, 修改生成新版本]
```

##### 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/](/poms/design/quotation/readme/)（已确认，列表操作列「转单」）｜ **实现落点**：待回填 ｜ **操作入口**：`/quotations`（转单——仅 `已确认` 版本）｜ **状态**：未实现

##### 1 功能定义

已确认（锁定）版本转为订单入口：仅 `已确认` 且未失效、未被占用的版本可转；转单动作把版本基线带入订单创建（F04.01），订单确认时冻结四类快照（Q18/R-008，承载在订单域 F04.05）；转单后报价侧显示基线链接（6.1 异常）。

##### 2 触发条件与前置状态

- 触发：报价列表行操作「转订单」；订单创建入口反向选报价（F04.01）。
- 前置状态：版本 `已确认`、未失效、基线未被其他订单占用；客户启用状态。

##### 3 输入与校验

| 字段 | 必填 | 校验 | 失败处理 |
|------|------|------|----------|
| 目标版本 | 是 | 状态=已确认、未失效、未占用 | 「报价已失效/已转单」阻断 |
| 明细与条款承接 | 自动 | 版本内容完整 | 缺失提示核对 |

##### 4 处理流程

```mermaid
flowchart TD
    A[转单入口] --> B{版本可转?}
    B -- 否 --> X[阻断: 失效/已占用]
    B -- 是 --> C[进入订单创建 F04.01]
    C --> D[订单确认: 冻结四类快照 F04.05]
    D --> E[报价侧显示基线链接]
```

##### 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/](/poms/design/quotation/readme/)（已确认，编辑屏费用明细阶梯行）｜ **实现落点**：待回填 ｜ **操作入口**：`/quotations/{quoteId}/edit`（费用明细）｜ **状态**：未实现

##### 1 功能定义

价格规则引擎（**P1 里程碑**，MVP 以费用明细人工维护承接）：阶梯计价规则（适用对象/数量区间/单价或金额/固定费用/是否累计/生效期/币种/税口径/审批人）、折扣规则（比例/金额+审批门槛）、规则版本管理（结算时把规则版本写入账单防止调价影响历史账单——与 m13 联动；损耗估算版本按 R-007 保存计划/实做对比）。计价公式与维度**访谈候选，禁预设**（Q36）。

##### 2 触发条件与前置状态

- 触发：费用明细启用阶梯行；价格规则维护入口（P1）。
- 前置状态：材料/工艺价格参数已维护或人工报价兜底；规则版本可引用。

##### 3 输入与校验

| 字段 | 必填 | 校验 | 失败处理 |
|------|------|------|----------|
| 阶梯区间 | 启用时必填 | 区间连续无断档、无重叠 | 阻断保存 |
| 单价/固定费/是否累计 | 是 | 数值合法 | 阻断 |
| 生效期/币种/税口径 | 是 | 枚举+日期合法 | 阻断 |
| 折扣审批门槛 | 是 | 门槛可配置（比例/金额） | 超门槛走 F03.04 |
| 规则版本 | 结算引用 | 版本存在且生效（m13 入账单） | 「规则版本已失效」提示 |

##### 4 处理流程

```mermaid
flowchart TD
    A[定义价格规则] --> B[版本化保存]
    B --> C[报价命中规则 → 计价明细]
    C --> D{折扣超门槛?}
    D -- 是 --> E[走审批 F03.04]
    D -- 否 --> F[直接生效]
    C --> G[转单后: 规则版本写入订单/账单 m13]
```

##### 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 联动） | — | ✓ | 未实现 |

---

反链：

- [印刷工单系统功能规格说明书（FSD）v1.0 · 总则](/poms/fsd/00-%E6%80%BB%E5%88%99/)
