关于 Receipt Extraction
Receipt Extraction 是面向澳大利亚收据和发票的提取服务,可通过图像或 PDF 生成结构化 JSON。它结合 GST、ABN 校验及逐项税码判断,并提供置信度和规则说明。
主要功能
- 01提取收据和发票字段
- 02校验 ABN 校验和
- 03核对 GST 与总额
- 04逐项分类税码并说明规则
适用场景
- 01整理澳大利亚采购凭证
- 02核查娱乐支出的 ITC 处理
MCP 相关
作为 MCP 服务提供 extract_receipt 工具;MCP 客户端可提交图像或 PDF,并获取结构化收据数据。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://receipt-extraction.acjlabs.com/mcpclaude mcp add --transport http com-acjlabs-receipt-extraction https://receipt-extraction.acjlabs.com/mcp{"mcpServers":{"com-acjlabs-receipt-extraction":{"type":"http","url":"https://receipt-extraction.acjlabs.com/mcp"}}}在 Cursor 中打开{"servers":{"com-acjlabs-receipt-extraction":{"type":"http","url":"https://receipt-extraction.acjlabs.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-acjlabs-receipt-extraction":{"type":"http","url":"https://receipt-extraction.acjlabs.com/mcp"}}}{"mcpServers":{"com-acjlabs-receipt-extraction":{"serverUrl":"https://receipt-extraction.acjlabs.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
1| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| mime_type | string | 是 | |
| document_base64 | string | 是 |
详细介绍
收据提取
支持识别 AU GST/ABN 的收据与发票提取——根据每个行项目应用有文档说明的 AU 招待费/ITC 税务代码规则,并为每项返回 tax_code、confidence 和一行 rationale,而不只是 OCR 文本。你提供文档,即可获取经过验证的结构化 JSON:供应商、行项目、税额、总计——从第一天起就内置了澳大利亚 GST 和 ABN 校验和验证。一次 API 调用,无需手动编写视觉大模型提示词,也无需重新从 ATO 自己的文档中推导 ABN/GST 规则。
功能
- 接收收据/发票图片或 PDF(base64),返回整洁、带版本信息的
ReceiptJSON 对象。 - 验证供应商的 ABN(11 位数字的模 89 校验和),并核对各行项目与总计中的 GST;根据有文档说明的规则集,排除招待费代码支出中不可抵扣的 GST。
- 每个行项目都包含
tax_code、confidence(0–1)和一行rationale,指出实际应用的规则(例如“招待费 ITC 不予抵扣,没有例外情形”,或可将餐厅式餐食重新判定为可抵扣的差旅附带费用例外)——方便你核查判断,而不只是盲目信任。 - 可作为 MCP 服务(
extract_receipt工具)运行,也可作为普通 HTTPS API 使用——可从 Claude、Cursor 或任何 HTTP 客户端调用。
GST 处理依据公开记录的澳大利亚税法,仅作为软件输出提供,不构成税务建议。
示例(MCP 工具调用)
{
"tool": "extract_receipt",
"input": { "document_base64": "<base64 image or PDF>", "mime_type": "image/jpeg" }
}
{
"vendor": { "name": "Acme Pty Ltd", "abn": "51824753556", "abn_valid": true },
"date": "2026-07-14",
"line_items": [
{
"description": "Widget",
"qty": 2,
"unit_price": 12.5,
"gst": 2.5,
"tax_code": "taxable",
"confidence": 0.95,
"rationale": "Standard-rated retail good; 10% GST applies."
}
],
"totals": { "subtotal": 25.0, "gst": 2.5, "total": 27.5 },
"schema_version": "1.0"
}
定价
目前可自行注册使用免费方案;付费方案即将开放。
- 免费版——每月 20 份文档,无需信用卡。目前可自行注册使用。
- 按量付费(即将开放)——每份文档 $0.02,无最低消费。
- Pro(即将开放)——每月 $19,可处理 1,500 份文档(折合每份约 $0.013),享有优先支持。
现在就想使用付费方案? 登记意向,我们会优先为你开通。
获取密钥
MCP 服务已在 https://receipt-extraction.acjlabs.com/mcp 上线(备用地址
https://acjlabs-receipt-extraction.acjlabs.workers.dev/mcp 指向同一部署,仍可正常使用,因此现有配置无需更改)。免费版密钥可自行获取——向 POST /v1/signup 发送 { "email": "[email protected]" },即可在响应中直接获得密钥,每月可处理 20 份文档,无需信用卡。请立即保存密钥——它只会显示一次,丢失后无法找回(可重新注册获取新密钥)。Pro/按量付费计费上线后,付费密钥也将通过一次性领取链接以相同方式发放。相同步骤、定价及与其他方案的对比,请参阅 https://acjlabs-receipts.pages.dev。
连接到 MCP 客户端
使用 Claude Code:
claude mcp add --transport http receipt-extraction \
https://receipt-extraction.acjlabs.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
其他支持自定义请求头的远程 HTTP 服务的 MCP 客户端(Cursor、Cline、VS Code 等)也可用相同方式连接:将其指向上方 URL,并设置 Authorization: Bearer YOUR_API_KEY 请求头。只能转发原始密钥值(不带 Bearer 前缀)的网关或扫描器也可使用——两种形式都能通过身份验证。发现工具(initialize/tools/list)无需密钥;只有调用 extract_receipt 时才需要。
如果你更希望按顺序完成所有步骤,请参阅 docs/quickstart.md,其中提供了完整的复制粘贴指南(获取密钥、各客户端配置,以及使用 curl 确认连接)。
准确度如何?
在 4/4 个手工制作(但确实可读)的测试文档上验证通过,涵盖未含 GST 的价格、仅含 GST 的价格、校验和无效的 ABN,以及无法读取的文档。等有实际流量后,我们将跟踪更多文档格式在真实生产环境中的准确度。
npm 客户端
想使用有类型定义的函数,而不是手动编写 MCP JSON-RPC 调用?
@acjlabs/receipt-extraction-client
(已在 npm 上线)封装了 extract_receipt 工具调用:
npm install @acjlabs/receipt-extraction-client
import { createReceiptExtractionClient } from "@acjlabs/receipt-extraction-client";
const client = createReceiptExtractionClient({
baseUrl: "https://receipt-extraction.acjlabs.com",
apiKey: "...",
});
const receipt = await client.extractReceipt(base64EncodedImageOrPdf, "image/png");
为什么不直接使用通用 OCR?
通用 OCR 提取 API 返回的是原始字段。它们都不会在此基础上应用澳大利亚特有的规则:例如,澳大利亚 ABN 使用 11 位模 89 校验和,或娱乐类编码费用的 GST 分摊方式有所不同。你得自行构建和维护这些规则,还要依赖他人可能随时更改的架构。请参阅完整对比,或阅读为什么澳大利亚 GST 规则会让大多数收据提取工具失效(包括 ABN 校验和、三个实际 GST 案例,以及如何据此测试任何工具)。
源代码可用性与支持
此仓库托管托管式服务的文档。该服务的实现并非开源。欢迎在此仓库的 Issues 中提交错误报告和功能请求;你也可以通过 [email protected] 联系我们。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。