anaksor-ocr
Sokheng · 工具包
这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。
一个 n8n 工作流,用你自己搭建的 Cradl AI 智能体读取 Gmail 里的发票 PDF。人可以核对它没把握的值,每个发票行都会成为 Google Sheets 里的一行。
用 Cradl AI 把 Gmail 里的发票 PDF 读进 Google Sheets 是一款 n8n 工作流,属于财务类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。
一封未读的发票邮件
它每分钟查看一次 Gmail,对每封带附件且主题含 “invoice” 的未读邮件开始运行,读取:
Google Sheets 里每个发票行一行数据,内容是你的 Cradl AI 智能体读出的值
开始之前要准备好这些。
发票来源
收集带附件的未读发票邮件,并把它们标为已读。
需要一个连到 n8n 的 Gmail 账户
读取发票并审核
用你的智能体读取每个 PDF,把没把握的值留给人工审核,并把结果回调给 n8n。
需要Cradl AI 账户、一个智能体和这个社区节点
保存行数据
为每个发票行加一行数据。
需要一个 Google 账户和一个电子表格
由 Mindket 于 2026年11月13日检查
这个 n8n 工作流把发票邮件变成电子表格里的行。它在 Gmail 里查找带附件且主题含 “invoice” 的未读邮件,保留其中的 PDF,把每个 PDF 发给你在自己账户里搭建的 Cradl AI 智能体。运行会暂停,等智能体给出结果,其中可以包含有人对它没把握的值所做的审核。然后每个发票行都会成为 Google Sheets 里的一行。六个节点完成整个流程。
以 PDF 附件收发票、想把明细行放进表格而不必手工录入的财务和应付账款团队。它适合共用的发票邮箱,配上为你自己的供应商设置好的智能体。如果你的发票是图片,就别选它,因为 Code 节点只保留 PDF。
| 行业 | 谁在用 | 怎么用 | 例子 |
|---|---|---|---|
| 会计 | 记账人员 | 把供应商发票的明细行放进表格,用于编码和过账 | 记账人员在一个标签页里看到一周内所有发票的每一行。 |
| 运营 | 后台团队 | 记录从每个供应商买了什么 | 组长对照订单表核对数量和价格。 |
| 采购 | 采购人员 | 比较不同供应商的行价格 | 采购员按品项筛选这些行,发现价格变化。 |
| 软件 | 自动化搭建者 | 把它当作提取流程的起点 | 搭建者把表格换成一个会计工具。 |
You need solid n8n for this one: 一个社区节点、一个 Cradl AI 能访问到的 n8n 地址、一个在 Cradl AI 里搭建的智能体,以及一份要你手工做的列映射。文件没有给出设置时长。
n8n Cloud 或自托管的 n8n 都能运行它,需要装上 Cradl AI 社区节点,并有一个 Cradl AI 能访问到的地址。
点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 的设置说明。三个凭据和一份列映射就能让它跑起来。
| 需要 | 说明 |
|---|---|
| n8n | 能从互联网访问到的服务器或 n8n Cloud 账户,并装好 Cradl AI 社区节点 |
| Cradl AI | 一个账户和一个读取发票的智能体,带一个 n8n 触发器,从中得到 Client ID 和 Client Secret |
| Gmail | 一个连到 n8n 的 Gmail 账户 |
| 一个 Google 账户和一个存放这些行的电子表格 |
workflow.json。Extract invoice details with AI,点 Set up credential 并粘贴这两个值。然后在 Agent Name or ID 下选你的智能体。Gmail Trigger,连上你的账户,检查搜索筛选条件。Add invoice line to Google Sheets,连上你的账户,选好电子表格和工作表,并把每一列映射到类似 {{ $json.line.<field id>.value }} 的值。invoice_lines 下面,就把它们的分组 ID 填到 Split out each invoice line 里。给这个邮箱发一封发票邮件,或者等下一封到来。一分钟内 n8n 会取到它,把 PDF 发给 Cradl AI 并暂停。如果智能体没把握,审核人会在 Cradl AI 里核对这些值。结果回来后,你的表格里每个发票行都会出现一行数据。在信任这个流程之前,先仔细看一下最初的几行。
| 要改的 | 在哪里改 |
|---|---|
| 读取哪些邮件 | Gmail Trigger 里的搜索筛选条件 |
| 保留哪些文件 | Filter PDF attachments |
| 读取哪些字段、哪些要审核 | 你在 Cradl AI 里的智能体 |
| 行数据去哪里 | Add invoice line to Google Sheets |
一位记账人员收到一封名为 Invoice 2201 的邮件,附件 PDF 列着三行明细。
一分钟内,工作流把 PDF 发给 Cradl AI。智能体读出三行,对其中一个金额没把握,于是审核人在 Cradl AI 里改正了它。然后工作流往表格里加三行数据,每个明细行一行。
新手:n8n 把工作流画成用线连起来的方框,每个方框是一个节点,只做一件事。这个工作流先读 Gmail,把每个 PDF 交给 Cradl AI 并等待。Cradl AI 给出结果后,它把发票拆成明细行,再写进 Sheets。用一封测试邮件运行一次,再打开每个方框的输出,看数据是怎么走的。
专家:Cradl AI 节点通过让运行进入 Waiting 状态并把一个恢复地址交给 Cradl AI 来等待,它的输出就是 Cradl AI 发回来的那个请求。
| 节点 | 做什么 | 要知道的 |
|---|---|---|
Gmail Trigger | 每分钟轮询一次,找匹配 has:attachment subject:invoice 的未读邮件 | 它把附件下载为 attachment_0、attachment_1 等 |
Filter PDF attachments | 为每个 PDF 生成一项 | 它设置了 pairedItem,这样 Mark a message as read 就能找到那封邮件 |
Mark a message as read | 立即把邮件标为已读 | 它并行运行,所以提取失败时邮件不会回来 |
Extract invoice details with AI | 把 PDF 上传给你的智能体并等待 | Cradl AI 的回调用一个 HMAC 密钥来核对,除非你在高级选项里另设一个,否则就是 Client Secret |
Split out each invoice line | 为 body.output.invoice_lines 里的每个条目生成一项 | 每一项保留其他字段,并把它的那一行放在 line 下 |
Add invoice line to Google Sheets | 追加一行数据 | 运行之前需要一份列映射 |
这个工作流把你的发票发到托管服务,而且在工作完成之前就把邮件标为已读。
Filter PDF attachments{{ $json.line.<field id>.value }}body.output.invoice_lines 要和你智能体的明细行分组 ID 一致,你可以从一次测试运行里读到它一个 n8n 工作流,它在 Gmail 里盯着发票邮件,把每个 PDF 附件发给 Cradl AI 智能体。它会等智能体给出结果,其中可以包含有人对智能体没把握的值所做的审核。然后为每个发票行在 Google Sheets 里加一行数据。
workflow.json:n8n 导出的工作流,10 个节点,其中 6 个会运行,四个是便签。里面没有任何凭据。README.md:这份设置说明,压缩包里的是英文版。Extract invoice details with AI 里的智能体原来是原作者自己的。现在是 <YOUR_CRADL_AGENT_ID>,你要从列表里选你的智能体。Add invoice line to Google Sheets 原来没有电子表格,现在里面是 <YOUR_SPREADSHEET_ID>。Split out each invoice line 把每一行放在叫 line 的字段下。以前它用的是名字里带点的字段,映射起来很别扭。Filter PDF attachments 原来用了没声明的循环变量,还假设每封邮件都有附件。它也没告诉 n8n 每个 PDF 来自哪封邮件,而 Mark a message as read 需要这一点。现在这三点都做对了。workflow.json。Extract invoice details with AI,点 Set up credential。粘贴这两个值,然后在 Agent Name or ID 下选你的智能体。Gmail Trigger,连上你的 Gmail 账户,检查搜索筛选条件。它对未读邮件写的是 has:attachment subject:invoice。对于共用邮箱,你可以加上 to:<YOUR_INVOICE_ADDRESS>。Add invoice line to Google Sheets。连上你的 Google 账户,选好电子表格和工作表,并映射每一列。值来自 {{ $json.line.<field id>.value }}。body.output.<group id> 下。如果你的分组不叫 invoice_lines,就把它的 ID 填到 Split out each invoice line 的字段里。Gmail Trigger 每分钟检查一次是否有符合筛选条件的未读邮件,并下载附件。Filter PDF attachments 为每个 PDF 生成一项,带上它的文件名。Mark a message as read 把邮件标为已读。这是立即发生的,与下一步并行。Extract invoice details with AI 把 PDF 上传给你的智能体并暂停运行。智能体完成后,且任何审核结束后,Cradl AI 会调用这次运行的恢复地址。然后这个节点输出 body,里面有 output 和 context,以及作为二进制数据的文档。Split out each invoice line 为 body.output.invoice_lines 里的每个条目生成一项,保留其他字段,并把这一行放在 line 下。Add invoice line to Google Sheets 把每个明细行作为一行追加。Gmail Trigger 里的搜索筛选条件。Filter PDF attachments。把 "pdf" 改掉就能保留别的类型。Add invoice line to Google Sheets。你可以把它换成把这些行发到会计工具或数据库的节点。Filter PDF attachments。value、rawValue、confidence、page 和 name,按 ID 分组。.value 是规范化后的文字,.rawValue 是原文。NOTICE.md 718 B README.md 6 KB workflow.json 7 KB
Sokheng · 工具包
这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。
Qwen · 工具包
Qwen2.5-7B-Instruct 的 GGUF 文件,提供八种量化大小,可通过 llama.cpp 在本地聊天。适合想在自己电脑上用 7.6B 强力模型、又不想搭 Python 环境的人。
ACE-Step · 工具包
用 4B 扩散解码器根据文字生成音乐,50 步并带引导控制,音频质量高于基础版。适合拥有 12 GB 或更多显存 GPU 的创作者。
NeoQuasar · 工具包
用一个 4.1M 参数、基于 45 多家交易所数据训练的基础模型来预测金融 K 线序列。适合想用小模型做价格预测实验的量化研究人员和开发者。
一个 n8n 工作流:发票逾期 7、14、30 天时,各发一条希伯来语 WhatsApp 提醒。它每天早上从 Google 表格读出未付款的发票,消息发出后给对应的行做标记。
一个归档发票的 n8n 工作流。它盯着一个 Google Drive 文件夹,把每个新文件交给 LlamaParse 读取,再由 OpenAI 模型取出明细行,Airtable 里得到一条发票记录和每个明细行各一条记录。