BuchhaltungsButler-Schnittstelle und API-Integration
BuchhaltungsButler ist eine deutsche Cloud-Buchhaltungsplattform für kleine und mittlere Unternehmen und die Kanzleien, die mit ihnen arbeiten. Sie ist um Belegerfassung, automatisches Buchen und den Abgleich von Zahlungen mit Belegen herum gebaut. Binden Sie sie über Maesn an, und Sie erreichen sie mit derselben REST API und demselben Datenmodell wie jedes andere unterstützte System.
48 POST-Operationen, eine REST-Schnittstelle
BuchhaltungsButler hat eine kleine Oberfläche und eine ungewöhnliche Form, und die Form kostet ein Team Zeit. Drei seiner Eigenheiten landen normalerweise in Ihrer Codebasis. Hier stehen sie, und was Maesn davon abnimmt.
Gewöhnliche REST-Verben, zurückgegeben
BuchhaltungsButler veröffentlicht 48 Operationen, und alle 48 sind POST, auch die zwölf, deren Pfad /get lautet, und die, die löschen. Das Verb sagt Ihnen nichts, der Pfad schon. Maesn stellt die gewöhnlichen REST-Verben wieder davor. Ihr Client erfährt den Unterschied also nie.
Einmal eingesammelt, bei jedem Aufruf gesendet
Zum Verbinden braucht es einen API Client, ein API Secret und einen API Key. Die Referenz zu Create Account bei Maesn führt die Zugangsdatenfelder für acht Systeme, und dieses ist das einzige, das drei verlangt. Maesn verwahrt alle drei bei der Verbindung und signiert jede Anfrage damit.
Ein Kontaktmodell darüber
Ein zusammengefasstes Kontaktobjekt gibt es hier nicht, und die Geschäftspartner stehen nicht dort, wo Sie sie suchen würden: Debitoren und Kreditoren werden über die Einstellungs-Endpunkte geschrieben. Maesn zeigt sie als Kunden und Lieferanten, mit denselben Feldern, die Sie auf jedem anderen System benutzen.
In Ihrem Code kommen ein REST-Aufruf und ein Account-Key an. Teams gehen in Tagen live, und das System nach BuchhaltungsButler ist ein Konfigurationsschritt und kein zweites Projekt.
Ein kurzes Gespräch genügt meist, um zu klären, ob Maesn zu Ihrem Anwendungsfall passt.
Paywise hat manuelle Rechnungsimporte durch Integrationen ersetzt
Paywise treibt unbezahlte Rechnungen für Unternehmen ein, von der ersten Mahnung bis zur gerichtlichen Durchsetzung. Ihre Kunden haben diese Rechnungen früher von Hand hochgeladen, und genau diese Arbeit soll die Belegerfassung abschaffen.
“Unsere Kunden können ihre vorhandenen Werkzeuge sofort anbinden. Das erhöht die Nutzung und macht Maesn zu einem festen Bestandteil unserer Erfolgsstrategie.”


