maesn

Tripletex-Schnittstelle und API-Integration

Tripletex ist eine norwegische Cloud-Buchhaltungsplattform, die von Einzelunternehmern bis zu mittelständischen Firmen eingesetzt wird, mit eigener API und eigenem Entwicklerprogramm. Binden Sie sie über Maesn an, und Sie erreichen sie mit derselben REST API und demselben Datenmodell wie jedes andere unterstützte System.

IHR PRODUKT+28
Diese Software-Teams vertrauen uns
HubSpotTipaltiPaywiseRallyQredNordhealthFindityFintoClockinHEROHolviLanes & PlanesAgicapHubSpotTipaltiPaywiseRallyQredNordhealthFindityFintoClockinHEROHolviLanes & PlanesAgicap
Warum es schnell geht

Eine Tripletex-Anbindung in Tagen

Tripletex ist gut dokumentiert, und drei seiner Eigenheiten landen bei Ihren Entwicklern, bevor etwas Nützliches passiert. Hier stehen sie, und hier steht, was Maesn davon abnimmt.

Tripletex: Die Authentifizierung sieht aus wie ein Schlüssel und verhält sich wie eine Session

Das Session-Token wird hier verwahrt

Tripletex verbindet zwei Tokens zu einem dritten: ein Consumer-Token, das Ihre Integration ausweist, und ein Employee-Token, das Ihr Kunde in seinem eigenen Tripletex erzeugt. Zusammen ergeben sie ein Session-Token, und das ist es, was jeder spätere Aufruf tatsächlich trägt, und es wird mit einem Ablaufdatum erzeugt und nicht mit einer Laufzeit. Maesn leitet es ab und leitet ein neues ab, wenn es abgelaufen ist.

Tripletex: Neue Buchungszeilen werden über die Zeilennummer adressiert, nicht über die ID

Die Zeilennummerierung passiert hier

Einen Buchungssatz in Tripletex zu aktualisieren läuft für bestehende Zeilen über die ID, aber eine Zeile, die Sie hinzufügen, hat noch keine ID und muss stattdessen ihre Zeilennummer tragen. Maesn hat kein Zeilenfeld, das es Ihnen geben könnte, und eines zu erfinden würde diese Buchführung in Ihr Schema schieben. Also liest Maesn vor der Aktualisierung den Buchungssatz, nimmt die bereits belegten Zeilen und nummeriert die neue Zeile selbst. Ihr Code sendet einfach die Zeile.

Tripletex: Die Firma reist im Feld für den Benutzernamen mit

Einmal aufgelöst, beim Verbinden

Jede Anfrage muss sagen, zu welcher Firma sie gehört, und Tripletex entnimmt das dem Benutzernamen, mit dem Sie sich anmelden, und nicht der Anfrage. Ein Mitarbeiter, der null oder gar nichts sendet, erreicht die eigene Firma. Ein Buchhalter sendet die Firmen-ID eines Mandanten und muss wissen, welche Mandanten er erreichen darf. Maesn klärt das beim Anlegen der Verbindung. Ihre Anfragen tragen also einen Account-Key und nie eine Firma.

Auf Ihrer Seite bleibt ein REST-Aufruf gegen ein Datenmodell, das Sie einmal implementieren. Ein norwegischer Kunde ist kein Grund mehr, ein zweites Projekt zu eröffnen.

Der zweite der drei ist der, der Leute überrascht, weil nichts daran nach einem Problem aussieht, bis die erste Aktualisierung fehlschlägt. Eine Zeile zu einem bestehenden Buchungssatz hinzuzufügen wird nicht so adressiert wie der Rest des Objekts: Bestehende Zeilen werden über ihre ID gefunden, aber eine Zeile, die es noch nicht gibt, muss ankündigen, welche Position sie einnehmen wird. Maesn liest den Buchungssatz, sieht, welche Positionen belegt sind, und nummeriert die neue, bevor der Schreibzugriff hinausgeht, diese Logik erreicht Ihren Code also nie. Wenn später doch etwas schiefgeht, bedeutet ein Fehlermodell über den ganzen Katalog einen Status und einen Body zum Auslesen, Tripletex gehört also in Ihr Support-Runbook und nicht in eine Verzweigung in Ihrem Client.

