Programm zur Umwandlung von Excel Daten in das SEPA-XML Format.
Tabelle mit Überweisungsdaten (Empfängername, IBAN, BIC, Betrag usw.) soll in ein Bankverwaltungsprogramm (z.B. Quicken) geladen werden. Um dies zu ermöglichen, ist ein Austauschformat zu benutzten, in diesem Fall SEPA-XML. Damit können sowohl Lastschriften als auch Überweisungen ausgetauscht werden. Da nicht immer alle Zeilen einer Excel-Tabelle in eine xml Datei portiert werden sollen, werden so genannten Überweisungsmappen-Bezeichner (z.B.: UEM-2015-05-02) verwendet. Dadurch kann jede Zeile mit einem Bezeichner versehen werden. Im Programm wird dann später ein Überweisungsmappen-Bezeichner ausgewählt, für den eine SEPA-XML Datei erstellt werden soll.
Quicken importiert Überweisungen nur für ein Auftragskonto erlaubt, sind alle Überweisungen im einem Auftragskonto (in der Konfiguration Importkonto genannt)
PHP Konsolen Interpreter (Version >= 5.3.2)
-
Windows Branch auschecken oder runterladen und entpacken
-
PHP Binary von Windows PHP Website runterladen
Direktlinks: -
runtergeladene Zip-Datei in den Ordner
php-binary
im Projektordner entpacken -
Program mit folgendem Befehl starten
php-binary\php.exe main.php
Im Windows Branch sind die verwendeten Bibliotheken direkt enthalten und müssen nicht mittels Composer installiert werden, da meist kein git usw. zur Verfügung steht.
- Master Branch auschecken oder runterladen und entpacken
- Ausführen des Installations-Scripts (eventuell vorher ausführbar machen mit
chmod +x install.sh
)
./install.sh
- Program mit folgendem Befehl starten
php main.php
Zuerst kann der Benutzer eine Liste aller in der Excel-Tabelle enthaltenen Überweisungsmappen-Bezeichner anzeigen lassen. Folgender Befehl erzeugt die Liste:
Windows (cmd)
php-binary\php.exe main.php --list
Linux (bash)
php main.php --list
mögliche Ausgabe:
UEM-2015-05-02
UEM-2015-04-02
UEM-2014-02-02
Nun kann der Benutzer einen Bezeichner auswählen und das Programm erneut starten, um für diesen Bezeichner alle Überweiungen in eine SEPA-XML Datei zu transformieren. Folgender Befehl erzeugt eine SEPA-XML Datei für den Bezeichner UEM-2015-05-02:
Windows (cmd)
php-binary\php.exe main.php --map=UEM-2015-05-02
Linux (bash)
php main.php --map=UEM-2015-05-02
mögliche Ausgabe:
Folgende Probleme sind während der Erstellung der SEPA-XML-Datei aufgetreten:
Zeile 4: iBYLADEM1001 ist kein gültiger BIC und wird deswegen nicht übernommen!
Zusammenfassung:
Anzahl an Zeilen in der Excel-Tabelle: 1
Anzahl an Überweisungen: 1
Gesamtsumme: 500.76
Danach ist eine UEM-2015-05-02.xml erzeugt worden und auf dem Bildschirm erscheinen Information, zu aufgetretenen Problemen und verarbeiteten Überweisungen.
Weitere Programm-Parameter können mit folgendem Befehl angezeigt werden;
php main.php --help
Für eine bessere Benutzterfreundlichkeit existiert ein Powershell-Skript, welches eine minmale Benutzeroberfläche
bereitstellt und die Bedienung etwas erleichtert. Voraussetzung ist allerdings das man die rechte besitzt
Powershell-Skripte auszuführen.
Zum Start des Skripts folgenden Befehl in die Konsole eingeben:
powershell <projektpfad>\run.ps1
Für eine bessere Benutzterfreundlichkeit existiert ein Bash-Skript, welches eine minimale Benutzerführung bereitstellt
und die Bedienung etwas erleichtert.
Zum Start des Skripts folgenden Befehl in die Konsole eingeben (eventuell vorher ausführbar machen mit chmod +x run.sh
):
run.sh
- Speicherort der Excel-Tabelle
- Zeilennummer mit den Spaltenbezeichnungen
- Spaltenname in der die Überweisungsmappen-Bezeichner stehen
- Speicherort der xml Dateien
- Speicherort der log Dateien
- Überweisungsmappen-Bezeichner
- Betrag
- IBAN
- BIC
- IBAN des Importkontos
- BIC des Importkontos
- Name des Importkontos
- Firmenname des Importkontos
- Spaltenname für die IBANs
- Spaltenname für die BICs
- Spaltenname für die Empfängernamen
- Spaltenname für den Betrag
- Spaltenname für die erste Zeile des Verwendungszwecks
- Spaltenname für die zweite Zeile des Verwendungszwecks
- Prefix für Verwendungszweck Zeile 1
- Prefix für Verwendungszweck Zeile 2
- Trennzeichen zwichen Verwendungszweck Zeile 1 und Zeile 2
Zum Auslesen der Daten aus der Excel-Tabelle wird die
PHP-Klasse simplexlsx
von Sergey Shuchkin verwendet.
Zum Erzeugen der SEPA-XML Datei wird die Bilbiothek php-sepa-xml von Digitick verwendet.
- 1 Keine MAP angegeben.
- 2 MAP-Bezeichner nicht in Excel-Tabelle enthalten.
- 3 XML Datei schon vorhanden.