maesn
Nach Rolle

Produkt und Entwicklung liefern eine Integration, nicht eine je Buchhaltungssystem

Ihre Kunden führen ihre Bücher in dem System, für das sie sich entschieden haben, und diese Wahl ist ihre und nicht Ihre. Maesn legt eine REST-API vor alle diese Systeme, und Sie liefern eine Integration statt Dutzender.

Die Rechnungen eines Kunden lesen
ohne vereinheitlichende Schicht
  • DATEVOAuth + Client Credentials, XML
  • XeroMandanten-ID je Verbindung, REST
  • sevdeskAPI-Token, eigene Feldnamen
  • und danach ein Client je System
mit Maesn
GET /invoices
Ein Aufruf, eine Form, eine Anmeldung. Welches System dahinter steht, ist ein Wert im Header.
Diese Software-Teams vertrauen uns
HubSpotTipaltiPaywiseRallyQredNordhealthFindityFintoClockinHEROHolviLanes & PlanesAgicapHubSpotTipaltiPaywiseRallyQredNordhealthFindityFintoClockinHEROHolviLanes & PlanesAgicap
Das Problem

Jedes System erledigt denselben Use Case, aber jedes auf seine eigene Weise

Jedes System hat das Rad neu erfunden: andere Anmeldeverfahren, andere Objektstruktur, mehrere API-Aufrufe für einen einzigen Datensatz, Webhooks, die es entweder nicht gibt oder die anders funktionieren, benutzer- gegen anwendungsbezogen, synchrone gegen asynchrone Aufrufe, Technologien zwischen REST, SOAP und XML/CSV-Upload, Zulassungsverfahren, dünne Dokumentation, fehlende Sandboxes, verschiedene Paginierungen, Ratenbegrenzungen, Datenformate, Entwicklerzugänge und vieles mehr.

7Systeme

verlangen sieben verschiedene Sätze an Pflichtfeldern für dieselbe Ausgabe

3Feldnamen

so viele Arten gibt es, wie diese Systeme das Konto nennen, auf das die Zeile bucht

3 / 4netto / brutto

erwarten den Betrag netto, gegen vier, die ihn brutto erwarten, und der Unterschied ist die Steuer

Ein Objekt, über die Systeme gezählt, die es unterstützen. Das ist die Arbeit, die in einer Schätzung je Konnektor nicht enthalten ist, und Ausgabenmanagement legt sie Feld für Feld offen.

Ein neues System anzubinden heißt immer, neue Wege kennenzulernen, etwas zu bauen, die Einzelheiten zu verstehen und die Eigenheiten zu erkunden, die nicht dokumentiert sind. Das kostet Zeit und lässt sich oft nur erkunden, wenn man wirklich tief in ein System einsteigt und eine Technologiepartnerschaft aufbaut. Beide Hälften davon, die undokumentierten Eigenheiten und die Partnerschaft, die den Zugang überhaupt erst öffnet, stehen System für System in was der Eigenbau dieser Anbindungen bedeutet.

Aber wollen Sie das wirklich tun? Besonders dann, wenn genau das längst getan ist?

Wie Maesn das löst

Alles vereinheitlicht, als wäre es nur ein System

Derselbe Aufruf, jedes System
GET /invoices?limit=50
 
X-API-KEY: <x-api-key> # Ihre Kennung bei uns
X-ACCOUNT-KEY: <x-account-key> # die Kennung Ihres Kunden, bei der Anmeldung erhalten
 
# Derselbe Aufruf für jedes angebundene System. Welches System
# antwortet, entscheidet der Account-Key und kein Zweig in Ihrem Code.

Sie binden einmal an, gegen ein gemeinsames Datenmodell. Eine Rechnung hat dieselben Feldnamen und dieselben Typen, ob sie aus DATEV, Xero oder sevdesk kommt, und Ihre Produktlogik trägt keinen Zweig je Hersteller mehr. Ein Aufruf wie GET /invoices bleibt derselbe Aufruf, und welches System ihn beantwortet, ist ein Wert, den Sie mitgeben, und kein Codepfad, den Sie pflegen.

Einen Kunden zu verbinden ist ein Ablauf und kein Projekt. Unified Authentication fängt die Herstellerunterschiede ab, die es wirklich gibt, hier eine App-Registrierung, dort ein Mandant, der beim Verbinden gewählt wird, und die Tokens bleiben auf unserer Seite. Wo eine Installation ein Feld trägt, nach dem sonst niemand fragt, greift Customisation Handling am Modell vorbei auf den eigenen Endpunkt des Systems, und eine Ausnahme bleibt eine Anfrage statt eines Seitenzweigs.

Was Sie bekommen

Alles, was die Entwicklung braucht, um in Tagen live zu gehen

