增值税发票识别PDF版

1.简介

1.1 场景简介

很多情况下需要对上传的增值税发票进行识别,并将发票的相关数据返回到字段中存储以便后续统计计算。

但供应商开具的发票很多时候都是 PDF 版本的,因此,需要采用支持 PDF 的 OCR 接口进行处理。

本文将通过支持 PDF 的 OCR 识别接口及简道云前端事件,为您详细讲解 PDF 版的发票如何在前端被识别出来。

1.2 预期效果

点击测试:PDF 发票识别demo

注:PDF 版发票识别接口有些许延迟,上传后请耐心等待数据返回。

2. 购买接口

首先我们需要找到一个支持 PDF 识别的增值税发票 OCR 接口,我们以阿里云官方提供的接口为例,讲解如何在简道云的前端事件中配置:点击进入阿里云市场购买接口

我们先购买一个 100 次的 1 分钱体验版本,可以在云市场中看到我们刚刚购买的接口。

3. 接口分析

接下来,点击接口,往下翻到 API 接口的详情介绍,选择「PDF 电子发票查验 V2」这个接口调用地址进行分析。

【调用地址】:http(s)://fapiao.market.alicloudapi.com/v2/invoice/pdf

【请求方式】:POST

【返回类型】:JSON

【请求的Headers】:Authorization: APPCODE + 你自己的 APPCODE(服从阿里云云市场的标准鉴权方式)

格式如下:

Authorization:APPCODE AppCode值

【请求body】

可以是 pdf 的 url 或者 base64 编码:

名称

类型

是否必须

描述

pdfBase64

STRING

可选

Base64编码的发票PDF文件,不包含前缀data:image/jpg;base64,

pdfUrl

STRING

可选

PDF电子发票链接地址

正常返回示例:

{
  "success": true,
  "code": 0,
  "data": {
    "fpdm": "发票代码",
    "fplx": "发票类型",
    "fphm": "发票号码",
    "kprq": "开票日期",
    "xfMc": "销售方名称",
    "xfNsrsbh": "销售方纳税人识别号",
    "xfContact": "销售方联系方式",
    "xfBank": "销售方开户行",
    "gfMc": "购方名称",
    "gfNsrsbh": "购方纳税人识别号",
    "gfContact": "购方联系方式",
    "gfBank": "购方开户行",
    "code": "发票校验码",
    "num": "发票机器码",
    "del": "是否作废",
    "taxamount": "税额合计",
    "goodsamount": "价格合计",
    "sumamount": "价税合计",
    "quantityAmount": "数量合计",
    "updateTime": "更新时间",
    "queryCount": "税局查验次数",
    "remark": "备注",
    "goodsData": [
      {
        "name": "名称",
        "spec": "规格",
        "unit": "单位",
        "amount": "数量",
        "priceUnit": "单价",
        "priceSum": "金额",
        "taxRate": "税率",
        "taxSum": "税额"
      }
    ]
  }
}

4. 设置表单

根据需要返回的内容设置表单字段。

添加一个附件字段,更改名称为「增值税发票」,作为前端事件的触发字段。

在添加多个单行文本字段,用于将发票上面需要识别的内容一一填进来,需要识别发票上的哪些信息就填写多少个字段。

发票的详细内容需要采用子表单,然后在子表单中拖入几个单行文本字段用于填充发票上的具体内容。

子表单中的内容对应发票中的下述内容。

5. 设置前端事件

表单上的设计内容参考发票中的内容来设计,需要多少内容就添加多少字段。

5.1 配置入口

添加好了以后,即可在表单属性中配置前端事件。

5.2 事件名称&触发设置

点击添加「前端事件」后,先为前端事件设置名称信息及触发字段。触发字段选择表单中添加的附件字段(增值税发票)。

5.3 请求设置

根据【3.接口分析】章节,依次设置下列参数:

  • 请求类型:POST
  • URL:https://fapiao.market.alicloudapi.com/v2/invoice/pdf
  • hearder:Authorization=APPCODE+自己的 APPCODE
  • Body:x-www-form-urlencoded
  • pdfUrl=插入字段「增值税发票」
  • 返回值格式:JSON

自己的 APPCODE 需要前往云市场中查找复制。

设置完上述参数参数,最后设置返回值。

点击设置,并添加所有字段。

根据 Json Path 规则,主表字段提取的方式为$.data['fpdm'],我们在返回值设置中添加发票代码字段,再写入提取方式即可。

接口详情中返回示例中的参数,按照下述格式,完成简道云所有主表返回字段的配置。。

格式示例:$.data['fpdm']

注意,子表单的配置特殊。

以子表单发票详单中的“货物或应税劳务、服务名称”为例,根据 Json Path 规则,填写返回值的方式为$.data['goodsData'][*]['name'],中间的[*]表示选取发票详单这个列表中每一个字典。

其中子表单字段的格式如下:

格式示例:$.data['goodsData'][*]['name']

所有的字段返回值配置完毕后,点击确定,即可保存设置内容。

5.4 效果演示

按照上述步骤,已完成前端事件的全部设置,接下来点击「保存并调试」,进入调试,检查有无问题。

上传一张 PDF 格式的发票,点击「发送请求」,即可看到请求效果。

按照上述过程,我们已经完成了增值税发票PDF版OCR识别前端事件的全部配置,您可以点击下方链接进行发票识别测试。

点击测试:PDF发票识别demo

您还可以尝试根据此教程将前端事件功能应用在更多场景。

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验