DTA-Datei mit Python erstellenODPPDF


Sie sind hier:StartDTA-Datei mit Python erstellen

Bedienungsanleitung DTAUS.py

Knut Lickert

13. Juli 2003

Dieses Dokument beschreibt, wie mit Hilfe von Python aus einer Liste mit Überweisungen eine DTAUS-Datei zum Einreichen bei einer Bank erstellt werden kann.

Für ein korrektes Arbeiten des Programmes wird keine Garantie übernommen, das Programm wurde allerdings selbst von mir genutzt. Inzwischen habe ich es durch eine Ruby-Version abgelöst: http://ruby.lickert.net/dtaus/

-------------------------------------------

Inhaltsverzeichnis

1 DTA und seine Welt
 1.1 Andere Lösungen
2 Der Ablauf
 2.1 Kontodatei
 2.2 Importdatei
3 Fragen und Antworten
 3.1 Kann jeder DTAUS nutzen?
 3.2 Kostet das was?
 3.3 Muss ich eine Buchungsdatei erstellen?
 3.4 Kann ich das Datum anders als das Tagesdatum setzen?
 3.5 Kann man das Begleitblatt schöner machen?
 3.6 Was macht die TEX-Datei?
 3.7 Und wo ist das Programm?

1 DTA und seine Welt

Informationen zu DTAUS und der Formatdefinition sind u.a. unter http://www.infodrom.org/projects/dtaus/dtaus.php3 zu finden.

1.1 Andere Lösungen

DTAUS-Dateien werden von vielen Programmen erzeugt, in der Regel ist ein DTA-Export in Buchführungsprogrammen integriert.

Für Access und Excel habe ich Sharewareprogramme gefunden, ich empfehle jedem sich eine kleine Übersicht über die Angebote zu verschaffen.

2 Der Ablauf

Die Nutzung von DTAUS.py ist denkbar einfach. Als Voraussetzung brauchen sie Python sowie ihre Überweisungsdaten in einer ;-getrennten Tabelle (z.B. über die Exportfunktion von Excel).

  1. Erstellung einer Kontendatei. Das Format ist unter Abschnitt subsection 2.1 beschrieben. Die Kontodatei enthält Informationen wie ihr Name, ihre Kontonummer, Bankname und Bankleitzahl. Zusätzlich können Sie einen Buchungstext vorgeben.
  2. Erstellung der Importdatei. Das Format ist unter Abschnitt subsection 2.2 beschrieben.
  3. Aufruf des Pythonskriptes aus der DOS-Box:
      DTAUS.py Kontodatei Buchungsdatei Zieldatei  
      
    Kontodatei und Buchungsdatei müssen vollständig angegeben werden (mit Endung), die Zieldatei darf keine Endung enthalten.
  4. Tritt kein Fehler auf haben sie anschließend drei Dateien: Zieldatei.dta, Zieldatei.txt und Zieldatei.tex. ("Zieldatei" ist dabei jeweils der Name, den Sie beim Aufruf übergeben haben.)
  5. Kopieren Sie Zieldatei.dta als DTAUS0.dta auf eine Diskette.
  6. Drucken Sie Zieldatei.txt aus (oder falls Sie wissen was TEX ist, verwenden Sie die TEX-Datei) und unterschreiben Sie.
  7. Mit der Diskette und dem unterschriebenen Zettel gehen Sie zur Bank.
  8. Bei meiner Bank nutzen Filialen und zentrale Rechenzentrum unterschiedliche Programme. Bisher gelang es mir nicht, das die Filialen meine Dateien verarbeiten können (was nicht nur mir so geht). In der Zentrale funktioniert es problemlos.

2.1 Kontodatei

Die Kontodatei enthält Daten zur Abrechnung und ihre persönlichen Bankdaten.

Die Daten im Einzelnen:

typ
LK (Lastschriften) oder GK (Gutschriften)

Lastschriften heißt, das Sie einziehen, d.h. Sie erhalten Geld. Gutschriften heißt sie schreiben anderen Leuten etwas gut, mit anderen Worten ihr Kontostand verringert sich.

bank
Der Name ihrer Bank
blz
Bankleitzahl ihrer Bank
konto
Ihre Kontonummer
zweck
Der Zweck der Buchungen.

Sie können später jeder Buchung einen eigenen Zweck geben. Vergeben Sie keinen Zweck wird dieser Zweck genommen.

Der Zweck erscheint später auf den Auszügen ihrer Partner.

name
Ihr Name.