Ein kurzes Gespräch genügt meist, um zu klären, ob Maesn zu Ihrem Anwendungsfall passt.

Warum Unternehmen Maesn wählen

Drei Gründe, die Tripletex-Schnittstelle über Maesn anzubinden

Tripletex direkt anzubinden ist ein Projekt, das ein guter Entwickler abschließen kann. Seinen Austausch zweier Tokens ein Jahr lang zu halten, seine Zeilennummerierung bei jedem Schreibzugriff korrekt zu halten und dann dasselbe für das nächste System noch einmal zu tun, entscheidet über Ihre Roadmap.

01

Die Tripletex-Arbeit bleibt hier

Der Tausch der zwei Tokens, die Session, die mit einem Ablaufdatum erzeugt wird, der Buchhalter, der eine Firma wählen muss, und die Zeilennummerierung bei jeder Aktualisierung eines Buchungssatzes sind das, was jede Tripletex-Integration lösen muss. Gelöst wird es einmal, hier, für jeden Kunden, den Sie anbinden.

02

Heute live, Lesen und Schreiben

Konten, Buchungssätze und Steuersätze sind auf der Verbindung lesbar, und Buchungssätze lassen sich darüber anlegen und aktualisieren. Das ist ein funktionierender Buchungsweg und keine reine Lesesicht. Der Rest des Katalogs ist auf Anfrage verfügbar, sagen Sie uns also, was Ihr Anwendungsfall braucht, und wir bestätigen es, bevor Sie bauen.

03

Das nächste System kostet nichts

Sobald Tripletex läuft, antwortet jedes andere unterstützte Buchhaltungs- und ERP-System auf derselben Schnittstelle, mit demselben Datenmodell dahinter und denselben zwei Headern davor. Ihre zweite Integration ist ein Konfigurationsschritt, und Ihre Entwickler verwenden wieder, was sie hier gelernt haben.

Authentifizierung

Zwei Tripletex-Tokens, und die eine Session daraus

Tripletex authentifiziert mit einem Token, das Ihr Kunde hält, und einem Token, das Sie halten, zusammengeführt zu einem Session-Token, das jeden späteren Aufruf trägt. Maesn übernimmt das Zusammenführen. Vor dem Entwurf Ihres Onboardings sollten Sie wissen, dass Tripletex eine Einzelfirma und eine Kanzlei unterschiedlich behandelt, und dass dieser Unterschied bis in die Anfrage selbst reicht.

Auth-Verfahren
Zwei Tokens, zu einer Session verbunden
Headless oder interaktiv

Eine Implementierung, und der Kanzleifall gehört dazu.

Zwei Dinge, die Sie vor dem Bauen wissen sollten
Einzelfirma oder Kanzlei
Tripletex hat zwei davon, und der Unterschied ist nicht kosmetisch. Ein Mitarbeiter meldet sich an und ist immer in einer Firma. Ein Buchhalter erreicht viele. Eine davon muss also gewählt werden, und Tripletex veröffentlicht einen eigenen Aufruf, der die Firmen auflistet, die eine Anmeldung benutzen darf. Maesn macht diesen Aufruf und klärt die Wahl, während die Verbindung entsteht, der Fall mit mehreren Gesellschaften kostet Sie also eine Entscheidung beim Onboarding und keinen Codepfad.
Zwei Wege, das Token einzusammeln
Weil das Employee-Token ein Wert ist, den Ihr Kunde bereits hat, steht Tripletex auf beiden unserer Authentifizierungswege. Sie können ihn auf eine Maesn-Seite schicken, die danach fragt, oder Sie fragen in Ihrem eigenen Produkt danach und geben es direkt an die API, die den Account-Key zurückgibt, ohne eine Seite von uns dazwischen. Der zweite Weg hält Ihr Onboarding vollständig in Ihrer eigenen Oberfläche.

