智能报销系统产品需求文档
打开在线 Demo ↗

智能报销系统产品需求文档

产品与架构 · 报销业务链路 · 智能助手 · 系统规格

覆盖业务系统、发票审核 Workflow、员工报销助手与报销分析助手;四者共享受控业务数据,权限、凭证、会话和职责分别隔离。

更新日期 2026-10-06事实基线:本地 Demo 与后端确定性审核规则发票审核密钥仅由后端持有

1. 产品概览

已联调

发票全生命周期

上传、OCR、L1–L3预审、入单、L1–L4终审、占用与付款归档。

独立 Workflow

PaddleOCR

Dify 负责文件解析和结构化提取,后端负责确定性审核。

双 Agent

助手与分析

员工助手负责问答,报销分析助手负责权限范围内的只读分析。

Demo 模式

访客管理员

独立共享演示身份,可测试完整业务功能,不复用真实 admin。

当前业务口径:发票识别结果允许员工校正并逐字段留痕;L1、L2 或 L4 未通过但必要资料齐全时,可带风险提示提交部门审批。真正重复或已被其他有效报销单占用的发票仍由 L3 和事务占用拦截,不能通过说明文字关键词推断重复。
能力当前状态员工可见结果关键边界
发票夹服务端可用最近加入、状态、预审结论、预览、重试、删除、入单不再以浏览器 localStorage 作为正式数据源
发票识别PaddleOCR 已接入发票号、日期、购销方、金额、税额、税率、费用信息识别不等于审批;低质量结果进入待修改/重试
L1–L4后端确定性规则分层结论、风险等级、修正建议和最终流转状态大模型不得改变金额、重复、预算和状态结论
员工报销助手Chatflow 已接入制度问答、交互式类型澄清、附件排查、状态解释和人工分流技术/制度知识证据隔离;不调用、不占用、也不修改发票审核结果
报销分析助手只读分析趋势、预算、风险、合规和管理建议不能审批、付款、推送 OA 或修改配置
税务验真/OA/付款接口边界Demo 展示流程和状态生产仍需企业外部服务和幂等补偿

2. 产品定位、目标与范围

2.1 产品目标

  • 员工在上传发票时尽早发现字段、金额和重复风险,减少报销单退回。
  • 报销单提交时使用数据库最新事实完成 L1–L4终审,防止并发重复报销和过期预算结论。
  • 财务人员获得可追溯的审核依据、占用记录、预算版本和分析视图。
  • 将问答型 Agent、分析型 Agent 与确定性审核系统解耦,避免 AI 越权。

2.2 角色

角色主要能力数据范围限制
员工上传发票、维护发票夹、新建和查询本人报销、使用员工助手本人发票与报销不可审批,不可查看他人敏感信息
部门负责人审核本部门单据、查看本部门预算本人及授权部门不可修改税务与全局预算规则
财务经理人工复核、查验、规则与预算分析、使用报销分析助手授权公司/部门范围关键写操作仍走业务接口和审计
系统管理员用户、部门、权限、配置和运行维护管理员授权范围不能绕过审核状态机直接制造付款结论
访客管理员体验 Demo 内完整管理员业务功能共享演示身份和演示数据不是生产匿名管理员;不复用真实 admin 凭证

3. 统一架构与四类能力边界

业务系统

智能报销系统

身份、发票夹、报销单、审批、预算、规则、状态机、审计和 API。

最终业务事实源
Dify Workflow

发票审核工作流

PaddleOCR 文档解析、字段整理、结果解释和运行流水。

不维护业务状态
Dify Chatflow

员工报销助手

制度查询、可点击类型澄清、填报帮助、状态解释和技术问题分流。

独立会话与双知识库
只读分析

报销分析助手

趋势、预算、风险、合规和经营分析。

只读授权数据
强制隔离:发票 Workflow、员工助手和报销分析助手分别使用独立 API Key、应用地址、会话和配置。报销分析助手只读取授权、脱敏的数据快照,四者不得通过 Prompt 绕过后端规则和权限。

3.1 数据流

浏览器上传附件与业务输入
后端 API校验身份、附件归属和哈希
Dify/PaddleOCR一次识别并返回 invoices
确定性规则L1–L4与占用事务
MySQL发票、报销、预算和审计事实
员工/财务看到可解释结果并按权限处理

3.2 Dify 发票审核 Workflow 实际快照

下图记录当前已发布发票审核工作流的实际编排:四项输入依次进入 PaddleOCR-VL、多模态票据字段整理、输入与身份结构校验以及 L1–L3;随后由“制度分类与额度检索”和“制度例外与材料检索”查询同一个制度知识库,合并两路证据后进入 L4 确定性终审,再完成确定性结果聚合、只读解释、结构化封装和严格 JSON 输出。宽图可横向滚动,点击可查看原始分辨率。

