Template für cloudfähige Fibu Schnittstellen

Erstellt: 05.11.2019, Änderung:
Mehr ansehen

Es gibt in Vertec mittlerweile eine Reihe von Cloud-fähigen Fibu-Schnittstellen. Im Gegensatz zu den herkömmlichen Schnittstellen unterstützen diese nur noch die Buchung von Listen (welche auch aus einer Rechnung bestehen können), und es gibt nur noch ganz wenige Interface Methoden, insbesondere keine komplizierten Adressemethoden mehr - die Adressen werden einfach gleich geschrieben, wenn sie gebraucht werden.

Es gibt verschiedene Beispiele: die Run my Accounts Debitoren Schnittstelle ist eine Online Schnittstelle, welche mit requests funktioniert; die Datev Debitoren Schnittstelle und die BMD Debitoren Schnittstelle liefern Textfiles via Download.

Der Code dieser Schnittstellen ist in Vertec ersichtlich und kann via Scripts auch überschrieben werden. Eine allgmeine Beschreibung dafür finden Sie im Artikel Arbeiten mit Schnittstellen (Extensions).

Template Extension

Es gibt nun eine TemplateExtension, die zeigt, was man implementieren muss, um eine lauffähige Fibu-Schnittstelle zu erstellen.

Diese können Sie hier herunterladen: FibuTemplateExtension.py.

Hier eine Grafik mit den beiden Hauptmethoden PostInvoiceBookings und CancelInvoiceBookings:

Beides sind Einstiegspunkte der Extension. Die Methoden werden von Vertec direkt aufgerufen. Als Argument wird eine eine Liste von Rechnungen übergeben. Es kann davon ausgegangen werden, dass die Liste nur gültige Rechnungen enthält, da die Konsistenzprüfung vor dem Aufruf dieser Methode durchgeführt wird.

Rückgabewert ist ein Tupel (filname, fileAsByteArray), welches von Vertec gespeichert wird.

Implementierungsdetails

Folgende Hinweise sollten beachtet werden beim Implementieren einer neuen Schnittstelle:

Folgendes darf von der Schnittstelle NICHT geschrieben werden:

  • Der Zustand Gebucht auf der Rechnung wird von der Vertec Business Logik gesetzt und darf nicht separat von der Extension gesetzt werden.
  • Dasselbe gilt für die persistenten Buchhaltungs-Attribute auf der Rechnung (die Werte mit bhXX), welche ebenfalls von Vertec automatisch beschrieben werden.

Folgendes MUSS von der Schnittstelle geschrieben werden:

  • Die Belegnummer (rechnung.belegnr) muss von der Extension gesetzt werden, denn ohne eine Belegnummer kann nicht storniert werden. Bei Buchhaltungen, welche ohne Belegnummern arbeiten, kann einfach 0 hineingeschrieben werden.

Was passiert, wenn der Buchungsvorgang fehlschlägt

Wirft die Schnittstelle eine Exception, dann gilt in Vertec der gesamte Buchungsprozess als gescheitert. In diesem Fall wird keine der Rechnungen in der Liste auf gebucht gesetzt. Das impliziert, dass alle Rechnungen in der Liste gleichzeitig in die Fibu gebucht werden müssen, da sonst Abweichungen zwischen Vertec und der Fibu entstehen können.