Es gibt zwei Arten von cloudfähigen Debitor Schnittstellen:
Es gibt eine Beispiel-Debitoren-Schnittstelle, welche für beide Arten zeigt, was man implementieren muss, um eine lauffähige cloudfähige Fibu-Schnittstelle zu erstellen.
- Ab Vertec 6.4.0.19 als
FibuExampleExtension.py
im Ordner Extensions in Ihrem Vertec Installationsverzeichnis, welche 2 unabhängige Klassenenthält:
- ExampleOnlineDebiExtension, welche ohne Files arbeitet.
- ExampleOfflineDebiExtension, welche filebasiert ist und jeweils beim Buchen oder Stornieren eine Datei liefert.
Um die Beispiel-Schnittstelle zu implementieren, wird in Vertec damit ein Script erstellt und dieses als Extension registriert. Wie das geht, ist im Artikel Arbeiten mit Schnittstellen (Extensions) detailliert beschrieben.
- Ab Vertec 6.5.0.16 können Sie dafür in Vertec im Ordner Einstellungen > Extensions eine Extension registrieren und als Extension-ID
FibuExampleExtension.ExampleOnlineDebiExtension
bzw. FibuExampleExtension.ExampleOfflineDebiExtension
angeben.
ExampleOnlineDebiExtension
Die Klasse für Online Debitor Schnittstellen enthält folgende Einstiegspunkte:
TryPostInvoiceBookings(self, invoiceList)
Diese Methode wird direkt von Vertec aufgerufen und dient dazu, die Rechnungen in der Buchhaltung zu buchen.
Bei diesem Vorgang wird auch die Debitoradresse geschrieben.
Ihr Argument ist eine Liste von Vertec-Rechnungsobjekten. Die Liste enthält nur gültige Rechnungen. Die Konsistenzprüfung wird vor dem Aufruf dieser Methode durchgeführt.
Es muss eine Liste von Strings zurückgegeben werden mit der gleichen Länge wie die Liste der Rechnungen.
- Jeder String ist mit der Rechnung auf dem gleichen Index verknüpft.
- Ist die Zeichenkette leer, wird die Rechnung von Vertec als gebucht betrachtet.
- In jedem anderen Fall muss die Fehlermeldung in den String geschrieben werden.
Beispiel
invoicelist[0] - response[0] = ""
rechnungsliste[1] - antwort[1] = ""
invoicelist[2] - response[2] = "Ein erster Fehler ist aufgetreten"
invoicelist[3] - response[3] = "Es ist ein zweiter Fehler aufgetreten"
rechnungsliste[4] - antwort[4] = ""
Die Rechnungen mit dem Index 0,1 und 4 werden in Vertec verbucht.
Die anderen Rechnungen werden nicht verbucht.
Zusätzlich wird dem Benutzer der erste Fehler als Fehlermeldung angezeigt: "Ein erster Fehler ist aufgetreten". Es wird jeweils nur der erste Fehler angezeigt.
TryCancelInvoiceBookings(self, invoiceList)
Diese Methode wird direkt von Vertec aufgerufen und dient dazu, Rechnungen in der Buchhaltung zu stornieren.
Ihr Argument ist eine Liste von Vertec-Rechnungsobjekten. Die Liste enthält nur gültige Rechnungen. Die Konsistenzprüfung wird vor dem Aufruf dieser Methode durchgeführt.
Es muss eine Liste von Strings zurückgegeben werden mit der gleichen Länge wie die Liste der Rechnungen.
- Jeder String ist mit der Rechnung auf dem gleichen Index verknüpft.
- Ist die Zeichenkette leer, wird die Rechnung von Vertec als gebucht betrachtet.
- In jedem anderen Fall muss die Fehlermeldung in den String geschrieben werden.
Beispiel
invoicelist[0] - response[0] = ""
rechnungsliste[1] - antwort[1] = ""
invoicelist[2] - response[2] = "Ein erster Fehler ist aufgetreten"
invoicelist[3] - response[3] = "Es ist ein zweiter Fehler aufgetreten"
rechnungsliste[4] - antwort[4] = ""
Die Rechnungen mit dem Index 0,1 und 4 werden in Vertec storniert.
Die anderen Rechnungen werden nicht storniert.
Zusätzlich wird dem Benutzer der erste Fehler als Fehlermeldung angezeigt: "Ein erster Fehler ist aufgetreten". Es wird jeweils nur der erste Fehler angezeigt.
ImportPayments(self, invoiceList)
Diese Methode wird direkt von Vertec aufgerufen und dient dazu, Zahlungen aus der Buchhaltung ins Vertec zu importieren.
Ihr Argument ist eine Liste von Vertec-Rechnungsobjekten. Die Liste enthält nur gültige Rechnungen. Die Konsistenzprüfung wird vor dem Aufruf dieser Methode durchgeführt.
Es gibt drei Fälle:
- Zahlungsimport auf einer einzelnen Rechnung ausgeführt: Die Liste enthält nur eine Rechnung.
- Zahlungsimport auf einer Liste von Rechnungen ausgeführt: Die Liste enthält alle Rechnungen der Liste.
- Zahlungsimport global aufgerufen: Die Liste enthält alle Rechnungen, die nicht bezahlt sind.
Es müssen in Vertec Zahlungen erstellt und der Rechnung zugeordnet werden.
Wenn in Vertec kein Zahlungstyp mit dem Code AUTO
vorhanden ist, wird einer erstellt.
Ausserdem muss die Rechnung als bezahlt
markiert werden, wenn sie vollständig bezahlt wurde.
In der Beispiel-Extension wird der Rechnung eine Zahlung von 9.95 hinzugefügt. Ausserdem wird beim Buchen die Personenkontonummer auf Adressen auf 1
gesetzt. Diese Nummer muss von der Fibu kommen, bitte Kommentar im Code beachten.