Jahresabschluss.io
ENAnmeldenRegistrieren →

Steuerkalender per API

Steuerfristen per KI-Agent: der Steuerkalender über MCP-Server und REST-API

Mit dem Werkzeug list_tax_deadlines des MCP-Servers von jahresabschluss.io – oder GET /v1/tax/deadlines der REST-API – liest Ihr KI-Agent die Steuerfristen eines Jahres genau so, wie der Steuerkalender der App sie zeigt: Voranmeldungen, Sondervorauszahlung, Zusammenfassende Meldung, Lohnsteuer-Anmeldung, OSS-Meldung, Jahreserklärungen und Vorauszahlungen, jeweils mit Fälligkeit, Erledigung und Überfälligkeit. Ist eine Quelle nicht lesbar, bekommt er eine Fehlermeldung statt eines stillschweigend kürzeren Kalenders. So lässt sich zum Beispiel jeden Montag eine Fristenübersicht erstellen – mit einem Schlüssel, der nur lesen darf.

Stand: 2026-10-19

Welche Fristen die Antwort enthält

Dieselben Termine wie die Seite „Steuerkalender“ der App, abhängig von Rechtsform und Steuer-Einstellungen der Gesellschaft:

  • Umsatzsteuer: Voranmeldungen je Monat oder Quartal, die Sondervorauszahlung bei Dauerfristverlängerung und die Jahreserklärung.
  • Zusammenfassende Meldung je Meldezeitraum und die OSS-Meldung je Quartal, wenn das Verfahren genutzt wird.
  • Lohnsteuer-Anmeldung als Frist, sobald ihr Rhythmus belegt ist.
  • Jahreserklärungen wie Körperschaft- und Gewerbesteuer, E-Bilanz und Anlage EÜR, je nach Rechtsform auch Feststellungs- oder Einkommensteuererklärung – einschließlich der in diesem Jahr fälligen Erklärungen früherer Jahre.
  • Vorauszahlungen laut Festsetzung, Fristen, die das Finanzamt abweichend gesetzt hat, und – wenn im Betriebsprofil angegeben – die Anmeldung des Steuerabzugs nach § 50a EStG.
  • Hinweiszeilen (art=hinweis): Kapitalertragsteuer je Zuflusstag, die KiStAM-Abfrage und Abschlusszahlungen aus Bescheiden.

Die Felder einer Frist

  • steuerart und bezeichnung, etwa ust-va und „USt-Voranmeldung“; zeitraum, etwa 09/2026 oder Q3/2026.
  • faellig_am: der maßgebliche Termin, bereits auf den nächsten Werktag verschoben. Hat das Finanzamt eine abweichende Frist gesetzt, steht sie hier, die gesetzliche in gesetzlich_faellig_am, und frist_laut_finanzamt ist true.
  • erledigt und erledigt_durch: uebermittlung, wenn eine Übermittlung mit Transferticket vorliegt (das Ticket steht in transferticket), manuell, wenn die Frist in der App als erledigt markiert wurde.
  • ueberfaellig: nicht erledigt und Fälligkeit vor heute.
  • app_seite: der direkte Link auf die passende Seite der App.

Dazu kommen auf oberster Ebene jahr, heute, die nach Fälligkeit sortierte Liste data, hinweise zu fehlenden Angaben und ein Link auf den Steuerkalender der App.

Aufruf über MCP und REST

Offene Fristen des laufenden Jahres – erst als MCP-Aufruf, dann als REST-Anfrage mit dem Schlüssel aus einer Umgebungsvariable:

{
  "name": "list_tax_deadlines",
  "arguments": { "status": "offen" }
}

curl -s "https://api.jahresabschluss.io/functions/v1/bookkeeping-api/v1/tax/deadlines?year=2026&status=offen" \
  -H "Authorization: Bearer $JAB_API_KEY"

