maesn
Use Case

Rechnungen erstellen mit Zeilen, die ihr System liest

Ihr Produkt kennt schon, woraus eine Rechnung besteht: die geleistete Arbeit, die Mengen, die Preise. Was es nicht kennt, ist der Artikel, das Sachkonto und der Steuersatz, auf die sich die Zeile im System des Kunden beziehen muss. Maesn liefert das und schreibt dann die Rechnung.

Eine RechnungszeilelineItems[]
Von Ihnen zu füllen
descriptionquantityunitPrice
aber sie muss zeigen auf
Von ihnen festgelegt
  • Einen Artikel aus ihrem Katalog
  • oder ein Sachkonto, und einen Steuersatz

Über die angebundenen Systeme hinweg nehmen 10 eine von Ihnen geschriebene Rechnung an. Weniger sagen Ihnen, was auf ihre Zeilen gehört.

Diese Software-Teams vertrauen uns
HubSpotTipaltiPaywiseRallyQredNordhealthFindityFintoClockinHEROHolviLanes & PlanesAgicapHubSpotTipaltiPaywiseRallyQredNordhealthFindityFintoClockinHEROHolviLanes & PlanesAgicap
Das Problem

Die Rechnung ist schnell geschrieben, die Arbeit steckt in der Zeile

Zwei Zahlen, von denen man erwartet, dass sie sich gemeinsam bewegen, und das tun sie nicht. Das Dokument zu schreiben gehört zu den besser abgedeckten Vorgängen im Modell. Zu wissen, was in seine Zeilen gehört, nicht.

Worauf eine Zeile zeigen kann
Systeme, die eine von Ihnen geschriebene Rechnung annehmen
Systeme, die die Artikel herausgeben, auf die eine Zeile zeigen kann
Systeme, die eine Mengeneinheit herausgeben
Auf manchen Systemen, die eine Rechnung annehmen, gibt es überhaupt keinen Artikelkatalog. Eine Zeile trägt dort, was Sie hineinschreiben, plus ein Sachkonto, und es gibt nichts zur Auswahl. Deshalb markiert der Leitfaden diese Lesezugriffe als optional: nicht weil sie unwichtig wären, sondern weil es sie nicht immer gibt.

Eine Rechnungszeile ist ein kleines Objekt mit einer großen Abhängigkeit. Beschreibung, Menge und Preis kommen aus Ihrem Produkt, und sie sind der leichte Teil, weil Sie sie schon haben. Worauf die Zeile verweisen muss, sind fremde Daten: ein Artikel aus dem Katalog des Kunden oder ein Sachkonto, und ein Steuersatz, den es in seinem System unter seinem Code gibt.

Diese Abhängigkeit ist die ganze Schwierigkeit dieses Use Cases, und sie ist der Grund, warum der dokumentierte Ablauf mehr Schritte mit Lesen als mit Schreiben verbringt. Sie ist auch der Grund, warum drei dieser Schritte als optional markiert sind. Optional genannt klingt das nach einer Nettigkeit. Gegen die Abdeckung gelesen ist es etwas anderes, denn auf der Hälfte der Systeme, die eine Rechnung annehmen, gibt es schlicht keinen Artikelkatalog zu lesen. Der Steuersatz hat eine zweite Komplikation für sich, denn ein Satz kommt häufig an, ohne zu sagen, wie er anzuwenden ist.

Nichts davon macht den Use Case fragil. Es macht ihn genau: was Sie Ihren Nutzern versprechen können, hängt davon ab, auf welchen Systemen sie sind, und das lässt sich vorher wissen und nicht erst bei der ersten fehlgeschlagenen Buchung.

Wie Maesn das löst

Eine Anbindung für den Katalog, die Konten und die Sätze

Die Lesezugriffe, die eine Zeile gültig machen, kommen aus jedem System in einer Form, und genau das lässt Ihre Nutzer ihre eigenen Daten auf ihre eigene Buchhaltung abbilden, statt dass Sie es je Hersteller tun.

Der erste dokumentierte Schritt handelt gar nicht von Rechnungen: der Kunde muss auf beiden Seiten existieren und dasselbe bedeuten, und das ist ein eigener Use Case unter Synchronisation von Kunden- und Lieferantenstammdaten. Es ist das robusteste Glied der Kette, denn Kundendatensätze sind das am besten abgedeckte Objekt im Modell, beim Lesen wie beim Schreiben.

Danach beantworten die Lesezugriffe alle dieselbe Frage in anderen Worten: worauf darf eine Zeile verweisen. Artikel, Sachkonten und Steuersätze kommen über dieselben normalisierten Objekte von jedem angebundenen System, die Oberfläche, in der Ihre Nutzer einen Standardartikel wählen oder eine Leistung einem Konto zuordnen, wird also einmal gebaut. Wo ein System etwas führt, wofür das gemeinsame Modell kein Feld hat, ist am Modell vorbeizugreifen dokumentiert, und der Kunde gibt das alles einmal über einen Authentifizierungsablauf frei.

