diff --git a/doc/docs/业务流程/2026-11-01-先票后款业务流程与逻辑状态说明(收票登记A303-2+付款结算单A102-2+A302-6).md b/doc/docs/业务流程/2026-11-01-先票后款业务流程与逻辑状态说明(收票登记A303-2+付款结算单A102-2+A302-6).md
new file mode 100644
index 00000000..480169ce
--- /dev/null
+++ b/doc/docs/业务流程/2026-11-01-先票后款业务流程与逻辑状态说明(收票登记A303-2+付款结算单A102-2+A302-6).md
@@ -0,0 +1,134 @@
+# 先票后款业务流程与逻辑状态说明(收票登记 A303-2 + 付款结算单 A102-2 + A302-6)
+
+> 更新日期:2026-11-01 | 适用系统:运输 TMS(业财融合·金蝶星瀚) | 读者:业务/产品/开发
+>
+> 关联文档:《先票后款纯操作手册》(同目录,纯操作步骤+截图)、《先票后款改造方案V2》(方案与改造清单)
+>
+> 需求来源:禅道 #15850——收票登记与结算单解耦,改为"先票后款"两段式
+
+---
+
+## 1. 一页总览
+
+收票登记不再强制关联结算单,拆成两段:**先票**(收票登记只负责把发票推进金蝶收票单),**后款**(付款结算单认领收票单,推财务应付单后完成"发票指定应付"勾稽)。
+
+```mermaid
+flowchart TD
+ subgraph 先票-收票登记
+ A1[票池选发票
明细自动带出] --> A2[手选结算组织
往来户=销方供应商代码]
+ A2 --> A3[保存草稿/提交审批]
+ A3 --> A4{审批通过}
+ A4 --> A5[A303-2 推金蝶收票单
分录=发票明细行]
+ A5 --> A6[pushed 已保存收票单
附件联带上传 A902]
+ end
+ subgraph 后款-付款结算单
+ B1[认领收票单
路径A 新增/编辑时选择
路径B 审批后发票登记] --> B2[一票一结算单校验
全额认领]
+ B2 --> B3[审批通过]
+ B3 --> B4[A102-2 财务应付单]
+ B4 --> B5[A302-6 逐单指定应付]
+ B5 --> B6[assigned 已指定应付]
+ end
+ A6 -.收票单已推.pushed.-> B1
+ B4 -.推送失败/漏指定.-> C[A801-3 定时回写
指定补偿自动重试] --> B5
+```
+
+## 2. 名词与状态字典
+
+| 名词/状态 | 含义 |
+| --- | --- |
+| pushed(已保存收票单) | 收票登记推送**终态**:A303-2 保存成功。不再立即指定应付 |
+| assigned(已指定应付) | 金蝶侧已与财务应付单完成勾稽(A302-6 成功)。历史数据终态,新链路由结算单侧驱动 |
+| failed(推送失败) | A303-2 保存失败 / 金蝶侧发票异常回收。列表"推送"按钮或定时任务自动重推 |
+| unsynced(未推送) | 审批通过但尚未推送(存量历史单不自动补推,走手动按钮) |
+| unreceived / partial / completed | 结算单收票状态:未收票 / 认领金额未覆盖结算金额 / **认领金额 ≥ 结算金额即完成**(全额认领,允许超过) |
+| 往来户 | A303-2 主表 receivablessupp_number = **发票销售方**在金蝶的供应商代码(客商档案 supplier_code) |
+| 结算组织 | 收票登记页面**手选部门**(合同承办部门口径),沿部门树上溯平台公司取金蝶组织编码 |
+| 一票一结算单 | 一张收票单只能被一张付款结算单认领;认领即**全额**(认领金额=发票金额,可超过结算金额) |
+
+## 3. 各环节业务规则
+
+### 3.1 收票登记(先票)
+
+- **不挂结算单、不挂合同**:表单无"关联结算单";结算组织=页面必选手选部门。
+- **选票即带明细**:从金蝶票池(A801-1 镜像)选发票后,明细区块按票号带出发票明细行(goodsCode/数量/单价/金额/税额/税率),与推送分录同源。
+- **往来户回填**:保存时按销方名称查客商档案回填 `supplier_code`(尽力回填,不阻断保存)。
+- **推送前置**:审批通过 + 已绑定镜像 + 查验通过 + 已选结算组织;往来户供应商代码缺失时**推送时实时重查档案**,仍缺失报错阻断。
+- **推送成功即终态 pushed**:删除了旧链路的"应付单已生成预检(A102-4)"和"立即指定应付"。
+- 附件联带上传 A902(登记附件 + 票池发票文件),失败不影响推送状态,重推自动补传。
+
+### 3.2 付款结算单认领收票单(后款)
+
+- **两条路径,同一套关系同步**:
+ - 路径 A:新增/编辑结算单时"选择收票单"(编辑器);
+ - 路径 B:审批通过后列表"发票登记"→选票→保存认领→确认推送。
+- **候选范围**:审批通过 + 未被有效应付结算单认领(关联仍指向作废结算单的票可重新选)。
+- **一票一结算单**:认领时校验,已挂其他有效应付结算单的票拦截(行锁防并发认领)。
+- **全额认领**:匹配金额固定=发票金额,**允许合计超过结算金额**;收票状态"≥ 结算金额即 completed"。
+- **双边落关系**:结算单侧 FormalSettlementInvoice(发票信息区)+ 收票登记侧 InvoiceReceiptSettlement("结算信息"区展示)。
+- 历史兼容:编辑历史结算单仍走原增量认领;收票登记传 settlements 的老入参仍走原分摊校验。
+
+### 3.3 财务应付单与指定应付
+
+- 结算单审核通过 →"同步金蝶"推 A102-2 → **成功后自动对本单认领且收票单为 pushed 的逐单调 A302-6** → assigned。
+- 收票单尚未推送(unsynced/failed):跳过不报错;等收票侧推成 pushed 后由 A801-3"指定补偿"自动补指定。
+- **单笔指定失败不阻断结算同步**,失败明细进日志;已指定的幂等跳过。
+- 路径 B 的"发票登记"确认推送(`/invoice-assign-kingdee`)前置:付款结算单 + 审批通过 + 应付单已同步(synced)。
+
+### 3.4 定时回写与补偿(A801-3)
+
+| 场景 | 处理 |
+| --- | --- |
+| 金蝶侧发票状态异常(作废/红冲) | 回收本地状态为 failed,提示人工删除/解除指定后重推 |
+| pushed + 已认领 | **指定补偿(重试引擎)**:按认领关系自动补发 A302-6 |
+| pushed + 未认领 | 跳过,**不再置 failed**(未指定不属异常) |
+| assigned 缺收票单号 | 仅补登单号 |
+
+### 3.5 反向操作
+
+- 结算单作废、认领移除**不同步金蝶**(不调 unassign),金蝶侧人工解除指定后重推。
+- 收票登记作废:金蝶已生成收票单(pushed/assigned)时本地禁止作废,须先在金蝶删除/解除指定。
+
+## 4. 状态机
+
+### 4.1 收票登记 kingdeePushStatus
+
+```
+unsynced ──推送成功(A303-2)──▶ pushed ──结算单A102-2成功/A801-3补偿/发票登记确认──▶ assigned
+ │ │
+ ├──手动/自动推送失败──▶ failed ◀──金蝶侧异常回收(作废/红冲)
+ │ │
+ └────────────重推(列表按钮/定时)◀──┘
+```
+
+- pushed 是新链路推送终点;assigned 只能由结算单侧指定动作或 A801-3 补偿到达。
+- failed 重推不再依赖结算单/A102-4,仅需镜像明细 + 往来户编码 + 结算组织齐备。
+
+### 4.2 结算单收票状态(invoice_status)
+
+```
+unreceived ──首次认领──▶ partial ──Σ认领金额 ≥ 结算金额──▶ completed
+```
+
+- 认领/移除/编辑保存时实时重算(refreshSettlementInvoiceStatus)。
+
+## 5. 接口与数据落点
+
+| 端点/任务 | 说明 |
+| --- | --- |
+| GET `/invoice-receipt/invoice-detail-query?invoiceNo=` | 发票明细区块取数(镜像 items_json,缺则回源 A801-1) |
+| GET `/invoice-receipt/claim-candidates?keyword=` | 认领候选(approved+未认领,limit 200) |
+| POST `/formal-settlement/invoice-assign-kingdee?id=` | 发票登记确认推送(A302-6) |
+| POST `/invoice-receipt/push-kingdee` | 收票登记推送(A303-2,终态 pushed) |
+| 定时 A801-1 票池同步 | 镜像含明细 items_json;明细变化即刷新(含金额未变场景) |
+| 定时 A801-3 收票结果回写 | 异常回收 / 指定补偿 / 单号补登 |
+| 表 | `blade_invoice_receipt.supplier_code`(新列)、`blade_invoice_receipt_settlement`(认领关系)、`blade_formal_settlement_invoice`(结算单发票区) |
+
+## 6. 已知边界与联调遗留
+
+| 项 | 说明 |
+| --- | --- |
+| 物料编码口径 | A303-2 分录物料编码暂送税收分类码,金蝶基础资料不认——**待金蝶确认**(默认物料 or 金蝶建档) |
+| 税收分类基础资料 | 金蝶环境不认国标码——待金蝶初始化/分配 |
+| 免税/零税率行 | 税率表无法映射(V+整数),推送报错人工核实 |
+| 币别 | 固定 CNY(不挂合同,数电票人民币) |
+| 付款申请单 A103-1 | 本期不动 |
diff --git a/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/01-收票登记列表.png b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/01-收票登记列表.png
new file mode 100644
index 00000000..8ad3651e
Binary files /dev/null and b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/01-收票登记列表.png differ
diff --git a/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/02-收票登记新增-结算组织与明细区块.png b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/02-收票登记新增-结算组织与明细区块.png
new file mode 100644
index 00000000..69db666a
Binary files /dev/null and b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/02-收票登记新增-结算组织与明细区块.png differ
diff --git a/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/03-收票登记选票后-发票明细带出.png b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/03-收票登记选票后-发票明细带出.png
new file mode 100644
index 00000000..8cbad1f2
Binary files /dev/null and b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/03-收票登记选票后-发票明细带出.png differ
diff --git a/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/04-收票登记详情-结算信息认领展示.png b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/04-收票登记详情-结算信息认领展示.png
new file mode 100644
index 00000000..b997b0a5
Binary files /dev/null and b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/04-收票登记详情-结算信息认领展示.png differ
diff --git a/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/05-付款结算单列表-发票登记入口.png b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/05-付款结算单列表-发票登记入口.png
new file mode 100644
index 00000000..715a41ba
Binary files /dev/null and b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/05-付款结算单列表-发票登记入口.png differ
diff --git a/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/06-发票登记弹窗-结算信息与选票.png b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/06-发票登记弹窗-结算信息与选票.png
new file mode 100644
index 00000000..17314228
Binary files /dev/null and b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/06-发票登记弹窗-结算信息与选票.png differ
diff --git a/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/07-选择收票单候选弹窗.png b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/07-选择收票单候选弹窗.png
new file mode 100644
index 00000000..fa783512
Binary files /dev/null and b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/07-选择收票单候选弹窗.png differ
diff --git a/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/08-结算单编辑-选择收票单按钮与发票信息.png b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/08-结算单编辑-选择收票单按钮与发票信息.png
new file mode 100644
index 00000000..0e9d54b8
Binary files /dev/null and b/doc/docs/业务流程/2026-11-01-先票后款操作手册.assets/08-结算单编辑-选择收票单按钮与发票信息.png differ
diff --git a/doc/docs/业务流程/2026-11-01-先票后款纯操作手册(收票登记-结算单认领-发票登记).md b/doc/docs/业务流程/2026-11-01-先票后款纯操作手册(收票登记-结算单认领-发票登记).md
new file mode 100644
index 00000000..f19da9ab
--- /dev/null
+++ b/doc/docs/业务流程/2026-11-01-先票后款纯操作手册(收票登记-结算单认领-发票登记).md
@@ -0,0 +1,107 @@
+# 先票后款纯操作手册(收票登记 → 结算单认领 → 发票登记)
+
+> 更新日期:2026-11-01 | 适用系统:运输 TMS | 读者:业务/财务操作人员
+>
+> 配套阅读:《先票后款业务流程与逻辑状态说明》(同目录)
+>
+> 菜单路径:**收付款管理 → 收票管理**(收票登记);**结算管理 → 付款结算单**(认领与发票登记)
+> 按钮权限:收票登记新增/编辑/提交/推送;付款结算单"发票登记"(payment_settlement_invoice_register)
+
+---
+
+## 场景一:收票登记(先票——把发票推进金蝶)
+
+### 1.1 新增收票登记
+
+1. 菜单进入【收票管理 → 收票登记】,点【新增】。
+2. 点发票号码右侧 🔍 从**金蝶票据池**选一张发票——选票后**开票信息与发票明细自动带出**(明细与推送金蝶的分录同源,请核对)。
+3. **手选"结算组织"(必选)**:即该合同的承办部门,系统沿部门树向上找平台公司作为金蝶结算组织。
+4. 核对受票单位(购方)、开票单位(销方);填备注、附件(如有)。
+5. 点【保存】。
+
+
+
+
+
+
+
+> 说明:收票登记**不再选择/关联结算单**;与结算单的关联在"场景二/三"由付款结算单侧认领建立。
+
+### 1.2 提交与审批(审批通过自动推金蝶)
+
+1. 表单点【提交】(或列表勾选后提交),走收票审核流程。
+2. **审批通过后系统自动推送金蝶收票单(A303-2)**,无需手工操作;推送成功后推送状态变为 **已保存收票单(pushed)**。
+3. 列表"推送状态"列查看:未推送 / 已保存收票单 / 已指定应付 / 推送失败。
+4. 推送失败的单据:列表勾选点【推送】重推(也可等定时任务自动重推);常见失败原因见文末对照表。
+
+### 1.3 查看认领结果
+
+收票登记详情页"结算信息"区展示该发票被哪张付款结算单认领(由结算单侧认领后自动写入,收票登记上不能手工维护)。
+
+
+
+---
+
+## 场景二:付款结算单认领收票单(路径 A:新增/编辑时选择)
+
+1. 菜单进入【结算管理 → 付款结算单】,【新增】。
+2. 填写结算基本信息与明细后,在**发票信息**区点【选择收票单】。
+3. 候选弹窗列出**审批通过且未被其他结算单认领**的收票单(支持发票号/销方/购方关键字查询),勾选后【确定】。
+4. 认领金额固定=**发票金额全额**(不可改),一张收票单只能被一张付款结算单认领。
+5. 保存结算单 → 提交 → 审批通过。
+6. 审批通过后点【同步金蝶】推财务应付单(A102-2);**应付单推送成功后,系统自动把本单认领的收票单逐单指定应付(A302-6)**,收票登记状态随之变为"已指定应付"。
+
+
+
+
+
+---
+
+## 场景三:发票登记(路径 B:结算单审批后补认领)
+
+适用:结算单**已审批通过**,事后才拿到发票/收票单。
+
+1. 付款结算单列表,目标单(审批通过)行点【发票登记】。
+2. 弹窗上半部为结算基本信息(只读),下半部"认领收票单"区点【选择收票单】勾选票后【确定】。
+3. 点【保存认领】——认领关系即时写入(结算单发票信息区 + 收票登记结算信息区同步可见)。
+4. 系统弹窗询问 **"是否将发票匹配数据推送金蝶?"**:
+ - 【确定】:逐单执行收票单指定应付(A302-6);
+ - 【取消】:只保存认领不推送,可稍后在列表再次点【发票登记】推送。
+5. 已指定的收票单重复推送会自动跳过(幂等),失败的单据修复后可重试。
+
+
+
+
+
+---
+
+## 场景四:异常与补偿
+
+| 情况 | 系统行为 | 操作人要做的事 |
+| --- | --- | --- |
+| 收票推送失败(pushed 前任何一步) | 状态置"推送失败",定时任务自动重推 | 按失败原因处理(常见见下表),或列表手动重推 |
+| 结算单同步应付单时收票单还没推送 | 自动跳过,不影响结算单同步 | 无需操作;收票推送成功后系统自动补指定 |
+| 收票单已推送但漏了指定 | 每轮 A801-3 回写自动补指定(指定补偿) | 无需操作 |
+| 金蝶侧发票被作废/红冲 | 回收为"推送失败"并提示 | 在金蝶删除/解除指定后,处理完重推 |
+| 结算单作废 / 认领移除 | **不同步金蝶** | 需要时在金蝶人工解除指定 |
+| 金蝶收票单已生成后本地作废 | 禁止作废 | 先在金蝶删除收票单/解除指定 |
+
+### 常见推送失败原因对照
+
+| 报错关键字 | 原因 | 处理 |
+| --- | --- | --- |
+| 未建档金蝶供应商编码 | 发票销售方未维护客商档案/未金蝶建档 | 客商档案新增销方(登记税号)→ 金蝶建档/同步 → 列表直接重推 |
+| 物料编码…导入不成功 | 金蝶物料基础资料无对应编码 | 待金蝶确认口径(联调遗留,见业务说明 §6) |
+| 税收分类…导入不成功 | 金蝶税收分类基础资料缺码 | 待金蝶初始化基础资料 |
+| 单价格式不正确 | 明细单价小数超 4 位 | 已由系统按 4 位舍入,如仍出现请联系开发 |
+| 免税/零税率行,无法映射税率表 | 税率 0 行无法转税率表编码 | 与金蝶约定编码后放开,或人工核实票面 |
+
+---
+
+## 附:一张票的完整旅程(速查)
+
+```
+票池选票 → 收票登记(选结算组织) → 审批通过 → 金蝶收票单[pushed]
+ → 付款结算单认领(全额) → 审批通过 → 金蝶财务应付单
+ → 自动指定应付 → [assigned] 金蝶勾稽完成
+```