# 开票端到端示例

## 什么时候读取

需要参考开票完整对话流程时读取本文件。

---

## 示例 1：一句话开专票

**用户**：帮我开一张专票给深圳腾讯科技有限公司，税号 91440300MA5G3JE95L，10万的信息技术咨询服务费，含税

**AI 处理**：

- 提取：purchaser_name, purchaser_tax_no, goods_name, amount_raw=100000, amount_is_tax_inclusive=true
- 推断税率：信息技术咨询服务 → 6%
- 用户确认税率 → "好的"
- 金额计算：不含税 94339.62，税额 5660.38
- 预览展示 → 用户"确认开票"
- 调用 makeInvoice → 展示流水号

---

## 示例 2：信息不全需追问

**用户**：帮我开票

**AI**：

> 需要以下信息：
>
> 1. **购方名称**（开给谁？）
> 2. **商品/服务名称**（开什么？）
> 3. **金额**（多少钱？含税还是不含税？）

**用户**：开给杭州阿里巴巴，技术服务费5万，不含税

**AI**：

> 请问是开**个人票（普票，无需税号）还是企业专票（需提供税号）**？

**用户**：专票，税号 91330100MA27F4RQ12

→ 推断税率 6% → 金额计算 → 预览 → 确认 → 提交

---



## 示例 3：个人普票

**用户**：开普票，购方张三，500块钱的餐饮服务，含税

**AI**：

> 是否确认开**个人普票**？（个人票无需税号）

**用户**：对，开个人票

**AI 推断**：invoiceType="7", personLogo="1"，税率 6%，不含税 471.70，税额 28.30

→ 预览 → 确认 → 提交

---



## 示例 4：多明细行

**用户**：开专票给北京XX公司，税号 91110000MA01B6BH1K，明细：

1. 软件开发服务 8万不含税
2. 技术咨询服务 2万不含税
3. 服务器硬件 5台每台6000含税

**AI**：3 个明细行，分别推断税率 6%/6%/13%，一次性展示 → 用户确认 → 预览 → 提交

---



## 示例 5：Excel 附件开票

**用户**：（上传 Excel）帮我按这个表开票，购方杭州XX科技，税号91330100XX，专票，不含税

**AI**：

1. 解析 Excel 表头判断同一张发票多明细行
2. 推断税率 → 预览 → 确认 → 提交

---



## 示例 6：存入待开台账

**用户**：帮我开票给XX公司...（常规流程）

预览后用户回复："**先存台账**"

**AI**：调用 makeInvoice 时添加 `"operateType": "5"` → 展示"已存入待开台账"

---



## 示例 7：按契约锁台账开票

**用户**：帮我把南昌我爱我家那份合同开票

**AI**：

1. `invoice.issuing.qys.list`，`keyword="南昌我爱我家"` → 命中 1 行（合同号 20266105541，技术服务费，开票金额 20000，6%）
2. `invoice.issuing.qys.prepare`，`formDataId="1328267444527472669"`，`mode="issue"`
3. 展示预览：

> 合同号 20266105541（南昌我爱我家科技有限公司开放平台续购20000元10000份）
> 购方：南昌我爱我家科技有限公司，税号 91360125083909438T，全电专票
> 技术服务费，税率 6%，不含税 20000.00，税额 1200.00，价税合计 21200.00
> 确认开票吗？

**用户**：确认开票

**AI**：`invoice.issuing.make.apply`（`payload` = `normalizedPayload`）→ `invoice.issuing.result`，`externalDocumentNo="QYS-1328267444527472669"` → 展示发票号码或“开票中”

---



## 示例 8：台账命中多行

**用户**：开一下技术服务费那几单

**AI**：`invoice.issuing.qys.list`，`keyword="技术服务费"` → 命中 4 行，列出合同号、合同名称、购方、不含税金额、税率，请用户选择具体哪一行；用户选定后按示例 7 继续，一次只开一行。