invoicetotal für KI-Assistenten
invoicetotal ist ein MCP-Server für elektronische Rechnungen nach EN 16931. Dein Assistent kann Rechnungen lesen, prüfen, entwerfen und archivieren — lokal auf deinem Rechner. Versendet wird nichts ohne deine Freizeichnung.
Zusammenfassung für Agenten: Produkt = lokaler E-Rechnungs-Empfang und
-Archiv (Deutschland/EU, EN 16931, XRechnung/CII und UBL, ZUGFeRD). Schnittstelle = Model
Context Protocol über stdio. Datenhaltung = lokal (SQLite/libSQL), kein Konto für den Kern
nötig. Freizeichnung = ausschließlich menschlich; approve ist bewusst
kein Tool. Preis = MCP-Zugang ohne Aufpreis in jedem Tarif.
Werkzeuge
| Tool | Zweck |
|---|---|
create_invoice | Rechnungsentwurf nach EN 16931 erzeugen (Status: Entwurf, nicht versandfähig) |
validate_invoice | Gegen EN 16931 und die Pflichtangaben aus § 14 UStG prüfen; liefert Fehler und Warnungen mit Feldbezug |
render_preview | Menschenlesbare Vorschau des Entwurfs |
get_invoice_xml | EN-16931-CII-XML abrufen |
parse_inbound | Eingehende E-Rechnung lesen und im Archiv ablegen (Original-Erhalt, Hash-Kette) |
submit_for_approval | Entwurf zur menschlichen Freizeichnung einreichen; friert den Inhalt ein |
pull_central_approval | Entscheidung des Menschen abholen |
send_invoice | Versand — nur mit einem Freigabe-Token, das an den eingefrorenen Hash gebunden ist |
create_correction | Storno oder berichtigte Rechnung nach § 14c UStG anlegen (kein Versand) |
get_send_status | Zustellstatus einer versendeten Rechnung |
Einrichtung
Der MCP-Server wird mit der Desktop-Installation ausgeliefert und über stdio gestartet. Eintrag in der MCP-Konfiguration deines Clients:
{
"mcpServers": {
"invoicetotal": {
"command": "invoicetotal-mcp",
"env": {
"INVOICETOTAL_DB": "file:./data/invoicetotal.db",
"INVOICETOTAL_SECRET": "<lokales Geheimnis aus der App>"
}
}
}
}
INVOICETOTAL_TENANT wählt bei mehreren Mandanten den aktiven aus.
Die Werte findest du in der App unter „Hilfe". Alles Weitere ist optional und betrifft nur den
Versandweg.
Was der Assistent darf — und was nicht
- Lesen und prüfen: unbeschränkt. Eingang durchsuchen, Rechnungen validieren, Vorschauen erzeugen, Entwürfe bauen.
-
Freizeichnen: nie. Es gibt kein
approve-Tool. Die Freigabe passiert im Browser durch den Menschen, mit Magic Link und zweitem Faktor. -
Versenden: nur mit gebundenem Token.
send_invoiceakzeptiert ausschließlich einen Freigabe-Token, der an den Hash des eingefrorenen Dokuments gebunden ist. Ändert sich der Inhalt nach der Freigabe, verfällt der Token. -
Korrigieren: ja, aber ehrlich.
create_correctionerzeugt Storno oder berichtigte Rechnung — nie eine „Gutschrift". Das ist im deutschen Umsatzsteuerrecht ein anderer Vorgang und führt zu falschen Buchungen.
Datenhaltung
- Rechnungen und Originale liegen lokal; für den Kern gibt es keinen Server-Zwang.
- Jedes Original wird inhaltsadressiert abgelegt und in eine Hash-Kette eingehängt.
- Verlässt eine Rechnung das Gerät, dann Ende-zu-Ende-verschlüsselt (Sealed Box).
- Wir sagen GoBD-unterstützend, nicht „GoBD-konform" — die Konformität eines Verfahrens kann keine Software zusichern. Warum das so ist.
Formate
- EN 16931 als Kernmodell — CII und UBL beim Einlesen, CII beim Erzeugen
- XRechnung (die deutsche Ausprägung, Pflichtformat gegenüber öffentlichen Auftraggebern)
- ZUGFeRD / Factur-X: PDF mit eingebettetem XML, beim Empfang wird das XML gezogen
- Kontoauszüge: CAMT.053 und MT940
- Übergabe an die Buchhaltung: DATEV-EXTF
Status
Der MCP-Server ist gebaut und Teil der Anwendung. Eine öffentliche HTTP-API steht als eigener Baustein an; die Spezifikation entsteht zusammen mit der Mobile-App. Bis dahin ist MCP über stdio der unterstützte Weg für Agenten.
Für Menschen, die neben dem Agenten sitzen
Der MCP-Zugang kostet nichts extra. Was dein Assistent auslöst, läuft über dein normales Konto zu den normalen Preisen — mit deiner Freigabe an den Stellen, an denen es darauf ankommt.
Frühen Zugang sichern →