Skip to content

larseidam/excel_sepa-xml_converter

Repository files navigation

Excel-SEPA-Konverter

Programm zur Umwandlung von Excel Daten in das SEPA-XML Format.

Anwendungsfall

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.

Einschränkung

Quicken importiert Überweisungen nur für ein Auftragskonto erlaubt, sind alle Überweisungen im einem Auftragskonto (in der Konfiguration Importkonto genannt)

Anforderungen

PHP Konsolen Interpreter (Version >= 5.3.2)

Installation

Windows

  • 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.

Linux

  • 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

Benutzung

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

Benutzeroberfläche

Windows

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

Linux

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

Konfigurationsmöglichkeiten (config.ini)

Allgemein

  • Speicherort der Excel-Tabelle
  • Zeilennummer mit den Spaltenbezeichnungen
  • Spaltenname in der die Überweisungsmappen-Bezeichner stehen
  • Speicherort der xml Dateien
  • Speicherort der log Dateien

Datenprüfung (Regulärer Ausdrücke für die syntaktische Überprüfung von)

  • Überweisungsmappen-Bezeichner
  • Betrag
  • IBAN
  • BIC

Sender-Konto

  • IBAN des Importkontos
  • BIC des Importkontos
  • Name des Importkontos
  • Firmenname des Importkontos

Spaltennamen in Excel-Tabelle

  • 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

Verwendungszweck

  • Prefix für Verwendungszweck Zeile 1
  • Prefix für Verwendungszweck Zeile 2
  • Trennzeichen zwichen Verwendungszweck Zeile 1 und Zeile 2

Verwendete Bibliotheken

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.

Exit-Codes des Programms

  • 1 Keine MAP angegeben.
  • 2 MAP-Bezeichner nicht in Excel-Tabelle enthalten.
  • 3 XML Datei schon vorhanden.

About

Tool to convert data from an Excel table to a SEPA-XML file

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published