Integration
Lokale Automatisierungs-API
Wenn deine Rechnungsdaten schon woanders entstehen, sollen sie nicht abgetippt werden. Die lokale Automatisierungs-API stellt Ausgangsdokumente, Eingangsbelege, Zahlungen und Stammdaten als HTTP-Schnittstelle bereit – ausschließlich auf diesem Computer und nur, solange Billance läuft.


Auf einen Blick
- Adresse
- http://127.0.0.1:47115/api/integration/v1
- Zugriff
- Nur Programme auf demselben Computer
- Auth
- Bearer-Token
- Vertrag
- OpenAPI 3.1
Was die API ist – und was sie nicht ist
Die Automatisierungs-API ist ein lokaler HTTP-Server, den Billance auf deinem Computer startet. Sie verwaltet Ausgangsdokumente und Eingangsbelege, Zahlungen und Stammdaten und kann E-Rechnungen prüfen oder auslesen. Sie ist kein Cloud-Endpunkt und kein fertiger Konnektor für einen bestimmten ERP-Anbieter, sondern eine technische Schnittstelle für eigene Skripte, Workflows und lokale Unternehmenssoftware.
Der Zugriff ist bewusst eng gefasst: Der Server hört auf 127.0.0.1, also ausschließlich auf Programme desselben Computers. Geräte im LAN, Cloud-Dienste und Browser-Anwendungen können nicht direkt zugreifen – Browser erhalten absichtlich keine CORS-Freigabe. Jede fachliche Anfrage braucht den Bearer-Token, den dir Billance in den Einstellungen anzeigt; ohne Token erreichbar sind nur der Wurzelpfad und die OpenAPI-Spezifikation.
Der Vertrag wird nicht beschrieben, sondern ausgeliefert: Die Einstellungen enthalten eine durchsuchbare Endpunktübersicht mit Parametern, Beispiel-Payloads und kopierbaren cURL-Befehlen, und unter <BASE-URL>/openapi.json liegt die OpenAPI-3.1-Spezifikation für Werkzeuge und generierte Clients. Verwende immer die Spezifikation deiner installierten Version, damit dein Client zum tatsächlichen Vertrag der App passt.
In fünf Schritten verbunden
API aktivieren
In den Einstellungen unter Integrationen den lokalen Server einschalten.
Port festlegen
Den Standardport 47115 übernehmen oder einen freien Port zwischen 1024 und 65535 wählen, falls ein anderes Programm ihn belegt.
Basis-URL und Token übernehmen
Beides in dein Automatisierungswerkzeug kopieren; der Token gehört in einen Secret Store, niemals in Quellcode, Repository oder Logs.
Verbindung testen
Ein Aufruf von
/healthmit dem Authorization-Header liefert Status, API- und App-Version sowie die verfügbaren Fähigkeiten.Endpunkte erkunden
Die Endpunktübersicht in den Einstellungen und die OpenAPI-Spezifikation zeigen Parameter, Beispiel-Payloads und cURL-Befehle.
Was die API abdeckt
Ausgangsdokumente anlegen
POST /invoicesmitdocumentTypeund vollständigemformData– das Formularmodell entspricht dem Editor der App.Alle sieben Dokumenttypen
invoice,offer,confirmation,delivery_note,credit_note,recurringundreminderstehen zur Verfügung.Erzeugen und exportieren
POST /invoices/{id}/generatenutzt dieselben Vorlagen, Schriften, Zahlungsprofile und E-Rechnungsregeln wie die Oberfläche; der Export liefert PDF, ZUGFeRD, XRechnung, UBL oder JSON.Statuswechsel mit klaren Fehlern
finalizefür den ersten Übergang,statusfür die weiteren; nicht erlaubte Wechsel liefern409mit dem stabilen Codeinvalid_status_transition.Zahlungen automatisch verrechnet
Zahlungen gehen an
/invoices/{id}/payments; bezahlter Betrag, Restbetrag, Status und Skonto berechnet Billance selbst.Stammdaten pflegen
/recipientsund/productsbieten Listen-, Anlage-, Änderungs- und Löschzugriffe; Schreibzugriffe gelten immer für das aktive Firmenprofil.Eingangsbelege und Anhänge
Über
/receiptsverwaltest du Eingangsrechnungen; Originaldateien lädst du als Base64 hoch – PDF, PNG, JPEG, WebP, HEIC, TIFF und XML bis 50 MB.E-Rechnungen prüfen und auslesen
POST /import/validateprüft PDF- oder XML-Dateien,POST /import/einvoiceliefert zusätzlich strukturierte Rechnungsdaten – beide legen bewusst kein Dokument automatisch an.Fehler nach RFC 7807
Antworten kommen als
application/problem+jsonmit stabilemcode, den du auswerten kannst, statt Text zu parsen.
Token, Grenzen und Fehlercodes
Der Token gewährt Zugriff auf deine lokalen Billance-Daten. Entsprechend eng sind die Grenzen gezogen – und entsprechend sorgfältig gehört er behandelt.
401 · unauthorized
- Bedeutung
- Token fehlt oder ist ungültig.
403 · premium_required
- Bedeutung
- Premium-Zugriff ist nicht verfügbar.
404 · not_found
- Bedeutung
- Ressource oder lokale Originaldatei fehlt.
409 · profile_not_active, receipt_locked, invalid_status_transition
- Bedeutung
- Fachlicher Konflikt oder eine Sperre festgeschriebener Daten.
413 / 415 / 422
- Bedeutung
- payload_too_large, unsupported_media_type oder validation_failed – Anfrage, Dateityp oder Daten ungültig.
429 · rate_limited
- Bedeutung
- Mehr als 120 Anfragen innerhalb einer Minute.
Speichere den Token nie im Quellcode, in Repositories oder Logs. Nach einer Erneuerung wird der alte Token sofort ungültig, und alle Clients müssen aktualisiert werden.
Worauf es bei einer stabilen Integration ankommt
Ein paar Regeln entscheiden darüber, ob eine Anbindung nach dem zweiten Update noch funktioniert.
Vor jedem PUT lesen
PUT /invoices/{id}ersetzt die Formulardaten vollständig. Lies den aktuellen Entwurf zuerst und sende ihn vollständig zurück, damit unbekannte oder später ergänzte Felder erhalten bleiben.IDs im Quellsystem speichern
So findet deine Software ein Dokument nach einem Neustart wieder, statt es ein zweites Mal anzulegen.
Nach Timeouts erst lesen
Prüfe per GET, ob der Schreibvorgang schon angekommen ist, bevor du ihn wiederholst.
Konflikte bewusst behandeln
Ein
409ist eine fachliche Aussage – etwa eine Sperre festgeschriebener Daten – und kein Grund, es einfach erneut zu versuchen.Parallelität begrenzen
Nach einem
429mit Backoff weiterarbeiten statt mit unveränderter Rate weiterzuschicken.Nur
formDataverwendenNeue Integrationen nutzen ausschließlich
formData;dataist nur ein veralteter Kompatibilitätsalias.
Für LAN-, Cloud- oder Mobilzugriffe brauchst du eine eigene, abgesicherte Vermittlungsschicht mit Authentifizierung, Verschlüsselung, Berechtigungen und Datenschutzkonzept.
Wo die API läuft
Die Automatisierungs-API ist eine Funktion der Desktop-Anwendung, weil sie einen lokalen Server auf deinem Rechner braucht.
In der Desktop-App
Du findest sie unter Einstellungen → Integrationen → Lokale Automatisierungs-API. Dort schaltest du den Server ein, wählst den Port, kopierst Basis-URL und Token, führst den Verbindungstest aus und durchsuchst die Endpunktübersicht mit ihren Beispiel-Payloads und cURL-Befehlen.
In der mobilen App
In der mobilen App gibt es keinen lokalen Server: Ein Telefon ist keine dauerhaft erreichbare Arbeitsstation, und ein offener Port wäre dort das falsche Werkzeug. Die Daten, die über die API entstehen, erreichen deine mobilen Geräte über die verschlüsselte Cloud-Synchronisation.
Gratis oder Premium
Im Gratis-Tarif
Die lokale Automatisierungs-API ist nicht Teil des Gratis-Tarifs.
Mit Billance Premium
Mit Premium stehen der lokale Server, alle Endpunkte und die OpenAPI-Spezifikation zur Verfügung – ohne Zusatzkosten pro Aufruf.
Fehlt der Premium-Zugriff, antwortet die API mit 403 premium_required statt stillschweigend nichts zu tun.
Häufige Fragen zur Automatisierungs-API
Nein. Der Server läuft ausschließlich auf deinem Computer und hört auf 127.0.0.1. Geräte im Netzwerk, Cloud-Dienste und Browser-Anwendungen können nicht direkt zugreifen; Browser erhalten absichtlich keine CORS-Freigabe.
Weiterlesen
Schritt für Schritt im Hilfecenter
Die Hilfe-Artikel beschreiben denselben Ablauf noch einmal als Anleitung – mit allen Feldern, Schaltflächen und Sonderfällen.
Bereit für E‑Rechnungen?
Starte jetzt mit Billance und erstelle deine ersten E-Rechnungen in wenigen Minuten.