Das Session-Token hinter all dem wird mit einem Ablaufdatum erzeugt. Es ist also von Haus aus endlich und nicht durch Entzug. Maesn leitet ein neues ab, wenn es abläuft, und deshalb ändert sich der Account-Key, den Sie halten, dabei nicht.

Wie Ihr Kunde sich verbindet
  1. 1

    Ihr Kunde gibt sein Employee-Token ein

    Er erzeugt es in seinem eigenen Tripletex unter den Benutzereinstellungen und dem API-Zugang und gibt es entweder auf einer Maesn-Seite oder in Ihrem Produkt ein. Es ist ein Wert, und ein Passwort von ihm kommt an keiner Stelle des Austauschs vor.

  2. 2

    Maesn verbindet es mit Ihrem Consumer-Token

    Ihr Consumer-Token ist auf Ihrem Mandanten bereits eingerichtet. Die beiden treffen sich also auf unserer Seite und ergeben das Session-Token, das Tripletex erwartet. Ihr Consumer-Token läuft nie durch Ihr Frontend, und Ihr Kunde sieht es nie.

  3. 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.

Es lohnt sich, konkret zu benennen, wer was hält, denn die Aufteilung ist ungewöhnlich. Ihr Consumer-Token gehört Ihnen und weist Ihr Produkt bei Tripletex über jeden Kunden hinweg aus, den Sie anbinden. Das Employee-Token gehört dem Kunden, entsteht in dessen eigenem Tripletex und wird nie Ihres. Das Session-Token, das den Verkehr tatsächlich trägt, existiert nur, weil beide vorlagen, und es wird mit einem Ablaufdatum erzeugt und nicht mit einer Laufzeit. Unified Authentication macht daraus eine Einzelheit statt eines Entwurfsproblems: Der Austausch, die Session und der Account-Key verhalten sich hier genauso wie bei einem System mit einfachem Redirect, Ihr Produkt sieht also über jedes System hinweg, das es erreicht, dieselbe Anbindung.

Bevor Sie starten

Was eine Tripletex-Verbindung vorab verlangt

Tripletex stellt drei Dinge vor eine Integration, und nur eines davon müssen Sie mehr als einmal tun.

Ihr eigenes Consumer-Token, einmal
Tripletex stellt ein Consumer-Token je Integration aus und nicht je Kunde, und Ihres ist das, was Ihr Produkt über alle hinweg ausweist. Sie beantragen es bei Tripletex und übergeben es uns einmal, und wir richten es auf Ihrem Mandanten ein. Nichts an diesem Schritt wiederholt sich je Kunde.
Eine Testumgebung, die schnell kommt
Tripletex betreibt eine eigene Testumgebung mit eigenen Consumer- und Employee-Tokens, und unsere kam schnell zurück, zusammen mit einer Testanmeldung. Maesn erreicht sie als eigenes Zielsystem, Sie können also dagegen bauen und testen, bevor ein echter Kunde beteiligt ist.
Das Employee-Token Ihres Kunden, mit seinen Berechtigungen
Jeder Kunde erzeugt sein eigenes Employee-Token in Tripletex unter den Benutzereinstellungen und dem API-Zugang, und dafür braucht es auf seiner Seite einen Administrator. Tripletex erwartet, dass diesem Token beim Erzeugen ein Satz Berechtigungen mitgegeben wird. Es lohnt sich also, Ihrem Kunden vorher zu sagen, welche Daten Sie lesen werden. Dieses Token ist der eine Wert, den er beim Verbinden eingibt, und es bleibt seines.

Wir gehen das Consumer-Token und die Objektliste mit Ihnen durch, bevor Sie mit dem Bauen anfangen.

