每月要把一叠发票照片录进表格,可以先让 AI 把号码、日期、购销方、明细和金额抄出来,再由你对着原图复核。国家税务总局列出的数电发票票面字段包括项目、数量、金额、税率、税额和价税合计等,本文就按这些字段做练习。国家税务总局:数电发票票面基本内容
我们用一张带有“虚构练习票样”标记的图片,在本机 Qwen 视觉模型里识别。两条明细和合计都提取正确,独立脚本复算也通过。本机单次识别约 25 秒;具体时间会随设备和图片变化。这个流程只把票面内容整理成结构化字段,不会替你确认发票真伪、费用归属、会计科目或抵扣资格。
标注为虚构、不可报销的练习票样
你需要准备
| 项目 | 说明 |
|---|---|
| 电脑 | 本文在 M1 Max、64GB 内存的 Mac 上实测;模型下载约 18GB,确保磁盘空间充足 |
| 软件 | Ollama 和 Python 3;Python 脚本只用标准库 |
| 模型 | qwen3.8-27b-vision:latest,本机视觉模型;模型文件较大,首次下载需要网络 |
| 费用 | 本地运行不按次付模型调用费;需要承担下载、磁盘和电脑运行成本 |
| 时间 | 模型下载时间看网络;单张识别和复核时间因设备而异 |
真实票据包含经营和个人信息。先按单位批准的系统和流程处理;本教程脚本只连接本机 127.0.0.1,这不代表你的整套电脑环境自动满足单位的安全要求。
第一步:准备一张票据图片
先把纸质票据拍清楚或扫描成 PNG/JPG:尽量正对票面、不要遮住文字,确认项目行和金额没有被裁掉。本文材料包里有一张明确标为虚构、不能报销的练习票样,先用它跟着操作。
第二步:在本机提取票面字段
Ollama 是本机运行模型的工具;Qwen3.8 是支持文本和图片输入的模型系列。本文选择带图像输入能力的 Qwen3.8 27B,因为练习任务要从票面图片读取文字,且实测环境可以在本机运行。第一次拉取模型会下载约 18GB 文件;你的机器是否能流畅运行,取决于可用内存和模型版本。
安装并启动 Ollama 后,在终端下载模型:
ollama pull qwen3.8-27b-vision:latest
解压发票字段提取练习包,进入解压后的文件夹,把自己的图片放到这个文件夹里。运行:
python3 extract_invoice.py "你的发票图片.png" > model_output.json
脚本通过 Ollama 本机 API 发送图片,要求模型只返回 JSON。它把看不清或票面没写的字段留空,不让模型猜;提示词在 prompt.txt,你可以先照用,不要把身份信息或税号补进提示词。
第三步:对着原图逐项复核
把模型结果里的字段与图片一项项比对。至少检查:发票号码和日期、买卖双方、每行的项目名称与数量、金额、税率、税额,以及合计。数字看不清就回原图放大确认,不要根据模型的置信语气直接录账。
本次虚构票样的模型结果提取了两项商品:打印纸 360.00 元、文件夹 40.00 元;税额分别为 46.80 元和 5.20 元。模型还保留了票面上的虚构与不可报销提示。材料包中的 corrected.json 是人工核对后的版本。
第四步:用 Decimal 复算金额
把核对后的结果另存为 corrected.json,运行:
python3 check_amounts.py corrected.json
本例复算结果是:不含税金额 360.00 + 40.00 = 400.00 元;税额 46.80 + 5.20 = 52.00 元;价税合计 400.00 + 52.00 = 452.00 元。Decimal 按十进制金额计算,避免常见二进制小数误差。脚本只检查你输入的字段能否加总一致,不判断税率是否适用,也不替代正式账务审核。
常见问题
识别出来就能自动记账吗? 不建议直接自动入账。模型可能看错小数点、漏行或混淆金额列;先由经手人核对原图,再按单位的审批与会计流程处理。
真实票据能不能上传给在线模型? 先看单位的数据处理规则。票据可能含供应商和交易信息;未经批准,不要把原图交给外部服务。使用本机模型也要做好电脑访问控制和文件留存管理。
模型把没写的字段补出来了怎么办? 将其改成“未提供”,不要把推测当成票面事实。提示词已经要求缺失字段留空,仍需人工检查。
本机跑不动怎么办? 本文用的是 27B 视觉模型,下载体积和内存占用都不小。不要为了跑通而把真实票据发到未经批准的网站;先用单位现有的票据系统,或在合规前提下选择更小的视觉模型并用自己的样本验证。
工具清单
- Ollama:本机模型运行工具,免费;首次使用需下载模型。
- Qwen3.8:支持图像输入的模型系列;本文实测
qwen3.8-27b-vision:latest。 - Python 3:运行练习包里的识别与金额复算脚本;脚本仅调用 Python 标准库。
练习材料
下载发票字段提取练习包。包内包括虚构票样、提示词、可复跑脚本、原始模型输出、人工核对结果、金额自检和测试记录。请勿用虚构票样报销或入账。
接下来可以做什么
如果要整理长篇业务材料,可以接着可以看用自然语言整理 Excel 交叉表,把人工复核后的字段整理成汇总表。