Dify 发票审核 Workflow 编排实景图
图 3-1 Dify 发票审核 Workflow 编排参考。图示两个知识检索节点使用同一个制度知识库,分别提供分类额度与例外材料证据。此图为编排示意,实际提交结论以后端数据库中的 L1–L4 预审和发票占用事务为准;非重复风险可带提示进入部门审批。
边界提示:快照中的大模型节点只整理 OCR 字段与解释确定性结果;金额税额、历史重复、发票占用、预算和最终状态不得由模型改写。

4. 发票上传预审—报销单终审主流程

4.1 阶段一:上传发票

1. 保存附件PDF/JPG/PNG,绑定当前用户
2. 文件内容指纹同用户同文件直接复用
3. PaddleOCR文档解析与票面提取
4. 字段规范化日期、号码、金额、税额
5. L1/L2完整性与金额税额
6. L3预检历史有效单据与占用
7. 类别初筛可推荐,不做正式预算结论
8. 保存发票夹通过、待修改、重复或重试

4.2 阶段二:提交报销单

1. 选择发票可选已审核待入单、待修改、疑似重复
2. 员工校正编辑票面字段和分类,保留 AI 原值
3. 必要条件事由、票号、正金额、分类与真实附件
4. L1/L2完整性、金额及员工确认合计
5. L3 终检仅真实重复或有效占用硬拦截
6. L4 终审当前预算、类别和规则
7. 事务提交写占用、审核与员工修改快照
8. 部门审批非重复风险随单展示
报销单内直接上传:新附件先保存并识别;员工可校正结果后入单。必要数据缺失时不能正式提交;非重复的 L1、L2、L4 风险保留原判定与说明,随报销单进入部门审批。
当前 Demo 入口口径:“我的发票”发票夹当前只承接常规电子发票。收据、地铁定额票等非常规票据在“新建报销”中通过“手动添加票据”补录并上传附件;Dify Workflow 已包含非常规票据识别与规则回归,但尚未形成与常规电子发票完全相同的发票夹直通体验。

5. 发票夹与 PaddleOCR 识别

常规电子发票上传

  • 顶部“上传电子发票”按钮与识别区共用隐藏文件输入。
  • 支持鼠标点击、键盘 Enter/Space、拖拽上传。
  • 支持 JPG、PNG、PDF;附件先保存,再异步执行识别。

发票夹操作

  • 查询当前用户的服务端常规电子发票记录。
  • 支持预览、重试和未入流程记录删除。
  • 已占用或已报销记录不可删除;原附件按审计策略保留。
非常规票据:收据、地铁票、纸质小票等当前不进入“我的发票”直通列表,而是在新建报销页手工添加。审核规则按 document_type 采用不同必填矩阵;缺少标准发票要素时不得伪造字段,应保留 OCR 证据并转人工复核。

5.1 规范化票面字段

字段来源处理入单保护
invoiceNo / invoiceType / invoiceDate原始 OCR + 员工确认展示 AI 识别原值,允许员工校正票号、类型与日期仅所属员工可编辑;服务端保存逐字段差异
sellerName / buyerName原始 OCR + 员工确认不确定时保持空;员工可据票面补正不覆盖原始 OCR 快照
amount / tax / totalAmount原始 OCR + 员工确认金额分别可改;报销总额按员工确认的价税合计汇总合计与金额加税额不一致时保留 L2 失败
costCenter / description模型建议 + 用户业务输入分类使用统一选项下拉框,业务说明可补充保存员工确认值和修改记录
附件名称/格式标签真实附件 + 员工展示标签标签可校正;预览、下载仍指向原文件文件哈希、真实文件名和附件归属不可改
aiConfidence识别服务只读展示置信度客户端不得修改

5.2 发票夹状态

识别中已审核待入单待修改疑似重复识别失败待重试已占用已报销

6. L1–L4 确定性审核规格

层级上传阶段提交阶段失败动作规则责任方
L1 完整性按 document_type 检查可识别字段、附件与日期重新检查主表、员工身份及票据字段;必要提交资料单独校验非必要字段风险随单进入部门审批;必要资料缺失仍阻止提交后端确定性代码 + OCR 证据
L2 金额税额不含税金额、税额、价税合计;铁路票拆分另有规则按员工确认合计计算报销总额;金额加税额不一致保留失败详情正金额和总额必填;非重复差异可带风险提交后端确定性代码
L3 重复发票按票号和附件内容指纹查询历史有效状态单内重复、历史有效单据重复及事务级唯一占用确认重复或占用时阻断正式提交;不得按说明文字关键词拦截数据库事实与唯一约束
L4 制度预算识别阶段展示制度证据与建议,不能代替提交审核按当前部门、费用类别、有效规则和预算复核缺预算或超额保留失败及严重风险,但可进入部门审批知识证据 + 后端确定性规则

6.1 L4 阈值

低于 90%

正常

进入部门审批。

90%–100%

预算预警

