Solon ReActAgent 落地发票识别与智能报销 业务方案1.1 目标拍照后自动识别并填单常见合规规则自动校验重复报销可拦截异常单附上下文转人工1.2 流程改造改造前员工贴发票 → 填写报销单 → 主管审批 → 财务初审 → 财务复审 → 出纳打款改造后员工拍照上传 → Agent 识别填单合规检查 → 主管审批 → 通过后打款↓异常 → 人工介入附检查摘要二、技术落地ReActAgent 实现说明这是典型业务闭环正确入口是 ReActAgent 领域工具 HITL。不要使用虚构的 implements Tool、Harness.call()、AiInterceptor、memory.search()。2.1 模块结构com.example.finance/├── tools/│ ├── OcrTools.java # 发票 OCR│ ├── ComplianceTools.java # 合规与重复报销检查│ └── PaymentTools.java # 打款执行├── hitl/│ └── FinanceHitlController.java # 超标/异常审批└── ReimbursementAgentApp.java2.2 工具定义真实 APIimport org.noear.solon.ai.annotation.ToolMapping;import org.noear.solon.ai.chat.tool.AbsToolProvider;import org.noear.solon.annotation.Param;/** 发票 OCR 工具 */public class OcrTools extends AbsToolProvider {ToolMapping(description “识别发票图片返回发票代码、号码、日期、金额、购买方、销售方等字段”)public String ocr_invoice(Param(description “发票图片 base64 或文件 ID”) String imageRef) {// 生产环境调用 OCR 服务return “”{“code”:“044001900111”,“number”:“12345678”,“date”:“2026-06-18”,“amount”:1200.00,“tax”:72.00,“total”:1272.00,“buyer”:“某某科技有限公司”,“seller”:“某某酒店”,“category”:“住宿”}“”;}}/** 合规检查工具 */public class ComplianceTools extends AbsToolProvider {ToolMapping(description “检查发票真伪、抬头、是否重复报销返回合规结论”)public String check_invoice(Param(description “发票号码”) String invoiceNo,Param(description “购买方名称”) String buyer,Param(description “价税合计”) double total) {// 生产环境税务查验接口 已报销库查询 公司抬头校验if (“12345678”.equals(invoiceNo) total 0) {return “”{“invoiceNo”:“12345678”,“titleOk”:true,“duplicate”:false,“taxVerified”:true,“result”:“PASS”,“message”:“合规检查通过”}“”“;}return “””{“result”:“REJECT”,“message”:“发票校验失败请转人工”}“”;}ToolMapping(description 按费用类别检查是否超过公司报销标准) public String check_policy( Param(description 费用类别如住宿/交通/餐饮) String category, Param(description 金额) double amount) { if (餐饮.equals(category) amount 400) { return {\result\:\OVER_LIMIT\,\limit\:400,\amount\: amount ,\message\:\餐饮超标准需主管确认\}; } return {\result\:\OK\,\message\:\符合标准\}; }}/** 打款工具敏感操作 */public class PaymentTools extends AbsToolProvider {ToolMapping(description “提交报销打款。仅在合规通过且审批完成后调用”)public String submit_payment(Param(description “报销单号”) String reportId,Param(description “收款人”) String employee,Param(description “打款金额”) double amount) {return “{“status”:“submitted”,“reportId”:” reportId “”,“employee”:“” employee “”,“amount”: amount “}”;}}2.3 组装报销 Agentimport org.noear.solon.ai.agent.AgentSession;import org.noear.solon.ai.agent.react.ReActAgent;import org.noear.solon.ai.agent.react.intercept.HITLInterceptor;import org.noear.solon.ai.agent.session.InMemoryAgentSession;import org.noear.solon.ai.chat.ChatModel;ChatModel chatModel LlmUtil.getChatModel();HITLInterceptor hitl new HITLInterceptor().onTool(“submit_payment”, (trace, args) - {// 打款一律人工确认也可按金额阈值判断return “报销打款需财务确认”;});ReActAgent agent ReActAgent.of(chatModel).role(“”你是企业智能报销助手。处理步骤1. 先 OCR 识别发票2. 再做合规检查真伪/抬头/重复报销3. 再检查费用标准4. 全部通过后生成报销摘要需要打款时调用 submit_payment5. 任一检查失败明确列出原因并建议转人工“”).defaultToolAdd(new OcrTools()).defaultToolAdd(new ComplianceTools()).defaultToolAdd(new PaymentTools()).defaultInterceptorAdd(hitl).modelOptions(o - o.temperature(0.0)).maxTurns(12).autoRethink(true).build();AgentSession session InMemoryAgentSession.of(“expense_report_001”);String prompt “”员工张三提交差旅报销部门销售部。已上传 1 张住宿发票图片文件 IDimg_001。请完成识别、合规检查并在可打款时提交支付。“”;String result agent.prompt(prompt).session(session).call().getContent();2.4 重复报销怎么做不要虚构 Memory memory; memory.search(…)。正确做法在 check_invoice 工具内部查“已报销发票库”DB/Redis报销成功后由支付/归档服务把发票号写入已报销库下次再报同一票号时工具直接返回 duplicatetrue// check_invoice 内部伪代码if (reimbursedInvoiceRepository.exists(invoiceNo)) {return “{“result”:“REJECT”,“message”:“该发票已被报销过”}”;}2.5 超标场景当 check_policy 返回 OVER_LIMIT 时Agent 不应直接打款应生成摘要给主管若你希望“超标也允许打款但必须审批”可在 HITL 策略里根据参数返回审批原因HITLInterceptor hitl new HITLInterceptor().onTool(“submit_payment”, (trace, args) - {double amount Double.parseDouble(args.get(“amount”).toString());if (amount 2000) {return “单笔报销超过 2000需财务负责人审批”;}return “常规报销打款确认”;});三、业务效果定性录入从手工填单变成 OCR 自动填字段合规检查可覆盖全量票据而不是抽检重复报销可在工具层硬拦截财务从“逐张核对”转向“异常复核”真实处理示例员工上传差旅住宿发票Agent 链路ocr_invoice(img_001) → 金额 1,272类别住宿check_invoice → PASScheck_policy(住宿, 1272) → OKsubmit_payment → HITL 挂起财务批准后续传完成打款提交若餐饮票 500 元、标准 400 元OCR 成功合规通过check_policy 返回超标准Agent 输出“需主管确认超标 100 元”不直接打款四、同类场景扩展业务场景 核心工具 关键规则 业务价值采购发票校验 发票识别 订单匹配 三单匹配 对账效率提升备用金核销 发票识别 预算查询 超标预警 核销周期缩短客户开票 开票 API 商品匹配 额度控制 降低开票错误凭证生成 发票识别 科目映射 借贷平衡 制证提速进项税认证 发票识别 税务接口 可抵扣判断 减少人工认证五、落地建议先做自动填单 人工确认准确率稳定后再放开自动提交

相关新闻

最新新闻

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现 【免费下载链接】serenity The Serenity Operating System 🐞 项目地址: https://gitcode.com/GitHub_Trending/se/serenity 导读 本文以 getopt(3) 手册 为核心&a…

2026/9/29 2:52:50
轻量服务器还是ECS?大促云服务器选购与避坑实战指南

轻量服务器还是ECS?大促云服务器选购与避坑实战指南

每年大促节点,群里永远有人在问同一个问题:“38元的轻量服务器到底怎么抢?为什么我每次点进去都是已售罄?68元直购和99元的ECS我到底选哪个?”作为一个常年帮团队和自己采购云服务器的老用户,我太清楚这种纠…

2026/9/29 2:52:51
为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南 【免费下载链接】agents Multi-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity 项目地址:…

2026/9/29 1:29:30
PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between i…

2026/9/29 1:39:24
Spring源码解析:构造器注入的类型转换与候选匹配机制

Spring源码解析:构造器注入的类型转换与候选匹配机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/28 17:20:49
openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由 【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-pyth…

2026/9/29 2:52:53

日新闻

周新闻