Was Sie mit der Schnittstelle tun
Von der kleinen Automatisierung bis zur Anbindung des eigenen Systems.
| Aufruf | Antwort |
|---|---|
| POST /incoming-invoices | 200 · gebucht |
| GET /journal-entries?account=70012 | 200 · 2 Buchungen |
{ "total": 2, "limit": 100, "offset": 0,
"journal_entries": [
{ "entry_no": 214, "booking_date": "2026-02-14",
"debit_account": "4920", "credit_account": "70012",
"amount": 71.34, "tax_key": "V19" },
{ "entry_no": 215, "booking_date": "2026-02-14",
"debit_account": "1576", "credit_account": "70012",
"amount": 13.56, "tax_key": "V19" }
] }- Buchen per Anweisung
- Buchungen, Rechnungen und Zahlungen auf Anweisung anlegen.
- Daten abrufen
- Saldenliste, Journal und offene Posten, stets aktuell.
- Eigene Software anbinden
- Shop oder Warenwirtschaft schreibt Ausgangsrechnungen direkt.
- Stapelimport und Export
- Bis 5.000 Zeilen je Aufruf, Exporte als Datei.
- Ereignisse melden
- Signierte Nachricht bei neuer Buchung oder Zahlung.
- Übergabe an die Kanzlei
- Leseschlüssel statt Vollzugang und Dateiversand.
Alle 26 Operationen im Überblick
Dazu kommen der Zahlungsausgleich zu Rechnungen, das Anlagenverzeichnis und die Vorschau der Anlage EÜR. Den vollständigen Umfang beschreibt das aktuelle Schnittstellenschema.
Lesen (Leserecht genügt)
GET /- Fassung, Gesellschaft und Umfang des Schlüssels
GET /entity- Stammdaten der Gesellschaft
GET /fiscal-years- Wirtschaftsjahre mit Status
GET /accounts- Kontenrahmen (SKR03 oder SKR04) mit eigenen Konten
GET /journal-entries- Journal, filterbar nach Jahr, Zeitraum und Konto
GET /journal-entries/{id}- Einzelne Buchung
GET /saldenliste- Summen- und Saldenliste je Wirtschaftsjahr
GET /open-items- Offene Posten der Kunden und Lieferanten
GET /outgoing-invoices- Ausgangsrechnungen
GET /incoming-invoices- Eingangsrechnungen
GET /receipts- Belege mit Buchungsstand: gebucht, zur Prüfung oder abgewiesen
GET /receipts/{id}- Einzelner Beleg mit Buchungsstand
GET /bank-transactions- Bankumsätze
GET /fixed-assets- Anlagenverzeichnis
GET /euer- Vorschau der Anlage EÜR eines Wirtschaftsjahres
GET /export- Datei eines Geschäftsjahres: Journal, Saldenliste, Buchungsstapel im Kanzlei Software-Format oder GoBD-Paket
GET /webhooks- Abonnierte Ereignisbenachrichtigungen
GET /webhooks/{id}/deliveries- Zustellprotokoll einer Benachrichtigung
GET /entity/settings- Steuerliche und buchhalterische Einstellungen der Gesellschaft
GET /business-partners- Kunden und Lieferanten mit Stammdaten
GET /business-partners/{id}- Ein Geschäftspartner mit Änderungshistorie
GET /fiscal-years/{id}/opening-balances- Stand der Eröffnungswerte
GET /receipts/{id}/proposal- Buchungsvorschlag eines Belegs mit Herkunft der Kontierung und Prüfkennzeichen
GET /receipts/{id}/file- Name, Typ und Download-Pfad der Originaldatei
GET /receipts/{id}/file/content- Originaldatei eines Belegs herunterladen
GET /export/receipt-archive- Belegarchiv eines Geschäftsjahres in Teilen
GET /export/receipt-archive/{part}- Ein Teil des Belegarchivs als ZIP
GET /bank-accounts- Bankkonten mit Abgleich von Kontoauszug und Buchsaldo
GET /bank-transactions/{id}- Einzelner Bankumsatz mit Bankkonto
GET /payments- Zahlungen und Ausgleiche offener Posten
GET /journal-entries/batches- Buchungsstapel (Importe)
GET /cash-book- Kassenbuch
GET /provisions- Rückstellungen
GET /accruals- Rechnungsabgrenzungen
GET /vat-returns- Vorschau der Umsatzsteuer-Voranmeldung mit Kennzahlen
GET /periods- Festschreibungsstand je Monat
Schreiben (Schreibrecht nötig)
POST /journal-entries- Buchung anlegen: Konto, Gegenkonto, Steuerschlüssel
POST /journal-entries/{id}/storno- Buchung stornieren — Storno statt Löschen
POST /journal-entries/batch- Buchungsstapel importieren, bis 5.000 Zeilen, ganz oder gar nicht
POST /outgoing-invoices- Ausgangsrechnung ausstellen und als Forderung buchen
POST /outgoing-invoices/{id}/send- Ausgangsrechnung als PDF, ZUGFeRD oder XRechnung per E-Mail versenden
POST /outgoing-invoices/{id}/payments- Zahlung zu einer Ausgangsrechnung erfassen
POST /incoming-invoices- Eingangsrechnung mit Vorsteuer buchen
POST /incoming-invoices/{id}/payments- Zahlung zu einer Eingangsrechnung erfassen
POST /receipts- Beleg als PDF, Bild oder XRechnung einliefern — gelesen und gebucht wie im Posteingang
POST /webhooks- Ereignisbenachrichtigung an eine eigene Adresse anmelden
POST /webhooks/{id}/disable- Ereignisbenachrichtigung abschalten
POST /accounts- Eigenes Konto anlegen oder einem anderen Posten zuordnen
POST /business-partners- Kunden oder Lieferanten anlegen (Bankverbindung nur in der App)
POST /business-partners/{id}- Stammdaten eines Geschäftspartners ändern
POST /fiscal-years- Geschäftsjahr anlegen
POST /fiscal-years/{id}/opening-balances- Eröffnungswerte aus dem endgültigen Vorjahr vortragen
POST /receipts/{id}/confirm- Beleg buchen wie in der Belegprüfung, auf Wunsch mit Korrektur
POST /receipts/{id}/dismiss- Beleg nicht buchen, mit Begründung
POST /receipts/{id}/discard- Beleg verwerfen — bleibt archiviert und wiederherstellbar
POST /receipts/{id}/delete- Ungeprüften Beleg endgültig löschen
POST /bank-transactions/{id}/book- Bankumsatz buchen
POST /bank-transactions/{id}/match- Bankumsatz einer Rechnung zuordnen, auch mit Skonto
POST /bank-transactions/{id}/ignore- Ungebuchten Bankumsatz ignorieren
POST /bank-statements- Kontoauszug als CSV, CAMT oder MT940 importieren
POST /outgoing-invoices/{id}/cancel- Stornorechnung ausstellen
POST /outgoing-invoices/{id}/credit-notes- Gutschrift zu einer Ausgangsrechnung
POST /incoming-invoices/{id}/cancel- Eingangsrechnung stornieren
POST /payments/{clearing_id}/storno- Zahlung stornieren
POST /journal-entries/batches/{stapel_id}/storno- Ganzen Buchungsimport stornieren
POST /cash-book- Kasseneinzahlung oder -auszahlung buchen
POST /cash-book/{id}/reverse- Kassenbuchung stornieren
POST /fixed-assets- Anlagegut aufnehmen, auch mit Altbestand
POST /fixed-assets/{id}/disposal- Anlagenabgang buchen
POST /fixed-assets/{id}/movements- Nachträgliche Anschaffungskosten, außerplanmäßige AfA, Zuschreibung
POST /afa-runs- AfA-Lauf für einen Zeitraum buchen
POST /provisions- Rückstellung bilden
POST /provisions/{id}/release- Rückstellung auflösen
POST /provisions/{id}/use- Rückstellung in Anspruch nehmen
POST /accruals- Rechnungsabgrenzung bilden
POST /accruals/{id}/release- Rechnungsabgrenzung auflösen
POST /periods/finalize- Zeitraum unwiderruflich festschreiben (eigenes Recht, nach Bestätigung)
POST /saldenliste/publish- Saldenliste an den Jahresabschluss übergeben
Jeder Pfad ist auch unter /v1 erreichbar. Felder, Filter und Antworten beschreibt das Schnittstellenschema unter /openapi.json.
Die Buchhaltung 7 Tage testen
Bank anbinden, Belege hochladen und sehen, was die Software daraus bucht.
Rechte und Sicherheit
Die Schnittstelle gibt frei, was nötig ist, und nichts darüber hinaus.
| Bezeichnung · Präfix | Rechte | Zuletzt genutzt | Status |
|---|---|---|---|
| Claude Codejab_live_7Kq2mZ4p… | Lesen + Schreiben | 29.09.2026 | Aktiv |
| Steuerkanzleijab_live_Qw81nTe5… | Nur Lesen | 28.09.2026 | Aktiv |
| Shop-Anbindung (alt)jab_live_c3Hs0LmV… | Lesen + Schreiben | 17.06.2026 | Widerrufen |
- Auf eine Gesellschaft begrenzt
- Die Gesellschaft ergibt sich aus dem Schlüssel.
- Rechte je Schlüssel
- Lesen oder Schreiben, befristbar, jederzeit widerrufbar.
- GoBD bleibt gewahrt
- Derselbe Buchungskern, Storno statt Löschen.
Ein Schlüssel mit Schreibrecht kann Buchungen unmittelbar auslösen — beginnen Sie mit Leserecht.
Was die Schnittstelle nicht öffnet
Sie steuern den Zugriff über Rechte und Widerruf; eine zusätzliche Freigabe muss Ihr angebundenes Programm vorsehen.
- Keine freie Abfrage und keinen Tabellenzugriff — nur die festgelegten Operationen.
- Keine festgeschriebenen Zeiträume: dort weist der Buchungskern neue Buchungen ab, wie in der Oberfläche.
- Kein Schreiben nach einem Rollenwechsel: verliert die Person, die den Schlüssel angelegt hat, ihr Bearbeitungsrecht, weist die Schnittstelle schreibende Aufrufe ab.
- Kein zweites Anzeigen: der Schlüssel erscheint beim Anlegen genau einmal und wird danach nur als Prüfwert (Hash) gespeichert. Das Anlegen bestätigen Sie mit Ihrem zweiten Faktor.
Anbindung einrichten
Ein Weg für eigene Programme, Skripte und KI-Agenten.
- 01
Schlüssel anlegen
Im Bereich „KI-Agent & API“: Leserecht oder Schreibrecht, auf Wunsch befristet.
- 02
Programm verbinden
Den Schlüssel im Kopf jeder Anfrage an die Basis-Adresse senden.
- 03
KI-Agent über MCP
Die Verbindung erfolgt zum bereitgestellten MCP-Endpunkt, direkt oder über eine lokale Verbindungsbrücke.
- 04
Schema einlesen
Das OpenAPI-Schema ist ohne Schlüssel abrufbar; jede Operation darin verlangt ihn.
Basis-Adresse und MCP-Adresse zeigt der Bereich „KI-Agent & API“ in der Buchhaltung.
Befehlsbeispiele
Saldenliste abrufen (Leserecht):
curl -H "Authorization: Bearer jab_live_…" \ "$BASIS_URL/saldenliste?fiscal_year_id=<jahr-id>"
Eingangsrechnung buchen (Schreibrecht):
curl -X POST -H "Authorization: Bearer jab_live_…" \
-H "Content-Type: application/json" \
-d '{ "fiscal_year_id": "<jahr-id>",
"idempotency_key": "<neue-uuid>",
"vendor_name": "<Lieferant>",
"invoice_date": "<rechnungsdatum>",
"gross_amount": <bruttobetrag>,
"gegenkonto": "4920", "tax_key": "V19" }' \
"$BASIS_URL/incoming-invoices"Für jeden neuen Vorgang eine neue Kennung (idempotency_key) erzeugen. Nur bei der Wiederholung derselben Anfrage bleibt sie unverändert — dann entsteht keine zweite Buchung.
MCP-Endpunkt direkt eintragen (Ihr KI-Programm, Verbindungsart HTTP):
Adresse: $MCP_URL Kopf: Authorization: Bearer jab_live_…
Über eine lokale Verbindungsbrücke (Konfigurationsdatei Ihres KI-Programms) — der Schlüssel steht im env-Block, nicht in den Befehlsargumenten:
{
"mcpServers": {
"buchhaltung": {
"command": "npx",
"args": ["-y", "mcp-remote", "$MCP_URL",
"--header", "Authorization:${JAB_AUTH}"],
"env": { "JAB_AUTH": "Bearer jab_live_…" }
}
}
}Tragen Sie die Verbindung in Ihre persönliche Konfiguration ein, nicht in eine Projektdatei im Repository.
Schnittstellenschema (ohne Schlüssel abrufbar, beschreibt nur die Form, nicht die Daten):
$BASIS_URL/openapi.json
Als Anmeldung wählen Sie in Ihrem Programm „API-Schlüssel“ mit dem Typ „Bearer“ und tragen Ihren Schlüssel ein. Mit einem Leseschlüssel liest der Agent nur; buchen kann er erst mit Schreibrecht.
KI-Agent sicher anbinden
Fünf Regeln, damit der Agent nur tut, was Sie wollen.
- Schlüssel nie in den Chat
- Er gehört in den Kopf der Anfrage oder als Umgebungsvariable in die Konfiguration Ihres KI-Programms. Im Gespräch läge er im Verlauf des Modells.
- Mit Leserecht beginnen
- Zuerst ein Leseschlüssel mit Ablaufdatum. Buchen und Rechnungsversand schalten Sie später frei, mit einem eigenen Schlüssel.
- Jeden Versand bestätigen
- Vor jeder Rechnung und jedem E-Mail-Versand nennt der Agent Empfänger und Betrag und wartet auf Ihr Ja. Der MCP-Endpunkt markiert diese Werkzeuge als nicht rückholbar.
- Fremde Texte sind Daten
- Verwendungszweck, Lieferantenname und Positionstexte aus Belegen und Bankumsätzen stammen von Dritten und können Anweisungen enthalten. Der Agent behandelt sie als Daten, nie als Auftrag.
- Konfiguration privat halten
- Die Verbindung gehört in Ihre persönliche Konfiguration, nie in eine Projektdatei, die mit dem Quellcode geteilt wird.
Weiterführende Seiten
- Alle Schnittstellen
- Produkt: Buchhaltung
- Summen- und Saldenliste
- GoBD-konforme Buchhaltung
- Buchhaltung automatisieren
- Automatisierte Buchhaltung
- Online-Buchhaltung
- Buchhaltung ohne Steuerberater
- KI-Agent und Schnittstelle anbinden
- KI-Buchhaltungssoftware
- KI in der Buchhaltung
- KI-Dialog in der Buchhaltung
- Anweisungen an die KI formulieren