Invoiceproof

io.github.CloudCorpRecords由 GitHub 账号 CloudCorpRecords 发布v0.1.0更新于 Nov 7, 2026

Validate, parse, fix and render EU e-invoices: XRechnung, ZUGFeRD, Factur-X, Peppol, KSeF.

已验证STDIO仅桌面金融商业与电商

概览

AI 生成的概览

本地桥接工具,把电子发票工具转发到托管服务,让助手识别、解析、校验、修复并渲染欧洲电子发票。

可以做什么
  • 列出支持的格式、配置档、规则集以及各工具的费用
  • 识别发票文件的格式、语法、配置档与国家标准
  • 把发票解析为规范化 JSON,含买卖方、明细行、增值税与合计
  • 按检测到的格式运行官方规则集校验并列出未通过的规则
  • 修复 EN 16931 发票的确定性错误,可选重算合计,并支持试运行
  • 将发票渲染为 HTML 或 PDF(可选标签语言),并查询 API 密钥的方案与用量
适用场景
适合处理 XRechnung、ZUGFeRD、Factur-X、Peppol BIS、KSeF 等欧洲电子发票,希望助手在对话中直接校验、提取、修复或呈现发票的场景。
运行要求
通过 npx 或 Docker 在本机运行,并需要联网访问上游托管服务。可选环境变量 EINVOICECHECKER_API_KEY 用于携带 Bearer 令牌,未设置时适用匿名速率限制;EINVOICECHECKER_MCP_URL 可覆盖上游地址。
安装前请注意
该服务器本身不含发票逻辑,发票内容会发送给第三方托管服务。部分工具在上游计为两次请求,需留意用量与配额。fix_invoice 会改写发票数据,建议先用 dry_run。API 密钥属于凭据,应放在客户端的 env 配置中。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Invoiceproof,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

invoiceproof

invoiceproof is a thin local bridge to the eInvoiceChecker hosted MCP server, a service for working with European electronic invoices. It can tell you which formats are supported, identify an invoice you hand it, extract its contents as normalised JSON, check it against the official rule set for its format, repair the deterministic errors it finds, and render the document as HTML or PDF.

The bridge holds no invoice logic and validates nothing itself. It serves the upstream server's tool list locally — exactly as captured from the live endpoint — and forwards each tool call upstream, returning the result untouched. Coverage spans XRechnung, ZUGFeRD and Factur-X, Peppol BIS, KSeF, and the other formats and national rule sets the upstream supports.

Tools

No tool declares a required field; the invoice goes in as content (XML text) or content_base64 (a ZUGFeRD / Factur-X PDF or other file), both optional in the captured schemas.

  • list_supported_formats — which formats, profiles and rule sets the service supports, and what each tool costs. No arguments.
  • detect_invoice — identify the format, syntax, profile/customisation and country standard of an invoice file. The cheap first step before validating.
  • parse_invoice — extract the invoice as normalised JSON: number, dates, seller, buyer, lines, VAT breakdown, totals and payment details.
  • fix_invoice — deterministically repair validation errors of an EN 16931 invoice: empty elements, decimals, date and code formats, specification ids; with totals: true it also recalculates totals and the VAT breakdown from the lines. Data missing from the file can be supplied under values; anything still missing is listed in needs_input. dry_run reports changes without applying them. Counts as 2 requests upstream.
  • validate_invoice — run the official rule set for the detected format and return every failed rule with id, severity, message and XPath. kosit: false skips the full KoSIT schematron for a faster, schema-and-core-only check.
  • render_invoice_html — a human-readable invoice document in HTML (A4 print layout), with label language selectable via lang (en, de, fr, pl, nl, hr, es).
  • render_invoice_pdf — the same document as a PDF, returned as a base64 resource, with the same lang choices. Counts as 2 requests upstream.
  • my_usage — the plan, monthly quota, usage this month and subscription state of the API key used for the connection. Free. No arguments.

Configuration

  • EINVOICECHECKER_API_KEY (optional) — when set, every upstream request carries Authorization: Bearer <key>. When it is not set, no auth header is sent and the upstream's anonymous rate limit applies. The key is never required by this client.
  • EINVOICECHECKER_MCP_URL (optional) — override the upstream endpoint. Defaults to https://einvoicechecker.com/v1/mcp. (The override hook is this rebuild's own labelled reconstruction.)

