EInvoice MCP – XRechnung & ZUGFeRD for DACH

Created By
makririch2 months ago
MCP server for German/Austrian/Swiss e-invoicing. Create XRechnung (UBL) and ZUGFeRD 2.3 (Factur-X CII) invoices, validate against EN 16931 rules, extract data from XML, and convert between UBL, CII and JSON formats. 6 tools: validate_invoice, extract_data, create_xrechnung, create_zugferd, convert_format, get_format_info.
Overview

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 16931Basis fuer XRechnung
UBL 2.1XML-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

MaKriGitHub

Server Config

{
  "mcpServers": {
    "einvoice": {
      "command": "npx",
      "args": [
        "einvoice-mcp"
      ]
    }
  }
}
Project Info
Created At
2 months ago
Updated At
a month ago
Author Name
makririch
Star
-
Language
-
License
-
Category

Recommend Servers

View All
Bring your real authenticated browser session to AI coding agents. Local-first MCP server + Chrome MV3 extension. No cloud. No telemetry.
@Cubenest

peek records the user's actual logged-in browser (DOM via rrweb, console events, network metadata, optional response bodies via opt-in Deep capture) through a Chrome MV3 extension. The extension ships events through a native-messaging stdio bridge to a local MCP server (peek-mcp), which persists them to a SQLite database at ~/.peek/sessions.db. AI coding agents (Claude Code, Cursor, Cline, Windsurf) read sessions from the database via 10 MCP tools: Tool What it does list_recent_sessions List recently recorded sessions (id, origin, ts, event count). get_session_summary LLM-readable narrative summary of a session. get_session_console_errors Console errors recorded in a session. get_session_network_errors Failed/notable network requests in a session. get_user_action_before_error Last N user actions before a console error. generate_playwright_repro Generate a runnable Playwright test from a session. get_dom_snapshot Reconstruct the DOM at a given timestamp. query_dom_history Timeline of attribute/text changes for a selector. request_authorization Side-panel consent for write actions (Level 3). execute_action Dispatch a UI action (gated by permission level + destructive blocklist). Why local-first matters Every other "browser session for AI" tool ships to a vendor cloud. peek's SQLite + extension live on the user's machine — no remote endpoints, no telemetry. The privacy policy (docs/peek/PRIVACY_POLICY.md) is the source of truth. Install # 1. Add the MCP server to Claude Code claude mcp add peek -- npx -y @peekdev/mcp # 2. Install the Chrome extension from the Chrome Web Store # (link added once the CWS listing is approved)

a day ago
Crevio

2 days ago