关于 EInvoice MCP – XRechnung & ZUGFeRD for DACH
EInvoice MCP 是用于创建和检查德国 XRechnung 电子发票并从 XML 提取发票数据的本地 MCP 服务。面向 DACH 地区企业及需要结构化处理电子发票的工具,无需外部服务或 API 密钥。
主要功能
- 01生成 XRechnung UBL 2.1 XML
- 02验证语法和 BR-DE 规则
- 03从 UBL 与 CII XML 提取数据
- 04查询格式、必填项和代码
- 05自动计算净额、总额与税额
适用场景
- 01创建结构化 XRechnung 发票
- 02检查发票 XML 是否有误
- 03从 XML 提取发票字段
- 04查询电子发票格式和税码要求
MCP 相关
MCP 服务提供创建 XRechnung 发票、验证发票 XML、提取数据及查询格式信息的工具。服务通过 stdio 在本地运行,不需要外部服务或 API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| xml | string | 否 | 电子发票 XML 字符串 |
| base64 | string | 否 | Base64 编码的 XML 文件 |
| level | enum | 否 | 验证深度:syntax=格式良好,schema=结构,full=包括 BR-DE 规则syntax | schema | full |
详细介绍
E-Rechnung MCP 服务
面向 DACH 地区电子发票的 MCP 服务——创建、验证 XRechnung 并提取数据。可直接从 Claude、Cursor 或任何 MCP 客户端使用。
这是什么?
E-Invoice MCP 是一个 Model Context Protocol 服务,用于按照德国 XRechnung 标准创建和验证电子发票。自 2027 年起,德国所有企业都必须能够发送电子发票——借助此工具,你可以提前做好准备。
只需告诉 Claude:“为 Beispiel GmbH 创建一张 10 小时咨询服务的发票”,就能获得一份有效的 UBL 2.1 XML 格式 XRechnung。
功能
- 创建 XRechnung — 根据结构化数据生成有效的 UBL 2.1 XML(EN 16931 + XRechnung 3.0.2)
- 验证电子发票 — 检查语法、必填字段和德国业务规则(BR-DE)
- 提取数据 — 读取 UBL 或 CII XML 中的结构化数据
- 格式信息 — 提供必填字段、税务类别、单位代码和截止日期的参考资料
- 自动计算 — 自动计算净额、总额和税额
- 支持插件 — 可独立运行,也可集成到 BuchPilot MCP 服务中
- 无需外部服务 — 所有操作都在本地运行,无需 API 密钥
- 无原生依赖 — 可在任何安装了 Node.js 的系统上运行
法定期限
| 日期 | 事项 |
|---|---|
| 01.01.2025 | 所有企业都必须能够接收电子发票 |
| 31.12.2026 | 只有获得收件人同意,才能继续使用 PDF 发票 |
| 01.01.2027 | 营业额超过 800,000 EUR 的企业必须能够发送电子发票 |
| 01.01.2028 | 所有企业都必须发送电子发票 |
有误的电子发票可能导致失去进项税抵扣权(另加 6% 利息)。
安装
前提条件
- Node.js >= 18
npm(全局安装)
npm install -g einvoice-mcp
从源代码安装
git clone https://github.com/makririch/einvoice-mcp.git
cd einvoice-mcp
npm install
npm run build
配置
此 MCP 服务无需配置。无需 API 密钥或外部服务——所有操作都在本地运行。
使用
启动服务(独立运行)
# Nach npm install -g:
einvoice-mcp
# Oder von Source:
npm start
# Entwicklung mit Auto-Reload:
npm run dev
服务通过 stdio 运行,并等待 MCP 消息。
在 Claude Desktop 中使用
详细说明请参阅 Claude Desktop Setup Guide。
简要步骤——将以下内容添加到 claude_desktop_config.json:
{
"mcpServers": {
"einvoice": {
"command": "npx",
"args": ["-y", "einvoice-mcp"]
}
}
}
示例(在 Claude 中使用自然语言)
配置好服务后,你可以这样询问 Claude:
- “为 Beispiel GmbH 创建一张 10 小时咨询服务的 XRechnung,费率为 150 EUR”
- “这个 XML 文件是有效的 XRechnung 吗?”
- “从这个 XML 中提取发票数据”
- “创建 XRechnung 需要哪些必填字段?”
- “有哪些税务类别,它们分别代表什么?”
- “我的企业最迟何时必须能够发送电子发票?”
快速入门
请参阅 docs/quickstart.md,了解“5 分钟内创建你的第一张 XRechnung”的分步指南。
工具参考
所有 4 个工具的完整参考资料(包括参数、输入示例和输出示例)请参阅 docs/tool-reference.md。
概览
| 工具 | 描述 |
|---|---|
create_xrechnung | 根据结构化数据创建 XRechnung(UBL 2.1 XML) |
validate_invoice | 验证电子发票 XML(语法 + BR-DE 业务规则) |
extract_data | 从 UBL 或 CII XML 中提取结构化数据 |
get_format_info | 提供格式、必填字段、代码和截止日期的参考资料 |
BuchPilot 集成
E-Invoice MCP 可以作为插件集成到 BuchPilot MCP Server 中:
import { registerEInvoiceTools } from "einvoice-mcp";
registerEInvoiceTools(server);
**组合使用:**BuchPilot 在 Lexoffice 中创建发票 -> 提取数据 -> 生成 XRechnung -> 完成电子发票。
支持的标准
| 标准 | 版本 | 状态 |
|---|---|---|
| XRechnung | 3.0.2 | 创建 + 验证 |
| EN 16931 | — | XRechnung 的基础 |
| UBL 2.1 | — | XRechnung 的 XML 语法 |
| CII (Cross Industry Invoice) | — | 提取(读取) |
| ZUGFeRD / Factur-X | 2.3 | 提取(读取),计划支持创建 |
常见问题 / 故障排除
“无法解析 XML”
- XML 格式是否正确?(所有标签是否都已正确闭合?)
- 这是否确实是 UBL 或 CII 发票?(根元素必须是
<Invoice>或<CrossIndustryInvoice>) - 编码是否为 UTF-8?
验证显示错误“BR-DE-13:买方参考信息为必填项”
买方参考信息(BT-10)是 XRechnung 的必填项。向公共机构开具发票时,该信息为 Leitweg-ID。B2B 发票可以使用任意参考信息(例如订单号)。
{
"buyerReference": "04011000-12345-67"
}
验证显示警告“BR-DE-21:建议提供电话号码”
这只是警告,不是错误。发票仍然有效。不过,为了获得最佳兼容性,建议提供卖方的电话号码。
有哪些税种类别?
| 代码 | 名称 | 说明 | 税率 |
|---|---|---|---|
| S | 标准税率 | 普通税率 | 19%,7% |
| Z | 零税率 | 0%(例如享受增值税豁免的欧盟内部交易) | 0% |
| E | 免税 | 例如根据《增值税法》第 19 条规定的小型企业 | 0% |
| AE | 反向征税 | 由接收方承担纳税义务(《增值税法》第 13b 条) | 0% |
| K | 欧盟内部交易 | 免税的欧盟内部货物交付 | 0% |
有哪些计量单位代码?
| 代码 | 名称 | 说明 |
|---|---|---|
| H87 | 件 | 单个单位(默认) |
| HUR | 小时 | 工时 |
| DAY | 天 | 工作日 |
| MON | 月 | 日历月 |
| KGM | 千克 | 重量 |
| MTR | 米 | 长度 |
| LTR | 升 | 体积 |
| MTK | 平方米 | 面积 |
| SET | 套/包 | 组合 |
| C62 | 单位(通用) | 通用计量单位 |
服务已启动,但 Claude 无法识别工具
- 检查
claude_desktop_config.json是否正确 - 修改配置后重启 Claude Desktop
- 检查日志:
~/Library/Logs/Claude/mcp.log(macOS)
许可证
MIT — 可自由使用,也可用于商业用途。
作者
MaKri — GitHub
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。