Mindket

通过你自己的 REST API 检查并分流供应商发票

新上架第 1 版 · 更新于

概览

一个 n8n 工作流,用九条规则对照你的供应商清单和未结采购订单检查供应商发票,然后入账、开审核工单或通知应付账款。每个外部系统都是你自己提供的 REST 调用。

通过你自己的 REST API 检查并分流供应商发票 是一款 n8n 工作流,属于财务类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。

速览

用在
  • n8n Cloud 或你自己的服务器:里面每个节点都是 n8n 自带的
  • 你自己的 API:它必须回答设置说明里列出的六个路径
  • 换一个系统:把任何一个 HTTP 请求换成你的账务、工单或聊天工具的原生 n8n 节点
  • 一个邮箱或一个表单:让它指向 webhook,并发送每张发票的文件名

平台

连接 1 个应用

运行方式

触发

一次 webhook 调用

有东西向它的 webhook 发送请求时开始运行,比如邮箱规则、Drive 监视器或上传表单,读取:

  • 一张供应商发票的文件名

动作

  1. 你的提取接口返回文档里的供应商、TRN、发票号、日期、小计、增值税、总额和明细行
  2. 取回供应商清单和未结采购订单,并把它们合在一起
  3. 一个 Code 节点运行九条规则,设出 AUTO_APPROVE、REVIEW 或 REJECT,并给每条规则一个原因代码
  4. 干净的发票会入账,有疑问的会开一张审核工单,被拒绝的会通知应付账款
  5. webhook 收到回答,里面有状态、原因,以及账单 ID、工单或警报标记
  6. 运行失败时,会向运维频道发一条警报

结果

每张发票对应一笔已入账的账单、一张审核工单或一条拒绝警报,并给调用方一个列出状态和触发的每条规则的 JSON 回答

集成

开始之前要准备好这些。

Your own REST API

提取、账务、审核和警报

提取发票字段,返回供应商清单和采购订单,入账、开工单并发出警报。

需要同一个基础地址下的六个路径,以及这个 API 需要的登录方式

工作流检查

由 Mindket 于 2026年11月13日检查

步骤
16 个步骤,由 Webhook 调用或由触发节点启动
AI
没有步骤调用 AI 模型
登录
不需要登录任何账号
API 密钥
文件里没有留下 API 密钥
步骤类型
Mindket 的检查器能读懂它全部 8 种步骤类型

以上内容读自工作流文件,并非实际运行的结果。

关于

它是什么

这个 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。

  • n8n Cloud 或你自己的服务器:里面每个节点都是 n8n 自带的
  • 你自己的 API:它必须回答设置说明里列出的六个路径
  • 换一个系统:把任何一个 HTTP 请求换成你的账务、工单或聊天工具的原生 n8n 节点
  • 一个邮箱或一个表单:让它指向 webhook,并发送每张发票的文件名

设置

点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 的设置说明。一个主机值、你的限额,再加你的 API 需要的登录方式,就够完成所有步骤。

先准备好这些
需要说明
n8nn8n Cloud 的账户,或你自己的服务器
提取路径POST /documents/extract,返回发票的各个字段
账务路径GET /accounting/suppliers、GET /accounting/purchase_orders 和 POST /accounting/bills
审核和警报路径POST /review/queue 和 POST /alerts
一个发送方一条邮箱规则、一个 Drive 监视器或一个向 webhook 发请求的表单
  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 打开 Config,把 base 里的 <YOUR_API_HOST> 换成你的 API 的主机。检查 auto_approve_limit、ap_channel 和 total_tolerance,Config (errors) 里的 base 也同样处理。
  3. 给六个 HTTP Request 节点各自加上你的 API 需要的登录方式,或者把它们换成你自己的其他节点。
  4. 打开 Code 节点 Validate: TRN, duplicate, totals, PO match, limit,检查规则、增值税率、TRN 的长度、置信度下限和 AED 限额。
  5. 保存,点画布顶部的 Publish(或按 Shift+P),然后复制 webhook 的地址。把你的邮箱或表单指向它,并保密这个地址。
  6. 在工作流设置里,选这个工作流作为它自己的错误工作流,这样运行失败时才会发警报。
  7. 发一张干净的发票和一张总额有误的发票,各读一下回答。

