需先申请国家税务总局API凭证获取app_key、app_secret及2小时有效期access_token,再通过Dify配置OCR提取发票四要素,最后用HTTP节点调用查验接口并依result值更新报销状态。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Dify自动调用国家税务总局发票查验平台接口,把用户上传的发票图片或PDF中的发票代码、号码、开票日期、校验码等字段精准提取出来,并实时返回查验结果(如“查验一致”或“查无此票”),再将结果写入报销系统完成状态更新。
准备发票查验所需的API接入凭证
登录国家税务总局全国增值税发票查验平台(https://inv-veri.chinatax.gov.cn),进入“开发者中心”→“申请查验接口权限”,提交企业税务登记证、授权委托书、接口使用说明等材料;审核通过后,平台会发放 【app_key、app_secret、access_token有效期为2小时】 三组凭证,其中 access_token 必须每次调用前重新获取,不能复用过期值。
这一步不可跳过——没有合法 access_token 的请求会被直接拦截返回 401 错误,且每日调用量受企业资质等级限制,新注册企业默认上限为50次/日。
在Dify中配置OCR识别与结构化提取工作流
方法一:使用内置多模态模型提取关键字段
新建应用 → 选择“文本生成+图像理解”模式 → 在提示词中明确要求:“仅输出JSON格式,字段包括:invoice_code(8位)、invoice_number(10位)、issue_date(YYYY-MM-DD)、check_code(最后6位);不输出任何解释性文字、不补全缺失字段、不猜测模糊数字”。
方法二:接入第三方OCR服务(推荐百度OCR高精度版)
在Dify“数据集”→“添加外部API”中填入百度OCR的request_url、API Key和Secret Key;设置请求体为base64编码后的发票图片,响应解析路径设为$.words_result[0].words(针对发票代码区域)→ $.words_result[1].words(针对发票号码区域),需手动标注每张发票图上字段的视觉位置坐标来提升准确率。
注意:纯文字PDF需先转为清晰单页PNG再送入OCR,直接传PDF会导致识别错行或漏字段。
构建查验请求链路并处理响应逻辑
第一步:用Dify的HTTP节点发起POST请求到查验接口
URL填 https://api.invoicing.chinatax.gov.cn/v1/invoice/verify;Headers中加入 Authorization: Bearer {access_token};Body为JSON格式,包含已提取的四个字段及发票金额(单位:元,保留两位小数)。
第二步:解析查验返回的status字段
若 status=0,表示查验成功,继续读取 data.result 字段值:值为1代表“查验一致”,值为0代表“发票代码、号码、日期、校验码不匹配”,值为-1代表“查无此票”;【status非0时data字段为空,强行解析会触发JSON路径错误】。
第三步:根据 result 值触发不同动作分支
result=1 → 调用报销系统API,PUT /api/expenses/{id},body中 status=verified;result=0 或 -1 → POST /api/expenses/{id}/rejection,附带reason字段说明具体失败原因。


