带风险提示进入部门审批并提示财务。

超过 100%或缺预算

严重风险

不套用默认预算;保留 L4 未通过项,提交至部门审批,由审核人员判断后续处理。

模型禁区:大模型可以把确定性结果翻译为简洁员工提示,但不得修改 passed、status、riskLevel、金额、重复证据、预算结论或审批状态。

7. L3 重复报销与并发占用

7.1 判定键

  • no:<规范化发票号>:去空格、连字符并转大写。
  • hash:<附件内容指纹>:由文件内容生成的固定标识;文件改名但内容不变时仍相同。
  • 任一键命中即可判为历史占用;同一报销单内还需检查重复票号和重复附件。

7.2 有效占用状态

待部门审批人工复核待查验部门审批通过已推送OAOA审批中审批通过已生成付款单付款中已付款
场景处理原因
只存在发票夹不视为已报销尚未形成有效报销占用
草稿或待修改不占用;若由有效状态退回则释放允许员工修正或重新提交
同一报销单重复提交幂等,不将自己判为重复按 report_id 排除自身
两个用户并发提交同一发票唯一键保证最多一个成功不能依赖先查后写的时间窗口
跨员工命中仅提示“已被其他有效报销单占用”不泄露他人员工、部门和单号
已付款永久占用形成不可重复报销的最终事实

8. 发票与报销状态机

8.1 发票状态流

识别中附件已保存
已审核待入单L1–L3通过
已占用有效报销提交
已报销付款完成,永久占用
待修改/疑似重复修正或人工复核
识别失败待重试文件保留,可重跑

8.2 报销状态与占用动作

报销状态/动作发票占用发票夹状态
草稿、待修改不占用或释放已有占用可继续校正与入单
提交且必要资料齐全、未确认重复同一事务写入 invoice_claims已占用;非重复风险随单保留
待部门审批至付款中持续占用并同步 report_status已占用
撤回、驳回到可修改删除当前报销单占用恢复可入单状态
已付款永久保留占用已报销

9. 员工智能报销助手 Chatflow

员工助手是已发布并嵌入 Demo 的独立 Dify Advanced Chat 应用,面向员工提供制度解释、操作帮助、本人进度指引和技术故障分流。它不是发票审核 Workflow,也不是最终审核器。

可以做

  • 回答费用是否可报、金额上限、附件、票据和字段要求。
  • 对餐费、交通、采购、发票及其他模糊问题显示可点击选项,并基于选择继续检索。
  • 先按技术知识指导附件排查;完成排查仍失败时转 IT。
  • 解释员工本人报销进度的查询路径和确定性退回原因。

不能做

  • 不能审批、占用、释放或报销发票。
  • 不能替代 L1–L4、预算、税务验真和付款状态机。
  • 不能查看其他员工敏感数据,也不能伪造本人进度。
  • 不能将制度问题交给技术知识库,或将技术故障交给财务人员。

9.1 身份、路由与知识隔离

  • 后端根据登录身份生成可信、稳定、不可由前端伪造的 user_id;身份缺失或异常时直接转 IT,不继续回答。
  • 业务路由明确区分 progress、technical_not_done、technical_escalate、technical、clarify 和制度问答等路径。
  • 技术检索节点只绑定系统技术知识库;制度检索节点只绑定报销制度知识库,禁止跨库补写和混用证据。
  • 长期平台凭证只保存在服务端;浏览器只接收受控 WebApp 地址和压缩编码后的可信输入。
  • 知识库发布、废止和版本变更可追溯;超时、空答或服务异常时明确提示不可用,不以静态答案冒充真实 Agent 输出。

9.2 员工报销助手 Chatflow 实际快照

下图为 Demo 当前嵌入员工助手的编排参考:员工身份来自后端登录上下文,制度和技术问题分流处理;模糊费用问题可通过按钮补齐场景,知识证据不足时不猜测制度结论。实际回答能力以当前已发布应用为准。宽图可横向滚动。

员工报销助手 Chatflow 编排实景图
图 9-1 员工报销助手 Chatflow 编排参考。展示身份、问题整理、知识检索与回答输出之间的关系;员工助手与发票审核 Workflow 使用不同应用、凭证、会话和职责。
边界提示:员工助手可以解释制度、指引操作和分流问题,但不能触发或修改 L1–L4 结论,也不能占用、释放或报销发票。图中 Human Input 仅收集员工明确选择,不作为审批或合规结论。

9.3 交互式分流与继续执行