Was Maesn nicht tut, ist den Bezug zu erfinden. Gibt ein System keinen Artikelkatalog heraus, kann keine Schicht einen erzeugen, und eine Zeile trägt dort Ihre Beschreibung und ein Sachkonto. Zwei Systeme können beide eine Rechnung annehmen und sich trotzdem uneinig sein, was eine Zeile sagen darf, und das ist die Art Unterschied, deren Form eine Integrationsschicht vereinheitlichen kann, deren Substanz aber nicht.

Was Sie bekommen

Ihr Auslöser, ihre Rechnung, keine Doppelerfassung

Das Ende des Ablaufs ist bewusst klein. Sind die Bezüge bekannt, ist die Rechnung ein einziger Aufruf, und die interessante Entscheidung, die bleibt, ist der Zeitpunkt.

Was der Leitfaden Sie lesen lässt
GET /accounts
Das Sachkonto für eine Zeile
GET /items
Den Katalog zur Auswahl
GET /taxRates
Die Sätze, die ihr System festlegt

Alle drei Lesezugriffe sind im Leitfaden optional, weil nicht jedes System alle drei anbietet.

eine Anbindung, eine Form
Was in ihrem System landet
  • Eine echte Rechnung, kein Export
  • Zeilen, die auf ihre Daten zeigen
  • Gebucht, wo ihr Buchhalter hinsieht
  • Keine zweite Erfassung von Hand

Der Auslöser gehört Ihnen, und das ist Absicht. Der Leitfaden bietet einen Knopf in Ihrer Oberfläche, eine Reaktion auf ein Event oder einen planmäßigen Lauf an, und er bevorzugt keinen davon, denn die richtige Antwort hängt an einem Ablauf, den Ihre Nutzer schon haben, und nicht an irgendetwas an der Anbindung. Ein Produkt, das Rechnungen nachts überträgt, und eines, das sie überträgt, sobald ein Auftrag abgenommen ist, sind dieselbe Anbindung mit einer anderen Entscheidung davor.

Was ankommt, ist ein echter Beleg in ihrem System und keine Datei, die jemand importiert. Halten Sie die fertige Rechnung stattdessen schon als PDF, schickt der Leitfaden Sie in einem Satz woanders hin, und diese Grenze lohnt sich einzuhalten: einen erzeugten Beleg hochzuladen und einen aus strukturierten Daten zusammenzusetzen sind verschiedene Aufgaben. Wo die Rechnung ein Schritt in einer längeren Forderung ist, einschließlich der Zahlung darauf, deckt Debitorenbuchhaltung den Rest ab, und sobald ein System Events aussendet, sagen Webhooks Ihnen, wenn sich auf deren Seite etwas geändert hat.

Beleg

Erfasste Leistung, abgerechnet in den Systemen ihrer Kunden

Clockin macht aus erfasster Arbeit Rechnungen in den Systemen seiner Kunden.

“Wir nutzen Maesn, um Integrationen und Partnerschaften erfolgreich als wesentlichen Treiber für Leadgenerierung und für die Expansion in neue Märkte und Kundensegmente einzusetzen. Indem wir Clockin an die Buchhaltungssysteme unserer Kunden anbinden, fließen Projektdaten direkt in deren vorhandene Werkzeuge, und der Datenaustausch mit den Systemen, die sie ohnehin nutzen, läuft reibungslos und verlässlich.”
Fabian Ebbert
CSO, Clockin

Clockin ist dieser Use Case in seiner einfachsten Form: Zeit- und Projektdaten werden in einem Produkt erfasst, und eine Rechnung muss in dem Buchhaltungssystem erscheinen, das der Kunde ohnehin nutzt. Das Zitat benennt den Mechanismus statt des Ergebnisses, und das ist der nützliche Teil, denn dass die Daten direkt in die vorhandenen Werkzeuge fließen, ist genau das, was den Schritt des erneuten Erfassens entfernt, um den es auf dieser Seite geht. Systeme wie Lexware Office und Xero nehmen beide eine geschriebene Rechnung an, und sie unterscheiden sich darin, ob eine Zeile auf einen Katalogartikel zeigen kann, und um diesen Unterschied geht es im Abschnitt darüber.

Die Eckdaten

Abdeckung bei der Rechnungserstellung, Objekt für Objekt

Zuerst der Schreibvorgang, dann alles, worauf eine Zeile verweisen muss, gezählt aus der Dokumentation des jeweiligen Systems.

