Einvoice

io.github.makririchPublished by GitHub account makririchv0.1.3Updated Oct 25, 2026

XRechnung & ZUGFeRD: create, validate, and convert German e-invoices. EN 16931 compliant.

VerifiedSTDIODesktop onlyFinanceDeveloper Tools

Overview

AI-generated overview

Local MCP server for German e-invoices: creates, validates and reads XRechnung and ZUGFeRD XML, plus format reference lookups.

What you can do
Create XRechnung invoices as UBL 2.1 XML from structured data, with net, gross and tax amounts calculated automatically (EN 16931, XRechnung 3.0.2). Validate e-invoice XML for syntax, mandatory fields and German BR-DE business rules. Extract structured invoice data from UBL or CII XML. Look up format rules, mandatory fields, tax categories, unit codes and legal deadlines.
When to use it
Useful when you work with German e-invoicing and want an assistant to draft a compliant XRechnung from a plain-language request, check an existing invoice XML, pull data out of a received invoice, or answer questions about required fields and deadlines.
Requirements
Runs locally over stdio as the npm package einvoice-mcp; Node.js 18 or newer. No API keys, accounts or external services are needed, and no configuration is required.
Before you install
Invoices are generated and validated locally, but the server does not file or send them; check generated XML before issuing it, since faulty e-invoices can cost input tax deduction. Validation covers syntax and BR-DE rules, not legal or tax advice.

Installation

In SourceWeft

  1. Open Einvoice in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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)

bash
npm install -g einvoice-mcp

Von Source

bash
git clone https://github.com/makririch/einvoice-mcp.gitcd einvoice-mcpnpm installnpm 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)

bash
# 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:

json
{  "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:

typescript
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).

json
{  "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

Source: README.md at commit eee0985

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.3LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.