Das Datenmodell

Eine Tripletex-Buchung kommt in einer gemeinsamen Form

Tripletex trägt seine Buchungszeilen als Array am Buchungssatz, zählt in einem Feld, das es abkündigt, und führt neben der Währung, in der Sie gebucht haben, immer einen norwegischen Betrag mit. Alle drei reichen bis in Ihr Schema, es hilft also, sie zu kennen, bevor Sie etwas abbilden.

Die Gesamtzahl wird abgekündigt

Tripletex paginiert von sich aus, und sein Antwortumschlag trägt weiterhin ein Feld für die Größe des gesamten Ergebnisses, in der eigenen Dokumentation als veraltet gekennzeichnet. Am Konten-Endpunkt haben unsere Entwickler überhaupt keine Gesamtzahl zurückbekommen. Maesn paginiert diesen Lesezugriff selbst, statt einer Zahl zu vertrauen, die abgekündigt wird. Sie bekommen also in jedem Fall eine vollständige Liste.

Jeder Buchungssatz hat eine norwegische Seite

Tripletex bucht unter jeder von Ihnen gewählten Währung in norwegischen Kronen und zeigt beides. Die praktische Folge liegt auf dem Hinweg und nicht auf dem Rückweg: Einen Buchungssatz in Euro oder Dollar zu buchen heißt, einen Wechselkurs mitzusenden, denn das System muss diesen Buchungssatz auch in Kronen ausdrücken, bevor es ihn annimmt.

Was Sie lesen, kommt im gemeinsamen Common Data Model zurück, ein Buchungssatz aus Tripletex hat also dieselbe Form wie einer aus einem zehnmal so großen System, und der Code, den Sie hier schreiben, ist der Code, den Sie für das nächste wiederverwenden. Tripletex macht diese Abbildung leichter als die meisten: Sein Buchungssatz trägt seine Buchungszeilen als Array am Objekt, und das kommt dem nahe, wie das gemeinsame Modell einen ohnehin beschreibt. Ein langes Hauptbuch zu lesen nutzt dasselbe Paging und Filtern wie jedes andere System im Katalog, die Schleife auf Tripletex ist also die, die Sie schon geschrieben haben.

Was bis in Ihr Schema reicht, ist die Währung. Tripletex drückt jeden Buchungssatz unter der von Ihnen gewählten Währung zusätzlich in norwegischen Kronen aus und zeigt beide, in Euro oder Dollar zu buchen ist also nicht vollständig ohne einen Wechselkurs dazu. Das ist eine Entscheidung über Ihre eigenen Daten, bevor es eine Abbildungsfrage ist, und es ist dieselbe Entscheidung, ob Sie Tripletex über uns erreichen oder direkt. Innerhalb der Visma-Gruppe ist es auch das, was dieses System am stärksten von seinen Geschwistern auf der Visma-Integrationsübersicht unterscheidet.

Sagen Sie uns, welche Objekte Ihr Anwendungsfall braucht, und wir bestätigen, was möglich ist.

Tripletex FAQ

Tripletex API-Fragen

Was ist Tripletex?

Tripletex ist eine norwegische Cloud-Buchhaltungsplattform mit Buchhaltung, Rechnungsstellung, Projekten und Lohnabrechnung, im Einsatz von Einzelunternehmern bis zu mittelgroßen Firmen und bei den Buchhaltungsbüros, die sie betreuen. Für ein Softwareteam zählt vor allem, wie man sie erreicht: ein Token, das Ihr Kunde erzeugt, ein Token, das Sie halten, und eine REST-API, die Maesn bereits spricht.

Wie funktioniert die Authentifizierung bei Tripletex mit Maesn?