Der Name erscheint später auf den Auszügen ihrer Partner.

TeXclass
(optional)

Wenn Sie TEX nicht kennen, vergessen Sies.

Wenn Sie TEX kennen: Das ist die Klasse, in der das Begleitschreiben erzeugt wird. Default ist scrlettr (ja, ich weiß, das ist veraltet. Ich will auch auf scrlettr2 umsteigen).

Der Schlüsselbegriff und der Wert sind durch einen : (Doppelpunkt) getrennt, mehrzeilige Eingaben sind nicht erlaubt.

Ein Beispiel:

 typ:LK  
 blz:99988811  
 konto:123456  
 bank:Nord-Ostschwäbische Sandbank  
 zweck:Mitgliedsbeitrag 2003  
 name:Jodelverein Holladriö 1863 e.V.  
 TeXclass:MeinBrief

2.2 Importdatei

Jede Buchungen wird aus einer Zeile mit sieben Feldern gebildet. Einzelne Felder sind mit : (Doppelpunkt) getrennt. Die Felder sind in der Reihenfolge ihres Auftretens:
  1. Nachname
  2. Vorname
  3. Kunden- oder Mitgliedsnummer

    DTAUS sieht diese Nummer vor, eine Verwendung konnte ich bisher nicht entdecken. das Feld darf leer sein. (Leer! nicht nicht definiert).

  4. Kontonummer des Empfängers oder Zahler.
  5. Bankleitzahl des Empfängers oder Zahler.
  6. Bankname des Empfängers oder Zahler.
  7. Betrag in Euro
  8. Verwendungszweck (optional)

    Dieser Text wird auf dem Auszug des Empfängers oder Zahler vermerkt. Ist das Feld leer oder fehlend wird der Text aus der Kontodatei genommen.

Beispiel:

 #Datensaetze fuer 2003 - erstellt 31.01.2003  
 #Name:Vorname:MNr:Kto:BLZ:Bank:Beitragshöhe  
 Musterfrau:Silke:1:123456789:77733322:Gartenbank Südwest:15  
 Mustermann:Egon:2:987654321:55544422:Zahlnix-Bank:30:Beitrag 2002 und 2003
Silke Musterfrau muss 15 Euro zahlen, Egon Mustermann zahlt 30 Euro, da er letztes Jahr noch nicht bezahlte.

3 Fragen und Antworten

3.1 Kann jeder DTAUS nutzen?

Fragen Sie die Bank ihres Vertrauens (oder von mir aus auch eine andere Bank).

3.2 Kostet das was?

Dieses Skript stelle ich zur freien Nutzung zur Verfügung, gebe aber keinerlei Garantie für deren Richtigkeit. Das zugrunde liegende Python ist ebenfalls frei.

Ansonsten fragen Sie ihre Bank für eventuelle Bankgebühren.

3.3 Muss ich eine Buchungsdatei erstellen?

Jein.

Ich habe selbst eine Anwendung, die aus Abrechnungsdaten Rechnungen (mit Positionslisten) und zwei DTA-Dateien generiert (Gut- und Lastschriften). Der Zwischenschritt über die Buchungsliste ist nicht notwendig, wer etwas Python beherrscht kann direkt die Routinen anspringen.

Eine Schnittstellendefinition findet sich in dem Programm selbst.

Ich empfehle dieses Verfahren nur, wenn man ein eigenes Abrechnungsprogramm schreiben will und dazu Python verwenden will.

3.4 Kann ich das Datum anders als das Tagesdatum setzen?

Jein.

Wird das Skript aus Python gerufen (siehe Frage subsection 3.3) kann ein Datum mitgegeben werden. Bei Aufruf per Batch ist (noch) keine Übergabe des Datums möglich.

3.5 Kann man das Begleitblatt schöner machen?

Siehe: Was macht die TEX-Datei? Frage subsection 3.6

3.6 Was macht die TEX-Datei?

Vorweg: TEX ist ein mächtiges Satzprogramm zur Erzeugung von qualitativ hervorragenden Schriftwerken. Nähere zu TEX findet sich bei http://www.dante.de

Die erzeugte TEX-Datei kann mit LATEX übersetzt werden, die so erzeugte Datei kann ausgedruckt werden. Die zugrunde liegende Klasse ist eine Briefklasse auf Basis von scrlettr (Umstieg auf scrlettr2 ist geplant). Absender etc. müssen in der Klasse definiert werden.

3.7 Und wo ist das Programm?

Hier: DTAUS.py (Mit "Ziel speichern unter" laden)