可信输入登录身份映射为 user_id
确定性路由进度 / 技术 / 模糊 / 制度
Human Input缺信息时显示按钮
确定性转词按钮 ID 映射检索词
专属知识库技术与制度严格隔离
质检输出证据门禁与必要重写
路径触发条件节点行为最终去向
本人进度“我的报销到哪里了”“目前什么进度”不检索制度,不猜测状态;提示进入“我的报销”按报销单查询本人报销进度查询指引
一般技术问题登录、页面、附件、提交等系统故障标准化技术 Query → 技术知识库 → 技术证据门禁 → 证据充足性判断有证据则回答;无证据进入排查或人工
附件上传失败上传不了、传不上去、附件失败等表达先检索技术知识;仍不能定位时给出格式、20 MB、刷新重登、网络和避免重复提交等文字排查“已完成仍失败”转 IT;“尚未完成”要求先排查;超时给出重新进入提示
模糊制度问题只说餐费、交通费、采购、发票或“这个能不能报”按 clarification_kind 进入场景化按钮;选择后由 Code 节点生成确定性检索词继续进入制度知识库,不在按钮节点无提示结束
明确制度问题费用类型、身份和问题目标足够明确生成明确问题检索词,经变量聚合器进入制度问答主链制度回答、质检、必要重写和最终输出

9.4 Human Input 选项矩阵

表单员工可点击选项按钮数后续处理
餐费场景差旅伙食补贴、日常业务餐费、业务招待费3生成对应制度检索词
交通费用差旅交通、市内交通补贴、出租车/网约车、高铁/动车、飞机5生成对应票据或补贴检索词
采购费用办公用品、低值易耗品、采购服务、专项设备4生成采购制度检索词
发票与票据发票抬头、有效性/红冲、明细与佐证、历史发票、重复报销、其他票据问题6前 5 项检索;“其他”要求补充完整问题
费用或票据范围差旅、餐费、采购、日常运营、员工福利、发票、报销流程、其他8进入二级表单或补充信息
差旅费用住宿费、伙食补贴、交通费3住宿/餐费检索;交通进入交通二级表单
日常运营通讯费、快递费、培训费、市场推广费4生成对应制度检索词
员工福利婴儿奶粉福利、健身运动福利、员工体检、公司团建4生成对应福利制度检索词
流程与资金员工借款、借款核销、审批要求、预算控制4生成对应流程制度检索词
附件排查完成状态已完成上述排查仍失败、尚未完成上述排查2分别转 IT 或要求先完成排查
交互约束:9 个制度澄清表单共有 41 个按钮,其中 31 个具体选项确定性映射为制度检索词;范围选择、二级跳转、“其他”和超时不制造宽泛答案。全部 10 个 Human Input 的 WebApp 投递方式使用合法且唯一的 UUID,并配置 1 天超时分支。

9.5 知识证据与回答质量

技术回答链

技术 Query 标准化 → 系统技术知识库 → 技术证据门禁 → 证据充足性判断 → 技术回答或附件排查/IT。知识不足时不得使用制度知识补写技术结论。

制度回答链

明确问题或按钮映射 → 变量聚合 → 确定性完整度检查 → 报销制度知识库 → 智能回答 → 制度质检与必要重写 → 输出。不得生成知识片段未支持的金额、资格或材料要求。

10. 报销分析助手

报销分析助手面向管理员、财务经理、部门经理和访客管理员,对当前授权范围内的报销、预算、风险、公司制度和有效税务规则进行只读分析。内部继续使用 analysis-agent 标识以保持接口兼容。

能力输入输出约束
趋势分析期间、部门、费用类别金额趋势、结构变化和异常提示数据必须来自统一快照
预算分析活动预算版本、实际占用期间预算、实际、剩余、执行率缺预算不得补默认金额
风险与合规L1–L4结果、规则命中风险原因、影响和建议只能解释,不能改变原结论
管理建议聚合指标与制度依据可执行建议和引用来源不能执行审批、付款和配置修改

10.1 千问接入与事实保护

  • 后端通过独立 ANALYSIS_MODEL_* 配置直连千问兼容接口,不复用 Dify 发票 Workflow、员工助手或其他模块凭证。
  • 仅向模型发送按角色过滤后的聚合、脱敏证据快照,不发送密码、令牌、附件、完整发票或员工联系方式。
  • 模型只生成结论、原因、风险、建议和 claimRefs;金额、笔数、比例、排名、预算和制度事实由后端确定性计算。
  • 正文数字和引用必须逐项回查证据。首次校验失败最多重写一次,仍失败则隐藏模型答案并降级为规则分析。
  • 模型不得联网搜索,也不得执行审批、预算修改、OA、付款或数据库写入。

10.2 权限、降级与审计