year ist optional; ohne Angabe gilt das laufende Jahr nach deutscher Zeit. status kennt alle, offen, ueberfaellig und erledigt – offen schließt überfällige Fristen ein. Es genügt ein Schlüssel mit Leserecht, und das Werkzeug gehört zu dem, was auch ein Schlüssel einer Gesellschaft nur mit dem Steuer-Modul erreicht.

Wie die Termine berechnet werden

Die API rechnet mit denselben Bausteinen wie der Steuerkalender der App; eine zweite Fristlogik gibt es nicht. Voranmeldungen sind am zehnten Tag nach Ablauf des Zeitraums fällig (§ 18 Abs. 1 UStG), mit Dauerfristverlängerung einen Monat später (§ 46 UStDV); die Sondervorauszahlung zum gesetzlichen Termin der ersten Voranmeldung, also am 10. Februar (§ 48 Abs. 2 UStDV); die ZM am 25. Tag nach Ablauf des Meldezeitraums (§ 18a Abs. 1 UStG); die Lohnsteuer-Anmeldung am zehnten Tag nach Ablauf des Anmeldungszeitraums (§ 41a Abs. 1 EStG).

Fällt ein Fristende auf einen Sonnabend, Sonntag oder gesetzlichen Feiertag, endet die Frist mit dem nächsten Werktag (§ 108 Abs. 3 AO); berücksichtigt werden die Feiertage des Bundeslands aus den Stammdaten. Die OSS-Frist folgt dem Unionsrecht und verschiebt sich nicht. Jahreserklärungen sind grundsätzlich sieben Monate nach Ablauf des Kalenderjahres abzugeben (§ 149 Abs. 2 AO), mit Steuerberatung bis zum letzten Februartag des zweiten Folgejahres (§ 149 Abs. 3 AO); für einzelne Jahre gelten die verlängerten Fristen nach Art. 97 § 36 EGAO. Ob Sie beraten werden, steht in den Steuer-Einstellungen.

Der Kalender eines Jahres enthält die Zeiträume dieses Jahres und zusätzlich, was aus dem Vorjahr in diesem Jahr fällig wird – etwa die Voranmeldung für Dezember im Januar.

Vollständig oder gar nicht: 503 statt Lücken

Der Kalender setzt sich aus vielen Quellen zusammen: Stammdaten, Voranmeldungen, Meldungen, Erklärungen, Festsetzungen und Bescheide. Ist eine davon nicht lesbar, antwortet die API mit 503 und dem Code kalender_nicht_vollstaendig. Sie gibt keinen kürzeren Kalender aus, in dem eine Frist einfach fehlen würde. Ein Agent sollte dann kurz warten und erneut fragen, statt „keine Fristen“ zu melden.

Fehlt eine Angabe, ohne die sich Termine nicht berechnen lassen, sagt die Antwort das in hinweise – etwa wenn der Rhythmus der Lohnsteuer-Anmeldung oder der Meldezeitraum der ZM nicht belegt ist. Dann fehlen genau diese Fristen, und der Hinweis nennt, wo Sie die Angabe ergänzen.

Wöchentliche Fristenübersicht mit Claude Code

Einmal einrichten – mit einem Schlüssel, der nur lesen darf – und dann jeden Montag um 7 Uhr per cron ohne Oberfläche ausführen:

# einmalig: Server mit dem Schlüssel aus der Umgebungsvariable hinzufügen
claude mcp add --transport http --scope user steuern \
  https://api.jahresabschluss.io/functions/v1/bookkeeping-mcp \
  --header "Authorization: Bearer $JAB_API_KEY"

# crontab: montags um 07:00
0 7 * * 1 claude -p "Lies mit list_tax_deadlines die offenen Steuerfristen. Nenne alle, die in den nächsten 21 Tagen fällig oder schon überfällig sind, mit Datum, Zeitraum und app_seite." --allowedTools "mcp__steuern__list_tax_deadlines" >> ~/steuerfristen.txt

