Xero-Schnittstelle und API-Integration
Xero ist eine Cloud-Buchhaltungsplattform, die kleine Unternehmen und Kanzleien in UK, Irland, Australien, Neuseeland, den USA und Kanada einsetzen. Binden Sie es über Maesn an, und Sie erreichen es mit derselben REST API und demselben Datenmodell wie jedes andere unterstützte System.
Eine Xero-Anbindung in Tagen
Xero ist gut dokumentiert, und es lässt sich angenehm damit arbeiten. Zeit kostet ein Team die Pflege, die Xero um jeden Aufruf und jede Verbindung herum erwartet. Hier steht, was das ist, und was Maesn davon abnimmt.
Einmal geklärt, immer dabei
Xero identifiziert die angebundene Organisation über eine Tenant-ID, die bei jeder Anfrage mitlaufen muss. Maesn klärt sie bei der Authentifizierung, speichert sie bei der Verbindung und hängt sie an jeden Aufruf, damit nichts Xero-Eigenes Ihren Code erreicht.
Das Token erreicht Ihren Code nie
Xero-Access-Tokens sind kurzlebig und müssen aktiv rotiert werden, je angebundener Organisation. Maesn verwahrt die Zugangsdaten und erledigt diese Rotation hinter dem Account-Key, kein Teil Ihres Produkts speichert also ein Xero-Token oder verfolgt, wann es abläuft.
Stattdessen je Kunde zugestellt
Xero benachrichtigt Ihre App, nicht Ihren Kunden: Ein Abonnement deckt alle Verbindungen auf einmal ab, und Sie klären, zu wem das Event gehört. Maesn macht daraus Events je Kunde. Jeder Callback trägt damit die Daten eines einzigen Kunden.
In Ihrem Code kommen ein REST-Aufruf und ein Account-Key an. Teams gehen in Tagen live, und das System nach Xero ist ein Konfigurationsschritt und kein zweites Projekt.
Ein kurzes Gespräch genügt meist, um zu klären, ob Maesn zu Ihrem Anwendungsfall passt.
HERO Software baut gegen klare Dokumentation und echte Sandboxes
HERO Software digitalisiert das Backoffice für Handwerksbetriebe, vom Angebot bis zur Rechnung.
“Die Unterstützung ist wirklich erstklassig, mit beeindruckend kurzen Reaktionszeiten. Die Dokumentation ist gründlich und leicht nachvollziehbar, und dadurch war die Integration für mich ein reibungsloser Ablauf.”