控制点问题或风险处理方式页面表现与审计依据
角色权限普通员工可能越权读取经营汇总后端按登录角色校验分析入口和接口;仅管理员、财务经理、部门经理及访客管理员可访问无权限时拒绝请求,不返回分析快照
部门数据隔离前端改筛选条件可能越权查询其他部门部门经理的部门范围由服务端强制注入;管理员和财务经理在授权范围内查看全局回答和图表只引用当前授权快照,记录实际生效的部门筛选
访客演示隔离共享访客身份可能访问真实业务数据或滥用模型额度访客仅访问演示数据,并设置请求频率限制;不得复用真实管理员凭证超限时提示稍后重试,审计记录访客身份及请求结果
事实保护模型可能编造金额、预算余额或制度依据后端计算数值并提供脱敏快照;逐项校验回答中的数字与引用,失败最多修订一次校验失败不显示未经证实的模型答案,改用规则分析
模型未配置千问接口或密钥未配置不调用模型,直接使用服务端确定性规则生成分析明确标示“规则分析模式”,不冒充 AI 回答
服务异常模型超时、限流、余额不足或返回格式异常捕获错误并切换为规则分析,不影响报销主流程保留错误类型和回答提供方,不向页面暴露密钥或内部堆栈
回答留痕事后无法复现回答依据或判断原因记录会话、筛选条件、数据快照编号、规则与预算版本、模型与提示词版本、回答提供方及修订/校验结果可按回答追溯证据与降级原因;敏感数据和凭证不写入普通日志

11. Agent 与发票 Workflow 边界

发票审核 Workflow

输入:可信 user_id、invoice_files、后端审核事实 audit_payload_json 与可选 report_id。

输出:严格字符串字段 result_json;其中包含结构化发票、L1–L4、风险、人工复核标记、审计轨迹与员工提示。

严格隔离
⇄

员工助手/分析 Agent

输入:授权业务问题、知识片段或只读数据快照。

输出:问答、解释或分析;不产生发票业务状态。

项目发票 Workflow员工助手报销分析助手
应用类型WorkflowChatflow只读分析 Agent
主要触发上传发票员工发起对话授权用户发起分析
长期会话无业务会话按用户维护按授权分析会话维护
业务写入由后端接收结果后写入禁止禁止
确定性判断后端覆盖 L1–L3并在提交时完成 L1–L4只解释只解释和分析
凭证独立 DIFY_INVOICE_AUDIT_*独立助手配置独立分析配置/工具权限

12. 业务模块需求

工作台

展示累计报销、状态分布、最近报销,以及按年月生成的金额、通过率、风险和费用结构驾驶舱。

我的发票

服务端发票夹提供 OCR、L1–L3 状态、识别字段校正、AI 原值与员工修改留痕、预览、重试、删除和入单。

新建报销

从发票夹选择票据、用统一下拉框确认分类;非常规票据可手工补录并上传附件。必要字段齐全且无实际重复时,风险票据也可提交审批。

我的报销

按状态、类型、年月和关键词查询;草稿/待修改可维护,详情保留提交时的票据修改快照与 L1–L4 风险。

待审批

审核人员查看逐字段 AI 原值、员工最终值和未通过项,再决定是否继续通过。

分析报告

按年份、月份和部门查看趋势、预算、风险和合规;规则与预算溯源集中在该页面展示。

部门管理

维护组织部门、负责人和成员。用户、角色、菜单/API 权限属于后端与生产治理能力,当前 Demo 未提供独立管理菜单。

个人中心

展示本人身份、部门、联系方式和脱敏账户信息,支持受控修改个人联系字段。

智能入口

右下角员工助手面向制度与操作问答;分析页提供报销分析助手,二者与发票 Workflow 分应用、分凭证、分职责。

12.1 当前 Demo 功能实景截图

以下截图由访客账号登录当前本地 Demo 拍摄,展示页面与功能入口。访客共享演示数据可能随体验操作变化;点击图片可查看原始分辨率。

访客工作台与财务驾驶舱
图 12-1 工作台最近报销、状态统计与智能财务驾驶舱。
访客我的发票页面
图 12-2 我的发票常规电子发票上传、识别结果与发票夹操作。
访客新建报销单页面
图 12-3 新建报销基础信息、购销方、发票夹导入与非常规票据手工添加。
访客我的报销记录页面
图 12-4 我的报销组合筛选、状态、金额、查看与可修改操作。
访客待审批报销单页面
图 12-5 待审批部门负责人查看单据与进入审批。
访客报销分析报告页面
图 12-6 分析报告预算与规则版本、合规风险、关键指标和趋势分析。
访客部门管理页面
图 12-7 部门管理组织、负责人、成员与部门维护。
访客个人中心页面
图 12-8 个人中心身份、部门、联系信息和脱敏账户信息。
访客 Demo 内嵌员工智能报销助手
图 12-9 员工智能报销助手Demo 内嵌 Dify Chatflow,登录身份映射为可信 user_id。

13. API 与输入输出契约

13.1 发票夹接口

方法与路径用途关键规则
GET /api/invoice-assets查询当前用户发票夹仅返回本人记录,按创建时间倒序
POST /api/invoice-assets/precheck保存附件并执行 OCR、L1–L3校验附件归属与哈希;同用户同哈希复用
PATCH /api/invoice-assets/:id员工校正识别字段仅所属员工可编辑;服务端记录 AI 原值、最终值、修改人和时间
POST /api/invoice-assets/:id/retry重试失败、待修改或疑似重复记录其他状态返回冲突
DELETE /api/invoice-assets/:id删除未进入报销流程的记录已关联、已占用或已报销禁止删除

