1.功能描述:
在日常工作中经常要用到增值税发票。在使用的时候需要对增值税发表进行检查,验真,录入等很多工作。使用增值税发票识别技术,实现对增值税普票或专票各字段信息的识别和录入,可应用于企业税务核算及内部报销等场景,能够有效减少人工核算工作量,降低人力成本,实现财税报销的自动化
阿里云开放了多款热门AI产品,0元免费试用!,活动地址:
https://tianchi.aliyun.com/markets/tianchi/ai/join?wh_ttid=pc
2.调用攻略(Python3)及评测
详细说明请参考对应的说明文档
import urllib.request
import urllib.parse
import json
import time
import base64
调用函数
def posturl(url,data={}):
#请求头
headers = {
'Authorization': 'APPCODE 你的APPCODE',
'Content-Type': 'application/json; charset=UTF-8'
}
try:
params=json.dumps(data).encode(encoding='UTF8')
req = urllib.request.Request(url, params, headers)
r = urllib.request.urlopen(req)
html =r.read()
r.close();
return html.decode("utf8")
except urllib.error.HTTPError as e:
print(e.code)
print(e.read().decode("utf8"))
time.sleep(1)
识别增值税发票
def vat_invoice(filename):
with open(filename, 'rb') as f: # 以二进制读取本地图片
data = f.read()
encodestr = str(base64.b64encode(data),'utf-8')
url_request="https://ocrapi-invoice.taobao.com/ocrservice/invoice"
dict = {'img': encodestr}
content = posturl(url_request, data=dict)
#print(content)
if content:
#print(content)
data = json.loads(content)
#print(data)
words_result=data['data']
print ('发票代码:',words_result['发票代码'])
print ('发票号码:',words_result['发票号码'])
print ('校验码:',words_result['校验码'])
print ('开票日期:',words_result['开票日期'])
print ('发票金额:',words_result['发票金额'])
print ('发票税额:',words_result['发票税额'])
print ('销售方名称:',words_result['销售方名称'])
print ('销售方税号:',words_result['销售方税号'])
print ('受票方名称:',words_result['受票方名称'])
print ('受票方税号:',words_result['受票方税号'])
vat_invoice('invoice.jpg')
3.功能评测:
选用不同的数据对效果进行测试,具体效果如下(以下发票例子均来自网上):
发票代码: 4300171130
发票号码: 02550485
校验码:
开票日期: 2018年01月15日
发票金额: 12338.15
发票税额: 1792.72
销售方名称: 中国石化销售有限公司湖南长沙石油分公司
销售方税号: 91430100717079385W
受票方名称: 中启行物联科技(北京)有限公司
受票方税号: 911101023513172379
发票代码: 034001700112
发票号码: 04395009
校验码: 14298735920708772366
开票日期: 2018年1月1日
发票金额: 9.5
发票税额: 0.28
销售方名称: 安徽省交通控股集团有限公司
销售方税号: 91340000MA2T9Q407
受票方名称: 安徽省公司
受票方税号:
测试下来,整体感觉处理的很不错,此功能会大大的发票处理的工作量。