如何使用

发布工作流后,把每张发票的文件名发到 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运行失败时启动警报需要把这个工作流设为它自己的错误工作流

注意事项

每条规则都通过时,工作流会自己入账,而它自己什么也提取不了。

  • 未运行:Mindket 没有调用过任何 API,只是在自己的机器上用示例发票运行了校验代码,并核对了每条规则
  • 里面没有提取:提取路径只收到一个文件名和固定的 application/pdf 类型,所以你的服务必须能按名字找到文件
  • 内置的值:TRN 的长度、增值税率和 AED 限额都写在代码里,所以请按你所在的国家改掉它们
  • 重复:清单放在工作流的静态数据里。按 n8n 的文档,手动运行工作流时静态数据不会保存,只有由触发器或 webhook 运行的已发布工作流才会保存。这份清单从不缩短
  • 审核:送去审核的发票算作已见过,所以修好之后再发一次,会被当作重复而拒绝
  • Webhook:它没有认证,所以知道地址的人都能发文件名,让账单被入账
  • 自动入账:每条规则都通过时,账单会立即入账,所以请先在测试系统上试
  • 错误工作流:n8n 的文档把错误工作流描述为以 Error Trigger 开头的工作流,没有说工作流能不能指定自己。请让一次运行失败来测试
  • 你的数据:文件名和发票字段只会发到你放在 base 里的那个 API
  • 凭据:JSON 里没有任何凭据

README 和文件

README

通过你自己的 REST 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”。
  • 别的都没改。规则、阈值和分流都和原来一样。

开始之前

  • 一个 n8n,n8n Cloud 或你自己的服务器都行。原来的便签要求 n8n 1.100 或更高版本。
  • 一个能回答下面六个路径的 API,或者能连到你自己系统的其他 n8n 节点。
  • 一条邮箱规则、一个 Drive 监视器或一个上传表单,能向 webhook 发一个 POST。
  • 几张用来试验的发票。

工作流调用的路径

每个路径都是对 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,带上一个频道和一段文字。任何回答都行。

设置

  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 打开 Config,把 base 里的 <YOUR_API_HOST> 换成你的 API 的主机。检查 auto_approve_limit、ap_channel 和 total_tolerance。Config (errors) 里的 base 也同样处理。
  3. 给六个 HTTP Request 节点各自加上你的 API 需要的认证,或者把它们换成你自己系统的节点。
  4. 打开 Code 节点 Validate: TRN, duplicate, totals, PO match, limit,检查规则。增值税率是 5%,TRN 必须是 15 位数字,置信度下限是 0.9,限额以 AED 计。
  5. 保存,点画布顶部的 Publish(或按 Shift+P),然后复制 Webhook 的地址。把你的邮箱或上传表单指向它。拿到这个地址的人都能向它发请求,所以请保密。
  6. 在工作流设置里,选这个工作流作为错误工作流,这样 Error trigger 才会在运行失败时发警报。
  7. 发一张干净的发票和一张总额有误的发票,各读一下回答。

一次运行的过程

  1. Webhook: invoice received (email, drive or upload) 接收一个请求体里带 file_name 的 POST。
  2. Config 加上 base 地址、自动批准的限额、警报频道和总额的容差。
  3. AI: extract fields from document 把文件名发到你的提取路径,取回各个字段。
  4. Accounting: supplier master 和 Accounting: open purchase orders 取回两份清单,Merge lookups 把它们合在一起。
  5. Validate: TRN, duplicate, totals, PO match, limit 运行下面列出的规则,设出一个状态和一串原因。
  6. Route by status 把 AUTO_APPROVE 送到 Accounting: post bill,把 REVIEW 送到 Review queue: human check,把 REJECT 送到 Slack: rejected, AP notified。
  7. Outcome 做出一个简短的回答,里面有状态、原因,以及账单 ID、工单或警报标记。
  8. Respond 200 (invoice handled) 把它返回给调用方。

