# 数电票票税协同 · 操作手册（售前演示版）

> 本文档说明如何在 WorkBuddy 中调用「数电票票税协同」专家、运行规则引擎、阅读分析结果。
> 演示数据：青岛海锐精密机械有限公司 · 2026-08 所属期（虚构合成）。

## 一、整体流程

```
上传数据源 Excel
      │
      ▼
专家识别场景 → 加载 R-101~R-502 规则
      │
      ▼
运行 analyze ──► 产出 04/06/11/13/14/15 派生分析表
      │
      ▼
阅读排期 / 勾选 / 风险 / 申报底稿
      │
      ▼
运行 verify ──► 自检全部勾稽（10/10 通过）
      │
      ▼
导出分析结果 + 申报底稿（交付客户）
```

## 二、方式 A：对话式（售前演示录像替代：分步截图）

在 WorkBuddy 中直接对话，专家自动调度规则引擎。演示页 `演示.html` 已内置 7 张分步截图（step-01~07.png），对应以下 7 步：

| 步 | 用户说什么 | 专家做什么 |
|---|---|---|
| 1 | "对这份 8 月数据跑排期和预警" + 上传 xlsx | 识别专家、加载规则、识别数据源 |
| 2 | "先算开票排期" | 产出 04 排期（挂起/逾期标红）|
| 3 | "到期没开的有哪些" | 产出 06 到期未开清单 + 升级 |
| 4 | "进项票哪些能勾" | 产出 11 勾选建议（去重/异常/作废/不可抵扣）|
| 5 | "供应商被列异怎么办" | 异常凭证处置 + 进项转出 + 救济期 |
| 6 | "整体风险点" | 产出 13 风险预警（额度91%/红冲/申报缺漏）|
| 7 | "出申报底稿并自检" | 产出 15 申报底稿 + verify 10/10 通过 |

## 三、方式 B：命令行（规则引擎直跑，可复算、可嵌入客户环境）

专家包内含 `engine/run.py`，依赖 `openpyxl`。

```bash
pip install openpyxl

# 分析模式：读原始表 → 产出派生分析工作簿
python engine/run.py analyze \
    --input  YZ-PRE-INV-20260929-全链路演示样例.xlsx \
    --output 分析结果.xlsx \
    --asof   2026-08-31 \
    --quota  5000000

# 自检模式：回放全部规则，核对勾稽
python engine/run.py verify \
    --input  YZ-PRE-INV-20260929-全链路演示样例.xlsx \
    --asof   2026-08-31
```

`verify` 输出示例（演示数据实测）：

```
[PASS] R-101/102 应开票日与挂起
[PASS] R-103 销项税额(去重)
[PASS] R-201 进项去重→可抵扣
[PASS] R-401/402 进项转出
[PASS] R-501/502 应纳税额勾稽
[PASS] R-105/403 额度消耗率
[PASS] R-201 进项重复票存在
[PASS] R-301 已作废硬拦截存在
[PASS] R-302 不可抵扣存在
[PASS] R-202 查验失败存在
结果：全部通过 ✅
```

## 四、输入数据契约（Excel 表结构）

| 表名 | 角色 | 关键列 |
|---|---|---|
| 01-客户与供应商档案 | 主数据 | 编码/名称/类型/纳税人身份/信用标记 |
| 02-销售订单 | 原始 | 订单号/客户/合同号/订单日期/不含税金额/合同约定开票账期(天) |
| 03-出库发货记录 | 原始 | 出库单号/订单号/实际出库日/不含税金额/批次 |
| 09-进项发票台账 | 原始 | 发票号码/开票日期/销方/不含税金额/税额/查验结果/用途状态/命中规则 |
| 14-发票额度台账 | 输入(税控盘) | 发票总额度/已开票不含税金额 |
| 04~08,10~13,15 | 派生 | 由引擎按规则计算产出 |

## 五、关键口径（务必讲清，避免客户误解）

- **应开票日** = 实际出库日 + 合同账期；账期为 `0` 当日应开；**账期缺失绝不猜默认值，挂起**（R-102）。
- **红冲中发票**：视为蓝票已开具，仍计入本期销售额；确认完成前不冲减，跨期冲减在后续所属期（R-405）。
- **异常凭证已抵扣**：必须作进项转出，并启 A 级 10 工作日救济期；逾期丧失抵扣权（R-402）。
- **额度消耗率** ≥ 90% 触发预警（R-105/R-403）；消耗率取税款控盘已开票 / 发票总额度。
- **申报缺漏**：进项覆盖度存疑、转出栏缺失 → 阻断底稿确认（R-501/R-502）。

## 六、故障与边界

- 引擎仅作 POC 演示，**不得接入真实企业票税数据**；演示数据均为虚构。
- 若 `verify` 出现 FAIL：先核对输入表的"命中规则"列是否按约定标注；再核对 14 表额度口径。
- 生产版数据源将切换为简道云语义指纹（label）映射，规则引擎不变。

## 七、交付物清单

| 文件 | 说明 |
|---|---|
| `YZ-PRE-INV-20260929-全链路演示样例.xlsx` | 全链路演示样例（16 表，含全部分支点）|
| `YZ-票税协同-Excel专家.zip` | Excel 数据驱动型专家（SKILL.md + manifest + 三件套 + engine）|
| `演示.html` | 官网二级页样式售前演示页（含分步截图 + 下载区）|
| `docs/场景描述.md` | 场景描述 |
| `docs/操作手册.md` | 本文件 |
| `docs/集成说明与交付清单.md` | 与官网集成说明 + 质检清单 |