Über die 30+ angebundenen Systeme
Was Sie brauchenHeuteAuf AnfrageSystem kann es nicht
Rechnungen, schreiben10172
Kundendatensätze, lesen2027
Kontenrahmen, lesen1982
Steuersätze, lesen12143
Artikel, lesen6203
Rechnungszeilen, lesen6175
Mengeneinheiten, lesen11513
Lesen Sie diese Tabelle von oben nach unten, dann zeigt sich die Form der Arbeit. Die Rechnung zu schreiben und den Kunden zu bestimmen sind die starken Zeilen, und alles, worauf eine Zeile zeigen muss, wird dünner, je genauer es wird. Mengeneinheiten sind der Extremfall, kaum irgendwo dokumentiert, und ein Produkt, das darauf angewiesen ist, dass Mengen eine Einheit ins Hauptbuch tragen, sollte das als Frage je System behandeln und nicht als Eigenschaft des Modells.

Die Tabelle beantwortet die einzige Frage, die hier über die Machbarkeit entscheidet, und das ist nicht, ob die Rechnungserstellung funktioniert, sondern wie genau eine Zeile auf den Systemen sein kann, die Ihre eigenen Kunden fahren. Die oberen zwei Zeilen sind stark, und der Rest wird schmaler, je genauer es wird, und das ist die übliche Form einer Integrationsfläche und kein Mangel.

Eine Zeile verdient die Betonung, die ihr ihre Größe nicht gibt. Eine Mengeneinheit gibt ein einziges System heraus, und ein Produkt, dessen Rechnungen davon abhängen, dass Stunden, Kilogramm oder Quadratmeter als Einheit ins Hauptbuch kommen und nicht als Teil einer Beschreibung, sollte das als Frage je System behandeln. Nur das zu lesen, was sich seit dem letzten Lauf geändert hat, funktioniert hier wie auf jedem anderen Listen-Endpunkt, und das zählt für Kataloge, die Kunden bearbeiten, während Ihr Produkt läuft.

Wo die Grenze verläuft

Wir liefern die Bezüge, Sie stellen die Rechnung zusammen

In diesem Use Case verläuft die Grenze innerhalb eines einzigen Objekts, was sie ungewöhnlich leicht benennbar macht: die Zeile gehört Ihnen, worauf sie verweist gehört dem System, und die Anbindung bringt Ihnen das Zweite.

Was Maesn liefert
  • Der Kunde, in beide Richtungen
  • Artikel, Konten und Steuersätze
  • Eine Form auf jedem System
  • Die Rechnung, zurückgeschrieben
Was Ihr Produkt bleibt
  • Was jede Zeile wirklich sagt
  • Welcher Artikel, welches Konto
  • Wann übertragen wird
  • Wie Ihre Rechnung aussieht

Alles links ist die Anbindung: dieselben Objekte unter denselben Namen, auf welchem System der Kunde auch läuft, und ein Schreibvorgang, der als Beleg landet und nicht als Import. Das ist der Teil, der sonst eine Anbindung je Buchhaltungsplattform wäre, jede mit einer eigenen Vorstellung davon, was ein Artikel ist.

Alles rechts ist Ihr Produkt, und in diesem Use Case ist es die Substanz der Rechnung selbst. Was eine Zeile sagt, auf welchen Artikel oder welches Konto sie abgebildet wird, wann die Übertragung stattfindet und wie der fertige Beleg für Ihren Nutzer aussieht, sind Ihre Entscheidungen, geprägt davon, wie Ihre Kunden ohnehin arbeiten. Eine Schicht, die sie träfe, schriebe Ihre Rechnungen für Sie.

Eine Sache gehört hierher, weil die Seite, die sie ersetzt, sie woandershin gestellt hat. Dieser Use Case macht eine Rechnung nicht konform mit einem Regime zur elektronischen Rechnungsstellung, und nichts auf dieser Seite behauptet das. Die Rechnung entsteht im Buchhaltungssystem des Kunden, und dort gelten dessen örtliche Regeln ohnehin, und Fragen zu Netzwerken für elektronische Rechnungen stellen Sie am besten direkt uns. Der lastModified-Filter auf den Lese-Endpunkten ist das, was die Kataloge, die Sie zwischenspeichern, in der Zwischenzeit vor dem Veralten bewahrt.

Eine Rechnung, die beim ersten Mal richtig ankommt, ist die, die Finanzteams nicht mehr von Hand korrigieren.

Rechnungserstellung FAQ

Häufige Fragen

Was gehört dazu, eine Rechnung im Buchhaltungssystem eines Kunden anzulegen?

Ein Aufruf, sobald Sie wissen, was daraufgehört. Der dokumentierte Ablauf ist kurz: stellen Sie sicher, dass der Kunde auf beiden Seiten vorhanden ist, lesen Sie wahlweise die Sachkonten, die Artikel und die Steuersätze, die sein System festlegt, entscheiden Sie, wann übertragen wird, und legen Sie die Rechnung an. Die Reihenfolge zählt, weil alles vor dem Schreibvorgang dafür da ist, ihn richtig zu machen.