任何一步失败时,Error trigger 会启动 Config (errors) 和 Alert ops (Slack),后者向 /alerts 发一条消息。

规则和它们的代码:

  • V-00:缺少供应商或发票号。审核。
  • V-01:之前见过同一个供应商和同一个发票号。拒绝。
  • V-02:供应商不在主数据里。审核。
  • V-03 和 V-04:TRN 不是 15 位,或和主数据不一致。拒绝。
  • V-05:明细行加起来和小计不符,超出容差。审核。
  • V-06:总额不是小计加 5%,超出容差。审核。
  • V-07:提取的置信度低于 0.9。审核。
  • V-08:总额超过自动批准的限额,又没有匹配的采购订单。审核。
  • V-09:总额超过这个供应商自己的限额,又没有匹配的采购订单。审核。

改变样子

  • 限额和警报频道:Config。
  • 任何规则、增值税率、TRN 的长度或置信度下限:Code 节点 Validate: TRN, duplicate, totals, PO match, limit。
  • 路径和它们背后的系统:HTTP Request 节点,或者替换它们的你自己的节点。
  • 调用方收到什么:Outcome 和 Respond 200 (invoice handled)。
  • 失败发到哪里:Alert ops (Slack)。

值得知道的

  • 未运行:Mindket 没有调用过任何 API。它在自己的机器上用示例发票运行了校验代码,并核对了上面的每条规则。
  • 这里没有任何东西会自己提取内容。提取路径只收到一个文件名和固定的 application/pdf 类型,所以你的服务必须能按名字找到文件,而且每个文件都被当作 PDF。
  • TRN 的长度、增值税率和 AED 限额都写在代码里。依赖这些检查之前,请按你所在的国家改掉它们。
  • 重复检查把清单放在工作流的静态数据里。按 n8n 的文档,手动运行工作流时静态数据不会保存,只有由触发器或 webhook 运行的已发布工作流才会保存。这份清单也从不缩短。
  • 送去审核的发票算作已见过。修好之后再发一次,会被当作重复而拒绝,所以请在你的审核队列里改正它。
  • webhook 没有认证。知道地址的人都能发文件名,让账单被入账,所以请保护它。
  • 每条规则都通过时,账单是自动入账的。请先在测试系统上试。
  • 错误工作流的设置:n8n 的文档把错误工作流描述为以 Error Trigger 开头的工作流,没有说工作流能不能指定自己。请让一次运行失败来测试。
  • 你的数据:文件名和发票字段只会发到你放在 base 里的那个 API。
  • 凭据:JSON 里没有任何凭据。
文件
NOTICE.md  724 B
README.md  7 KB
workflow.json  18 KB

3 个文件,共 26 KB,以 zip 压缩包下载。

更新内容

  • 第 1 版 · 2026-11-12

评价

还没有评分

写评价

还没有评价。

Mindket 的更多商品

查看 Mindket 的全部商品

anaksor-ocr

Sokheng · 工具包

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

新上架

Qwen2.5-7B-Instruct-GGUF

Qwen · 工具包

Qwen2.5-7B-Instruct 的 GGUF 文件,提供八种量化大小,可通过 llama.cpp 在本地聊天。适合想在自己电脑上用 7.6B 强力模型、又不想搭 Python 环境的人。

新上架

ACE-Step 1.5 XL SFT

ACE-Step · 工具包

用 4B 扩散解码器根据文字生成音乐,50 步并带引导控制,音频质量高于基础版。适合拥有 12 GB 或更多显存 GPU 的创作者。

新上架

财务类的相似商品

查看财务类的全部商品

Kronos-mini

NeoQuasar · 工具包

用一个 4.1M 参数、基于 45 多家交易所数据训练的基础模型来预测金融 K 线序列。适合想用小模型做价格预测实验的量化研究人员和开发者。

新上架

一个归档发票的 n8n 工作流。它盯着一个 Google Drive 文件夹,把每个新文件交给 LlamaParse 读取,再由 OpenAI 模型取出明细行,Airtable 里得到一条发票记录和每个明细行各一条记录。

新上架免费