Forwarding mechanics

On the first tool call the client opens a streamable HTTP session with the upstream: a JSON-RPC initialize request (protocolVersion 2025-03-26, clientInfo name invoiceproof), then a notifications/initialized notification, then the tools/call request carrying the caller's arguments unchanged. When the upstream answers initialize with an Mcp-Session-Id header, that value rides on every later request of the session, which is reused for the life of the process. Replies may arrive as plain JSON or as server-sent events; both are read.

Successful upstream results pass through verbatim, including any isError flag the upstream sets. Failures — a JSON-RPC error, a non-2xx status, an unreadable response, or a request that cannot be completed — come back as an isError result whose text starts with invoiceproof error: (this rendering is this rebuild's own labelled reconstruction).

CLI

Each tool is also a subcommand taking one JSON argument string (omit it for tools that take none):

bash
npx @reneturcios/invoiceproof list_supported_formatsnpx @reneturcios/invoiceproof validate_invoice '{"content":"<Invoice>...</Invoice>"}'npx @reneturcios/invoiceproof render_invoice_html '{"content":"<Invoice>...</Invoice>","lang":"de"}'npx @reneturcios/invoiceproof --version

Exit codes: 0 on success, 1 on an isError result, 2 on a usage error.

MCP server

bash
npx -y @reneturcios/invoiceproof mcp

MCP client config:

json
{  "mcpServers": {    "invoiceproof": {      "command": "npx",      "args": ["-y", "@reneturcios/invoiceproof", "mcp"]    }  }}

To run the MCP server with an API key, add EINVOICECHECKER_API_KEY to the client's env block for this server.

Docker

bash
docker run -i ghcr.io/cloudcorprecords/invoiceproofdocker run --rm ghcr.io/cloudcorprecords/invoiceproof --version

The container's default command is mcp, so the first form is a stdio MCP server; any other arguments reach the CLI normally.

Development

bash
npm installnpm run buildnpm testnpm run dev

The test suite runs entirely against a stubbed JSON-RPC upstream — no live network calls.

License

MIT — see LICENSE.

来源:README.md,提交 735fed2

工具

8

list_supported_formats

Supported e-invoice formats

Which formats, profiles and rule sets this service supports, and what each tool costs.

无需输入参数。

detect_invoice

Detect e-invoice format

Identify the format, syntax, profile/customization and country standard of an e-invoice file. Cheap first step before validating.

输入参数contentcontent_base64

parse_invoice

Parse e-invoice to JSON

Extract the invoice as normalised JSON: number, dates, seller, buyer, lines, VAT breakdown, totals, payment details. Works for every supported format.

输入参数contentcontent_base64

fix_invoice

Auto-fix e-invoice

Fix validation errors of an EN 16931 invoice (XRechnung, Peppol BIS, ZUGFeRD/Factur-X XML, UBL, CII) deterministically: empty elements, decimals, date and code formats, specification ids; with totals=true also recalculates totals and the VAT breakdown from the lines. Data that is not in the file (Leitweg-ID, seller contact, endpoint ids, payment terms) is taken from "values"; missing ones are listed in needs_input. Returns the change list, the remaining errors and the corrected XML. Counts as 2 requests.

输入参数totalsvaluescontentdry_runcontent_base64

validate_invoice

Validate e-invoice

Run the official rule set for the detected format (KoSIT for XRechnung/ZUGFeRD/Factur-X, OpenPeppol for Peppol BIS, FA(3) schema for KSeF, Porezna uprava HR-CIUS schematron for Croatian eRačun, Facturae XSD + calculation/NIF/DIR3 rules for Spain, LHDN SDK rules for MyInvois). Returns valid/invalid with every failed rule: id, severity, message, XPath.

输入参数kositcontentcontent_base64

render_invoice_html

Render e-invoice as HTML

Human-readable invoice document (HTML, A4 print layout) from the XML, in the requested language.

输入参数langcontentcontent_base64

render_invoice_pdf

Render e-invoice as PDF

Human-readable PDF of the invoice (counts as 2 requests). Returned as a base64 resource.

输入参数langcontentcontent_base64

my_usage

My plan and usage

Plan, monthly quota, usage this month and subscription state of the API key used for this connection. Free.

无需输入参数。

版本历史

1
  1. v0.1.0最新Nov 4, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分