n8n + AI 打造发票 OCR 自动化:票据数据一键写入 Google Sheets

用 n8n 串联 OpenAI 视觉识别,五步搭建发票 OCR 自动录入工作流。
文章介绍了一套基于 n8n 和 OpenAI 的发票 OCR 自动化方案,用于解决餐饮、零售、物流等行业中人工逐张录入发票的高成本问题。整个工作流仅需五步:用户通过表单上传发票图片,OpenAI 节点识别并抽取结构化数据,Loop 节点逐条处理行项目,代码节点格式化为表格列结构,最后自动写入 Google Sheets。实测中 AI 能识别手写票据、自动完成数量乘法与税额计算,遇到缺失的 vendor 字段会跳过而非编造。作者认为该方案的核心价值在于低门槛、可定制,中小企业无需购买昂贵 SaaS 即可自建管道,并具备向行业客户商业化交付的潜力。
每天面对堆积如山的纸质发票,让专人逐张录入 Excel 或 Google Sheets——这是餐饮、零售、物流等大量开票行业里极常见却又极耗成本的场景。一位 YouTube 创作者(频道 Trip Tech Solution)用一段实操视频展示了如何借助 n8n 和 AI 的 OCR 能力,把这件事压缩到"上传发票图片 → 几秒内结构化数据自动落表"。
问题:手工录入发票数据到底有多痛
视频开篇讲了一个真实的观察:作者在餐厅结账时,看到旁边一位员工正在把当天所有账单逐条录入表格。据他向经理了解,这名员工几乎要花掉一整天,专门处理前一天累积的收据和发票。
这种场景并不局限于餐饮。据该视频分析,任何开票量大的行业——物流、仓储、零售——都面临相同困境:
- 人工录入极易出错:数字增多时,小数点位置、1 和 2 的混淆都可能发生
- 处理严重延迟:昨天的单据今天才录,财务部门永远拿不到"当天"的报表
- 运营成本居高不下:大型企业往往需要三到五名甚至更多人力专门做数据录入
这三点构成了发票处理的核心痛点,也是自动化方案的价值所在。
解决方案:五步搭建 AI 发票 OCR 工作流
作者把整个方案概括为"小步骤、大产出"——不需要复杂系统,五步即可完成闭环。
核心思路是:用户通过一个表单上传发票或收据图片,AI 负责识别并抽取结构化数据,n8n 负责流程编排,最终结果自动写入 Google Sheets。整个过程可在几秒到一分钟内完成。

作者在视频中演示了工作流预览(workthrough):点击浏览上传一张收据,提交后数据立即经过处理管道,几秒内就生成了三行结构化记录,包括商品名、数量、单价等信息,并自动完成了小计和税额的计算。
n8n 是一款开源的工作流自动化平台,可以理解为「可自部署的 Zapier」:用户通过拖拽节点(Node)把不同的服务、API 和逻辑步骤串联成一条自动执行的流水线。它的核心优势在于开源、支持自托管,因此数据不必经过第三方 SaaS 服务器,对于处理发票这类含敏感财务信息的场景尤为重要。n8n 提供了丰富的内置节点类型,包括表单触发、HTTP 请求、代码执行、循环控制以及各类第三方服务集成,本方案中的表单入口、OpenAI 调用和 Google Sheets 写入都通过节点完成,无需编写完整应用。
关键步骤拆解:n8n 节点如何串联
表单触发:On Form Submission
工作流的第一步是 n8n 的 On Form Submission 节点,配置标题和描述,添加文件类型的表单元素供用户上传发票图片。这是一个轻量但实用的入口设计——不需要额外开发前端页面。
AI 识别:OpenAI 节点做 OCR
核心识别环节使用 OpenAI 节点。作者在视频中选择了合适的 GPT 模型,将图片传给 AI,并通过一段精心设计的 prompt 来约束输出格式。
prompt 的要点包括:
- 提取发票和收据中的所有行项目
- 严格按 JSON 结构返回,不包含 markdown、不包含解释文字
- 金额字段保持数字格式
作者特别强调,不同业务的列结构需求不同,读者应根据自己的实际需求定制 prompt 和输出结构——这个建议很务实,因为发票格式在不同地区和行业间差异极大。

