mcpField
E
EInvoice MCP – XRechnung & ZUGFeRD for DACH

EInvoice MCP – XRechnung & ZUGFeRD for DACH

Local
github.com/makririchFinance2Updated 28w ago

About EInvoice MCP – XRechnung & ZUGFeRD for DACH

EInvoice MCP is a local MCP server for creating and checking German XRechnung e-invoices and extracting invoice data from XML. It is intended for DACH-region businesses and tools that need structured e-invoice handling without external services or API keys.

Key features

  1. 01Create XRechnung UBL 2.1 XML
  2. 02Validate syntax and BR-DE rules
  3. 03Extract data from UBL and CII XML
  4. 04Look up formats, required fields, and codes
  5. 05Automatically calculate net, gross, and tax

Use cases

  1. 01Create a structured XRechnung invoice
  2. 02Check an invoice XML for errors
  3. 03Extract invoice fields from XML
  4. 04Find e-invoice format and tax-code requirements

MCP support

The MCP server exposes tools to create XRechnung invoices, validate invoice XML, extract data, and look up format information. It runs locally over stdio and requires no external services or API keys.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"einvoice": {
"command": "npx",
"args": [
"-y",
"einvoice-mcp"
]
}
}
}
Run commandnpx -y einvoice-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmeinvoice-mcp0.1.3

Tools

6

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
xmlstringNoE-invoice XML as a string
base64stringNoBase64-encoded XML file
levelenumNoValidation depth: syntax=well-formed, schema=structure, full=including BR-DE rulessyntax | schema | full

Details

From the project README

E-Invoice MCP Server

MCP Server fuer E-Rechnungen im DACH-Raum — XRechnung erstellen, validieren und Daten extrahieren. Direkt aus Claude, Cursor oder jedem MCP-Client.

npm version License: MIT

Was ist das?

E-Invoice MCP ist ein Model Context Protocol Server fuer die Erstellung und Validierung von E-Rechnungen nach dem deutschen XRechnung-Standard. Ab 2027 muessen alle Unternehmen in Deutschland E-Rechnungen versenden koennen — mit diesem Tool bist du vorbereitet.

Du sagst Claude einfach: "Erstelle eine Rechnung an die Beispiel GmbH fuer 10 Stunden Beratung" — und erhaeltst eine valide XRechnung als UBL 2.1 XML.

Features

  • XRechnung erstellen — Valides UBL 2.1 XML aus strukturierten Daten (EN 16931 + XRechnung 3.0.2)
  • E-Rechnung validieren — Syntax, Pflichtfelder und deutsche Business-Regeln (BR-DE) pruefen
  • Daten extrahieren — Strukturierte Daten aus UBL- oder CII-XML lesen
  • Format-Info — Nachschlagewerk fuer Pflichtfelder, Steuer-Kategorien, Einheiten-Codes und Fristen
  • Automatische Berechnung — Netto, Brutto, Steuerbetraege werden automatisch berechnet
  • Plugin-faehig — Kann standalone laufen ODER in den BuchPilot MCP Server integriert werden
  • Keine externen Dienste — Alles laeuft lokal, keine API-Keys noetig
  • Keine nativen Abhaengigkeiten — Laeuft auf jedem System mit Node.js

Gesetzliche Fristen

DatumWas passiert
01.01.2025Alle Unternehmen muessen E-Rechnungen empfangen koennen
31.12.2026PDF-Rechnungen nur noch mit Empfaenger-Zustimmung erlaubt
01.01.2027Unternehmen >800.000 EUR Umsatz muessen E-Rechnungen senden
01.01.2028ALLE Unternehmen muessen E-Rechnungen senden

Fehlerhafte E-Rechnungen koennen zum Verlust des Vorsteuerabzugs fuehren (+ 6% Verzinsung).

Installation

Voraussetzungen
  • Node.js >= 18
npm (global)
npm install -g einvoice-mcp
Von Source
git clone https://github.com/makririch/einvoice-mcp.git
cd einvoice-mcp
npm install
npm run build

Konfiguration

Dieser MCP Server benoetigt keine Konfiguration. Es werden keine API-Keys oder externe Dienste benoetigt — alles laeuft lokal.

Nutzung

Server starten (standalone)
# Nach npm install -g:
einvoice-mcp

# Oder von Source:
npm start

# Entwicklung mit Auto-Reload:
npm run dev

Der Server laeuft ueber stdio und wartet auf MCP-Nachrichten.

In Claude Desktop verwenden

Siehe Claude Desktop Setup Guide fuer eine detaillierte Anleitung.

Kurzversion — fuege in claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "einvoice": {
      "command": "npx",
      "args": ["-y", "einvoice-mcp"]
    }
  }
}
Beispiele (natuerliche Sprache in Claude)

