发票自动分流-报销/合同判定关键词库(最终逻辑梳理定稿)
一、核心业务总览
本系统所有发票统一入口上传,经OCR识别、关键词智能匹配后,自动分流为报销核销票据(员工费用)、合同付款票据(对公项目)两类互斥票据。全流程覆盖上传识别、智能分流、列表展示、状态流转、权限管控、验真风控、去重机制,适配先票后款、先款后票、财务/销售双端操作全业务场景,所有规则统一、闭环无冲突。
二、票据上传与识别规则
1. 上传渠道与场景
支持双渠道统一入库,所有票据最终汇总至全局发票台账,底层规则完全一致:
- AI对话窗口:支持批量多张拍照上传,后台异步OCR识别,前端无需阻塞,初始状态为【待识别】
- 发票台账页面:支持单张手动上传,可非必填关联项目、合同
2. 识别与验真机制
区分票据类型执行不同校验规则,支持自动+手动双模式验真:
- 增值税类发票:上传识别完成后,自动调用国税接口验真,校验发票真伪、税务状态、票面信息一致性;支持手动刷新验真
- 交通类票据(车票、行程单等):仅做票面信息合规校验,不做税务验真
- 验真状态同步:税务正常进入常规流转;查验失败/信息不符标记【无效票据】;税务已红冲自动标记【已红冲】
3. 红冲票据双重管控规则
- 系统自动识别:对接税务接口,精准获取发票红冲状态,自动锁定票据,禁止报销、核销、付款、合同关联
- 人工兜底标注:票据详情页支持手动标记/撤销【已红冲】,适配税务接口延迟、离线纸质发票场景,操作全程留痕可追溯
4. 重复上传自动去重机制(核心风控)
唯一判定依据:增值税票以「发票代码+发票号码」为准,交通票据以「唯一票据编号」为准
- 前置强拦截:识别完成后自动查重,台账存在有效未完结票据,直接拦截重复上传并提示
- 重复数据处理:旧票据已完结,保留历史数据、丢弃新重复数据;旧票据未处理,自动合并附件、更新识别信息
- 特殊放行:已作废、已红冲、无效票据,支持重新上传覆盖补录信息
三、智能分流核心规则(关键词判定)
1. 匹配技术通用规则
- 匹配方式:全文模糊包含匹配,无需完全一致,兼容简写、语序调换、OCR轻微识别误差
- 匹配数据源:OCR识别文本、发票应税服务名称、票据类型名称、票面备注
- 人工兜底:系统自动判定后,后台支持手动切换票据业务类型
2. 匹配优先级(强制执行、命中终止)
- 第一优先级:黑名单强制拦截:命中项目/工程/采购类关键词,强制判定为【合同付款票据】
- 第二优先级:白名单费用匹配:命中差旅/餐饮/办公杂费关键词,判定为【报销核销票据】
- 第三优先级:默认兜底:无任何关键词命中,统一判定为【合同付款票据】
3. 报销费用白名单(报销核销票据专属)
命中以下关键词,进入员工报销、备用金核销流程,禁止对公付款、合同关联
交通差旅类
- 火车
- 高铁
- 动车
- 铁路客票
- 铁路电子客票
- 火车票
- 民航
- 航空
- 机票
- 飞机行程单
- 航空行程单
- 客运汽车
- 汽车票
- 公路客运
- 船票
- 轮渡
- 水路客运
- 通行费
- 路桥费
- 过路费
- 过桥费
- 出租车
- 的士
- 网约车
- 滴滴出行
- 高德打车
- 打车费
- 市内交通
日常消费招待类
- 餐饮
- 餐费
- 食堂
- 酒水
- 招待
- 业务招待
- 住宿费
- 住宿服务
- 酒店
- 宾馆
- 民宿
- 差旅费
- 差旅补助
- 会务
- 会议费
- 停车费
- 洗车费
- 燃油
- 油费
零星办公杂费类
- 办公用品
- 办公耗材
- 打印复印
- 图文制作
- 快递
- 物流小件
- 保洁
- 维修小额
- 零星服务
- 杂费
- 服务费(零星)
- 咨询小额
- 资料费
- 印刷费
4. 合同票据黑名单(合同付款票据专属)
命中以下关键词,强制锁定为对公项目票据,禁止报销、核销,必须关联合同后方可校验付款流水
- 工程
- 施工
- 项目
- 承包
- 劳务
- 货款
- 采购
- 设备
- 建材
- 软件项目
- 技术开发
- 系统运维(年度)
- 整体咨询
- 规划设计
- 招投标服务
- 项目服务费
5. 特殊兼容兜底规则
- 语序兼容:支持任意语序关键词匹配
- 电子票据兼容:适配数电票、电子客票专属名称识别
- 定额发票兜底:无票面描述的定额发票,默认判定为报销票据
- 服务费区分:零星小额服务费归报销,项目/年度/整体服务费归合同付款
6. 费用票 16 类内置模板对照(票据池兜底口径)
系统口径中的"费用票 16 类内置模板"即下表(关键词命中 → 变体 → 科目);模板作为
EXPENSE_BY_INVOICE_V1的模板变体在规则中心维护,票据池只读引用(见《会计规则目录》§三 F 域)。 双准则口径:本表为企业会计准则科目;小企业会计准则科目(损益类 6xxx→5xxx、合同负债↔预收账款、其他收益↔营业外收入)见《双准则票据模板与规则对照表》。
| # | 模板变体 | 命中关键词(示例) | 借方科目 | 贷方科目 | 生成方式 |
|---|---|---|---|---|---|
| 1 | 费用票据-办公费 | 办公用品 / 办公耗材 | 6602 管理费用-办公费 | 1001 库存现金 / 1002 银行存款 | 月底汇总 |
| 2 | 费用票据-差旅费 | 车票 / 机票 / 住宿 / 行程单 / 差旅补助 | 6602 管理费用-差旅费 | 同上(按支付方式) | 月底汇总 |
| 3 | 费用票据-交通费 | 出租车 / 网约车 / 市内交通 | 6602 管理费用-交通费 | 同上 | 月底汇总 |
| 4 | 费用票据-业务招待费 | 餐饮 / 招待 / 酒水 | 6602 管理费用-业务招待费 | 同上 | 月底汇总 |
| 5 | 费用票据-通讯费 | 话费 / 宽带 | 6602 管理费用-通讯费 | 同上 | 月底汇总 |
| 6 | 费用票据-会议费 | 会议 / 会务 / 场地 | 6602 管理费用-会议费 | 同上 | 月底汇总 |
| 7 | 费用票据-快递费 | 快递 / 物流小件 | 6602 管理费用-快递费 | 同上 | 月底汇总 |
| 8 | 费用票据-印刷费 | 打印复印 / 图文制作 / 资料 / 印刷 | 6602 管理费用-印刷费 | 同上 | 月底汇总 |
| 9 | 费用票据-福利费 | 节日福利 / 慰问 | 6602 管理费用-福利费 | 同上 | 月底汇总 |
| 10 | 费用票据-维修费 | 维修小额 / 修理 | 6602 管理费用-修理费 | 同上 | 月底汇总 |
| 11 | 费用票据-租赁费 | 零星租赁 / 场地 | 6602 管理费用-租赁费 | 同上 | 月底汇总 |
| 12 | 费用票据-物业水电费 | 物业 / 水电 | 6602 管理费用-水电费 | 同上 | 月底汇总 |
| 13 | 费用票据-汽车费用 | 燃油 / 油费 / 停车 / 过路 / 洗车 | 6602 管理费用-车辆费 | 同上 | 月底汇总 |
| 14 | 费用票据-咨询费 | 咨询小额 | 6602 管理费用-咨询费 | 同上 | 月底汇总 |
| 15 | 费用票据-广告宣传费 | 广告 / 推广 / 宣传 | 6601 销售费用-广告费 | 同上 | 月底汇总 |
| 16 | 费用票据-其他杂费 | 零星服务 / 保洁 / 杂费 | 6602 管理费用-其他 | 同上 | 月底汇总 |
四、两类票据业务权限与操作约束
1. 报销核销票据
- 权限隔离:隐藏【关联合同、发起付款申请】按钮,仅支持报销、核销相关操作
- 流程完结:报销流程完结落【已报销】状态,备用金核销完结落【已核销】状态,完结后永久只读锁定
2. 合同付款票据
- 权限隔离:隐藏【发起报销、发起核销】按钮,仅支持合同关联、付款相关操作
- 付款流水自动校验:关联合同后,已匹配付款流水直接置【已付款】,未付款置【待付款】
五、完整票据状态字典与流转规则
1. 全量状态枚举及页面标签颜色
| 状态 | 颜色 | 说明 |
|---|---|---|
| 待识别 | 灰色 | 异步识别中,全部操作锁定 |
| 已识别 | 蓝色 | 识别+分流完成,等待人工处理 |
| 未处理 | 浅灰色 | 未开展任何业务操作,可正常编辑操作 |
| 报销审核中 | 金黄色 | 报销/核销发起,待审批,支持撤销 |
| 已报销 | 深绿色 | 报销流程完结,锁定 |
| 已核销 | 青绿色 | 核销流程完结,锁定 |
| 已合同关联 | 深蓝色 | 已绑定项目/合同,待付款校验 |
| 待付款 | 浅蓝色 | 关联合同后未足额付款,可发起付款 |
| 付款审核中 | 橙黄色 | 付款发起待审批,支持撤销 |
| 已付款 | 深青色 | 付款流程完结,永久锁定 |
| 已作废 | 橙色 | 人工票据作废,失效 |
| 已红冲 | 红色 | 税务红冲/人工标记红冲,失效 |
| 无效票据 | 黑色 | 识别/验真失败,信息异常 |
2. 状态权限控制规则
报销核销票据权限
- 待识别/已识别:无业务操作,仅查看等待
- 未处理:可发起报销、核销、编辑、作废、删除
- 报销审核中:仅查看、撤销申请,禁止编辑删除
- 已报销/已核销:全部只读锁定
合同付款票据权限
- 待识别/已识别:无业务操作,仅查看等待
- 未处理:仅可关联合同、编辑、作废、删除,隐藏付款按钮
- 已合同关联:自动分流为待付款/已付款
- 待付款:可发起付款、解除合同关联
- 付款审核中:仅查看、撤销付款申请
- 已付款:完全锁定,禁止一切操作
3. 失效状态通用规则
已作废、已红冲、无效票据:全局只读,禁止所有业务操作与编辑
4. 标准化状态流转链路
链路一:报销核销票据流转
待识别 → 已识别 → 未处理 → 报销审核中(可撤销) → 已报销 / 已核销(不可逆锁定)
链路二:合同付款票据流转(双场景)
先票后款:待识别 → 已识别 → 未处理 → 已合同关联 → 待付款 → 付款审核中 → 已付款
先款后票:待识别 → 已识别 → 未处理 → 已合同关联 → 自动匹配流水 → 直接变为已付款
六、发票列表展示与筛选能力
1. 列表固定展示字段
- 票据类型、票据代码、票据号码、开具/出行日期、票面总金额、税额、可抵扣税额
- 销售方/承运单位、关联项目、关联合同、归属人员/部门、票据状态、操作按钮
2. 全维度高级筛选(支持多选、组合筛选)
- 全文搜索、票据类型、票据形态、抵扣属性、业务类型、识别状态、票据状态、完结状态
- 开具日期区间、金额区间、人员部门、项目合同筛选
3. 筛选联动规则
- 选中报销票据,自动屏蔽合同付款类筛选条件与状态
- 选中合同票据,自动屏蔽报销、核销类筛选条件与状态
- 所有筛选支持清空重置,数据实时联动
七、财务/销售双端数据权限规则
1. 上传与关联权限
销售、财务双向均可上传发票、关联/修正项目合同关系;销售负责业务匹配,财务负责合规校验,以最新有效关联数据为准。
2. 数据同步可见规则(核心互通)
所有发票统一入库全局台账,数据互通不隔离:
- 销售可视范围:本人上传发票 + 财务上传、归属本人负责的项目/合同对应的发票
- 销售不可见范围:其他销售负责的合同发票、财务专属内部票据
- 操作权限区分:本人上传票据可正常编辑操作;财务同步的票据仅只读查看、预览、导出,禁止篡改、解绑、发起流程
业务效果:财务统一归集入账,销售无需重复上传,自动对账,数据安全可控。
八、线上可直接落地JSON配置文件
可直接复制写入系统配置字典,无需二次修改
{
"reimburse_white_list": [
"火车","高铁","动车","铁路客票","铁路电子客票","火车票","民航","航空","机票","飞机行程单","航空行程单",
"客运汽车","汽车票","公路客运","船票","轮渡","水路客运","通行费","路桥费","过路费","过桥费",
"出租车","的士","网约车","滴滴出行","高德打车","打车费","市内交通","餐饮","餐费","食堂","酒水",
"招待","业务招待","住宿费","住宿服务","酒店","宾馆","民宿","差旅费","差旅补助","会务","会议费",
"停车费","洗车费","燃油","油费","办公用品","办公耗材","打印复印","图文制作","快递","物流小件",
"保洁","维修小额","零星服务","杂费","服务费(零星)","咨询小额","资料费","印刷费"
],
"contract_black_list": [
"工程","施工","项目","承包","劳务","货款","采购","设备","建材","软件项目","技术开发",
"系统运维(年度)","整体咨询","规划设计","招投标服务","项目服务费"
]
}
九、文档闭环说明
本文档已完成全业务、全流程、全风控闭环梳理,严格按照「上传识别→验真去重→智能分流→权限约束→状态流转→列表筛选→双端数据同步→代码配置」的真实业务与开发逻辑排序,无重复、无冗余、无逻辑冲突,可直接交付前端、后端、测试、产品落地使用。