maesn
Use Case

Kreditorenbuchhaltung, bis ins Hauptbuch

Ein Produkt für die Kreditorenbuchhaltung steht und fällt damit, ob die Buchung richtig in dem System landet, das der Buchhalter Ihres Kunden tatsächlich öffnet. Maesn liefert die Lieferanten, Konten, Steuersätze und Dimensionen, die eine korrekte Buchung braucht, in einer Form, über jedes angebundene System.

Bevor eine Rechnung buchtvier Lesezugriffe
Lieferanten im Gleichstand/contacts
Kontenrahmen/accounts
Steuersätze/taxRates
Dimensionen/dimensions
eine Form, jedes System
Der POST-Aufruf
POST /bills
POST /payments
POST /bookingProposals
POST /journalEntries
Diese Software-Teams vertrauen uns
HubSpotTipaltiPaywiseRallyQredNordhealthFindityFintoClockinHEROHolviLanes & PlanesAgicapHubSpotTipaltiPaywiseRallyQredNordhealthFindityFintoClockinHEROHolviLanes & PlanesAgicap
Die Ausgangslage

Vor dem Buchungssatz steht die Zuordnung der Daten

Die Kreditorenbuchhaltung sieht nach einem Schreibvorgang aus und verhält sich wie eine Abhängigkeitskette. Der dokumentierte Ablauf verbraucht die meisten seiner Schritte, bevor der erste Datensatz entsteht.

Was Sie zuerst lesen
/contactsLieferanten zugeordnet
/accountsDas Hauptbuch
/taxRatesGenutzte Steuerschlüssel
/dimensionsKlassen, Abteilungen
Was Ihr Produkt entscheidet
  • Auf welchem Konto eine Rechnung landet
  • Ob die Steuer gesetzt oder gewählt wird
  • Regeln mit Bedingung je Abteilung
  • Überschreiben im Moment des Abgleichs
Dann schreiben Sie, auf einem von drei Wegen
Option 1POST /billsPOST /payments
Option 2POST /bookingProposals
Option 3POST /journalEntries
Und danach bleibt es aktuellDer Parameter lastModified wirkt auf jedem GET-Endpunkt, und das Geänderte zu erkennen ist damit ein Filter und kein Abgleich, den Sie bauen.

Der Anlage-Aufruf ist der kurze Teil. Eine Eingangsrechnung braucht einen Lieferanten, zu dem sie gehört, ein Sachkonto, auf das sie bucht, und einen Steuercode, den das empfangende System kennt, und all das liegt in der Konfiguration des Kunden und nicht in Ihrem Produkt. Arbeitet der Kunde mit Klassen, Standorten oder Abteilungen, müssen diese Dimensionen ebenfalls gelesen werden, denn eine Buchung ohne sie liegt am falschen Platz, auch wenn jeder Betrag stimmt.

Deshalb ist die erste Stufe des Ablaufs Lesen und nicht Schreiben, und deshalb steht der Lieferantenabgleich am Anfang. Eine Eingangsrechnung verweist auf einen Lieferanten, und wenn Ihre Datensätze und die Buchhaltungsplattform sich uneinig sind, wer dieser Lieferant ist, bekommen Sie entweder einen abgelehnten Schreibvorgang oder ein Duplikat, das später jemand aufräumen muss. Diese Einigkeit herzustellen ist eine Arbeit für sich, und deshalb hat sie einen eigenen Use Case.

Was Maesn ändert, ist nicht die Zahl der Schritte, sondern wie oft Sie sie umsetzen. Dieselben Lesezugriffe und derselbe Schreibvorgang arbeiten gleich, ob der Kunde auf DATEV, Exact Online oder Xero ist, weil sie über ein einheitliches Datenmodell ankommen statt im Vokabular des jeweiligen Herstellers. Der Ablauf bleibt, der Nachbau je System fällt weg.

Zwei Nachbarn sind zu nennen, weil sie wie dieser hier aussehen und es nicht sind. Die Buchungssätze zu schreiben, die auf einen Ausgleich folgen, gehört zum Zahlungsabgleich, und eine Ausgangsrechnung zu erstellen statt eine Eingangsrechnung zu erfassen ist Rechnungserstellung. Beide laufen auf derselben Anbindung und denselben Lesezugriffen, und deshalb lohnt es sich, sie vor einem Bau zu trennen und nicht danach.

Wie Maesn das löst