Nachdem du den Server konfiguriert hast, kannst du Claude z.B. fragen:

  • "Erstelle eine XRechnung an die Beispiel GmbH fuer 10 Stunden Beratung zu 150 EUR"
  • "Ist diese XML-Datei eine gueltige XRechnung?"
  • "Extrahiere die Rechnungsdaten aus diesem XML"
  • "Welche Pflichtfelder brauche ich fuer eine XRechnung?"
  • "Welche Steuer-Kategorien gibt es und was bedeuten sie?"
  • "Bis wann muss mein Unternehmen E-Rechnungen versenden koennen?"
Quickstart

Eine Schritt-fuer-Schritt-Anleitung "Erstelle deine erste XRechnung in 5 Minuten" findest du in docs/quickstart.md.

Tool-Referenz

Eine vollstaendige Referenz aller 4 Tools mit Parametern, Beispiel-Inputs und Beispiel-Outputs findest du in docs/tool-reference.md.

Kurzuebersicht
ToolBeschreibung
create_xrechnungXRechnung (UBL 2.1 XML) aus strukturierten Daten erstellen
validate_invoiceE-Rechnung XML validieren (Syntax + BR-DE Business-Regeln)
extract_dataStrukturierte Daten aus UBL- oder CII-XML extrahieren
get_format_infoNachschlagewerk fuer Formate, Pflichtfelder, Codes und Fristen

BuchPilot-Integration

E-Invoice MCP kann als Plugin in den BuchPilot MCP Server integriert werden:

import { registerEInvoiceTools } from "einvoice-mcp";
registerEInvoiceTools(server);

Kombination: BuchPilot erstellt eine Rechnung in Lexoffice -> Daten extrahieren -> XRechnung erzeugen -> fertige E-Rechnung.

Unterstuetzte Standards

StandardVersionStatus
XRechnung3.0.2Erstellen + Validieren
EN 16931—Basis fuer XRechnung
UBL 2.1—XML-Syntax fuer XRechnung
CII (Cross Industry Invoice)—Extrahieren (Lesen)
ZUGFeRD / Factur-X2.3Extrahieren (Lesen), Erstellen geplant

FAQ / Troubleshooting

"XML konnte nicht geparst werden"
  • Ist das XML well-formed? (Alle Tags korrekt geschlossen?)
  • Ist es tatsaechlich eine UBL- oder CII-Rechnung? (Root-Element muss <Invoice> oder <CrossIndustryInvoice> sein)
  • Ist das Encoding UTF-8?
Validierung zeigt Fehler "BR-DE-13: Buyer Reference ist Pflicht"

Die Kaeufer-Referenz (BT-10) ist in XRechnung Pflicht. Bei Rechnungen an oeffentliche Auftraggeber ist das die Leitweg-ID. Bei B2B-Rechnungen kann es eine beliebige Referenz sein (z.B. Bestellnummer).

{
  "buyerReference": "04011000-12345-67"
}
Validierung zeigt Warnung "BR-DE-21: Telefonnummer empfohlen"

Das ist nur eine Warnung, kein Fehler. Die Rechnung ist trotzdem gueltig. Fuer beste Kompatibilitaet solltest du aber eine Telefonnummer des Verkaeufers angeben.

Welche Steuer-Kategorien gibt es?
CodeNameBeschreibungSteuersaetze
SStandardNormaler Steuersatz19%, 7%
ZNullsatz0% (z.B. innergemeinschaftlich mit USt-Befreiung)0%
ESteuerbefreitz.B. Kleinunternehmer nach Paragraph 19 UStG0%
AEReverse ChargeSteuerschuldnerschaft des Empfaengers (Paragraph 13b UStG)0%
KInnergemeinschaftlichSteuerfreie innergemeinschaftliche Lieferung0%
Welche Einheiten-Codes gibt es?
CodeNameBeschreibung
H87StueckEinzelne Einheit (Default)
HURStundeArbeitsstunde
DAYTagArbeitstag
MONMonatKalendermonat
KGMKilogrammGewicht
MTRMeterLaenge
LTRLiterVolumen
MTKQuadratmeterFlaeche
SETSet/PaketZusammenstellung
C62Einheit (generisch)Allgemeine Mengeneinheit
Server startet, aber Claude erkennt die Tools nicht
  • Pruefe ob die claude_desktop_config.json korrekt ist
  • Starte Claude Desktop neu nach Konfigurationsaenderungen
  • Pruefe die Logs: ~/Library/Logs/Claude/mcp.log (macOS)

Lizenz

MIT — Frei nutzbar, auch kommerziell.

Autor

MaKri — GitHub

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.