{
  "markdown": "# E-Invoice MCP Server\n\n> MCP Server fuer E-Rechnungen im DACH-Raum — XRechnung erstellen, validieren und Daten extrahieren. Direkt aus Claude, Cursor oder jedem MCP-Client.\n\n[![npm version](https://img.shields.io/npm/v/einvoice-mcp.svg)](https://www.npmjs.com/package/einvoice-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n\n## Was ist das?\n\nE-Invoice MCP ist ein [Model Context Protocol](https://modelcontextprotocol.io/) 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.\n\nDu sagst Claude einfach: \"Erstelle eine Rechnung an die Beispiel GmbH fuer 10 Stunden Beratung\" — und erhaeltst eine valide XRechnung als UBL 2.1 XML.\n\n## Features\n\n- **XRechnung erstellen** — Valides UBL 2.1 XML aus strukturierten Daten (EN 16931 + XRechnung 3.0.2)\n- **E-Rechnung validieren** — Syntax, Pflichtfelder und deutsche Business-Regeln (BR-DE) pruefen\n- **Daten extrahieren** — Strukturierte Daten aus UBL- oder CII-XML lesen\n- **Format-Info** — Nachschlagewerk fuer Pflichtfelder, Steuer-Kategorien, Einheiten-Codes und Fristen\n- **Automatische Berechnung** — Netto, Brutto, Steuerbetraege werden automatisch berechnet\n- **Plugin-faehig** — Kann standalone laufen ODER in den BuchPilot MCP Server integriert werden\n- **Keine externen Dienste** — Alles laeuft lokal, keine API-Keys noetig\n- **Keine nativen Abhaengigkeiten** — Laeuft auf jedem System mit Node.js\n\n## Gesetzliche Fristen\n\n| Datum | Was passiert |\n|-------|-------------|\n| **01.01.2025** | Alle Unternehmen muessen E-Rechnungen **empfangen** koennen |\n| **31.12.2026** | PDF-Rechnungen nur noch mit Empfaenger-Zustimmung erlaubt |\n| **01.01.2027** | Unternehmen >800.000 EUR Umsatz muessen E-Rechnungen **senden** |\n| **01.01.2028** | **ALLE** Unternehmen muessen E-Rechnungen senden |\n\n> Fehlerhafte E-Rechnungen koennen zum Verlust des Vorsteuerabzugs fuehren (+ 6% Verzinsung).\n\n## Installation\n\n### Voraussetzungen\n\n- Node.js >= 18\n\n### npm (global)\n\n```bash\nnpm install -g einvoice-mcp\n```\n\n### Von Source\n\n```bash\ngit clone https://github.com/makririch/einvoice-mcp.git\ncd einvoice-mcp\nnpm install\nnpm run build\n```\n\n## Konfiguration\n\nDieser MCP Server benoetigt **keine Konfiguration**. Es werden keine API-Keys oder externe Dienste benoetigt — alles laeuft lokal.\n\n## Nutzung\n\n### Server starten (standalone)\n\n```bash\n# Nach npm install -g:\neinvoice-mcp\n\n# Oder von Source:\nnpm start\n\n# Entwicklung mit Auto-Reload:\nnpm run dev\n```\n\nDer Server laeuft ueber stdio und wartet auf MCP-Nachrichten.\n\n### In Claude Desktop verwenden\n\nSiehe [Claude Desktop Setup Guide](docs/claude-desktop-setup.md) fuer eine detaillierte Anleitung.\n\nKurzversion — fuege in `claude_desktop_config.json` hinzu:\n\n```json\n{\n  \"mcpServers\": {\n    \"einvoice\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"einvoice-mcp\"]\n    }\n  }\n}\n```\n\n### Beispiele (natuerliche Sprache in Claude)\n\nNachdem du den Server konfiguriert hast, kannst du Claude z.B. fragen:\n\n- \"Erstelle eine XRechnung an die Beispiel GmbH fuer 10 Stunden Beratung zu 150 EUR\"\n- \"Ist diese XML-Datei eine gueltige XRechnung?\"\n- \"Extrahiere die Rechnungsdaten aus diesem XML\"\n- \"Welche Pflichtfelder brauche ich fuer eine XRechnung?\"\n- \"Welche Steuer-Kategorien gibt es und was bedeuten sie?\"\n- \"Bis wann muss mein Unternehmen E-Rechnungen versenden koennen?\"\n\n### Quickstart\n\nEine Schritt-fuer-Schritt-Anleitung \"Erstelle deine erste XRechnung in 5 Minuten\" findest du in [docs/quickstart.md](docs/quickstart.md).\n\n## Tool-Referenz\n\nEine vollstaendige Referenz aller 4 Tools mit Parametern, Beispiel-Inputs und Beispiel-Outputs findest du in [docs/tool-reference.md](docs/tool-reference.md).\n\n### Kurzuebersicht\n\n| Tool | Beschreibung |\n|------|-------------|\n| `create_xrechnung` | XRechnung (UBL 2.1 XML) aus strukturierten Daten erstellen |\n| `validate_invoice` | E-Rechnung XML validieren (Syntax + BR-DE Business-Regeln) |\n| `extract_data` | Strukturierte Daten aus UBL- oder CII-XML extrahieren |\n| `get_format_info` | Nachschlagewerk fuer Formate, Pflichtfelder, Codes und Fristen |\n\n## BuchPilot-Integration\n\nE-Invoice MCP kann als Plugin in den [BuchPilot MCP Server](https://www.npmjs.com/package/buchpilot-mcp) integriert werden:\n\n```typescript\nimport { registerEInvoiceTools } from \"einvoice-mcp\";\nregisterEInvoiceTools(server);\n```\n\n**Kombination:** BuchPilot erstellt eine Rechnung in Lexoffice -> Daten extrahieren -> XRechnung erzeugen -> fertige E-Rechnung.\n\n## Unterstuetzte Standards\n\n| Standard | Version | Status |\n|----------|---------|--------|\n| XRechnung | 3.0.2 | Erstellen + Validieren |\n| EN 16931 | — | Basis fuer XRechnung |\n| UBL 2.1 | — | XML-Syntax fuer XRechnung |\n| CII (Cross Industry Invoice) | — | Extrahieren (Lesen) |\n| ZUGFeRD / Factur-X | 2.3 | Extrahieren (Lesen), Erstellen geplant |\n\n## FAQ / Troubleshooting\n\n### \"XML konnte nicht geparst werden\"\n\n- Ist das XML well-formed? (Alle Tags korrekt geschlossen?)\n- Ist es tatsaechlich eine UBL- oder CII-Rechnung? (Root-Element muss `<Invoice>` oder `<CrossIndustryInvoice>` sein)\n- Ist das Encoding UTF-8?\n\n### Validierung zeigt Fehler \"BR-DE-13: Buyer Reference ist Pflicht\"\n\nDie 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).\n\n```json\n{\n  \"buyerReference\": \"04011000-12345-67\"\n}\n```\n\n### Validierung zeigt Warnung \"BR-DE-21: Telefonnummer empfohlen\"\n\nDas ist nur eine Warnung, kein Fehler. Die Rechnung ist trotzdem gueltig. Fuer beste Kompatibilitaet solltest du aber eine Telefonnummer des Verkaeufers angeben.\n\n### Welche Steuer-Kategorien gibt es?\n\n| Code | Name | Beschreibung | Steuersaetze |\n|------|------|-------------|-------------|\n| S | Standard | Normaler Steuersatz | 19%, 7% |\n| Z | Nullsatz | 0% (z.B. innergemeinschaftlich mit USt-Befreiung) | 0% |\n| E | Steuerbefreit | z.B. Kleinunternehmer nach Paragraph 19 UStG | 0% |\n| AE | Reverse Charge | Steuerschuldnerschaft des Empfaengers (Paragraph 13b UStG) | 0% |\n| K | Innergemeinschaftlich | Steuerfreie innergemeinschaftliche Lieferung | 0% |\n\n### Welche Einheiten-Codes gibt es?\n\n| Code | Name | Beschreibung |\n|------|------|-------------|\n| H87 | Stueck | Einzelne Einheit (Default) |\n| HUR | Stunde | Arbeitsstunde |\n| DAY | Tag | Arbeitstag |\n| MON | Monat | Kalendermonat |\n| KGM | Kilogramm | Gewicht |\n| MTR | Meter | Laenge |\n| LTR | Liter | Volumen |\n| MTK | Quadratmeter | Flaeche |\n| SET | Set/Paket | Zusammenstellung |\n| C62 | Einheit (generisch) | Allgemeine Mengeneinheit |\n\n### Server startet, aber Claude erkennt die Tools nicht\n\n- Pruefe ob die `claude_desktop_config.json` korrekt ist\n- Starte Claude Desktop neu nach Konfigurationsaenderungen\n- Pruefe die Logs: `~/Library/Logs/Claude/mcp.log` (macOS)\n\n## Lizenz\n\nMIT — Frei nutzbar, auch kommerziell.\n\n## Autor\n\n**MaKri** — [GitHub](https://github.com/makririch/einvoice-mcp)\n",
  "bytes": 7070,
  "sha": "15902da3aba250b096792c882b10a97eb959558ea0fcaea63f139d98e0607d22",
  "repo_slug": "makririch/einvoice-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_makririch_einvoice_72c9d6f9/readme"
}