Vier Wege, auf denen Ihr Produkt Daten ins Hauptbuch bringt

Nur der Beleg

Der leichteste Weg. Ihr Produkt übergibt die Datei, und die Buchhaltungsseite macht ab da weiter.

Sie sendenPOST /files
Sie bekommenden Beleg im System

Der Beleg und die Zahlung

Dieselbe Übergabe plus der Ausgleich, damit der Beleg und das Geld, das ihn ausgeglichen hat, zusammen ankommen.

Sie sendenPOST /files
UndPOST /payments

Der Buchungsvorschlag

Ihr Produkt liefert die strukturierten Felder, und das Ergebnis hängt damit nicht davon ab, was auf der Seite lesbar ist.

Sie sendenPOST /bookingProposals
Sie lieferndie Felder, keinen Scan

Der Buchungssatz

Der tiefste Weg, und er verlangt von Ihrem Produkt die fertige Buchung. Teams, die für kleinere Unternehmen bauen, setzen meist einen der leichteren Wege davor.

Sie sendenPOST /journalEntries
Sie lieferndie vollständige Buchung

Welchen der vier ein Produkt für die Kreditorenbuchhaltung nutzt, entscheidet der Anwendungsfall und nicht die Vorliebe, und was das System des Kunden mit dem Ergebnis macht. Ein Produkt, das den Beleg nur dem Buchhalter vorlegen muss, ist nach dem ersten Kasten fertig. Eines, dem die Kategorisierung gehört, landet weiter rechts. Die meisten Teams beginnen links und wandern nach rechts, während ihr Produkt mehr von der Entscheidung übernimmt.

Bei dieser Entscheidung helfen wir, statt sie einem Probebau zu überlassen: sagen Sie uns, auf welchen Systemen Ihre Kunden sind und was Ihr Produkt schon entscheidet, und wir sagen Ihnen, welcher Weg auf jedem davon verfügbar ist und was er braucht. Wege, die asynchron schreiben, melden sich über Asynchronous Processing zurück, einen lang laufenden Schreibvorgang zu bestätigen ist also ein Muster, das Ihr Code einmal lernt. Wo ein System eine eigene Vorbereitung auf Kundenseite braucht, steht das auf seiner eigenen Seite, wie bei DATEV Unternehmen Online.

Beleg

Eine Plattform für Kreditorenbuchhaltung läuft bereits darauf

Tipalti realisiert seine europäischen Integrationen über Maesn.

“Mit Maesn haben wir unsere europäische Expansion beschleunigt, indem wir komplexe ERP-Integrationen in Benelux und DACH nahtlos gemacht haben. Für eine Plattform für die Kreditorenbuchhaltung ist verlässlicher Zugriff auf die wichtigen lokalen ERP-Systeme entscheidend, und genau das gibt uns Maesn.”
Saad Abouyahya
Sr. Manager, Global Technology Platforms & Strategic Partnerships at Tipalti

Tipalti ist eine der größeren Plattformen für die Kreditorenbuchhaltung und nutzt Maesn für mehrere ERP-Integrationen, Exact Online darunter, um Kunden in den Benelux- und DACH-Märkten zu erreichen. Der interessante Teil für jeden, der das bewertet, ist, was eine Plattform dieser Art von einer Integrationsschicht braucht: nicht Breite um ihrer selbst willen, sondern verlässlichen Zugriff auf die bestimmten lokalen Systeme, in denen ihre Kunden ihre Bücher führen.

Wo die Grenze verläuft

Wir liefern die Strukturen, Sie setzen die Regeln

Die Dokumentation sagt deutlich, wo die Grenze liegt, und sie hier zu wiederholen nützt mehr, als Kreditorenbuchhaltung von Anfang bis Ende zu versprechen.

Was Maesn aufnimmt
  • Jedes Wort für einen Lieferanten
  • Die Anbindung und ihre Auffrischung
  • Mandantenkennungen, eingesetzt
  • Änderungserkennung als Filter
Was Ihr Produkt bleibt
  • Auf welches Konto eine Rechnung bucht
  • Ob die Steuer abgeleitet oder gewählt wird
  • Wie Regeln und Überschreiben wirken
  • Wann eine Rechnung Ihr Produkt verlässt

