====== E-Banking Splitter für PROFFIX ====== Mit diesem Tool können **E-Bankingeinträge aus PROFFIX** gesplittet und aufgeteilt werden. Die Splittung erfolgt mittels **Regex** und einer einfachen Berechnungssyntax, was auch anspruchsvolle Aufteilungen möglich macht. Vereinfacht macht das Tool folgendes: {{:tools:splitter-original.png?nolink|}} //Original mit einzelnen, kombinierten Bewegungen mit Gebühren, Kommissionen etc.// {{:tools:splitter-splitted.png?nolink|}} //Mit E-Banking Splitter automatisch aufgesplittete Bewegungen// Die so aufgesplitteten Kontobewegungen können anschliessend **automatisch über PROFFIX verbucht werden**. {{:tools:splitter-proffix-verbuchen.png?nolink|}} ====== Konfiguration ====== Sämtliche Konfiguration erfolgt über eine **config.json** welche sich im **selben Verzeichnis** wie das Tool befinden muss. ===== Beispiel ===== { "Licence": "", "Database": { "Username": "sa", "Password": "1234", "Database": "DEMODB", "Instance": "PROFFIX", "Hostname": "SQLSERVER1", "Port": 1433, "Parameter": "?connection+timeout=30" }, "Filter": [{ "Contains": "", "DateFrom": "01.01.2018", "DateTo": "31.12.2018", "Regex": " KOM (.*?) TRX", "Original": { "Calculation": "ES_Betrag", "PostingText": "ORIGINAL ES_Buchungstext" }, "Splitted": { "Calculation": "ES_Kommission*(-1)", "PostingText": "SPLITTED ES_Buchungstext" } }, { "Contains": "DEMO PROVIDER", "DateFrom": "01.01.2018", "DateTo": "31.12.2018", "Regex": " KOMM(.*?)", "Original": { "Calculation": "ES_Betrag", "PostingText": "ES_Buchungstext" }, "Splitted": { "Calculation": "ES_Kommission*(-1)", "PostingText": "Kommission ES_Buchungstext" } } ], "Reset": { "Active": false, "DateFrom": "01.01.2018", "DateTo": "31.12.2018" } } ===== Parameter ===== ==== Licence ==== Hier muss die Lizenz angegeben werden. Die Lizenz erhalten Sie von uns. __Demolizenz__ Das Tool ruft beim ersten Start **automatisch eine Demolizenz** ab und passt das config.json File damit an. Zusätzlich wird die entsprechende Lizenz an die angegebene Emailadresse gesendet. ==== Database ==== ^ Parameter ^ Typ ^ Bemerkung ^ | Username | string | Benutzername SQL - Server | | Password | string | Passwort SQL - Server | | Database | string | PROFFIX Datenbank | | Instance | string | Wenn vorhanden: Instanz des SQL - Servers | | Hostname | string | Hostname des SQL - Servers; kann auch IP sein | | Port | int | Port des SQL Servers | | Parameter | string | Div. Parameter für SQL-Server | **Single-Sign-On unter Windows** wird unterstützt, d.h. wenn der ausführende Benutzer genügenden administrative Berechtigungen hat um die PROFFIX Datenbank zu bearbeiten kann sowohl Username wie auch Password leer gelassen werden. ==== Filter ==== Mit folgenden Filtern wird die Aufteilung der E-Banking Bewegung gesteuert. Der Betrag stammt jeweils aus der Regex Auswahlgruppe. ^ Parameter ^ Typ ^ Optional ^ Bemerkung ^ | Contains | string | ja | Zusätzliche Bedingung welche prüft ob ein Wort in der Bewegung enthalten ist. Die Aufteilung **wird nur vorgenommen,** wenn diese zutrifft! | | Regex | string | | Regex - Ausdruck mit Selektion | | DateFrom | date | ja | Zusätzliche Bedingung welche nur Bewegungen ab diesem Datum splittet | | DateTo | date | ja | Zusätzliche Bedingung welche nur Bewegungen bis zu diesem Datum splittet | | Original | array | | Siehe nächste Tabelle | | Splitted | array | | Siehe nächste Tabelle | __Original / Splitted__ ^ Parameter ^ Typ ^ Optional ^ Bemerkung ^ | PostingText | string | | Zu erstellender Buchungstext; Platzhalter können verwendet werden. | | Calculation | string | | Die Berechnung des Betrages; Platzhalter können verwendet werden. | __Berechnungsbeispiele:__ "Calculation": "ES_Kommission*(-1)" // Schreibt Kommission als Belastung "Calculation": "ES_Kommission" // Schreibt Kommission als Vergütung "Calculation": "ES_Betrag-ES_Kommission" // Zieht Kommission vom Originalbetrag ab === Buchungstext / Berechnung Platzhalter === Der Buchungstext und die Berechnung für die gesplittete Kommissionsbewegung kann mit Platzhaltern angereichert werden: ^ Platzhalter ^ Effekt ^ | ES_Kommission | Kommissionsbetrag (gemäss Regex) | | ES_Buchungstext | Original-Buchungstext | | ES_Betrag | Betrag der Original - Buchungsbewegung | | ES_BetragSW | BetragSW | | ES_Datum | Datum der Bewegung | __Beispiel:__ "PostingText": "KOMMISSION #Kommission# #Datum# #Buchungstext#" Der entsprechende **Regex-Ausdruck** kann z.B. mittels Online - Tools wie etwa [[https://regex101.com|Regex101.com]] erstellt werden. Ein effektives Beispiel finden Sie [[https://regex101.com/r/U5eHvX/1|hier]]. Der Betrag für die Aufteilung wird jeweils** nur aus der Selektionsgruppe 1** genommen. ==== Reset ==== ^ Parameter ^ Typ ^ Optional ^ Bemerkung ^ | Active | bool | | Reset wird nur durchgeführt wenn wahr | | DateFrom | date | ja | Einschränkungskriterium für Reset | | DateTo | date | ja | Einschränkungskriterium für Reset | Damit die E-Bankingbelege korrekt zurückgesetzt werden können, schreibt der E-Banking Splitter sämtliche Logs inkl. der jeweiligen PROFFIX - Versionen und LaufNr in eine Zusatztabelle **PITW_EbankingSplitter**. ====== Installation ====== Der E-Banking Splitter besteht aus einer einzigen, ausführbaren Datei und** muss entsprechend nicht installiert sondern einfach ausgeführt werden.** Einige Möglichkeiten, um diesen besser in PROFFIX zu integrieren: ===== Verknüpfung in PROFFIX ===== Die Verknüpfung in PROFFIX kann an mehreren Orten erfolgen und anschliessen per Klick ausgeführt werden. {{:tools:splitter-proffix-integration-shortcut.png?nolink|}} ===== Weitere Möglichkeiten ===== Weitere Möglichkeiten für die automatisierte Ausführung sind etwa: * **Windows Aufgabenplaner**; Aufgabe erstellen um E-Banking Splitter periodisch auszuführen * **Datenbank Trigger**; Bei CREATE in FIB_CCBewegungen E-Banking Splitter ausführen ====== Startparameter ====== Folgende Startparameter sind möglich: ^ Parameter ^ Typ ^ Hinweis ^ | -update | bool | Prüft, ob eine neuere Version des E-Banking Splitters vorhanden ist. | | -cfg-path | Pfad | Pfad zu einem alternativen Konfiguration (z.B für ** mehrere Mandanten**) | | -cfg-name | Dateiname | Alternativer Konfigurationsname (anstelle von config.json); Es darf nur der Name ohne Endung angegeben werden. | | -help | | Zeigt die obigen Befehle an | Beispiele: go-proffix-ebanking-splitter.exe -cfg-path=C:\Test -cfg-name=config -update=true go-proffix-ebanking-splitter.exe -cfg-path=C:\Demo -cfg-name=config go-proffix-ebanking-splitter.exe -cfg-name=mandant1 ====== Download ====== Die aktuellste Version kann jeweils hier heruntergeladen werden (inkl. kostenloser **Demoversion**): * [[https://update.pitw.ch/download/ebanking-splitter/win-amd64/latest|Download E-Banking Splitter (Windows) * ]] * [[https://update.pitw.ch/download/ebanking-splitter/linux-amd64/latest|Download E-Banking Splitter (Linux) * ]] * [[https://update.pitw.ch/download/ebanking-splitter/darwin-amd64/latest|Download E-Banking Splitter (MacOS / Darwin) * ]] Auf Updates kann mit dem Parameter **-update=true** geprüft werden - der E-Banking Splitter aktualisiert sich dann selbst. __Beispiel:__ C:\go-proffix-ebanking-splitter.exe -update=true ====== Changelog ====== === Version 1.8 (aktuell) === * Bugfix Demolizenz * kl. Anpassungen Logformatierung === Version 1.7 === * Refractoring * Upgrade Lizenzsystem (neu: per Gerät) * kl. Bugs / Performance === Version 1.6 === * Fix Problem mit Filter Content * Umstellung Reset-Funktion auf Zusatztabelle === Version 1.5 === * Aufteilung in Splitted / Original * Platzhalter / Berechnungen für Splitbuchungen