Die e-Beleg-Integration sieht aus wie ein einfacher API-Aufruf. Tatsächlich ist es ein Vorgang, der von einem externen Dienst abhängt, rechtliche Folgen hat und nicht rückgängig zu machen ist. Die Architektur muss das berücksichtigen.
01. Nicht synchron aufrufen
Die Rechnungsmaske darf nicht auf die Antwort des Integrators warten. Der Beleg gehört zuerst in die eigene Datenbank, der Versand in eine Warteschlange. Sonst blockiert eine Verzögerung beim Integrator die gesamte Verkaufsmaske.
02. Warteschlange und Wiederholung
Der Versand sollte über eine Warteschlange laufen, fehlgeschlagene Versuche in wachsenden Abständen wiederholt werden. Die Zahl der Versuche muss begrenzt sein, und bei Überschreiten ist ein Mensch zu benachrichtigen.
03. Schutz vor Doppelversand
Bei einem Netzausfall kann die Anfrage angekommen sein, ohne dass eine Antwort zurückkam. Eine je Beleg erzeugte eindeutige Referenz verhindert, dass dieselbe Rechnung zweimal ausgestellt wird. Ohne diesen Schutz sind Doppelbelege unvermeidlich.
04. Statusverfolgung
Entwurf, gesendet, zugestellt, angenommen und abgelehnt müssen im ERP sichtbar sein. Ein Anwender sollte die Frage nach dem Verbleib seiner Rechnung ohne Login ins Integratorportal beantworten können.
05. Abstimmung
Die Belegliste des Integrators sollte täglich mit der des ERP verglichen werden. Differenzen fallen so früh auf; erst zum Monatsende bemerkt, verzögern sie den Abschluss.
06. Protokollierung
Gesendete und empfangene Rohdaten sind mindestens für die gesetzliche Aufbewahrungsfrist zu speichern. In einem Streitfall belegen nur diese Aufzeichnungen, wer was gesendet hat.