Zum Inhalt springen

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.

App-Ansicht – Screenshot folgt zum Release

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

  1. API aktivieren

    In den Einstellungen unter Integrationen den lokalen Server einschalten.

  2. Port festlegen

    Den Standardport 47115 übernehmen oder einen freien Port zwischen 1024 und 65535 wählen, falls ein anderes Programm ihn belegt.

  3. Basis-URL und Token übernehmen

    Beides in dein Automatisierungswerkzeug kopieren; der Token gehört in einen Secret Store, niemals in Quellcode, Repository oder Logs.

  4. Verbindung testen

    Ein Aufruf von /health mit dem Authorization-Header liefert Status, API- und App-Version sowie die verfügbaren Fähigkeiten.

  5. 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 /invoices mit documentType und vollständigem formData – das Formularmodell entspricht dem Editor der App.

  • Alle sieben Dokumenttypen

    invoice, offer, confirmation, delivery_note, credit_note, recurring und reminder stehen zur Verfügung.

  • Erzeugen und exportieren

    POST /invoices/{id}/generate nutzt dieselben Vorlagen, Schriften, Zahlungsprofile und E-Rechnungsregeln wie die Oberfläche; der Export liefert PDF, ZUGFeRD, XRechnung, UBL oder JSON.

  • Statuswechsel mit klaren Fehlern

    finalize für den ersten Übergang, status für die weiteren; nicht erlaubte Wechsel liefern 409 mit dem stabilen Code invalid_status_transition.

  • Zahlungen automatisch verrechnet

    Zahlungen gehen an /invoices/{id}/payments; bezahlter Betrag, Restbetrag, Status und Skonto berechnet Billance selbst.

  • Stammdaten pflegen

    /recipients und /products bieten Listen-, Anlage-, Änderungs- und Löschzugriffe; Schreibzugriffe gelten immer für das aktive Firmenprofil.

  • Eingangsbelege und Anhänge

    Über /receipts verwaltest 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/validate prüft PDF- oder XML-Dateien, POST /import/einvoice liefert zusätzlich strukturierte Rechnungsdaten – beide legen bewusst kein Dokument automatisch an.

  • Fehler nach RFC 7807

    Antworten kommen als application/problem+json mit stabilem code, 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 409 ist eine fachliche Aussage – etwa eine Sperre festgeschriebener Daten – und kein Grund, es einfach erneut zu versuchen.

  • Parallelität begrenzen

    Nach einem 429 mit Backoff weiterarbeiten statt mit unveränderter Rate weiterzuschicken.

  • Nur formData verwenden

    Neue Integrationen nutzen ausschließlich formData; data ist 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.