Drei Gründe, die BuchhaltungsButler-Schnittstelle über Maesn anzubinden
BuchhaltungsButler direkt anzubinden ist eine Woche, die Sie einplanen können. Das Problem ist, dass diese Woche Ihnen nichts beibringt, was Sie wiederverwenden können, denn nichts von dem, was es ungewöhnlich macht, taucht beim nächsten System auf.
Die POST-only-Arbeit bleibt hier
Die Übersetzung der Verben, der Handshake mit drei Zugangsdaten und das Geschäftspartnermodell über die Einstellungen sind das, was jede BuchhaltungsButler-Integration lösen muss. Gelöst wird es einmal, hier, für jeden Kunden, den Sie anbinden.
Eine Schnittstelle über 48 POST-Pfade
Jede Operation auf diesem System ist ein POST, die Lesezugriffe eingeschlossen. Ein gewöhnlicher HTTP-Client verliert damit die beiden Schlüsse, die er sonst aus dem Verb zieht. Über Maesn benutzen Sie die Verben, die Sie erwarten, und die Zuordnung auf die 48 Pfade bleibt auf dieser Seite.
Das nächste System kostet nichts
Sobald BuchhaltungsButler läuft, antwortet jedes andere unterstützte Buchhaltungs- und ERP-System auf derselben Schnittstelle, mit denselben Objekten und demselben Umschlag. Ihre zweite Integration ist Konfiguration, und die Zeit dafür stecken Sie in Ihr Produkt statt in die API eines weiteren Herstellers.
Die BuchhaltungsButler-Anbindung läuft, der Eintrag ist eine eigene Sache
Die meisten Anbieter hören bei der API auf. Maesn übernimmt die technische Seite und die Beziehung, und bei BuchhaltungsButler liegen die beiden weiter auseinander als sonst: Die Anbindung läuft und ist nicht gelistet, und der Eintrag ist ein Programm mit einer Tür davor.
Technische Unterstützung
Eine Integration gegen die Unified API und ein Datenmodell, identisch zu jedem anderen System, das Maesn unterstützt. Ihre Entwickler treffen hier auf dieselbe Schnittstelle wie beim nächsten System.
Unterstützung bei der Partnerschaft
Maesn betreibt die Integration in Abstimmung mit BuchhaltungsButler, und wo sich ein Eintrag lohnt, schätzen wir die Machbarkeit mit Ihnen ein, statt das Ergebnis zu versprechen.
Angebunden, ohne Erwähnung
Das ist der Normalfall, und so beschreibt es die Dokumentation von Maesn: Die Integration läuft in Abstimmung mit BuchhaltungsButler und trägt in deren Umfeld keine besondere Erwähnung. An der Funktion Ihres Produkts hängt davon nichts.
Auf ihrer Plattform gelistet
Ein autorisiertes Partnerprogramm kann ein Produkt auf der BuchhaltungsButler-Plattform unter Schnittstellen und API-Zugang listen. Das Programm wird als exklusiv und stark begrenzt beschrieben. Es ist also eine Frage der Machbarkeit und kein Schritt im Plan.
Der Unterschied zählt, sobald Sie einen Start um den Eintrag herum planen. Die Integration selbst braucht weder das Programm noch den Eintrag.
Wir prüfen gemeinsam mit Ihnen, ob das Partnerprogramm für Ihren Fall infrage kommt.
Drei BuchhaltungsButler-Zugangsdaten, einmal eingesammelt
BuchhaltungsButler hat keinen OAuth-Redirect. Ihr Kunde schaltet den API-Zugang frei, kopiert drei Werte aus seinem Konto und übergibt sie, und alles danach läuft auf der Seite von Maesn. Es gibt zwei Wege, sie einzusammeln, und welchen Sie wählen, ist eine Produktentscheidung und keine technische.
- API-Zugangsdaten
- Drei Werte von Ihrem Kunden
Ein Ablauf, jeder Kunde. Maesn verwahrt die drei Werte und signiert jede Anfrage dahinter.
- Die drei Zugangsdaten
- API Client, API Secret und API Key werden einmal eingereicht und danach für jeden Aufruf benutzt. Sie werden bei der Verbindung verwahrt, statt mit Ihren Anfragen mitzulaufen.
- Die Übersetzung der Verben
- Jede Anfrage, die Maesn an BuchhaltungsButler schickt, ist ein POST, gleich welches Verb Sie benutzt haben. Die Zuordnung von Ihrem GET auf deren Pfad /get liegt hier und nicht in Ihrem Client.
Der Headless-Weg zählt hier mehr, als er aussieht. Ein Kunde, der gerade drei einzelne Werte aus einem Buchhaltungswerkzeug herauskopiert hat, ist der Kunde, der einen Redirect am ehesten abbricht, und diesen Schritt in der eigenen Oberfläche zu erledigen, macht den Unterschied.
- 1
Ihr Kunde schaltet die API frei
Er meldet sich bei BuchhaltungsButler an und klickt unter den Kundeneinstellungen auf API-Zugang aktivieren. API Client, API Secret und API Key erscheinen an derselben Stelle.
- 2
Die drei Werte erreichen Maesn
Entweder über die gehostete Seite, die Maesn für ihn öffnet, oder über Ihr eigenes Formular und den Create-Account-Endpunkt, der apiKey, clientName und clientSecret entgegennimmt. Beide Wege enden an derselben Stelle.
- 3
Sie bekommen einen Account-Key zurück
Von da an tragen Ihre Aufrufe Ihren API-Schlüssel und diesen Account-Key, und sie sehen genauso aus wie Ihre Aufrufe gegen jedes andere angebundene System.
Jedes System im Katalog authentifiziert anders, und bei diesem ist das Protokoll trivial und die Übergabe davor das Risiko. Unified Authentication macht daraus einen einmaligen Aufwand: Drei Werte hier, ein OAuth-Redirect beim nächsten System und Datenbank-Zugangsdaten beim übernächsten verhalten sich von Ihrer Seite aus gleich, und jedes davon endet in demselben Account-Key.
BuchhaltungsButler-Daten bleiben aktuell mit einem geplanten Abruf
BuchhaltungsButler sendet nicht. Aktuell hält die Daten ein Lesezugriff nach Zeitplan, und wo Ihr Produkt für ein bestimmtes Objekt ein Event braucht, lässt sich das für Ihre Anbindung einrichten.
Von sich aus nichts. Eine Änderung im Buchhaltungswerkzeug meldet sich nicht selbst. Der Lesezugriff ist also das, was es Ihnen sagt.
Ein geplanter Delta-Abruf auf denselben Filtern und derselben Paginierung, die Sie überall sonst auf der Plattform benutzen. Sie fragen, was sich seit dem letzten Lauf geändert hat, und bekommen es im gemeinsamen Modell zurück.
Ein Abruf hat eine Eigenschaft, die ein Push nicht hat: Er holt nach. Wenn Ihr Worker eine Stunde ausfällt, liefert der nächste Lauf trotzdem alles, was sich in dieser Stunde geändert hat, und auf einem System, das um stapelweise eintreffende Belege herum gebaut ist, zählt das mehr als Latenz.
Ein System, das Sie abfragen müssen, ist die Stelle, an der die Kosten einer Integration je System am deutlichsten sichtbar werden: Sie schreiben hier eine Schleife zur Änderungserkennung und dann noch eine für das nächste System, mit eigener Filtersyntax und einer eigenen Vorstellung davon, was eine Seite ist. Ein Weg, zu filtern und zu paginieren nimmt diese Wiederholung weg. Was Sie über das Event-Modell verarbeiten und was Sie nach Zeitplan abholen, bleiben zwei Wege, und bei BuchhaltungsButler läuft heute alles über den zweiten. Die Objekte zu benennen, die Ihr Anwendungsfall tatsächlich berührt, ist der Schritt, der das konkret macht, und er lohnt sich vor einer Zusage an einen Kunden.
Was BuchhaltungsButler verlangt, vor dem ersten Aufruf
Vor einer BuchhaltungsButler-Integration steht keine App zu registrieren, kein Tarif zu erfüllen und keine Zertifizierung. Was es gibt, liegt im Konto Ihres Kunden, und damit ist es eine Frage für Ihren Onboarding-Bildschirm und nicht für Ihr Backlog.
- Ihr Kunde schaltet den API-Zugang frei
- In seinem BuchhaltungsButler-Konto gibt es unter den Kundeneinstellungen den Eintrag API-Zugang aktivieren. Bevor ihn jemand anklickt, gibt es nichts, womit man sich verbinden könnte, und es ist der eine Schritt, den Sie ihm nicht abnehmen können. Sagen Sie das in Ihrer eigenen Oberfläche.
- Drei Werte, vom selben Bildschirm
- Sobald der API-Zugang aktiv ist, erscheinen API Client, API Secret und API Key im selben Bereich. Ihr Kunde kopiert alle drei. Fehlt einer, scheitert die Verbindung beim Handshake und nicht erst beim ersten Aufruf.
- Kein Testkonto zu verhandeln
- BuchhaltungsButler bietet einen kostenlosen Test an, für den Sie sich selbst anmelden können, und Maesn stellt darüber hinaus eine Sandbox bereit. Sie können die Integration bauen und testen, bevor ein Kunde darauf wartet, und das gilt nicht für jedes System im Katalog.
Wir gehen die Übergabe der Zugangsdaten und die Sandbox mit Ihnen durch.
Debitoren und Kreditoren kommen als Kunden und Lieferanten
BuchhaltungsButler führt seine Geschäftspartner dort, wo die Buchhaltung sie braucht, und nicht dort, wo ein API-Nutzer sie erwartet. Diese Lücke wird hier geschlossen, Ihr Produkt sieht also die Objekte, die es ohnehin kennt.
Ein gelöschter BuchhaltungsButler-Beleg ist ein Kennzeichen
Einen Beleg hier zu löschen kennzeichnet ihn, statt ihn zu entfernen, und eine festgeschriebene Buchung bleibt, wo sie ist. Planen Sie Korrekturen auf diesem System als neue Belege, denn genau das erwartet seine eigene Buchungslogik ohnehin.
Ein Bruttobetrag, und daneben kein Netto und keine Steuer
Beträge kommen als ein einzelner Bruttowert an, die Felder für Netto und Steuer bleiben leer. Wenn Ihr Produkt eine Nettobasis braucht, ist das Rechnen auf Ihrer Seite oder eine Frage an eine andere Quelle, und es ist billiger, das vor dem Entwurf des Bildschirms zu wissen als danach.
Was Sie lesen, kommt im gemeinsamen Common Data Model zurück, und hier leistet dieses Modell etwas, das die Hersteller-API nicht leistet: Es gibt Ihnen Kunden und Lieferanten als eigenständige Objekte, während es darunter Debitoren und Kreditoren sind, die über einen Einstellungsendpunkt geschrieben werden.
Die Form des Systems lohnt sich zu kennen, bevor Sie darum herum planen. BuchhaltungsButler ist um Belege herum gebaut, es handelt also mit Eingangsrechnungen, Rechnungen und den Buchungsvorschlägen, die seine eigene Automatik erzeugt, und ein Buchungsvorschlag ist diese Automatik, die ihre Arbeit zeigt. Es ist dieselbe Form, die sevdesk hat, und sie lohnt sich früh gegen Ihren Anwendungsfall zu halten: Ein Produkt, das auf Aufträgen und Wareneingängen aufsetzt, verlangt von einem Belegsystem etwas, wofür es nicht entworfen wurde.
Sagen Sie uns, welche Objekte Ihr Anwendungsfall braucht, und wir bestätigen, was möglich ist.











