-
Notifications
You must be signed in to change notification settings - Fork 1
Proffix Fibu Schnittstelle
Patrick edited this page Oct 15, 2019
·
1 revision
Für den Datenaustausch zwischen dem FLS-System und der Proffix Finanzbuchhaltungs-Software wird die PROFFIX Buchungs-DLL benötigt. Damit können Daten aus dem Proffix exportiert und auch importiert werden.
Die gesamte Dokumentation der Schnittstelle ist im Dokument beschrieben.
Um die Adressen zwischen dem FLS und Proffix synchron zu halten, dienen folgende WebApi-Schnittstellen:
-
[http://test.glider-fls.ch/Help/Api/GET-api-v1-persons-fulldetails-modified-modifiedSince GET api/v1/persons/fulldetails/modified/{modifiedSince}]um neu hinzugefügte oder bearbeitete Datensätze seit dem angeforderten Datum zu erhalten (inkl. Metadaten). -
[http://test.glider-fls.ch/Help/Api/GET-api-v1-persons-fulldetails-deleted-deletedSince GET api/v1/persons/fulldetails/deleted/{deletedSince}]um seit dem angeforderten Datum die gelöschten Datensätze aus dem FLS zu erhalten, so dass diese durch Proffix nicht wieder im FLS erstellt werden. -
[http://test.glider-fls.ch/Help/Api/POST-api-v1-persons-fulldetails POST api/v1/persons/fulldetails]um eine neue Person im FLS zu erstellen, welche im Proffix bereits vorhanden ist. -
[http://test.glider-fls.ch/Help/Api/PUT-api-v1-persons-fulldetails-personId PUT api/v1/persons/fulldetails/{personId}]um eine Person im FLS zu aktualisieren, die in der Zwischenzeit in Proffix aktualisiert wurde. -
[http://test.glider-fls.ch/Help/Api/DELETE-api-v1-persons-fulldetails-personId DELETE api/v1/persons/fulldetails/{personId}]um eine Person im FLS zu löschen, welche in Proffix ebenfalls gelöscht wurde.
Über die Rechnungs-Schnittstelle kann Proffix sämtliche Flüge abfragen, welche verrechnet werden können. Jeder Flug, der in Proffix verrechnet wird, muss durch Proffix im FLS entsprechend als verrechnet markiert werden.
- Ein Flug muss korrekt erfasst worden sein
- Der Flug muss anschliessend (als Workflow im FLS Server) gültig validiert worden sein
- Zwei Tage nach der Validierung des Fluges wird der Flug als "gesperrt" markiert, so dass er für die Verrechnung bereit ist, jedoch von einem Benutzer nicht mehr bearbeitet werden kann.
Folgender Ablauf ist für eine erfolgreiche Verrechnung nötig:
- Der Client (Proffix Rechnungs-Import-Modul) ruft die WebApi-Methode
[http://test.glider-fls.ch/Help/Api/GET-api-v1-invoices-daterange-fromDate-toDate GET api/v1/invoices/daterange/{fromDate}/{toDate}]auf. Als Zeitraum (von/bis) ist zu empfehlen, einen relativ grossen Zeitraum abzufragen (z.B. das aktuelle Jahr: 1.1.2016 bis 30.4.2016), so dass auch nachträglich erfasste Flüge noch in die Verrechnung einfliessen. - Der Server gibt dem Client eine Liste von
FlightInvoiceDetailsim JSON-Format zurück, für alle Flüge im entsprechenden Zeitraum, welche im FlugstatusLockedsind. Das ObjektFlightInvoiceDetailsenthält neben derFlightIdauch den Rechnungsempfänger (ClubMemberKey, ClubMemberNumber), Flugdatum, zusätzliche Infos, die Information ob der Schleppflug auch enthalten ist und die Liste der RechnungspositionenList<FlightInvoiceLineItem> FlightInvoiceLineItems { get; set; }. DieFlightInvoiceLineItem's enthalten dann die Referenz zur ERP-Artikel-Nummerstring ERPArticleNumber { get; set; }, sowie die Menge, Rechnungstext, Einheit, etc. - Der Client kann nun mit diesen Angaben die Rechnung oder die Lieferscheine erstellen.
- Für jeden Flug, welcher nun verrechnet bzw. verarbeitet wurde, muss nun der Flugstatus aktualisiert werden. Dazu ruft der Client für jeden Flug die Methode
[http://test.glider-fls.ch/Help/Api/POST-api-v1-invoices-invoiced POST api/v1/invoices/invoiced]auf. Nebst den WertenFlightIdundIncludeTowFlightId, welcher vorher vom Server an den Client mitgeliefert wurden, muss der Client nun das Rechnungsdatum (zwingend) und entweder die Rechnungsnummer oder die Lieferscheinnummer mitgeben. - Der Server setzt die entsprechenden Flüge (gemäss
FlightIdim Post-Request) auf den Flugstatus "verrechnet", so dass diese Flüge kein weiteres mal verrechnet werden.
Es gibt noch zwei weitere WebApi-Methoden:
- Mit
[http://test.glider-fls.ch/Help/Api/POST-api-v1-invoices-deliveries-deliveryNumber POST api/v1/invoices/deliveries/{deliveryNumber}]können die Flüge, welche vorher im Proffix nur als Lieferschein erfasst wurden nun mit der entsprechenden Rechnungsnummer aus dem Proffix gesetzt werden. - Mit
[http://test.glider-fls.ch/Help/Api/POST-api-v1-invoices-invoiceNumber POST api/v1/invoices/{invoiceNumber}]kann der Flug mit der entsprechenden Rechnungsnummer mit dem Zahlungsdatum (im Post-Request) als bezahlt markiert werden. Der Server setzt das Zahlungsdatum auf jedem Flug, welcher in dieser Rechnung enthalten ist. Zudem wird der Flugstatus entsprechend auf "bezahlt" gesetzt.