npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

einvoice-mcp

v0.1.5

Published

MCP Server fuer E-Rechnung: XRechnung und ZUGFeRD erstellen, validieren, konvertieren

Readme

E-Invoice MCP Server

MCP Server für 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 für die Erstellung und Validierung von E-Rechnungen nach dem deutschen XRechnung-Standard. Ab 2027 müssen alle Unternehmen in Deutschland E-Rechnungen versenden können — mit diesem Tool bist du vorbereitet.

Du sagst Claude einfach: "Erstelle eine Rechnung an die Beispiel GmbH für 10 Stunden Beratung" — und erhältst 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) prüfen
  • Daten extrahieren — Strukturierte Daten aus UBL- oder CII-XML lesen
  • Format-Info — Nachschlagewerk für Pflichtfelder, Steuer-Kategorien, Einheiten-Codes und Fristen
  • Automatische Berechnung — Netto, Brutto, Steuerbeträge werden automatisch berechnet
  • Plugin-fähig — Kann standalone laufen ODER in den BuchPilot MCP Server integriert werden
  • Keine externen Dienste — Alles läuft lokal, keine API-Keys nötig
  • Keine nativen Abhängigkeiten — Läuft auf jedem System mit Node.js

Gesetzliche Fristen

| Datum | Was passiert | |-------|-------------| | 01.01.2025 | Alle Unternehmen müssen E-Rechnungen empfangen können | | 31.12.2026 | PDF-Rechnungen nur noch mit Empfänger-Zustimmung erlaubt | | 01.01.2027 | Unternehmen >800.000 EUR Umsatz müssen E-Rechnungen senden | | 01.01.2028 | ALLE Unternehmen müssen E-Rechnungen senden |

Fehlerhafte E-Rechnungen können zum Verlust des Vorsteuerabzugs führen (+ 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 benötigt keine Konfiguration. Es werden keine API-Keys oder externe Dienste benötigt — alles läuft 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 läuft über stdio und wartet auf MCP-Nachrichten.

In Claude Desktop verwenden

Siehe Claude Desktop Setup Guide für eine detaillierte Anleitung.

Kurzversion — füge in claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "einvoice": {
      "command": "npx",
      "args": ["-y", "einvoice-mcp"]
    }
  }
}

Beispiele (natürliche Sprache in Claude)

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

  • "Erstelle eine XRechnung an die Beispiel GmbH für 10 Stunden Beratung zu 150 EUR"
  • "Ist diese XML-Datei eine gültige XRechnung?"
  • "Extrahiere die Rechnungsdaten aus diesem XML"
  • "Welche Pflichtfelder brauche ich für eine XRechnung?"
  • "Welche Steuer-Kategorien gibt es und was bedeuten sie?"
  • "Bis wann muss mein Unternehmen E-Rechnungen versenden können?"

Quickstart

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

Tool-Referenz

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

Kurzübersicht

| Tool | Beschreibung | |------|-------------| | create_xrechnung | XRechnung (UBL 2.1 XML) aus strukturierten Daten erstellen | | validate_invoice | E-Rechnung XML validieren (Syntax + BR-DE Business-Regeln) | | extract_data | Strukturierte Daten aus UBL- oder CII-XML extrahieren | | get_format_info | Nachschlagewerk für 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.

Unterstützte Standards

| Standard | Version | Status | |----------|---------|--------| | XRechnung | 3.0.2 | Erstellen + Validieren | | EN 16931 | — | Basis für XRechnung | | UBL 2.1 | — | XML-Syntax für XRechnung | | CII (Cross Industry Invoice) | — | Extrahieren (Lesen) | | ZUGFeRD / Factur-X | 2.3 | Extrahieren (Lesen), Erstellen geplant |

FAQ / Troubleshooting

"XML konnte nicht geparst werden"

  • Ist das XML well-formed? (Alle Tags korrekt geschlossen?)
  • Ist es tatsächlich 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 Käufer-Referenz (BT-10) ist in XRechnung Pflicht. Bei Rechnungen an öffentliche 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 gültig. Für beste Kompatibilität solltest du aber eine Telefonnummer des Verkäufers angeben.

Welche Steuer-Kategorien gibt es?

| Code | Name | Beschreibung | Steuersätze | |------|------|-------------|-------------| | S | Standard | Normaler Steuersatz | 19%, 7% | | Z | Nullsatz | 0% (z.B. innergemeinschaftlich mit USt-Befreiung) | 0% | | E | Steuerbefreit | z.B. Kleinunternehmer nach Paragraph 19 UStG | 0% | | AE | Reverse Charge | Steuerschuldnerschaft des Empfängers (Paragraph 13b UStG) | 0% | | K | Innergemeinschaftlich | Steuerfreie innergemeinschaftliche Lieferung | 0% |

Welche Einheiten-Codes gibt es?

| Code | Name | Beschreibung | |------|------|-------------| | H87 | Stück | Einzelne Einheit (Default) | | HUR | Stunde | Arbeitsstunde | | DAY | Tag | Arbeitstag | | MON | Monat | Kalendermonat | | KGM | Kilogramm | Gewicht | | MTR | Meter | Länge | | LTR | Liter | Volumen | | MTK | Quadratmeter | Fläche | | SET | Set/Paket | Zusammenstellung | | C62 | Einheit (generisch) | Allgemeine Mengeneinheit |

Server startet, aber Claude erkennt die Tools nicht

  • Prüfe ob die claude_desktop_config.json korrekt ist
  • Starte Claude Desktop neu nach Konfigurationsänderungen
  • Prüfe die Logs: ~/Library/Logs/Claude/mcp.log (macOS)

Lizenz

MIT — Frei nutzbar, auch kommerziell.

Autor

MaKriGitHub