- 重构报销状态注册表、审批流路由与平台风险标记 - 完善管家意图规划器与模型计划构建器全链路 - 新增 OCR Worker 脚本、数据库会话管理与通知状态 - 优化文档中心、日志视图、预算中心与员工管理交互 - 增强工作台摘要、图标资源与全局主题样式 - 补充审批路由、状态注册、OCR 服务与管家规划器测试覆盖
5.0 KiB
5.0 KiB
费用申请审批财务规则概念文档
功能一句话
在财务规则中心新增《公司费用申请审批规则》,统一维护业务招待、办公用品和通用大额费用的事前申请与审批阈值,并让报销风险规则引用该规则执行。
背景与问题
现有系统已经有“业务招待无申请”“办公采购无申请”“大额费用无申请”等风险规则,但制度依据主要以风险规则 JSON 的口径字段存在,财务规则中心缺少一张可被制度管理员查看、编辑和追溯的规则表。
用户明确要求:
- 业务招待费超过 500 元需要申请。
- 大额办公用品需要申请。
- 金额超过 2000 元的费用都需要走审批。
- 这些要求最好形成财务规则,而不是散落在代码或前端提示中。
目标与非目标
目标:
- 新增一张财务规则资产《公司费用申请审批规则》。
- 规则资产以 Excel 形式进入
finance-rules规则库,并在规则中心按“财务规则”展示。 - 风险规则引用统一的
finance_rule_code,不再使用零散口径 code。 - 报销阶段按结构化金额规则判断,而不是只靠关键词命中。
- 关联有效申请单后不触发“缺少申请”风险。
非目标:
- 本轮不新增数据库字段。
- 本轮不新增非本体业务字段。
- 本轮不改造完整审批流节点,只补充申请前置与风险执行依据。
用户与场景
- 报销人:上传或录入业务招待、办公用品、大额费用报销时,系统自动识别是否缺少事前申请。
- 直属领导和财务审核人:审核单据时能看到风险来自财务规则。
- 财务制度管理员:能在规则中心看到并维护《公司费用申请审批规则》。
功能能力
财务规则表
规则表包含以下行:
- 业务招待费:单次费用金额大于 500 元时,必须先提交费用申请单。
- 办公用品费:单次或批量采购金额大于 2000 元时,必须先提交办公采购或费用申请单。
- 通用大额费用:任意费用金额大于 2000 元时,必须进入审批流程。
风险规则执行
meal与entertainment都视为业务招待费。office视为办公用品费。all视为通用大额费用。- 报销阶段没有关联有效申请单时,超过阈值命中高风险。
- 已有关联申请单时,不命中缺少申请风险。
方案设计
后端
- 在
agent_asset_spreadsheet.py中新增费用申请审批规则 code 与文件名常量。 - 在财务规则同步中新增该资产的 metadata、Excel 工作簿生成和版本快照。
- 在初始化和补齐逻辑中创建该财务规则资产,确保老库和新库都能看到。
- 将三条风险规则改为
composite_rule_v1,使用金额阈值和申请单存在性执行。 - 在
risk_rule_template_executor.py中补齐application.*字段解析,桥接现有application_link/application_handoff/application_detail风险上下文。
前端
本轮不新增前端页面。规则中心已有财务规则和 JSON 风险规则展示能力,后端资产同步后前端可直接展示。
数据与本体
本轮只使用现有本体字段:
expense_typeamountreasonapplication_claim_idapplication_claim_noapplication_detail
不新增非本体字段。
算法与公式
业务招待费规则:
hit = expenseType \in \{meal, entertainment\} \land amount > 500 \land \neg hasApplication
办公用品规则:
hit = expenseType = office \land amount > 2000 \land \neg hasApplication
通用大额规则:
hit = amount > 2000 \land \neg hasApplication
其中:
amount来自claim.amount。hasApplication来自application.id、application.claim_no或等价申请单上下文。
测试方案
- 单元测试:验证
application.*字段能从已有申请关联上下文解析。 - 规则执行测试:超过 500 元业务招待费且无申请命中风险。
- 规则执行测试:超过 2000 元办公用品费且无申请命中风险。
- 规则执行测试:超过 2000 元通用费用且无申请命中风险。
- 规则执行测试:已关联申请单的超额费用不命中缺少申请风险。
- 资产测试:规则中心种子数据包含《公司费用申请审批规则》,且
config_json.tag为“财务规则”。
指标与验收
- 财务规则中心能看到新增规则资产。
- 新增资产
finance_rule_code统一为expense.preapproval.policy。 - 三条风险规则均引用该财务规则 code。
- 容器内后端定向测试通过。
- 不新增非本体业务字段。
风险与开放问题
- “大额办公用品”的金额阈值按用户同句“大额/超过 2000 都需要审批”落为 2000 元。
- 当前申请单上下文主要存在
risk_flags_json的申请关联 flag 中,本轮先补执行器解析,不新增外键字段。 - 后续如果要支持不同部门或不同职级阈值,可以在同一张财务规则表中扩展分档行。