包教包会:零基础也能做一个免费的出租车发票识别工具,财务人员必看

 

文章简要介绍:这是一个给财务人员用的出租车发票识别工具,需要现成程序的,直接拉到文末下载。想自己动手写一个程序的,仔细看文章,哪怕你从来没写过代码,照着一步步操作,也能做出自己的发票识别程序,而且完全免费。

一、为什么要做这个工具

朋友在一个公司里做财务,经常与发票打交道。同事把要报销的发票交给他,他把明细一条条录进Excel。

他说最头疼的就是出租车发票,字小、模糊、有折痕,需要录入的内容包括车牌号、日期、上车时间、下车时间、金额,一张发票录入EXCEL需要几分钟,几十张下来半天时间就没了,时间都浪费在这些无意义的劳动上了。

看来,需要程序员出手拯救他了。

二、为什么不能直接用现成工具

常见的发票包括购买商品发票、机票发票、住宿发票、火车发票、出租车发票等,从形式上来说,有电子的、的纸质的。

电子发票一般是pdf、ofd、xml格式的,网上有很多工具能实现统计功能,用程序直接提取相关字段就能识别。

但是出租车发票就完全不管用了,因为出租车发票一般都是纸质的,要想识别,只能按照"拍照→OCR识别→提取字段"的流程。

OCR识别、提取字段,看起来简简单单的2句话,却能够难倒一大堆人。

先说OCR。拍照时倾斜、光照不均、有折痕等,都会导致OCR识别失败,需要先对原始图像作二值化、去噪、透视校正等预处理才能提升识别率。

下图是我用电脑版微信OCR识别出来的效果,车牌号、日期、金额都识别错了。

再说提取相关字段。车号、日期、金额、里程这些字段位置相对固定但不同地区的版式差异很大,使用通用OCR(比如Tesseract、百度飞桨文字识别)只能识别出一坨文字,需要自己写解析逻辑把字段抠出来,如果换一种发票版式,程序就会出错。

所以正确的做法是:直接用云厂商的专用出租车发票识别接口。阿里云、腾讯云、百度都有,它们用深度学习模型专门训练过,直接返回结构化数据:发票代码、发票号码、金额、上下车时间、里程、车牌号,这才是财务场景该用的东西。

三、为什么选腾讯云

主要是免费额度高:腾讯云,免费1000次/月;阿里云,免费200次/月;百度智能云,财务票据文字识别个人认证免费200次、企业认证免费500次。

腾讯云给得最多,个人用完全够了。

所以下面教程以腾讯云为例。

四、具体操作步骤

总体思路:写一个Python小程序,调用腾讯云的识别接口,把照片丢进去,自动吐出Excel表格。

下面一步步来,跟着做就行。

第一步:注册腾讯云,开通文字识别服务

链接是:https://console.cloud.tencent.com/ocr/overview

使用微信扫码即可登陆,然后申请开通文字识别服务。

新建一个密钥。点击常用工具中的密钥管理,弹出新窗口,点击继续使用。

点击新建密钥,这时会弹出新的密钥代码,这个非常重要,一定要保存好,而且不要告诉别人。把这个csv文件下载下来,后面有用。

第二步:在自己电脑上安装Python和必要的库

2.1安装Python

官方地址是:https://www.python.org/,这个地址在国内下载比较慢。

我一般是去阿里云的镜像网站下载,地址是:https://mirrors.aliyun.com/python-release/windows,目前最新版本是python-3.15.0rc2-amd64.exe。下载后,一路点击下一步安装即可。

2.2安装依赖

正常使用的话,还需要安装2个库,分别是tencentcloud-sdk-python和openpyxl。

打开cmd窗口,依次输入以下命令:

#升级 pip 到最新的版本

python -m pip install --upgrade pip

#将pip的源设置为国内清华大学的源,方便快速下载库文件

pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

#安装2个库

pip install tencentcloud-sdk-python openpyxl

第三步:让AI帮你写程序

这一步最轻松,不用自己写一行代码,让AI来写。

打开元宝、DeepSeek或者任何你常用的AI对话工具,把下面这段提示词粘贴进去,它就会生成一个完整的Python程序:

第四步:填入你的密钥,准备运行

将AI生成的代码保存在本地文件夹中,命名为“taxi_ocr.py”。

用记事本打开这个文件,将第一步下载的密钥文件“SecretKey.csv”里的SECRET_ID和SECRET_KEY填写进去。

在文件夹里新建一个文本文件,名字为“run.bat”,内容为:

@echo off

if "%~1"=="" (

python taxi_ocr.py .

) else (

python taxi_ocr.py %*

)

pause

五、怎么用

这个程序有2种运行方式:

用法1:双击运行。直接双击run.bat,它会自动识别当前文件夹里所有的图片(只识别当前文件夹,不会扫描子文件夹里的图片)。

用法2:拖放图片。把一张或多张发票照片直接拖到run.bat图标上,松手就开始识别。

识别完成后,会自动生成一个Excel文件,文件名带时间戳,比如“20260903-232322_识别结果.xlsx”。文件名格式为:年月日-时分秒加“_识别结果.xlsx”,方便后续查找。

六、实际效果

测试一下,把刚才微信识别错误的1.jpg拖到“run.bat”上,程序就开始运行了,生成了一个“识别结果.xlsx”。

这张发票是倾斜的,车牌号和实收金额已经被线挡住了,日期那里有折痕,但是识别的完全正确,金额有2种,分别是金额和实收金额,程序自动提取了实收金额,更贴合实际。总体来说,效果非常好。

现在这个Excel表格的样式是朋友要求的,如果你需要不同的样式,直接跟AI提需求就行。

七、结语

到这儿,一个能用的出租车发票识别工具就做好了。

整个过程你没写过一行代码,全靠AI生成,但结果还不错。

如果需要成品,请到https://www.xcpdf.com/works/的更多作品页面下载,运行前记得替换成你自己的Key。

几个小提醒:

1.腾讯云免费额度是每月1000次,对个人完全够用。用完后按量计费也很便宜,几分钱一次。

2.拍照时尽量把发票放平、光线均匀,识别率会更高。

3.密钥不要发给别人。

posted @ 2026-09-10 15:51  相声的技术备忘录  阅读(38)  评论(0)    收藏  举报