Drei Gründe, die Xero-Schnittstelle über Maesn anzubinden
Xero direkt anzubinden ist ein Projekt, das Sie abschließen können. Es angebunden zu halten, und danach das nächste System hinzuzunehmen, entscheidet über Ihre Roadmap.
Die Xero-eigene Arbeit bleibt hier
Die Tenant-Auflösung, kurzlebige Tokens, die rotiert werden müssen, und das app-weite Webhook-Routing sind das, was jede Xero-Integration lösen muss. Gelöst wird es einmal, hier, für jeden Kunden, den Sie anbinden.
Events kommen je Kunde an
Xero benachrichtigt Ihre App statt Ihres Kunden: Ein Abonnement löst für alle angebundenen Organisationen gleichzeitig aus, und herauszufinden, wessen Event es war, ist Ihre Sache. Maesn teilt diesen Strom auf. Jeder Callback trägt damit einen Kunden und erreicht Sie in der Form, die jedes andere System benutzt.
Das nächste System kostet nichts
Sobald Xero läuft, antwortet jedes andere unterstützte Buchhaltungs- und ERP-System auf derselben Schnittstelle. Ihre zweite Integration ist ein Konfigurationsschritt.
Zertifiziert, gelistet und auf der richtigen Xero-Stufe
Die meisten Anbieter hören bei der API auf. Maesn übernimmt die technische Seite und die Beziehung, und bei Xero entscheidet die zweite darüber, wie weit die erste Sie bringt: Eine nicht zertifizierte App ist eine von nur zweien, die ein Kunde überhaupt verbinden kann.
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 führt Sie durch den Xero-App-Partner-Prozess, vom Aufsetzen der App über die Prüfung bis zum Eintrag im App Store, und hilft Ihnen auf die Stufe, die Ihr Anwendungsfall wirklich braucht.
- Starter
- Core
- Plus
- Advanced
- Enterprise
Was über Ihre Stufe entscheidet
Die Zahl der Verbindungen und das ausgehende Datenvolumen. Die Stufe folgt also daraus, wie viele Kunden Sie anbinden und wie viel Sie von ihnen lesen.
Was ab Advanced beginnt
Die Endpunkte für Buchungssätze und die Authentifizierung für mehrere Firmen gibt es ab der Stufe Advanced, und das sollten Sie wissen, bevor Sie einen Entwurf darauf aufbauen.
Die App ist auf Ihr Unternehmen registriert. Der Eintrag läuft also unter Ihrer Marke. Ihr Name ist das, was der Kunde beim Verbinden sieht.
Maesn führt den Xero-App-Partner-Prozess parallel zu Ihrer Integration.
Ihre App auf dem Xero-Zustimmungsbildschirm, unsere Arbeit dahinter
Xero authentifiziert über OAuth, und die App, die Ihre Kunden freigeben, ist Ihre und nicht die von Maesn. Sie registrieren sie einmal im Entwicklerportal und übergeben die Zugangsdaten, und Maesn fährt den Ablauf für jeden Kunden, den Sie danach anbinden.
- OAuth
- Ihre eigene Xero-App
Eine App, jeder Kunde. Maesn verwahrt die Zugangsdaten und die Rotation hinter Ihrem Account-Key.
- Ihre App-Zugangsdaten
- Client-ID und Secret werden einmal eingereicht und für jede Verbindung benutzt. Xero zeigt das Secret ein einziges Mal, kopieren Sie es also, bevor Sie die Seite verlassen.
- Tokens und Tenant
- Xero lässt ein Access-Token nach 30 Minuten verfallen, und die Rotation für jede angebundene Organisation läuft hier statt in Ihrem Code. Die Tenant-ID wird bei der Verbindung gespeichert und an jede Anfrage gehängt.
Wie dieser Account-Key zu Ihnen gelangt, gehört selbst zu Unified Authentication: der übliche Redirect auf Ihre Callback-URL, ein Antwort-Body oder ein signiertes Webhook-Event. Der Schlüssel muss also nie in einem Query-String reisen.
- 1
Ihr Kunde startet in Ihrem Produkt
Sie schicken ihn in den Ablauf, und Maesn öffnet den Zustimmungsbildschirm von Xero. Er trägt den Namen Ihrer App, denn die App ist auf Ihr Unternehmen registriert. Die Verbindung liest sich also als Ihre.
- 2
Xero kehrt zu Maesn zurück
Die Redirect-URL Ihrer App zeigt auf den Callback von Maesn. Der Code-Tausch und das erste Token passieren also hier statt in Ihrem Backend. Von OAuth erreicht nichts Ihren Code.
- 3
Sie arbeiten mit einem Account-Key
Maesn speichert die Verbindung und gibt einen Account-Key zurück. Ab da trägt jede Anfrage Ihren API-Schlüssel und diesen Account-Key, dieselben zwei Header, die Sie für jedes andere System im Katalog ohnehin schon senden.
Jedes System im Katalog authentifiziert anders, und bei Xero ist der Ablauf Standard und die Pflege darum herum nicht. Unified Authentication hält das von Ihrer Seite fern: Der Redirect, der Token-Lebenszyklus und die Art, wie Ihnen der Account-Key übergeben wird, sind dort konfigurierbar und identisch, ganz gleich, welches System ein Kunde anbindet.
App-weite Xero-Events, je angebundenem Kunden zugestellt
Xero unterstützt native Webhooks, und zwei Ressourcen mit zwei Event-Typen sind heute über Maesn verdrahtet. Maesn abonniert je angebundenem Kunden und vereinheitlicht die Nutzlasten. Die Form, die Sie verarbeiten, ist damit bei jedem System identisch, das Sie anbinden.
Die Einrichtung hat zwei Hälften, und nur die erste ist einmalig: Sie schalten die Ressource in Ihrer Xero-App frei, was für jeden Nutzer dieser App gilt, und Maesn registriert danach ein Abonnement je authentifiziertem Kunden, damit jeder Callback nur die Events dieses Kunden trägt. Xero sendet keine Lösch-Events und keinen Datumsfilter darauf. Alles außerhalb von Kontakten und Rechnungen bleibt also ein Abfragelauf.
Zwei Ressourcen und zwei Event-Typen sind ein schmales Fenster, und die Systeme um Xero herum ziehen es wieder anders. Was ein Event-Modell Ihnen gibt, ist eine einzige Form zum Parsen und keine einzige Zustellung: Ein Rechnungs-Event von Xero und ein Lesezugriff nach Zeitplan von einem System, das nichts sendet, kommen als derselbe Datensatz an, und nur die Frage nach der Aktualität wird anders beantwortet.
Was Xero voraussetzt
Xero stellt drei Dinge vor eine Integration, und alle lassen sich leichter einplanen als auf halber Strecke entdecken.
- Ein Xero-Konto mit Administratorrechten
- Es dient dazu, Ihre App und später Ihre Partnerschaft zu verwalten. Ein kostenloses Testkonto genügt, und es muss kein Konto sein, das Sie sonst benutzen.
- Ihre eigene Xero-App, von Ihnen registriert
- Sie legen sie im Entwicklerportal von Xero als Web-App an, unter dem Namen Ihres Produkts, und diesen Namen lesen Ihre Kunden auf dem Zustimmungsbildschirm. Die Redirect-URL zeigt auf den Callback von Maesn. Danach erzeugen Sie das Client Secret, das Xero genau einmal anzeigt, und schicken Client-ID und Secret an Maesn.
- Zwei nicht zertifizierte Apps je Kunde
- Xero lässt je Organisation oder Kanzlei höchstens zwei nicht zertifizierte Apps gleichzeitig zu. Bis Ihre zertifiziert ist, konkurriert sie bei jedem Kunden, den Sie erreichen wollen, um einen dieser beiden Plätze. Die Zertifizierung über den App-Partner-Prozess hebt das auf, und Maesn führt den Prozess mit Ihnen durch.
Wir gehen die App-Einrichtung und den Zertifizierungsweg mit Ihnen durch.
Eine Form für Xero, und für das nächste System
Xero ist das System, mit dem die meisten Produkte anfangen. Die Form, in der es ankommt, ist damit die Form, an die sich der Rest Ihres Katalogs halten muss. Entschieden wird das hier und nicht je System.
Korrekturen reichen weniger weit als Lesezugriffe
Es lassen sich mehr Objekte lesen als schreiben, und Aktualisierungen an Ort und Stelle beschränken sich auf Kontakte und Ausgaben. Wenn Ihr Produkt Datensätze bearbeitet, statt neue zu buchen, ist das die Grenze, die Sie zuerst prüfen sollten.
Standardmäßig löscht kein Objekt
Für kein Objekt ist Löschen freigeschaltet. Die Buchhaltungspraxis erwartet Korrekturen und Stornos ohnehin als neue Belege, planen Sie sie also so und nicht um ein Löschen herum, das Sie erst anfragen müssten.
Alles andere ist eine Anfrage und keine Sackgasse
Objekte mit der Kennzeichnung auf Anfrage fehlen nicht, sie sind nur nicht standardmäßig freigeschaltet. Sagen Sie uns, welche Ihr Anwendungsfall braucht, und sie kommen dazu.
Was Sie lesen, kommt im gemeinsamen Common Data Model zurück, eine Rechnung aus Xero hat also dieselbe Form wie eine Rechnung aus jedem anderen unterstützten System, und der Code, den Sie hier schreiben, ist der Code, den Sie für das nächste wiederverwenden.
Sagen Sie uns, welche Objekte Ihr Anwendungsfall braucht, und wir bestätigen, was möglich ist.












