Eigene Anbindung
Eigene Software & ERP an die Buchhaltung anbinden
Wenn dein Shop, deine Faktura oder dein ERP schon Rechnungen erzeugt, sollen diese Vorgänge ohne Abtippen in den Büchern landen. Die REST-API macht genau das möglich: eine feste Endpunkt-Liste, ein Schlüssel je Unternehmen, klare Trennung zwischen lesen und buchen. Du schickst Ausgangsrechnungen hinein, ziehst dir die Saldenliste ins Berichtswesen und hältst dein System und deine Buchführung im Gleichtakt — GoBD-konform und ohne Umwege über Zwischendateien.
Zwei Richtungen: schreiben und lesen
Dein System speist Belege ein und holt sich ausgewertete Zahlen zurück.
Schreiben: Belege einspeisen
POST /outgoing-invoices bucht eine Ausgangsrechnung als Erlös, Umsatzsteuer und Forderung. POST /incoming-invoices verbucht eine Eingangsrechnung mit Vorsteuer. Für individuelle Sätze gibt es POST /journal-entries mit Konto, Gegenkonto und Steuerschlüssel.
Lesen: Zahlen zurückholen
GET /saldenliste liefert die Summen- und Saldenliste inklusive HGB-Zuordnung fürs Berichtswesen. GET /open-items zeigt offene Forderungen und Verbindlichkeiten, GET /journal-entries das gefilterte Journal, GET /accounts den Kontenrahmen.
Die REST-Endpunkte im Überblick
Feste Allowlist, kein SQL, keine freie Abfrage. Jeder Schlüssel spricht genau ein Unternehmen an.
- Lesen: GET /entity, GET /fiscal-years, GET /accounts, GET /journal-entries (und /{id}), GET /saldenliste, GET /open-items, GET /outgoing-invoices, GET /incoming-invoices, GET /bank-transactions.
- Schreiben (write-Scope): POST /journal-entries, POST /journal-entries/{id}/storno, POST /outgoing-invoices, POST /incoming-invoices.
- Authentifizierung: ausschließlich der Header Authorization mit Bearer jab_live_… — kein separater apikey-Header nötig.
- Das Unternehmen wird aus dem Schlüssel abgeleitet und nie als Parameter übergeben; ein Schlüssel kann keine fremden Daten sehen.
Ausgangsrechnung aus deinem System buchen
Ein POST je Rechnung — Erlös, Umsatzsteuer und Forderung entstehen in einem Schritt. So sieht der Aufruf aus.
# Ausgangsrechnung anlegen (bucht Erlös + USt + Forderung) — write-Scope
curl -s -X POST "$BASIS_URL/outgoing-invoices" \
-H "Authorization: Bearer jab_live_…" \
-H "Content-Type: application/json" \
-d '{
"kunde": "Muster GmbH",
"rechnungsdatum": "2025-06-30",
"netto": 1000.00,
"steuersatz": 19,
"leistung": "Beratung Juni 2025"
}'Robust integrieren
Ein paar Grundregeln, damit die Anbindung im Alltag verlässlich läuft.
Halte deine Zuordnung von Konten und Steuerschlüsseln nah am Kontenrahmen (SKR03/SKR04) und lies bei Bedarf GET /accounts, statt Nummern hart zu verdrahten. So bleibt deine Anbindung stabil, auch wenn eigene Konten dazukommen.
Für Korrekturen nie ein Storno-Feld erfinden, sondern POST /journal-entries/{id}/storno rufen. Der Buchungskern erzwingt append-only, Festschreibung und Soll gleich Haben — deine Integration muss diese Regeln nicht selbst nachbauen, sie gelten ohnehin.
Plane Wiederholungen ein: Wenn dein System denselben Beleg zweimal sendet, entstehen zwei Buchungen. Führe deshalb auf deiner Seite eine Referenz je Vorgang und prüfe vor dem POST, ob du ihn bereits übertragen hast. Lesende Aufrufe kannst du gefahrlos wiederholen, schreibende solltest du gegen Doppelläufe absichern.
Vom Beleg zum Abschluss — die klare Grenze
Die Schnittstelle liefert die Buchführung. Der Abschluss entsteht anderswo.
Dein System speist Belege ein und liest ausgewertete Zahlen; die Schnittstelle bleibt eine reine Daten-Schnittstelle für die Buchhaltung. Einen Jahresabschluss, eine E-Bilanz oder eine Steuererklärung erzeugt sie nicht.
Die über die Endpunkte gebuchten Zahlen sind aber genau die Grundlage, die später im Programm in den Abschluss übernommen wird. Dieser Schritt geschieht bewusst in der App mit ihren Prüfungen und nicht in deiner Integration.
Häufige Fragen
Welche Programme kann ich anbinden?
Jedes, das HTTP-Anfragen senden kann — dein Shop, deine Faktura, ein ERP, ein eigenes Backend. Es gibt keine vorgeschriebene Plattform; du sprichst die feste Endpunkt-Liste der REST-API direkt an.
Wie authentifiziere ich meine Anfragen?
Ausschließlich über den Header Authorization mit dem Wert Bearer jab_live_…. Ein separater apikey-Header ist nicht nötig. Das Unternehmen ergibt sich aus dem Schlüssel, du übergibst es nie als Parameter.
Kann ich beliebige Buchungen absetzen?
Ja, über POST /journal-entries mit Konto, Gegenkonto und Steuerschlüssel — für Standardfälle bequemer über die Rechnungs-Endpunkte. Es gibt keinen SQL-Durchgriff; die Endpunkte sind eine feste Allowlist, jede Buchung folgt den GoBD-Regeln.
Wie korrigiere ich eine falsche Buchung?
Nicht durch Löschen, sondern mit POST /journal-entries/{id}/storno. Der Buchungskern ist append-only und schreibt fest — ein Storno erzeugt die Gegenbuchung, danach buchst du korrekt neu.
Kann meine Software den Jahresabschluss erzeugen?
Nein. Die REST-API arbeitet mit Buchhaltungsdaten und Buchungen. Sie erstellt keinen Jahresabschluss, keine E-Bilanz und keine Steuererklärung — dieser Schritt findet im Programm statt, nicht in deiner Anbindung.