Unsere Maesn-Funktionen vereinheitlichen alles, was sich vereinheitlichen lässt, und bei Herausforderungen eines einzelnen Use Case helfen wir Ihnen weiter.

  • Common Data Model

    Eine Feldnamen-Übersetzung je Hersteller, und die Zuordnungstabelle, die mit jedem System wächst.

  • Unified Authentication

    Einen Hersteller-Zugang je System, dazu den Token-Lebenszyklus dahinter.

  • Unified Pagination & Filtering

    Die Seitenschleife je System, und das nächtliche Komplett-Neulesen, das die Frage nach Änderungen ersetzt.

  • Unified Webhooks

    Ein Abonnement und einen Event-Rumpf statt eines eigenen Herstellermodells je Anbindung.

  • Unified Error Handling

    Einen Fehlerdialekt je System, und das Support-Handbuch, das mit jedem weiteren wächst.

  • Asynchronous Processing

    Eigene Ratenbegrenzung, Reihenfolge und Aufgabenverfolgung für den Monatsabschluss, der sich nicht benimmt.

  • Unified Logging & Monitoring

    Aus eigenen Protokollen zu raten, welches System für welchen Kunden wann ausgefallen ist.

  • Customisation Handling

    Einen Seitenzweig, wenn eine Installation ein Feld trägt, nach dem sonst niemand fragt.

  • MCP Server

    Selbst eine Agenten-Schnittstelle über Buchhaltungsdaten zu bauen, sobald Ihr Produkt eine braucht.

Manche Systeme bieten gar keine Entwickler-Sandboxes an. Für die betreiben wir Testumgebungen, die Sie nutzen können.

  • DATEV Unternehmen Online
  • DATEV Rechnungswesen
  • Dynamics 365 Business Central
  • Fortnox
  • Twinfield
  • Qonto
  • Pennylane
  • Sage Active
  • Xentral
  • Abacus
  • AbaBau

Alle Sandboxes auf docs.maesn.com/sandboxes ansehen

Referenzen

Gemacht für Entwickler

HERO Software

HERO Software betreibt das Backoffice für Handwerksbetriebe, vom Angebot bis zur Rechnung, und mehr als 40.000 Handwerker arbeiten damit.

“Der Support ist wirklich erstklassig, mit beeindruckend kurzen Antwortzeiten. Die Dokumentation ist gründlich und leicht nachvollziehbar, und dadurch verlief die Anbindung für mich reibungslos. Ich schätze außerdem die große Auswahl an Buchhaltungsanbindungen und Endpunkten. Man merkt deutlich, dass die Endpunkte laufend weiterentwickelt und erweitert werden, was der Plattform noch mehr Wert gibt.”
Ricardas Kauneckas
Full Stack Engineer, HERO Software
Wo das endet

Was über die API ankommt, und was Ihr Produkt bleibt

Eine vereinheitlichende Schicht, die über ihre Grenze vage bleibt, kostet mehr als eine, die sie eng zieht.

Maesn liefert
  • Eine REST-API und ein Objektmodell über alle angebundenen Systeme
  • Ein Verbindungsablauf je Kunde, dazu Tokens und ihre Erneuerung
  • Eine Sandbox je System, auch bei denen ohne eigenen Test
  • API-Änderungen der Hersteller zentral abgefangen, nicht in Ihrem Release
  • Ein Event-Modell und ein signierter Event-Rumpf
Ihr Produkt entscheidet
  • Wann ein Datensatz Ihr Produkt verlässt und was ihn auslöst
  • Auf welches Konto, welchen Steuersatz und welche Dimension eine Zeile gehört
  • Der Abgleich vor dem Schreiben, damit kein Datensatz doppelt entsteht
  • Was Ihre Nutzer sehen, wenn ein Zielsystem etwas ablehnt
  • Der Ablauf selbst, vom Angebot bis zur Buchung

Die Entscheidungen rechts hängen davon ab, was Sie gebaut haben, und dort sollen sie bleiben. Was die Schicht abnimmt, ist der Teil, der für jedes Produkt gleich und für jedes System anders ist. Rechnungserstellung ist das kürzeste Beispiel für beide Hälften in einem Ablauf, und das Verzeichnis der angebundenen Systeme zeigt, wogegen die rechte Spalte bestehen muss. Wie Anfragen verarbeitet werden und was unterwegs gespeichert wird, steht auf der Sicherheitsseite.

FAQ Produkt & Entwicklung

Häufige Fragen

Warum Maesn nutzen, statt die Anbindungen selbst zu bauen?

Weil nicht die erste Anbindung kostet, sondern die Form der zweiten. Jedes Buchhaltungssystem hat seine eigene Anmeldung, seine eigenen Feldnamen und seine eigene Vorstellung von Paginierung, und deshalb ist eine zweite Anbindung ein zweiter Client und keine zweite Konfiguration. Mit Maesn schreiben Sie einen Client gegen ein Objektmodell, und welches System hinter einem Aufruf steht, ist ein Wert in der Anfrage und kein Zweig in Ihrem Code.