Die linke Spalte ist der Teil, der nie aufhört, Pflege zu brauchen: das eigene Vokabular jedes Systems für einen Lieferanten und ein Konto, die Freigabe hinter jeder Verbindung und ihre Erneuerung, die Kennungen, die sagen, zu welchem Mandanten ein Aufruf gehört, und die besondere Art, wie jede Plattform eine Eingangsrechnung oder eine Zahlung übergeben haben will. Das wird einmal aufgefangen und bleibt aufgefangen, und genau deshalb baut man auf eine Authentifizierungsschicht statt je Hersteller.

Die rechte Spalte ist Ihr Produkt, und das soll sie sein. Wie eine Eingangsrechnung kategorisiert wird, ist eine Entscheidung über die Buchhaltungsrichtlinie Ihres Kunden, und die Dokumentation sagt genau das: die Logik hängt von Ihrer Anwendung ab. Eine Schicht, die diese Wahl für Sie träfe, riete an einer Richtlinie herum, die sie nicht sieht. Was sie kann, ist Ihnen die Konten, die Steuersätze und die Dimensionen in einer Form zu geben, die Sie einem Nutzer vorlegen können, ohne sie vorher zu übersetzen.

Liest man die zwei Spalten zusammen, ist der Tausch klar. Sie behalten die Entscheidungen, die zu dem gehören, was Sie gebaut haben, und Sie setzen dieselben Lesezugriffe und denselben Schreibvorgang nicht mehr für jedes Buchhaltungssystem neu um, das Ihr nächster Kunde zufällig einsetzt.

Drei dieser Übernahmen sind zu nennen. Zu fragen, was sich seit dem letzten Blick geändert hat, ist ein Filter und kein Abgleich, den Sie bauen, und er verhält sich auf jedem System gleich, über eine Art zu filtern und zu paginieren. Wo ein System stattdessen sendet, gibt Ihnen ein Event-Modell eine einzige Form zum Auswerten statt einer je Hersteller. Und wo eine einzelne Installation ein Feld trägt, das das gemeinsame Schema nicht hat, ist am Modell vorbeizugreifen das, was daraus keine Abspaltung werden lässt.

Von der anderen Seite des Hauptbuchs gesehen ist eine Freigabe, die nie im System ankam, ein Problem für Finanzteams, die die Folge tragen und nicht den Code.

Kreditorenbuchhaltung FAQ

Häufige Fragen

Was gehört wirklich dazu, eine Eingangsrechnung in das Buchhaltungssystem eines Kunden zu buchen?

Mehr als ein Aufruf zum Anlegen. Die dokumentierte Folge beginnt bei den Lieferanten: sie müssen auf beiden Seiten vorhanden sein und zusammenpassen, sonst hat die Eingangsrechnung nichts, woran sie hängt. Dann lesen Sie den Kontenrahmen, denn eine Eingangsrechnung braucht ein Sachkonto, und die Steuersätze, denn der Betrag braucht einen Steuerschlüssel, den das System kennt. Dimensionen kommen danach, wenn der Kunde mit Klassen, Standorten oder Abteilungen arbeitet. Erst dann hat der Schreibvorgang alles, was er braucht, welchen der vier Wege auf dieser Seite Ihr Produkt auch nimmt.

Müssen wir zuerst die Lieferanten abgleichen, oder können wir das überspringen?

Die Dokumentation macht es zum ersten Schritt, und der Grund ist praktisch und kein formaler. Eine Eingangsrechnung verweist auf einen Lieferanten, und wenn Ihre Datenbank und die Buchhaltungsplattform Ihres Kunden sich darüber uneinig sind, wer dieser Lieferant ist, schlägt der Schreibvorgang entweder fehl oder legt einen doppelten Kreditor an. Diese Einigkeit zuerst herzustellen ist das, was alles danach wiederholbar macht.

Wer entscheidet, auf welches Konto eine Eingangsrechnung gebucht wird?

Ihr Produkt, und die Dokumentation sagt ausdrücklich, dass die Geschäftslogik an Ihrer Anwendung hängt. Maesn liefert die Konten, Steuersätze und Dimensionen in einer Form, damit Sie sie in Ihrer eigenen Oberfläche zeigen können. Ob daraus eine einzelne Auswahlliste wird, eine Regel der Art Kosten der IT-Abteilung auf ein Konto, oder eine Wahl, die Ihr Nutzer im Moment des Exports trifft, ist Ihre Gestaltungsentscheidung.

Können wir Eingangsrechnungen auch lesen und nicht nur anlegen?

