Steuern per KI-Agent
Steuern mit dem eigenen KI-Agenten: prüfen, vorbereiten, in der App übermitteln
Ihr eigener KI-Agent – etwa Claude Code, Codex oder Cursor – kann über den MCP-Server und die REST-API von jahresabschluss.io Umsatzsteuer-Voranmeldung, Zusammenfassende Meldung, Dauerfristverlängerung, Umsatzsteuer-Jahreserklärung, E-Bilanz, Körperschaft- und Gewerbesteuererklärung sowie die Anlage EÜR amtlich prüfen und zur Übermittlung vorbereiten; übermittelt wird danach von Ihnen in der App, mit Ihrer eigenen ELSTER-PIN. Der Agent friert dafür die Werte mit einem Prüfwert ein und schickt Ihnen einen Freigabe-Link, der sieben Tage gilt. Ihre PIN braucht er an keiner Stelle. Diese Seite zeigt den Ablauf, welche Meldung welche Angabe braucht und was bewusst in der App bleibt.
Stand: 2026-10-19
Der Ablauf: lesen, prüfen, vorbereiten, freigeben
Jeder Schritt ist ein eigenes Werkzeug des MCP-Servers und zugleich eine Route der REST-API. Gesendet wird in keinem dieser Schritte.
- Lesen: list_tax_deadlines (GET /v1/tax/deadlines) zeigt die Fristen eines Jahres wie der Steuerkalender der App. list_tax_filings (GET /v1/tax/filings) listet die vorhandenen Meldungen und Erklärungen mit Status, Transferticket und Testmerker – und liefert die Kennungen für die nächsten Schritte.
- Entwurf anlegen, wo die Bücher genügen: create_tax_draft (POST /v1/tax/drafts) erzeugt die Zusammenfassende Meldung eines Zeitraums oder die Dauerfristverlängerung des laufenden Jahres aus der Buchhaltung. Die Voranmeldung braucht keinen Entwurf: Ihre Kennzahlen kommen aus der Buchhaltung oder aus Werten, die in der App von Hand erfasst wurden.
- Amtlich prüfen: check_tax_filing (POST /v1/tax/check) lässt den Datensatz durch ERiC laufen, die Prüfbibliothek der Steuerverwaltung – mit Testmerker und ohne Versand.
- Vorbereiten: prepare_tax_filing (POST /v1/tax/operations) friert Werte (manifest) und Prüfwert (manifest_sha256) für 30 Minuten ein und nennt jedes Hindernis, das einer Übermittlung im Weg stünde.
- Freigeben: request_tax_filing_approval liefert einen Link in die App, sieben Tage gültig. Dort vergleichen Sie den vorbereiteten mit dem aktuellen Stand und übermitteln mit Zwei-Faktor-Bestätigung und PIN.
- Nachsehen: get_tax_operation (GET /v1/tax/operations/{id}) meldet danach den Übermittlungsstand samt Transferticket – auch wenn Sie über den Link in der App gesendet haben.
Die Matrix: welche Meldung der Agent wie anspricht
Jede Art braucht genau eine Kennung. Passt sie nicht oder fehlt eine Voraussetzung, lehnt die API mit einem benannten Code ab, statt zu raten.
Umsatzsteuer-Voranmeldung (ustva)
Kennung ist der Zeitraum: period als JJJJ-MM oder JJJJ-Qn. Die Kennzahlen kommen aus der Buchhaltung oder aus in der App erfassten Werten. Vorher klärt der Agent die Fragen des Vordrucks mit get_vat_supplementary und bestätigt „keine Sonderfälle“ erst nach Ihrer Antwort.
Zusammenfassende Meldung (zm)
Kennung ist die source_id der gespeicherten Meldung. create_tax_draft legt den Regelfall eines Monats oder Quartals aus den gebuchten EU-Umsätzen an; Dreiecksgeschäfte und Berichtigungen bleiben in der App.
Dauerfristverlängerung (dauerfrist)
Der Antrag bei vierteljährlicher Abgabe, angesprochen mit source_id. create_tax_draft legt ihn für das laufende Jahr an.
Sondervorauszahlung (sovz)
Bei monatlicher Abgabe berechnen Sie die Sondervorauszahlung im Antrag selbst und melden sie an (§ 48 Abs. 1 Satz 4 UStDV). Die Software rechnet sie aus den quittierten Voranmeldungen des Vorjahres.
Umsatzsteuer-Jahreserklärung (ustje)
Den Entwurf legen Sie in der App an; danach prüft und bereitet der Agent ihn mit source_id vor. Ist er noch nicht freigegeben, nennt die Antwort das Hindernis freigabe_in_app.
E-Bilanz (ebilanz)
Kennung ist die filing_id. Die Datei wird in der App erzeugt; der Prüfwert ist der Hash genau dieser Datei, und die gezeigten Beträge stammen aus ihr.
Körperschaft- und Gewerbesteuer (kst, gewst)
Kennung ist das Jahr (year). Prüfen und Vorbereiten setzt die Freigabe der Erklärung in der App voraus; eine Gewerbesteuer mit Zerlegung bleibt vollständig in der App.
Anlage EÜR (euer)
Kennung ist das Jahr. Gebunden wird der Stand, den Sie in der App freigegeben haben; ohne Freigabe antwortet die API mit 409 freigabe_in_app.
Beispiel: „Bitte die Umsatzsteuer für September fertig machen“
So kann ein Auftrag in Claude Code oder Codex ablaufen, wenn der Schlüssel das Recht „Schreiben“ hat. Die Zahlen und Befunde sind ein Beispiel.
- list_tax_deadlines mit status=offen: Der Agent nennt den Termin der Voranmeldung für September und ob weitere Fristen in den nächsten Wochen anstehen.
- get_vat_return mit period=2026-09: Kennzahlen, Zahllast und die Buchungen je Kennzahl. Fällt ihm eine Buchung mit ungewöhnlichem Steuersatz auf, fragt er nach.
- get_vat_supplementary: Er stellt Ihnen die Fragen des amtlichen Vordrucks. Erst wenn Sie alle verneinen, ruft er confirm_vat_supplementary auf.
- check_tax_filing: Meldet ERiC eine Beanstandung, erklärt er sie und schlägt eine Korrektur vor.
- prepare_tax_filing: Er zeigt Ihnen Kennzahlen, Zahllast und den Prüfwert.
- request_tax_filing_approval: Sie bekommen den Freigabe-Link, öffnen ihn angemeldet und übermitteln in der App.
Fragen Sie danach „Ist sie angekommen?“, ruft der Agent get_tax_operation auf und nennt das Transferticket. Im Steuerkalender steht die Frist dann als erledigt – durch die Übermittlung, nicht durch einen Haken von Hand.
Anbindung: ein Schlüssel je Gesellschaft
In Claude Code genügt eine Datei .mcp.json im Projektordner; der Schlüssel kommt aus der Umgebungsvariable JAB_API_KEY:
{
"mcpServers": {
"steuern": {
"type": "http",
"url": "https://api.jahresabschluss.io/functions/v1/bookkeeping-mcp",
"headers": {
"Authorization": "Bearer ${JAB_API_KEY}"
}
}
}
}Der Schlüssel hat die Form jab_live_… und gilt für genau eine Gesellschaft; welche, ergibt sich aus dem Schlüssel selbst. Er läuft spätestens nach 366 Tagen ab, gespeichert wird nur sein Hash. Für Prüfen, Vorbereiten, Entwürfe und den Freigabe-Link braucht er das Recht „Schreiben“; zum Lesen von Fristen, Meldungen und Vorgängen genügt „Lesen“.
Anlegen dürfen Mitglieder des Arbeitsbereichs mit der Rolle Administrator oder Ersteller, bestätigt mit dem zweiten Faktor: mit Buchhaltungs- oder EÜR-Abo unter Buchhaltung → Einstellungen → „KI-Agent & API“, bei einer Gesellschaft nur mit dem Steuer-Modul unter Steuern → Einstellungen, Karte „KI-Agent & API“. Ein solcher Schlüssel erreicht nur die Steuer-Routen und die Stammdaten; jede andere Anfrage beantwortet die API mit 403 nur_steuer_routen.
Grenzen: was in der App bleibt und was die Steuer-API nicht kennt
Die API deckt den Regelfall ab. Was eine menschliche Entscheidung oder eine Antwort zum Sachverhalt verlangt, ist benannt gesperrt – mit einem Link auf die passende Seite der App (app_seite).
- Die Übermittlung selbst: auf der Versandseite der App, mit Zwei-Faktor-Bestätigung und PIN. Ein Recht, mit dem ein Agent über die API sendet, wird derzeit nicht vergeben.
- Alle Berichtigungen – Voranmeldung, Zusammenfassende Meldung, Sondervorauszahlung und Jahreserklärungen.
- Die Freigabe der Körperschaft- und Gewerbesteuererklärung samt Sachverhaltsfragen, die Freigabe der Anlage EÜR und das Anlegen der Umsatzsteuer-Jahreserklärung.
- Sonderfälle der Voranmeldung (die bedingten Angaben des Vordrucks) und Dreiecksgeschäfte in der ZM.
- Das Erzeugen und Freischalten der E-Bilanz.
- Gewerbesteuer mit Zerlegung, Kapitalertragsteuer-Anmeldung, Lohnsteuer-Anmeldung, Feststellungserklärung und Einkommensteuer: Diese Arten prüft und bereitet die Steuer-API nicht vor.
Grenzen, die die API technisch setzt
- Höchstens 30 Prüfungen, Vorbereitungen und Entwürfe zusammen je Stunde und Schlüssel; darüber antwortet die API mit 429 rate_limited. Insgesamt gelten 120 Anfragen pro Minute je Schlüssel.
- Ein vorbereiteter Vorgang gilt 30 Minuten, der Freigabe-Link sieben Tage. Ist der Link abgelaufen, können Sie auf der Versandseite der App trotzdem übermitteln.
- Gezeigte Werte sind gebundene Werte: Ändert sich eine gespeicherte Meldung während der Prüfung, antwortet die API mit 409 stand_geaendert und bereitet nichts vor.
- In der Sandbox, dem versteckten Zwilling einer Gesellschaft, gehen Prüfen und Vorbereiten; übermittelt wird dort nie, und die Antwort nennt das Hindernis sandbox.
Rechtlicher Rahmen: Ihre Erklärung, Ihre Verantwortung
Die Angaben in Steuererklärungen sind „wahrheitsgemäß nach bestem Wissen und Gewissen“ zu machen (§ 150 Abs. 2 AO). Voranmeldung und Zusammenfassende Meldung sind nach amtlich vorgeschriebenem Datensatz über die amtlich bestimmte Schnittstelle zu übermitteln (§ 18 Abs. 1 und § 18a Abs. 1 UStG), ebenso der Antrag auf Dauerfristverlängerung (§ 48 Abs. 1 Satz 2 UStDV). Eine Voranmeldung ist eine Steueranmeldung und steht einer Steuerfestsetzung unter Vorbehalt der Nachprüfung gleich (§ 168 Satz 1 AO); korrigiert wird danach nur noch mit einer Berichtigung. Deshalb liegt der letzte Klick bei einem Menschen.
Was der Agent liefert, sind Vorschläge, Erklärungen und Prüfergebnisse. Die Software ersetzt keine Steuer- oder Rechtsberatung; die Verantwortung für Inhalt und Abgabe bleibt bei der Gesellschaft und ihrer Geschäftsführung.
Allein oder gemeinsam mit Ihrer Kanzlei
Arbeitet Ihre Steuerkanzlei in derselben Software, sieht sie die Meldungen, die über die API angelegt oder vorbereitet wurden, genau dort, wo alle anderen Meldungen der Gesellschaft stehen; auch list_tax_filings zeigt den Stand gleich, ob in der App oder über die API gearbeitet wurde. Den Freigabe-Link kann öffnen, wer in der App Steuern dieser Gesellschaft übermitteln darf. Über die API wird nur das ELSTER-Zertifikat der Gesellschaft verwendet; übermittelt die Kanzlei mit ihrem eigenen Zertifikat, geschieht das ohnehin in der App.
So übernimmt der Agent die Vorarbeit – Fristen im Blick behalten, Zahlen erklären, amtlich prüfen –, und die Abgabe bleibt bei Ihnen oder Ihrer Kanzlei.
Häufige Fragen
Kann ein KI-Agent meine Steuererklärung abgeben?
Er kann sie amtlich prüfen und die Übermittlung vorbereiten. Übermittelt wird in der App von einem Menschen, mit Zwei-Faktor-Bestätigung und ELSTER-PIN. Ein Recht, mit dem ein Agent über die API sendet, wird derzeit nicht vergeben.
Welche Steuermeldungen unterstützt die Steuer-API?
Umsatzsteuer-Voranmeldung, Zusammenfassende Meldung, Dauerfristverlängerung, Anmeldung der Sondervorauszahlung, Umsatzsteuer-Jahreserklärung, E-Bilanz, Körperschaftsteuer-, Gewerbesteuererklärung und Anlage EÜR. Lohnsteuer-Anmeldung, Kapitalertragsteuer-Anmeldung, Feststellungs- und Einkommensteuererklärung gehören nicht dazu.
Braucht der Agent meine ELSTER-PIN?
Nein. Sie geben die PIN auf der Versandseite der App ein, nachdem Sie den Freigabe-Link geöffnet haben. Der Agent und sein KI-Anbieter sehen sie nicht.
Welche KI-Programme funktionieren?
Programme, die einen MCP-Server über Streamable HTTP mit eigener Kopfzeile anbinden, etwa Claude Code, Codex, Gemini CLI, Cursor oder GitHub Copilot. ChatGPT und claude.ai im Browser verbinden eigene MCP-Server derzeit nur per OAuth, das der Server noch nicht anbietet. Eigene Software nutzt die REST-API.
Was kostet die Steuer-API?
Schlüssel gibt es ohne Aufpreis zum Buchhaltungs- oder EÜR-Abo und, beschränkt auf die Steuer-Routen, mit dem Steuer-Modul. Prüfen und Vorbereiten kosten nichts zusätzlich. Was eine Übermittlung kostet, hängt von Abo und Meldung ab und steht auf der Preisseite.
Was passiert, wenn sich die Zahlen nach der Vorbereitung ändern?
Die Freigabe-Seite der App rechnet den Prüfwert aus dem aktuellen Stand neu und zeigt, ob er unverändert ist. Hat sich etwas geändert, weist sie darauf hin; übermittelt werden die aktuellen Werte, die die Versandseite zeigt.
Kann ich das gefahrlos ausprobieren?
Ja, in der Sandbox: einem Zwilling Ihrer Gesellschaft mit eigenen Schlüsseln – derzeit für Gesellschaften ohne Jahresabschluss-Daten. Dort gehen Prüfen und Vorbereiten, übermittelt wird nie. get_entity meldet für einen Sandbox-Schlüssel sandbox=true.
Vom selben Anbieter: Jahresabschluss nach HGB – der komplette Leitfaden auf jahresabschluss.io.