Müssen wir uns weiterhin mit den Datenformaten jedes Systems befassen?

Nein, genau das nimmt das Common Data Model ab. Objekte kommen mit denselben Feldnamen und denselben Typen an, egal wie das System darunter sie nennt oder serialisiert. Wo ein System etwas führt, für das das Modell kein Feld hat, erreichen Sie es über Passthrough oder Rohdaten, statt es zu verlieren.

Bekommen wir Sandboxes, und für welche Systeme?

Ja, und nützlich ist die Frage, für welche. Die Sandbox-Tabelle in der Dokumentation führt 30 Systeme und weist bei jedem davon eine von Maesn bereitgestellte Sandbox aus, während nur 19 dieser Systeme einen eigenen kostenlosen Test anbieten. Für die übrigen 11, darunter beide DATEV-Produkte, Fortnox und Twinfield, ist die Maesn-Sandbox der einzige Weg, gegen das System zu entwickeln, bevor es eine Partnervereinbarung gibt. Sandboxes von Maesn mit Testdaten werden angefragt und nicht selbst eingerichtet.

Müssen wir Zugriffstokens selbst verwalten?

Nein. Tokens, Erneuerungen und die Ablaufregeln je System liegen bei Maesn, und paralleler Verkehr während einer Erneuerung wird je Mandant in eine Reihenfolge gebracht, damit die Verbindung bestehen bleibt. Ihr Produkt hält einen Account-Key je Kundenverbindung und baut keinen Token-Lebenszyklus eines Herstellers nach.

Ist die Anmeldung über alle Systeme hinweg gleich?

Die Schnittstelle, die Ihr Produkt benutzt, ist für alle dieselbe: ein Ablauf, um einen Kunden zu verbinden, danach ein Account-Key. Was darunter abweicht, ist real und je System dokumentiert, denn manche Hersteller verlangen eine App-Registrierung und manche einen Mandanten, der beim Verbinden gewählt wird. Dieser Unterschied wird im Ablauf behandelt und nicht an Sie weitergereicht.

Wie funktionieren Webhooks hier?

Es gibt ein Event-Modell und einen signierten Event-Rumpf statt eines je Hersteller, und deshalb ändert sich Ihr Handler nicht, wenn ein System dazukommt. Welche Systeme native Events senden und was bei denen geschieht, die das nicht tun, steht auf der Webhooks-Seite, und das lohnt sich zu lesen, bevor Sie auf Events statt auf Lesezugriffe hin entwerfen.

Unterstützt die API Filtern, Sortieren und Paginieren?

Über dieselben zwei Parameter und denselben Delta-Filter überall dort, wo es sie gibt, und genau das macht eine Seitenschleife über Anbindungen hinweg wiederverwendbar. Es gilt nicht überall, und wir behaupten das auch nicht: die Fähigkeit muss im System darunter vorhanden sein, also unterstützt nicht jede Ressource alle drei. Die Seite zum Filtern sagt Fall für Fall, was wo gilt.

Was passiert, wenn ein ERP stark angepasst ist?

Das meiste davon landet in Zuordnungs- oder Freitextfeldern innerhalb Ihrer eigenen Einrichtung. Darüber hinaus gibt es zwei dokumentierte Wege am Modell vorbei: einen authentifizierten Passthrough-Aufruf auf jeden Endpunkt, den das System anbietet, und Rohdaten, die ungefiltert zurückgeben, was das System zurückgibt. Sie können normalisierte Endpunkte und Rohzugriff in derselben Anbindung mischen.

Was passiert, wenn ein Hersteller seine API ändert?

Maesn ist Technologiepartner der Systeme, an die es anbindet, und deshalb werden Änderungen zentral gesehen und abgefangen statt in Ihrem Release. Ein Feld, das ein Hersteller umbenennt, oder ein Endpunkt, den er versioniert, wird kein Ticket in Ihrem Backlog. Das ist das Wartungsargument für eine vereinheitlichende Schicht, und es zahlt sich nach dem ersten Jahr aus und nicht während des ersten Baus.

Ist die Dokumentation auf Englisch?

Ja, vollständig, und das ist Absicht und kein Zufall: mehrere dieser Systeme dokumentieren sich nur auf Deutsch, Schwedisch oder Niederländisch. Die Maesn-Referenz ist eine englische Quelle für alle, und genau das nimmt einer ersten Anbindung den Schritt des Rückwärts-Entwickelns ab.

Einmal bauen, auf der Unified API.

Sehen Sie, wie eine Integration über alle Systeme für Ihre Integration funktioniert, oder steigen Sie in die technische Referenz ein.