Tripletex benutzt drei Tokens. Ein Consumer-Token weist Ihre Integration aus und wird einmal auf Ihrem Maesn-Mandanten eingerichtet. Ein Employee-Token erzeugt Ihr Kunde in seinem eigenen Tripletex und gibt es beim Verbinden ein. Maesn verbindet die beiden zu einem Session-Token, das jeden späteren Aufruf trägt, und gibt Ihnen einen Account-Key zurück. Von da an tragen Ihre Anfragen Ihren API-Schlüssel und diesen Account-Key, genau wie bei jedem anderen System im Katalog.

Wer erzeugt das Tripletex-Employee-Token?

Ihr Kunde, in seinem eigenen Tripletex unter den Benutzereinstellungen und dem API-Zugang, und dafür braucht es auf seiner Seite einen Administrator. Es bleibt seines, und es ist der einzige Wert, den er beim Verbinden eingibt. Ihr Consumer-Token ist davon getrennt, es gehört zu Ihrer Integration, und es läuft nie durch Ihren Kunden oder Ihr Frontend.

Was kann ich in Tripletex heute lesen und schreiben?

Konten, Buchungssätze und Steuersätze sind lesbar, und Buchungssätze lassen sich außerdem anlegen und aktualisieren. Der Buchungsweg ist also live und nicht nur lesend. Der Rest des Tripletex-Katalogs ist auf Anfrage verfügbar. Sagen Sie uns, welche Objekte Ihr Anwendungsfall braucht, und wir bestätigen, was verfügbar ist, bevor Sie dagegen bauen.

Wie geht Tripletex mit einer Kanzlei um, die mehrere Mandanten betreut?

Anders als bei einer Einzelfirma, und es reicht bis in die Anfrage. Das Employee-Token eines Buchhalters kann mehrere Mandantenfirmen erreichen. Eine davon muss also beim Herstellen der Verbindung gewählt werden, und diese Wahl läuft danach mit jedem Aufruf mit. Maesn klärt sie beim Verbinden, entweder aus der Liste, die Tripletex zurückgibt, oder aus einer Auswahl, die Ihr Kunde im Ablauf trifft, Ihr Produkt trägt sie also nicht.

Trennt Tripletex Kunden und Lieferanten?

Ja. Tripletex veröffentlicht getrennte Endpunkte für Kunden und für Lieferanten, daneben einen Endpunkt für Kontakte, statt eines Datensatzes mit einem Rollenkennzeichen. Über Maesn sind diese Objekte auf Anfrage verfügbar, und sie kommen in derselben gemeinsamen Kontaktform an, die Sie für jedes andere System schon benutzen. Die Trennung bleibt also auf der Tripletex-Seite der Verbindung.

Wie sind die Ratenbegrenzungen der Tripletex-API?

Tripletex zählt sie je Mitarbeiter und je Consumer statt je Firma, und es veröffentlicht keine feste Zahl. Was es veröffentlicht, ist der Stand: Jede Antwort trägt, wie viele Aufrufe in der laufenden Periode erlaubt sind, wie viele übrig sind und wie viele Sekunden noch bleiben, und sobald das Budget aufgebraucht ist, gibt jeder Aufruf 429 zurück, bis die Periode von vorn beginnt. Ein geplanter Lesezugriff kann sich an diesen Headern ausrichten.

Warum Tripletex über Maesn anbinden statt direkt?

Weil die Arbeit bei Tripletex nicht aufhört. Direkt heißt, einen Tausch von zwei Tokens und die daraus abgeleitete Session zu halten, den Fall der Kanzlei im eigenen Onboarding zu lösen, eine Firmen-ID im Authentifizierungs-Header jedes Aufrufs zu führen und Journalzeilen bei jeder Aktualisierung richtig zu nummerieren, und das für ein System in einem Land. Über Maesn bauen Sie einmal gegen ein Datenmodell, und jedes andere unterstützte Buchhaltungs- und ERP-System ist danach auf derselben Schnittstelle erreichbar.
Jede Integration, nach der Ihre Kunden fragen. In Tagen, nicht in Monaten.