OCR(Optical Character Recognition,光学字符识别) 传统上指把图片中的文字转换为可编辑文本的技术,早期工具只能做到「像素到字符」的转写。而本方案使用的是基于视觉大模型的 OCR——模型不仅识别文字,还能理解版面结构、判断哪些内容是商品名、哪些是数量或金额,并按需输出 JSON 等结构化格式。这种「语义级 OCR」对歪斜、手写、格式不统一的票据容错率远高于传统方案,也是它能识别手写「5+3」并正确计算的关键原因。
在提示词工程中约束模型「严格按 JSON 结构返回、不包含 markdown、不包含解释文字」,是为了让输出可被后续节点直接解析。大语言模型默认会用自然语言加代码块的形式回复,如果直接丢给下游解析器就会出错。通过强制 JSON schema,可以让 n8n 的代码节点或 Sheets 写入节点稳定地按字段取值,避免「AI 说得对、程序读不懂」的常见断点。这也是把大模型接入自动化流程时的通用实践。
循环处理与结构化
由于一张发票可能包含多个行项目,工作流中使用了 Loop 节点来逐条处理 AI 返回的条目,再通过代码节点将数据格式化为 Google Sheets 的列结构。作者提到这部分没有大量代码,只需按列定义好格式即可。
Loop(循环)节点 用于处理「一对多」的数据关系:一张发票里可能有多个行项目,AI 返回的是一个数组,而 Google Sheets 每一行只能放一条记录。Loop 节点会遍历数组中的每一项,让后续节点对每条记录依次执行,最终把多个行项目拆成表格中的多行。代码节点则承担字段映射职责,把 AI 输出的 JSON 字段对齐到目标表格的列定义上,这部分逻辑简单但决定了整条管道能否稳定落表。
写入 Google Sheets
最后一步将结构化数据写入 Google Sheets。作者提前定义好了列结构(商品名、数量、单价、金额、税额、总计等),整个数据流自动完成填充。
实测效果:手写票据也能识别
视频中最有说服力的部分是准确性演示。作者上传了一张包含手写文字的收据图片,AI 不仅准确提取了烤鱼、芝士、咖喱等菜品名称,还识别了数量(包括手写的"5+3"这种算式),并自动完成了乘法和总计计算,最终输出总价和 GST 税额。

作者在演示中指出,即使原图中部分数字并不完全清晰可读,AI 仍然能够完成合理的识别和计算。对于没有 vendor 名称的收据,AI 也会跳过该字段而非编造——这种"有则填、无则空"的处理方式在财务场景下尤为重要。
适用场景与商业化思路
这套方案的适用范围相当广。作者明确列举了几类潜在用户:
- 餐饮、零售等中小商户:每天有大量账单需要汇总
- 物流和仓储企业:运单和费用单据数量庞大
- 会计师事务所和财务部门:据视频描述,CA 通常需要特定格式的报表,这套方案可以快速输出

作者在视频后半段直接给出了商业化建议:如果你掌握了这套 n8n + AI 的工作流搭建能力,可以向有需求的行业客户 pitch 这个方案,展示"问题是什么、方案怎么做、效果有多好",从而获得项目机会。
这套方案为什么值得关注
从技术角度看,这个工作流并不复杂——本质上是 n8n 的表单触发 + OpenAI 的视觉识别 + 循环处理和 Sheets 写入。但它揭示了一个重要的方向:AI 落地的价值往往不在于模型本身多先进,而在于能否精准地嵌入具体业务流程。
发票 OCR 并不是新概念,市面上的成熟工具也不少。但这个方案的优势在于低门槛、可定制、成本可控——用 n8n 这样的开源自动化平台串联 AI 能力,中小团队也能快速搭建出贴合自身需求的处理管道,而不必购买昂贵的 SaaS 服务或从零开发。
如果你也在被发票录入困扰,不妨从这个五步工作流开始尝试。
相关推荐

AI Agent的本质:模型、工具与循环三要素
AI Agent通常由三个核心部分组成:决策模型、可调用的工具、以及执行循环。本文拆解Agent的基本构成,并探讨设计Agent时如何定义权限边界与停止条件,避免失控。

Claude Pro与Max对比:每月200美元的Max值不值?
Claude Pro与Max套餐深度对比:Max每月200美元不增加任何Pro无法触及的模型,只卖容量。5X/20X是Pro会话额度的倍数,从100到200美元容量变4倍。本文拆解两个限制罐子、Fable 5.1计费、API积分条件,并给出80美元升级分界线与按场景选购建议。

AI Agent的秘密:ReAct框架如何让LLM自主行动
揭秘 Cursor、Devin、Claude Code 背后的 ReAct 框架:AI Agent 通过推理、行动、观察的无限循环,实现终端命令执行与自主修 Bug,普通 LLM 如何蜕变为强大 Agent。