# settlement 域设计总纲（对账结算）

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

---

> **源**：PRD「八、页面架构与关键页面设计」页面树 11「结算」+「七、核心功能逐项需求」之「6.10 对账、阶梯计价、定金尾款、发票与收款」+「四、端到端业务流程与核心状态机」（结算段、7.9 对账单页）；调研「七、需求条目统一编号与优先级判定」R-013（P0：按合同单位与价格版本生成账单、金额调整留痕）。P0 裁决见决策记录：44 问 triage §2/§5。
>
> **设计确认门：本稿产出即停点，用户确认后才进下一步（FSD 于 B5 完成后统一编制，2026-10-21 裁决）。**
>
> 状态：**已确认**（2026-10-21 用户确认 B2；后续修订追加登记于本行下方）
> 修订：2026-10-21 B2 定稿确认（含会话④对账金额口径 ¥14,880 联动修复）；移除未消费 data.js 引用（B-3 遗留裁决）；FSD 节奏统一后置。（FSD `00-总则` 修订记录待 Phase 3 创建时补记本次定稿）
> 修订：2026-10-21 Phase 3 批量铺开——m13 对账结算册已建（`prd/fsd/m13-对账结算.md`，F13.01~F13.03），本表 FSD ID 列由册粒度占位细化为功能 ID。
> 原型：`html/index.html` 导航 + 3 屏，零依赖静态 HTML；预览走文档站（相对链接以站点布局为准）。

## 页面清单

| 屏 | 原型文件 | 对应真实路由 | 交互点 | 覆盖的 FSD ID |
|----|----------|--------------|--------|----------------------------|
| 对账单 | [statement.html](/poms/design/html/settlement/statement.html) | `/settlement/statements/{statementId}` | 结算明细主表（来源=发运/签收事实）；结算数量=签收量（Q35 默认，按客户可配置）；差异调整「申请调整」留痕不原位改数（R-013，Q38）；计价规则版本写入账单（阶梯 P1 且公式禁预设 Q36）；定金/尾款计划项（Q37）；客户确认/异议登记；下载/发送 | F13.01（对账单） |
| 收款与核销 | [payment-receipt.html](/poms/design/html/settlement/payment-receipt.html) | `/settlement/payments` | 到账流水登记；按账单核销（Q40 默认，推荐精确匹配）；预收挂账与抵扣；尾款=总额−已收；退款/冲销须原因+审批；客户应收台账 | F13.02（收款与核销） |
| 发票登记 | [invoice-register.html](/poms/design/html/settlement/invoice-register.html) | `/settlement/invoices` | 登记不直开（Q39）；一对一/一对多/多对一总额受控；重复开票检查提示不自动阻断；待红冲事项登记（关联蓝票+冲减金额+原因）；已开票账单金额限制；票面附件 | F13.03（发票登记） |

> 原则（PRD 6.10）：**可结算事实在前、发票登记在后**——账单只汇总可结算事实，发票登记只记录票面事实，二者不得互相覆盖。

## 状态迁移（账单状态机，PRD「四、端到端业务流程与核心状态机」）

```mermaid
stateDiagram-v2
    [*] --> 草稿: 选择订单/发运·应用价格版本
    草稿 --> 待确认: 生成（调整走申请留痕）
    待确认 --> 已确认: 客户确认/异议关闭
    待确认 --> 草稿: 异议→调整单（R-013）
    已确认 --> 待开票
    待开票 --> 已开票: 发票登记（Q39：登记不直开）
    已开票 --> 部分收款: 按账单核销部分
    部分收款 --> 已结清: 尾款核销（Q40）
    待开票 --> 已结清: 无票结清（客户配置）
    已结清 --> 关闭
    关闭 --> [*]
```

> 收款状态：未收 → 部分收 → 已收 → 退款/冲销（须原因+审批）。

## 裁决引用（本域设计吸收的 Phase 0 裁决与假设标注）

| 裁决/问题 | 内容 | 落地点 |
|-----------|------|--------|
| **Q35**（已采纳） | 对账依据=客户签收量（默认），可按客户配置发货量；容差可配置无默认值；差异生成调整凭证留痕 | 对账单「结算数量=签收量」+ 容差行 + 差异调整 ADJ 留痕 |
| **Q40**（已采纳） | 按账单核销（默认），支持预收挂账；跨期/汇兑/坏账不做 | 收款与核销整屏 |
| **Q39**（已确认方向） | 直连开票不做，发票只登记；红冲流程 P1 前访谈 | 发票登记整屏 + 待红冲事项 |
| **Q41**（已采纳） | 敏感数据三角色可见；客户门户最小暴露 | 客户门户可见性注 |
| **R-013**（P0） | 按合同单位与价格版本生成账单；金额调整留痕 | 价格版本列（QT-0195 v1）+ 调整凭证 ADJ-014 |
| **Q36**（假设→计价公式访谈候选） | 阶梯计价 P1；公式与维度禁预设 | 对账单计价区标注 |
| **Q37**（假设，待确认） | 定金/进度款/尾款/发票关系；预开发票 | 定金/尾款行 + 发票登记预开注 |
| **Q38**（假设，待确认） | 对账单合并、异议/扣款/折让凭证 | 调整留痕区标注 |
| **Q42**（假设，待确认） | 数据保留时长 | （B1/B2 财务数据归档口径，MVP 只归档不删除） |

**假设标注约定**：未裁决参数一律「假设（Q<n>，待客户确认）」；访谈候选值（Q13/Q20/Q27/Q28/Q36）不出现预设数值，页面数字均为示例数据。

## 覆盖性对账

- 对应 FSD 册：**m13 对账结算**（批量铺开已建：`prd/fsd/m13-对账结算.md`，F13.01~F13.03）——双向关联两侧无空（2026-10-21 批量铺开互挂）。
- 页面树 11「结算」3 节点全覆盖（对账单/收款与核销/发票登记）。

---

反链：

- [交互设计](/poms/design/)
- [FSD M13 · 对账结算](/poms/fsd/m13-%E5%AF%B9%E8%B4%A6%E7%BB%93%E7%AE%97/)
