百度AI - 对接百度AI 增值税发票识别接口

百度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号科茂大厦50551-65411799
销售方开户行及账号 招商银行合肥南七支行551903169110102

购方名称 上海优扬新媒信息技术有限公司
购方纳税人识别号 91310114585239729M
购方地址及电话 上海市嘉定区工业区汇源路55号H幢3层A区021-63460206
购方开户行及账号 中国工商银行上海市嘉定支行1001700819300415148

收款人 李平
复核 李平
开票人 秦丽萍
开票日期 20161111

猜你喜欢

转载自blog.csdn.net/qq_15071263/article/details/107345087