====== 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