13.2 报销发票对象

{ "invoiceAssetId": 123, "invoiceNo": "...", "invoiceDate": "YYYY-MM-DD", "sellerName": "...", "buyerName": "...", "amount": 44.34, "tax": 2.66, "totalAmount": 47.00, "costCenter": "餐饮费", "description": "业务说明", "displayFileName": "员工确认的展示名称.pdf", "displaySourceFileType": "PDF" }

存在 invoiceAssetId 时,后端校验资产归属并以真实附件元数据为准;员工确认的识别字段可入单,服务端生成逐字段差异与提交快照。展示标签不会更改原文件、哈希、预览或下载地址;置信度与原始 AI 结果不能由客户端伪造。

13.3 Dify 发票 Workflow

配置/字段说明
DIFY_INVOICE_AUDIT_API_BASE独立 API 基址,默认使用 Dify API;不写入前端
DIFY_INVOICE_AUDIT_API_KEY独立 Workflow 密钥,仅服务端保存
DIFY_INVOICE_AUDIT_TIMEOUT_MS工作流超时,最低 1000毫秒,默认 120000毫秒
user_id必填;由后端登录上下文生成,禁止客户端伪造
invoice_files必填数组;图片映射为 image,PDF 等映射为 document
audit_payload_json后端生成的确定性审核事实 JSON;不得由模型自行补造金额、重复或预算事实
report_id可选报销单标识;用于排除自身、串联审计,不作为发票唯一键
result_json最终输出节点唯一业务字段,必须是可解析 JSON 字符串
result_json.invoices必须为数组;缺失、非数组或 JSON 不可解析时整个识别视为失败
dify_workflow_run_id保存运行流水用于审计,不作为业务主键

13.4 报销分析助手接口

方法与路径/配置用途关键规则
GET /api/analysis-agent/status读取模型和降级状态只返回是否配置、提供方、模型、最近状态和 Demo 限流,不返回密钥
POST /api/analysis-agent/sessions创建授权分析会话沿用内部 analysis-agent 标识
POST /api/analysis-agent/sessions/:id/messages执行取数、分析与校验返回 answerProvider、modelUsed、snapshotId、fallbackReason、validatedClaims
ANALYSIS_MODEL_*千问独立服务端配置默认 qwen-plus;密钥不进入 HTML 或浏览器
POST /api/analysis/chat旧版兼容接口返回 Deprecation/Sunset/Link 头,一个版本周期后移除

14. 数据模型摘要

表用途关键字段/约束
invoice_assets服务端发票夹和上传预审审计归属用户、原始 OCR、员工修改摘要、展示标签、真实附件和哈希;同用户同哈希唯一
invoice_claimsL3 最终占用占用键、报销单、发票资产、操作人和报销状态
expense_invoices报销单发票快照资产引用、员工确认合计、修改字段、AI 原值、员工最终值、修改人与时间
expense_reports报销主表与状态机员工、部门、事由、日期、金额、状态和创建人
ai_review_results报销提交阶段 L1–L4 审核轨迹规则、结论、风险、原因、建议和规则溯源
department_budgets部门与期间预算活动预算、期间预算、实际、剩余和执行率
tax_policy_rules有效税务与制度依据规则 ID、来源、生效日期和废止状态
dim_users / roles / permissions身份、角色与权限生产用户与 guest_visitor 分离

14.1 双审计轨迹

  • 发票夹:原始 OCR、员工校正值、逐字段差异、修改人、修改时间、L1–L3 与重复证据。
  • 报销单:提交时冻结发票修改快照,保留 L1–L4、发票占用、预算依据、状态和审核历史;后续重试或修改发票夹不覆盖已提交快照。

15. 权限、安全与 Demo 访客

  • 所有发票夹接口依赖服务端登录身份;附件路径必须属于当前用户且解析后仍位于附件根目录内。
  • 附件入库前后校验文件内容指纹,防止记录与实际文件不一致。
  • Dify API Key、工作流标识、长期访问令牌不进入 HTML、浏览器、本地存储或普通业务日志。
  • 发票资产导入必须验证 owner_user_id;只有服务端允许的员工确认字段可以变化,原始 AI 值、置信度与真实附件元数据不可由客户端改写。
  • 跨员工重复只返回抽象占用提示,不返回他人身份、部门或报销单号。

15.1 访客管理员 Demo

访客登录由服务端签发独立 guest_visitor 演示身份。访客只能读取自己的发票、报销、审批与分析记录;本地浏览器缓存也与真实账号隔离。访客测试数据可单独清理,不影响真实用户;生产环境不得照搬匿名管理员设计。

16. 异常与降级