claude -p führt den Auftrag ohne Oberfläche aus, --allowedTools gibt nur das eine lesende Werkzeug ohne Rückfrage frei. Weil der Schlüssel ohnehin nur lesen darf, kann auch ein falsch verstandener Auftrag nichts verändern. Claude Code muss auf dem Rechner angemeldet sein. Statt in eine Datei kann die Übersicht auch in Ihr Postfach oder einen Teamkanal gehen, wenn Sie dafür einen weiteren MCP-Server anbinden.

Was eine versäumte Frist kosten kann

Wer eine Steuererklärung nicht oder nicht fristgemäß abgibt, gegen den kann ein Verspätungszuschlag festgesetzt werden (§ 152 Abs. 1 AO); für Jahreserklärungen, die mehr als 14 Monate nach Ablauf des Kalenderjahres abgegeben werden, ist er in der Regel festzusetzen (§ 152 Abs. 2 AO). Wird eine Steuer nicht bis zum Fälligkeitstag entrichtet, fällt für jeden angefangenen Monat ein Säumniszuschlag von 1 Prozent des abgerundeten Rückstands an (§ 240 Abs. 1 AO); bei einer Säumnis bis zu drei Tagen wird er nicht erhoben, außer bei Zahlung mit Bargeld oder Scheck (§ 240 Abs. 3 AO). Eine Fristenübersicht ersetzt keine Beratung, macht die Termine aber rechtzeitig sichtbar.

Grenzen

  • Die Fristenliste ist lesend. Erledigt wird eine Frist durch eine Übermittlung oder durch Ihren Haken in der App, nicht über die API.
  • Die API erinnert nicht von sich aus; die Übersicht entsteht, wenn Ihr Agent fragt. Webhooks gibt es für Ereignisse der Buchhaltung, nicht für Fristen.
  • Die Lohnsteuer-Anmeldung erscheint nur als Frist; die Steuer-API prüft oder bereitet sie nicht vor.
  • Abweichende Fristen des Finanzamts pflegen Sie in der App; die API zeigt sie dann an.
  • Die Termine sind so gut wie die Stammdaten: Rechtsform, Bundesland, Voranmeldungszeitraum, Dauerfristverlängerung und Beratungsstatus stehen in den Steuer-Einstellungen.

Häufige Fragen

Welche Steuerfristen kann ein KI-Agent abrufen?

Alle, die der Steuerkalender der App für die Gesellschaft zeigt: Voranmeldungen, Sondervorauszahlung, ZM, OSS, Lohnsteuer-Anmeldung, Jahreserklärungen, Vorauszahlungen laut Festsetzung und abweichende Fristen des Finanzamts, dazu Hinweiszeilen etwa zur Kapitalertragsteuer.

Sind das dieselben Termine wie im Steuerkalender der App?

Ja. API und Seite setzen den Kalender mit denselben Funktionen zusammen und lesen dieselben Quellen.

Woran erkennt der Agent, ob eine Frist erledigt ist?

An erledigt und erledigt_durch: uebermittlung bei einer Übermittlung mit Transferticket, manuell bei einem in der App gesetzten Haken. Überfällig ist eine Frist, die nicht erledigt und deren Fälligkeit verstrichen ist.

Was bedeutet der Fehler kalender_nicht_vollstaendig?

Eine der Quellen des Kalenders war nicht lesbar. Die API antwortet dann mit 503, statt einen unvollständigen Kalender auszugeben. Ein erneuter Aufruf kurz darauf ist sicher.

Berücksichtigt der Kalender Wochenenden und Feiertage?

Ja. Fällt ein Fristende auf einen Sonnabend, Sonntag oder gesetzlichen Feiertag, steht in faellig_am der nächste Werktag (§ 108 Abs. 3 AO), mit den Feiertagen des Bundeslands der Gesellschaft. Die OSS-Frist verschiebt sich nicht.

Welche Rechte braucht der Schlüssel?

Nur das Leserecht. Auch ein Schlüssel einer Gesellschaft, die nur das Steuer-Modul nutzt, erreicht list_tax_deadlines.

Vom selben Anbieter: Jahresabschluss nach HGB – der komplette Leitfaden auf jahresabschluss.io.