Ja, und zwar genauer als eine Liste. GET /bills gibt Eingangsrechnungen gefiltert nach Kriterien wie Rechnungsdatum oder Status zurück, GET /bills/{id} gibt eine Eingangsrechnung vollständig samt ihren Positionen zurück, und für den Originalbeleg gibt es einen eigenen Endpunkt. Eingangsrechnungen, die anderswo angelegt und in die Buchhaltungsplattform hochgeladen wurden, erreichen Sie über die Endpunkte für Buchungsvorschläge.

Können wir unseren Nutzern den Originalbeleg der Rechnung zeigen?

Ja. GET /bills/{id}/document gibt das Original-PDF so zurück, wie es im Buchhaltungssystem liegt, und erfasste Belege haben den entsprechenden Endpunkt unter den Buchungsvorschlägen. Das zählt bei Freigabeabläufen, in denen jemand den Beleg selbst ansehen muss und nicht nur die Zahlen, die davon abgelesen wurden.

Was ist ein Buchungsvorschlag?

Es ist das Objekt für einen Beleg, der ins Buchhaltungssystem gelangt ist, ohne dort angelegt worden zu sein. Eine Eingangsrechnung, die Sie in Ihrem Produkt erfasst und hinübergeschoben haben, kommt als Buchungsvorschlag an, den der Buchhalter bestätigt, und nicht als fertige Buchung. Es ist auch der Weg zu Eingangsrechnungen, die anderswo erfasst und seither hochgeladen wurden.

Was ist der Unterschied zwischen einem hochgeladenen Beleg und einem Beleg mit Daten?

Sie unterscheiden sich darin, wer die Rechnung liest. Laden Sie die Datei allein hoch, lässt das Buchhaltungssystem eine Texterkennung darüber laufen, und das Ergebnis ist damit nur so gut wie das, was sie auf der Seite sieht. Schicken Sie die strukturierten Daten neben dem Beleg mit, können Sie mehr angeben, als der Beleg zeigt, und vermeiden zugleich Fehler der Texterkennung. Der zweite Weg verlangt mehr von Ihrem Produkt und liefert ein vorhersehbareres Ergebnis.

Was ist ein Buchungssatz?

Er ist die Aufzeichnung eines einzelnen Geschäftsvorfalls im Hauptbuch, geschrieben als ausgeglichene Soll- und Habenzeilen auf den Konten, zu denen sie gehören. Es ist die Form, in der sich Buchhaltung setzt, und deshalb verlangt es von Ihrem Produkt eine vollständige Buchung und keinen Beleg, einen zu schreiben: die Konten, die Beträge und die steuerliche Behandlung müssen alle vor dem Aufruf entschieden sein. Das ist der Unterschied zwischen dem Weg über den Buchungssatz auf dieser Seite und den leichteren davor.

Woher wissen wir, dass ein Upload tatsächlich durchgelaufen ist?

Wo ein Weg asynchron schreibt, meldet GET /asyncTask, ob der Upload verarbeitet wurde. Das ist derselbe Mechanismus für asynchrone Aufgaben, den die API auch anderswo nutzt, und das Muster, einen länger laufenden Schreibvorgang zu bestätigen, lernt Ihr Code deshalb einmal und nicht je Weg.

Wie halten wir nach dem ersten Abgleich alles aktuell?

Mit einem Filter statt mit einem Vergleich. Der Abfrageparameter lastModified wirkt auf den GET-Endpunkten, und danach zu fragen, was sich seit einem Zeitpunkt geändert hat, ersetzt damit, eigene Deltas zu bauen und vorzuhalten. Wo ein System Ereignisse sendet, machen Webhooks dieselbe Arbeit noch günstiger, und die Dokumentation weist sie als den effizienteren Weg aus.

Unterstützt jedes angebundene System jeden Teil davon?

Nein, und es gibt drei Fälle. Manche Objekte sind heute auf den meisten Systemen freigeschaltet, manche werden freigeschaltet, wenn ein Use Case sie braucht, und für manche hat das Zielsystem überhaupt kein entsprechendes Konzept, und das kann keine Integrationsschicht für es erfinden. Welcher der drei Fälle gilt, wird je System beantwortet und nicht als Durchschnitt, sagen Sie uns also, auf welchen Systemen Ihre Kunden sind, und wir bestätigen die Wege, die auf jedem davon funktionieren.

Einmal bauen, auf der Unified API.

Sehen Sie, wie Kreditorenbuchhaltung für Ihre Integration funktioniert, oder steigen Sie in die technische Referenz ein.