异常系统行为用户提示是否可入单
Dify 未配置/超时/失败文件保留,状态改为识别失败待重试,记录受限错误“发票已保存,但识别失败,可稍后重试”识别完成或员工补齐必要字段后再提交
Workflow 缺少 invoices按无效结构化输出处理识别失败,可重试必要数据不齐时不可正式提交
OCR 字段缺失或金额异常L1/L2 失败,保留原判定展示缺失项或金额差异,允许员工校正必要字段补齐后可带风险提交
疑似重复允许查看、选择与核对;提交时重做 L3 检查展示重复证据确认重复或占用时阻断
并发唯一键冲突当前事务失败并清理已写入键已被其他有效报销单占用否
预算缺失或超过 100%不套用默认值,保留 L4 失败和严重风险展示预算缺失或超额原因可带风险提交到部门审批
报销分析模型不可用隐藏未校验模型答案并使用确定性分析明确显示“规则分析模式”不影响确定性业务 API

17. 埋点、日志与审计

事件/日志关键属性用途
invoice_upload_start/result文件类型、大小、是否复用、耗时、结果状态监控上传与 OCR 转化
invoice_precheck_resultasset_id、L1–L3、风险、审核版本分析失败原因与重试率
invoice_asset_retry/delete/import状态、操作人、来源页面审计发票夹操作
expense_submit报销单、发票数、总额、预算版本提交漏斗和业务量
ai_review_resultL1–L4、状态、风险、原因码审核准确性和人工复核率
invoice_claim_result键类型、幂等/冲突、报销状态重复报销和并发监控
assistant_message意图、知识版本、是否回答、转人工员工助手质量
analysis_agent_answer筛选、数据时间、版本、校验结果财务分析可追溯

18. 测试与验收标准

验收场景预期结果
上传真实 PDF/JPG/PNG保存真实附件、规范化 OCR 字段与 L1–L3 结果;识别失败可重试
同用户重复上传内容相同的附件根据附件内容指纹返回既有发票资产,不重复 OCR;仅改文件名不会再次识别
员工校正识别结果分类使用统一下拉选项;AI 原值、最终值、修改人和时间逐字段留痕,置信度只读
调整附件展示标签标签可改,原文件、哈希、预览和下载不变
从发票夹导入报销单带 invoiceAssetId 和员工确认值入单;服务端校验资产归属并保存提交快照
金额或日期预审未通过保留 L1/L2 失败;必要字段补齐且无实际重复时可带风险进入部门审批
当前单或历史有效单据重复L3 确认重复或占用时阻断正式提交;草稿和待修改不误报
正常票据说明含“未发现重复”不会因说明文字含“重复”而误拦截;以结构化重复结论和占用事务为准
两个报销单并发提交同一发票最多一个成功,失败方得到占用提示
预算超过 100%或未配置保留 L4 未通过和严重风险;报销单仍进入待部门审批
撤回或驳回占用释放;已付款不释放,历史报销修改快照保持不变
制度问答与技术问题费用问题依据知识库证据回答;技术问题建议转 IT,缺证据不得臆造制度结论
Agent 解释审核结果不得改变 passed、status、金额、重复证据或预算结论
访客模式独立演示身份和浏览器缓存;只显示访客自己的发票、报销和审批数据

18.1 当前自动化覆盖

后端项目回归测试覆盖金额、日期、识别重试、员工修改留痕、附件归属、重复占用、并发竞争、预算边界和访客隔离。最近一次本地运行结果为 148 项通过;该结果不代表外部 Dify 工作流或腾讯云部署已同步验证。

19. Demo 与生产边界

能力当前 Demo生产增强
常规电子发票夹与 OCR后端接入 Dify 识别对象存储私有化、病毒扫描、生命周期、OCR SLA 和监控
非常规票据新建报销页手工补录收据、地铁票、出租车票等统一进入发票夹直通流程,并建立分票种准确率与人工兜底指标
L1–L4 与占用确定性审核 + 风险随单 + 真重复硬拦截规则发布审批、迁移演练、数据库高可用和压测
税务验真流程演示接入合规税务查验服务,保存外部流水和证据
OA 与付款状态演示企业 OA/ERP/银企 API、幂等、重试、补偿和对账
规则/预算/权限配置数据与分析页可见,无独立配置菜单补齐规则发布、预算编制、用户角色、审批流和数据权限的管理控制台
访客管理员独立演示身份与数据生产关闭匿名管理员,接 SSO、最小权限与集中审计
员工助手Chatflow 已接入知识库发布监控、问答完成率、知识质检、限流与 IT/财务人工服务 SLA
报销分析千问增强/规则降级数据快照治理、指标语义层、模型调用监控、回归评测和回答质检

20. 与主流竞品的差异分析

本节基于 2026-08-18 各厂商官网公开能力,对比对象为 合思费控、分贝通、汇联易和 SAP Concur 解决方案。该分析用于产品规划,不等同于采购验收或对竞品当前全部版本的实测结论。

