百度AI - 对接百度AI 增值税发票识别接口
1、注册应用并获取应用AK,SK
获取access_token 代码
if __name__ == '__main__':
# 获取 access_token 一般有效期一个月,不必频繁获取
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials'
ak = '****'
sk = '*******'
get = host + '&client_id=' + ak + '&client_secret=' + sk
print(requests.get(get).json())
2、编写请求方法
access_token = '*****'
headers = {'content-type': 'application/x-www-form-urlencoded'}
def get_post(url, data, print_result=False):
url = url + '?access_token=' + access_token
response = requests.post(url, data=data, headers=headers)
if response:
if print_result:
print(response.json())
return response
else:
logging.error('请求 {} 失败', url)
3、上传发票并读取发票内容
字段文档 https://cloud.baidu.com/doc/OCR/s/nk3h7xy2t
编写代码
from ai.baidu_ai import ai_request
import base64
'''
增值税发票识别
'''
if __name__ == '__main__':
data = {
'image': base64.b64encode(open('C:/Users/A-PC/Desktop/123/8879.jpg', 'rb').read())
}
url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/vat_invoice'
result = ai_request.get_post(url, data).json()
ticket = result['words_result']
if ticket:
print('合计金额', ticket['TotalAmount'])
print('合计税额', ticket['TotalTax'])
print('平均税率', format(float(ticket['TotalTax']) / float(ticket['TotalAmount']) * 100, '0.2f') + '%')
print('价税合计', ticket['AmountInWords'])
print('价税合计', ticket['AmountInFiguers'])
print()
print('销售方名称', ticket['SellerName'])
print('销售方纳税人识别号', ticket['SellerRegisterNum'])
print('销售方地址及电话', ticket['SellerAddress'])
print('销售方开户行及账号', ticket['SellerBank'])
print()
print('购方名称', ticket['PurchaserName'])
print('购方纳税人识别号', ticket['PurchaserRegisterNum'])
print('购方地址及电话', ticket['PurchaserAddress'])
print('购方开户行及账号', ticket['PurchaserBank'])
print()
print('收款人', ticket['Payee'])
print('复核', ticket['Checker'])
print('开票人', ticket['NoteDrawer'])
print('开票日期', ticket['InvoiceDate'])
4、输出结果
合计金额 2524.75
合计税额 151.49
平均税率 6.00%
价税合计 贰仟陆佰柒拾陆圆贰角肆分
价税合计 2676.24
销售方名称 合肥乐堂动漫信息技术有限公司
销售方纳税人识别号 91340100686877076E
销售方地址及电话 合肥市金寨路71号科茂大厦5层0551-65411799
销售方开户行及账号 招商银行合肥南七支行551903169110102
购方名称 上海优扬新媒信息技术有限公司
购方纳税人识别号 91310114585239729M
购方地址及电话 上海市嘉定区工业区汇源路55号H幢3层A区021-63460206
购方开户行及账号 中国工商银行上海市嘉定支行1001700819300415148
收款人 李平
复核 李平
开票人 秦丽萍
开票日期 2016年11月11日