完成差旅发票录入流程
This commit is contained in:
54
docs/API.md
54
docs/API.md
@@ -14,16 +14,15 @@ last_reviewed: 2026-06-09
|
||||
| 1 | GET | `/` | PC 端主页 |
|
||||
| 2 | POST | `/api/session` | 创建会话 |
|
||||
| 3 | POST | `/api/upload/<session_id>` | 上传文件(PDF/图片) |
|
||||
| 4 | POST | `/api/upload-csv/<session_id>` | 上传 CSV 发票数据 |
|
||||
| 5 | GET | `/api/files/<session_id>` | 列出会话目录中的文件 |
|
||||
| 6 | POST | `/api/process/<session_id>` | 启动处理(提取+LLM识别+出库单) |
|
||||
| 7 | GET | `/api/logs/<session_id>` | SSE 日志流 |
|
||||
| 8 | GET | `/api/download/<session_id>/<filename>` | 下载生成的文件 |
|
||||
| 9 | GET | `/api/data/<session_id>` | 获取发票数据(JSON) |
|
||||
| 10 | POST | `/api/save/<session_id>` | 保存编辑后的发票数据 |
|
||||
| 11 | POST | `/api/submit-financial/<session_id>` | 提交到财务系统 |
|
||||
| 12 | GET | `/mobile/<session_id>` | 移动端上传页面 |
|
||||
| 13 | POST | `/api/mobile-upload/<session_id>` | 移动端上传图片 |
|
||||
| 4 | GET | `/api/files/<session_id>` | 列出会话目录中的文件 |
|
||||
| 5 | POST | `/api/process/<session_id>` | 启动处理(提取+LLM识别+出库单) |
|
||||
| 6 | GET | `/api/logs/<session_id>` | SSE 日志流 |
|
||||
| 7 | GET | `/api/download/<session_id>/<filename>` | 下载生成的文件 |
|
||||
| 8 | GET | `/api/data/<session_id>` | 获取发票数据(JSON) |
|
||||
| 9 | POST | `/api/save/<session_id>` | 保存编辑后的发票数据 |
|
||||
| 10 | POST | `/api/submit-financial/<session_id>` | 提交到财务系统 |
|
||||
| 11 | GET | `/mobile/<session_id>` | 移动端上传页面 |
|
||||
| 12 | POST | `/api/mobile-upload/<session_id>` | 移动端上传图片 |
|
||||
|
||||
---
|
||||
|
||||
@@ -78,28 +77,7 @@ HTTP `400`
|
||||
|
||||
---
|
||||
|
||||
### 3. 上传 CSV 发票数据
|
||||
|
||||
```
|
||||
POST /api/upload-csv/<session_id>
|
||||
Content-Type: multipart/form-data
|
||||
```
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| file | File | 发票汇总 CSV |
|
||||
|
||||
**响应(成功):**
|
||||
|
||||
```json
|
||||
{ "ok": true, "filename": "invoice_summary.csv" }
|
||||
```
|
||||
|
||||
> 上传 CSV 后可跳过 PDF 提取和 LLM 识别,直接进入处理/编辑流程。
|
||||
|
||||
---
|
||||
|
||||
### 4. 列出会话文件
|
||||
### 3. 列出会话文件
|
||||
|
||||
```
|
||||
GET /api/files/<session_id>
|
||||
@@ -129,7 +107,6 @@ Content-Type: application/json
|
||||
|
||||
| 字段 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| mode | string | 否 | `"pdf"` / `"csv"` / `"auto"`(默认 `auto`) |
|
||||
| username | string | 否 | 财务系统工号 |
|
||||
| password | string | 否 | 登录密码 |
|
||||
| default_name | string | 否 | 默认报销人姓名 |
|
||||
@@ -137,15 +114,7 @@ Content-Type: application/json
|
||||
| default_person_id | string | 否 | 默认人员编号 |
|
||||
| consumable_storage | string | 否 | 出库单存放地点;未填则用 `config.json` 中的值 |
|
||||
|
||||
**mode 行为:**
|
||||
|
||||
| mode | 行为 |
|
||||
|------|------|
|
||||
| `auto` | 仅有 CSV、无 PDF → CSV 模式;否则 → PDF 提取 + LLM 识别 |
|
||||
| `csv` | 使用已上传 CSV,跳过提取与 LLM 识别 |
|
||||
| `pdf` | 执行 PDF 提取 + LLM 识别 |
|
||||
|
||||
**处理内容(PDF 模式):**
|
||||
**处理内容:**
|
||||
|
||||
1. 从会话目录 PDF 提取发票信息 → `invoice_summary.csv`
|
||||
2. 对支付截图多模态 LLM 识别,回填刷卡字段
|
||||
@@ -270,7 +239,6 @@ GET /api/download/<session_id>/<filename>
|
||||
|--------|------|
|
||||
| `invoice_summary.csv` | 发票汇总(含 LLM 识别结果) |
|
||||
| `易耗品、出库单.doc` | 自动填写的出库单 |
|
||||
| 用户上传的 CSV 名 | CSV 快捷模式下的原始文件 |
|
||||
|
||||
**错误:**
|
||||
|
||||
|
||||
18
docs/README.md
Normal file
18
docs/README.md
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
last_reviewed: 2026-06-11
|
||||
---
|
||||
|
||||
# docs — 公开文档目录
|
||||
|
||||
本目录存放面向项目用户和外部贡献者的公开文档及说明文件。
|
||||
|
||||
## 文档清单
|
||||
|
||||
| 文件 | 说明 |
|
||||
|------|------|
|
||||
| `API.md` | Web API 完整接口文档:路由、请求/响应格式、SSE 日志流、错误码、端到端流程 |
|
||||
| `报销操作指南.md` | 面向最终用户的操作步骤说明 |
|
||||
|
||||
## 文档边界
|
||||
|
||||
维护规范、实施方案、经验总结等内部资料统一放置在 `.agents/` 目录下,不混入本目录。
|
||||
@@ -65,37 +65,11 @@ uv run python src/main.py -u 202407021 -p "your_password"
|
||||
|
||||
### 3.1 发票数据 CSV
|
||||
|
||||
系统支持两种数据输入方式:
|
||||
|
||||
**方式 A:PDF 发票 + 支付截图(自动提取)**
|
||||
|
||||
上传 PDF 发票文件和支付截图,系统自动完成:
|
||||
1. 从 PDF 提取发票信息
|
||||
2. 多模态 LLM 识别支付截图中的刷卡信息
|
||||
3. 生成 `invoice_summary.csv`
|
||||
|
||||
**方式 B:直接上传 CSV(快捷模式)**
|
||||
|
||||
已有发票数据 CSV 可直接上传,跳过 PDF 提取和 LLM 识别步骤。
|
||||
|
||||
CSV 需包含以下列:
|
||||
|
||||
| 列名 | 说明 | 示例 |
|
||||
|------|------|------|
|
||||
| 序号 | 发票序号 | 1, 2, 3... |
|
||||
| 发票号码 | 发票编号 | 26442000005432652421 |
|
||||
| 开票日期 | 发票开具日期 | 2026/5/18 |
|
||||
| 项目名称 | 采购项目名称 | 电阻一批 |
|
||||
| 规格型号 | 规格型号 | — |
|
||||
| 价税合计 | 发票金额 | 2900.00 |
|
||||
| 销售方名称 | 商户/销售方 | 佛山市泓宇芯科技有限公司 |
|
||||
| 人员姓名 | 报销人 | 王建锋(默认值) |
|
||||
| 刷卡日期 | 公务卡消费日期 | 2026/5/18 → 自动转为 2026-05-18 |
|
||||
| 公务卡号 | 公务卡卡号 | 6282880139161682(默认值) |
|
||||
| 刷卡金额 | 实际刷卡金额 | 2900.00 |
|
||||
| 备注 | 备注信息 | — |
|
||||
| 工号 | 人员工号 | 202407021(默认值) |
|
||||
|
||||
### 3.2 发票类型分类
|
||||
|
||||
系统自动将发票分为两类,影响后续处理流程:
|
||||
@@ -125,7 +99,6 @@ uv run python src/web/app.py
|
||||
1. **发票 PDF**:点击或拖拽上传 PDF 文件(支持多选)
|
||||
2. **支付截图**:点击或拖拽上传图片文件(支持多选)
|
||||
3. **手机扫码上传**:扫描页面二维码,通过手机拍照上传支付截图
|
||||
4. **CSV 快捷上传**:已有发票数据 CSV 可直接上传,跳过提取和 LLM 识别
|
||||
|
||||
### 4.3 配置信息
|
||||
|
||||
|
||||
Reference in New Issue
Block a user