anaksor-ocr
Sokheng · 工具包
这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。

一个 n8n 工作流,用九条规则对照你的供应商清单和未结采购订单检查供应商发票,然后入账、开审核工单或通知应付账款。每个外部系统都是你自己提供的 REST 调用。
通过你自己的 REST API 检查并分流供应商发票 是一款 n8n 工作流,属于财务类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。
一次 webhook 调用
有东西向它的 webhook 发送请求时开始运行,比如邮箱规则、Drive 监视器或上传表单,读取:
每张发票对应一笔已入账的账单、一张审核工单或一条拒绝警报,并给调用方一个列出状态和触发的每条规则的 JSON 回答
开始之前要准备好这些。
提取、账务、审核和警报
提取发票字段,返回供应商清单和采购订单,入账、开工单并发出警报。
需要同一个基础地址下的六个路径,以及这个 API 需要的登录方式
由 Mindket 于 2026年11月13日检查
这个 n8n 工作流检查一张供应商发票,并把它送到该去的地方。一个 webhook 接收发票文件的名字。你的提取服务读取文档,工作流再把结果和你的供应商清单、未结采购订单做比较。九条规则决定状态,比如发票号重复、TRN 不对或者总额对不上。干净的发票会入账,有疑问的会开一张审核工单,不合格的会通知应付账款。工作流只有规则和分流,外部系统都是你自己提供的 REST 调用。
已经有、或者能建起提取、账务和工单 API 的应付账款团队。它适合想把每条规则放在一个好读的 Code 节点里的团队。如果你想要工作流里自带现成的提取模型,就别选它,因为它没有。
| 行业 | 谁在用 | 怎么用 | 例子 |
|---|---|---|---|
| 财务 | 应付账款团队 | 在入账之前检查每张供应商发票 | 职员看到一张总额有误的发票带着原因进了审核队列。 |
| 会计 | 代账公司 | 对每个客户的发票应用同一套规则 | 公司把工作流指向每个客户的系统,自己只维护一套规则。 |
| 运营 | 财务运营 | 及早拦下重复和超限额的发票 | 一张发票发了两次,第二次被以代码 V-01 拒绝。 |
| 软件 | 集成开发者 | 从一个测试过的分流模式出发,换上真实的系统 | 开发者把六个 HTTP 请求换成公司 ERP 的节点。 |
You need solid n8n for this one: 要有一个自己的、带六个路径的 REST API,或者用别的节点来代替,还要会改一个 Code 节点。文件没有给出设置时长。
n8n Cloud 或自托管的 n8n 都能运行它,你需要一个工作流能通过 HTTPS 访问到的自己的 API。
点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 的设置说明。一个主机值、你的限额,再加你的 API 需要的登录方式,就够完成所有步骤。
| 需要 | 说明 |
|---|---|
| n8n | n8n Cloud 的账户,或你自己的服务器 |
| 提取路径 | POST /documents/extract,返回发票的各个字段 |
| 账务路径 | GET /accounting/suppliers、GET /accounting/purchase_orders 和 POST /accounting/bills |
| 审核和警报路径 | POST /review/queue 和 POST /alerts |
| 一个发送方 | 一条邮箱规则、一个 Drive 监视器或一个向 webhook 发请求的表单 |
workflow.json。Config,把 base 里的 <YOUR_API_HOST> 换成你的 API 的主机。检查 auto_approve_limit、ap_channel 和 total_tolerance,Config (errors) 里的 base 也同样处理。Validate: TRN, duplicate, totals, PO match, limit,检查规则、增值税率、TRN 的长度、置信度下限和 AED 限额。发布工作流后,把每张发票的文件名发到 webhook。回答以 JSON 的形式回来,里面有状态、原因,以及账单 ID、工单或警报标记。干净的发票会入账,有疑问的会在你的审核队列里等着,不合格的会通知应付账款。
| 要改的 | 在哪里改 |
|---|---|
| 限额和警报频道 | Config |
| 任何规则、增值税率或 TRN 的长度 | Code 节点 Validate: TRN, duplicate, totals, PO match, limit |
| 路径背后的系统 | HTTP Request 节点,或者替换它们的其他节点 |
| 调用方收到什么 | Outcome 和 Respond 200 (invoice handled) |
| 失败发到哪里 | Alert ops (Slack) |
一位供应商的发票来了,小计 1,000,总额却是 1,100。这个供应商在主数据里,它的 TRN 也一致。
总额不是小计加 5%,所以规则 V-06 把发票送去审核。webhook 的回答列出原因,你的审核队列里出现一张工单。总额正确又有匹配采购订单的发票,则会改为入账。
新手:n8n 把工作流画成用线连起来的方框,每个方框是一个节点,只做一件事。这里的方框去调用你的系统,还有一个 Code 方框装着所有规则。点一次 Test workflow,向测试地址发一张示例发票,再打开每个方框的输出,看看状态是怎么得出来的。
专家:检查都是普通的 JavaScript,没有模型参与,重复清单放在工作流的静态数据里。
| 节点 | 做什么 | 要知道的 |
|---|---|---|
AI: extract fields from document | 发出带文件名和固定 application/pdf 类型的 HTTP Request | 你的服务必须能按名字找到文件,而且每个文件都被当作 PDF |
Merge lookups | 把供应商清单和采购订单合在一起 | Code 节点是从各自的节点读取每份清单,而不是从合并后的数据读 |
Validate: TRN, duplicate, totals, PO match, limit | 运行规则 V-00 到 V-09,设出状态和原因 | 15 位的 TRN、5% 的增值税率和 AED 限额都写在里面 |
Route by status | 一个 Switch,输出是 AUTO_APPROVE、REVIEW 和 REJECT | 每个输出对应一个 HTTP Request,三条路在 Outcome 再汇合 |
Error trigger | 运行失败时启动警报 | 需要把这个工作流设为它自己的错误工作流 |
每条规则都通过时,工作流会自己入账,而它自己什么也提取不了。
application/pdf 类型,所以你的服务必须能按名字找到文件base 里的那个 API一个 n8n 工作流,检查一张供应商发票,并把它送到该去的地方。一个 webhook 接收发票文件的名字。你的提取服务读取文档,工作流再把结果和你的供应商清单、未结采购订单做比较。然后它入账、开审核工单或通知应付账款,并用结果回答 webhook。
这个工作流只有规则和分流,别的都没有。里面没有 AI 模型,也没有账务系统。每个外部系统都是对你自己的 API 发出的普通 HTTP 请求,所以你要提供这个 API,或者把每个请求换成你自己系统的节点。
workflow.json:n8n 导出的工作流,18 个节点,其中 16 个会运行,两个是便签。里面没有任何凭据。README.md:这份设置说明,压缩包里的是英文版。Config 节点里的地址 https://api.your-company.example 现在是 https://<YOUR_API_HOST>。base/llm/complete 上的模型,因为这一步调用的是 base/documents/extract。便签现在说明节点做什么,并让你保存后点 Publish,而不是“Activate”。每个路径都是对 Config 里的 base 地址发出的。这些节点没有设置认证,请按你的 API 的要求给每个节点加上。
POST /documents/extract,请求体是 { "file_name": "...", "mime": "application/pdf" }。它必须回答 { "fields": { supplier, invoice_no, date, trn, subtotal, vat, total, currency, confidence, line_items: [{ amount }] } }。GET /accounting/suppliers。它必须回答 { "rows": [{ supplier_name, trn, approved_limit_aed }] }。GET /accounting/purchase_orders。它必须回答 { "rows": [{ po_number, supplier, amount }] }。POST /accounting/bills,带上检查过的发票。它必须回答 { "bill_id": "..." }。POST /review/queue,带上文件、状态和原因。它必须回答 { "ticket": "..." }。POST /alerts,带上一个频道和一段文字。任何回答都行。workflow.json。Config,把 base 里的 <YOUR_API_HOST> 换成你的 API 的主机。检查 auto_approve_limit、ap_channel 和 total_tolerance。Config (errors) 里的 base 也同样处理。Validate: TRN, duplicate, totals, PO match, limit,检查规则。增值税率是 5%,TRN 必须是 15 位数字,置信度下限是 0.9,限额以 AED 计。Error trigger 才会在运行失败时发警报。Webhook: invoice received (email, drive or upload) 接收一个请求体里带 file_name 的 POST。Config 加上 base 地址、自动批准的限额、警报频道和总额的容差。AI: extract fields from document 把文件名发到你的提取路径,取回各个字段。Accounting: supplier master 和 Accounting: open purchase orders 取回两份清单,Merge lookups 把它们合在一起。Validate: TRN, duplicate, totals, PO match, limit 运行下面列出的规则,设出一个状态和一串原因。Route by status 把 AUTO_APPROVE 送到 Accounting: post bill,把 REVIEW 送到 Review queue: human check,把 REJECT 送到 Slack: rejected, AP notified。Outcome 做出一个简短的回答,里面有状态、原因,以及账单 ID、工单或警报标记。Respond 200 (invoice handled) 把它返回给调用方。任何一步失败时,Error trigger 会启动 Config (errors) 和 Alert ops (Slack),后者向 /alerts 发一条消息。
规则和它们的代码:
Config。Validate: TRN, duplicate, totals, PO match, limit。Outcome 和 Respond 200 (invoice handled)。Alert ops (Slack)。application/pdf 类型,所以你的服务必须能按名字找到文件,而且每个文件都被当作 PDF。base 里的那个 API。NOTICE.md 724 B README.md 7 KB workflow.json 18 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 里得到一条发票记录和每个明细行各一条记录。