对比维度智能报销系统主流竞品公开能力差异判断
产品覆盖范围聚焦员工报销、发票审核、部门审批、合规分析和双助手合思、分贝通、汇联易普遍覆盖申请、商旅/消费、企业支付、报销、对账、核算和档案;SAP Concur 还覆盖全球差旅、Invoice/AP 与伙伴生态明显不足 当前是报销审核型产品,不是完整企业支出平台
事前与事中费控预算主要在提交和分析阶段校验合思、分贝通、汇联易强调申请前置、消费标准预设和事中预算控制不足 需补申请、预占、企业支付和消费订单联动
票据覆盖与验真常规电子发票已直通;非常规票据规则已有,但 UI 仍手工补录;税务验真为接口边界国内竞品普遍宣传多票种采集、OCR、查重、验真和电子档案不足 主要短板是票种直通率、真实验真和档案闭环
智能审核方式OCR/大模型负责识别与解释,金额、重复、预算和状态由后端确定性规则及数据库约束裁决竞品普遍提供规则引擎、AI 审核、异常模型或人工审计服务差异优势 责任边界、失败关闭和审计可解释性更明确,适合高风险场景验证
重复报销控制票号 + 附件内容指纹 + 历史有效状态 + 事务级唯一占用,支持并发冲突和撤回释放竞品公开描述多为发票查重、异常校验或防重复付款优势 当前 PRD 对并发占用、隐私提示和状态释放定义更细
制度与预算证据知识证据与后端确定性规则分层;缺预算时标记 L4 风险并由部门审批判断竞品多采用可配置制度、预算和规则引擎,成熟度更高但公开资料通常不披露模型与规则的裁决边界各有侧重 当前系统的证据和风险留痕透明,竞品在规则管理产品化和企业实施上领先
员工问答与交互澄清技术/制度双知识库隔离,模糊问题用按钮补齐上下文,附件故障先排查再转 IT部分竞品提供智能坐席、审批 Agent 或管控 Agent,但交互式知识分流细节公开较少差异优势 员工问题分类、知识隔离和人工转接规则清晰
分析与管理洞察确定性指标 + 千问只读解释;校验失败降级为规则分析竞品提供预算执行、支出结构、风险、成本节约和经营分析部分持平 当前系统的事实保护较强,但指标语义层、行业模板和跨系统数据仍不足
全球化与生态当前主要面向国内单组织 Demo,无移动端、商旅供应链和成熟连接器市场SAP Concur 提供全球差旅、费用、Invoice/AP、移动端及伙伴生态;国内竞品也扩展海外商旅与支付明显不足 不宜在现阶段以全球费用平台作为直接定位
集成与交付成熟度税务、OA、ERP、付款仍以接口边界或演示状态为主主流竞品已有大量企业实施、支付/银行、ERP、商旅和档案连接能力不足 下一阶段应优先补真实接口、可观测性和实施工具

20.1 当前更好的地方

确定性优先

模型不裁决业务事实

OCR、模型、知识库和后端职责分层,金额、重复、预算、状态不会被生成式回答覆盖。

证据可追溯

L1–L4 与双审计轨迹

上传预审和提交终审分开记录,制度证据、规则版本、占用事务与员工提示可回查。

并发防重

不只做查询式查重

唯一占用、幂等、自身排除、撤回释放和跨员工隐私提示形成更完整的重复报销控制。

知识隔离

技术与制度不混答

员工助手使用双知识库与确定性分流,附件故障先排查、完成后再转 IT。

安全接入

长期密钥仅在后端

Workflow、员工助手和分析助手分应用、分凭证、分会话,浏览器不持有审核密钥。

可降级

失败不静默放行

知识不足、模型异常和输出不合法时关闭自动放行或回退规则分析,避免伪造确定性结论。

20.2 有待改进的地方与优先级

优先级改进项目标结果建议验收指标
P0非常规票据统一直通、真实税务验真、OA/ERP/付款接口从“规则可识别”升级为“端到端可处理”,补齐主业务闭环分票种字段准确率、直通率、验真成功率、接口幂等与补偿成功率
P0规则、预算、用户角色与审批流管理控制台将当前后端数据和分析展示变成可发布、可审批、可回滚的配置产品规则发布审计、预算版本覆盖率、权限越权测试、审批配置回归
P1事前申请、预算预占、商旅/企业支付与消费订单匹配由事后报销审核扩展到事前、事中支出管理企业支付占比、员工垫资比例、预算超额拦截率、订单自动匹配率
P1电子会计档案、自动凭证、对账与审计导出形成财务后链路和监管证据闭环自动制证率、归档完整率、对账差异率、审计导出耗时
P2移动端、多币种、多语言、海外税制和连接器生态满足集团化、全球化和多系统实施需求移动端覆盖率、币种/国家覆盖、连接器数量、实施周期