Warum sind drei der dokumentierten Schritte als optional markiert?

Weil es sie nicht überall gibt, und die Zahlen zeigen das. Zehn Systeme nehmen eine Rechnung an, die Sie schreiben, sechs geben die Artikel heraus, auf die eine Zeile verweisen könnte, und eines gibt eine Mengeneinheit heraus. Auf einem System ohne Artikelkatalog trägt eine Zeile Ihre Beschreibung plus ein Sachkonto, und das ist eine völlig gültige Rechnung, nur eine andere zu bauen.

Was steht eigentlich auf einer Rechnungszeile?

Die Teile, die Ihnen gehören, sind die Beschreibung, die Menge und der Preis. Die Teile, die Ihnen nicht gehören, sind das, worauf die Zeile zeigt: ein Artikel aus dem Katalog des Kunden oder ein Sachkonto, und ein Steuersatz. Diese Kennungen liegen in seinem System, sie unterscheiden sich je Kunde, und sie zu raten ist das, was aus einer automatischen Rechnung eine Buchungskorrektur macht.

Können wir stattdessen eine PDF-Rechnung schicken?

Das ist ein anderer Use Case, und die Dokumentation sagt das direkt, statt es Sie herausfinden zu lassen. Eine Rechnung aus strukturierten Daten anzulegen und einen Beleg hochzuladen, den Sie bereits erzeugt haben, sind zwei verschiedene Abläufe mit verschiedenen Endpunkten. Wenn Sie das PDF haben und nicht die Daten dahinter, ist die Belegerfassung der Weg.

Unterstützen Sie E-Rechnungsformate oder PEPPOL?

Nicht als etwas, das diese Seite behaupten würde. Maesn schreibt die Rechnung über eine Schnittstelle in das ERP- oder Buchhaltungssystem Ihres Kunden, und sein System bleibt der Ort, an dem der Beleg liegt und an dem die lokalen Regeln gelten. Alles, was das Übertragen oder Prüfen einer elektronischen Rechnung gegen ein regulatorisches Netz betrifft, ist eine eigene Frage, und sie lohnt sich direkt an uns zu stellen, statt sie in einen Marketingsatz hineinzulesen.

Wie entscheiden wir, wann eine Rechnung übertragen wird?

Sie, und der Leitfaden überlässt es Ihnen mit Absicht. Es kann ein Knopf in Ihrer Oberfläche sein, eine Reaktion auf ein Ereignis in Ihrem Produkt oder ein nächtlicher Lauf. Diese Entscheidung gehört zu dem Ablauf, den Ihre Nutzer ohnehin haben, und deshalb sitzt sie auch auf Ihrer Seite der Grenze und ist keine Einstellung irgendwo in der Anbindung.

Muss der Kunde zuerst im Buchhaltungssystem vorhanden sein?

Ja, und das ist der erste dokumentierte Schritt und keine Fußnote. Eine Rechnung verweist auf einen Kunden, der Datensatz muss also auf beiden Seiten vorhanden sein und dasselbe bedeuten. Kundendatensätze sind das am besten abgedeckte Objekt des ganzen Modells, beim Lesen wie beim Schreiben, und die zwei Seiten in Übereinstimmung zu halten ist deshalb der am wenigsten brüchige Teil dieses Use Cases.

In welche Systeme können wir Rechnungen schreiben?

Zehn der angebundenen Systeme nehmen heute eine angelegte Rechnung an, und der Rest ist überwiegend in der eigenen Dokumentation als auf Anfrage verfügbar markiert. Die nützlichere Frage ist meist nicht wie viele, sondern welche, denn die Systeme, die eine Rechnung annehmen, und die Systeme, die einen Artikelkatalog herausgeben, sind nicht dieselbe Menge.

Was, wenn ein System ein Feld braucht, das das gemeinsame Modell nicht trägt?

Dafür gibt es einen dokumentierten Weg. Ein Rohdaten-Schalter gibt die eigene Nutzlast des Zielsystems neben dem normalisierten Objekt zurück, damit Sie sehen, was es führt, und für alles, wofür das Modell überhaupt kein Feld hat, erreicht ein nativer Aufruf über den Durchleitungs-Endpunkt das System direkt, auf der Anbindung, die Sie ohnehin haben.

Entscheidet Maesn über die steuerliche Behandlung auf der Rechnung?

Nein. Maesn liefert die Steuersätze, die das System veröffentlicht, und schreibt die Rechnung zurück, die Sie zusammengestellt haben. Welcher Satz für eine Zeile gilt und ob er im Preis steckt oder darauf kommt, ist die Entscheidung Ihres Produkts, und auf vielen Systemen kommt der Satz ganz ohne eine Angabe an, wie er anzuwenden ist.

Einmal bauen, auf der Unified API.

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