Deutsch
Forum

SEPA Basis Lastschrift

 
- Seite 1 -



Thomas
Freier
Bevor ich das Rad neu erfinde, hat sich schon einer mit dem Thema befasst und es umgesetzt?
Nachdem ich nach langem Zaudern, unser Kassierer ist als echter DAU einfach nicht mit einer ext. Software zurecht gekommen, 2010 DTAUS in meinem Vereinsprogramm eingebaut hatte steht nun SEPA an, und ist im Moment noch ein Buch mit sieben Siegeln für mich.
Würde mich freuen, wenn jemand mit einem entsprechenden Script (*.inc) helfen könnte, um eine *.xml erzeugen zu können. Eine kleine Aufwandsentschädigung ist nicht ausgeschlossen, denn sonst ich würde es erneut mit einer ext. Software versuchen und der Kassierer muß eben tüchtig üben damit die Kasse nicht leer bleibt.
 
Gruß Thomas
Windows XP SP2, XProfan X2
26.02.2013  
 



 
- Seite 2 -



Thomas
Freier
Moin Torben,
wandels du die Datei um, oder nur die Elemente
user_firma$
nachname$
vorname$
zweck$
um?
Den Punk Erst- und Folgelastschrift kläre bei unserer Kasse, ob es wirklich zwei Dateien sein müssen, oder es nur um die Vorlaufzeiten geht. Die meisten Kassen bieten ja auch an eine Musterdatei vorab zu prüfen.
 
Gruß Thomas
Windows XP SP2, XProfan X2
01.03.2013  
 




Torben
Nissen
Ich wandel die Elemente um.
Wegen der Erst- bzw. Folgelastschrift gab es, wie gesagt, bisher keine Probleme. Das Ausführungsdatum darf nur nicht zu früh sein, dann gibt es im Onlinebanking-Programm Probleme. Vielleicht hast Du Recht und es geht tatsächlich bei der Erst- und Folgelastschrift um die Vorlaufzeit.
 
01.03.2013  
 




Thomas
Freier
Gerade von der S-Kasse die Auskunft bekommen, dass der Mandant bzw. dessen Bank die Lastschrift bei falscher Angabe ablehnen können. Muß aber nicht so sein.
Bei den Beispieldateien wird es im Moment ja nicht bei jedem Datensatz hinterlegt.
Werde es mit Sepasoft testen ob es auch anders werden kann.
 
Gruß Thomas
Windows XP SP2, XProfan X2
01.03.2013  
 




Torben
Nissen
Ob die Bank überhaupt prüft, ob es eine Erst- oder Folgelastschrift ist? Es gibt ja auch die Möglichkeit "Letzte Lastschrift"!
Ich muss mal sehen, ob ich doch noch einmal diesen Punkt in meinem Programm überarbeite. Ich bastel gerade sowieso an Version 4. Das Programm muss dann prüfen, ob es sich um einen Erstauftrag (erster Aboauftrag) und dann auch noch um die erste Rate handelt. Wenn nicht, ist es eine Folgerate. Ich hätte nur das Problem, dass ich nicht genau festlegen kann, ob es die letzte Lastschrift ist, da der Kunde sein Abo auch noch verlängern kann, wenn die letzte Rate vom letzten Auftrag schon abgebucht wurde.
(Ist doch eigentlich egal! Warum nur wird diese Angabe benötigt? )
 
01.03.2013  
 




Thomas
Freier
Reiner Formalismus für festgelegte Ratenzahlungszeiten. Im Prinzip muß man wohl nicht auf die Letztlastschrift eingehen.
 
Gruß Thomas
Windows XP SP2, XProfan X2
01.03.2013  
 




Thomas
Freier
So, einmal Erst und Folge in Sepasoft gemischt. Es wurde die Liste vom Programm nach Lastschriftart vor dem Erstellen der xml neu sortiert. In der xml wurden zwei Abschnitte erzeugt.
Ich werde es es im Programm so steuern, dass zwei getrennte Dateien (ERST, FOLGE) erzeugt werden.

66 kB
Hochgeladen:01.03.2013
Ladeanzahl242
Herunterladen
7 kB
Hochgeladen:01.03.2013
Ladeanzahl389
Herunterladen
 
Gruß Thomas
Windows XP SP2, XProfan X2
01.03.2013  
 




Torben
Nissen
Das sieht doch prima aus! Der 01. Februar 2014 kann kommen !!!
Ich werde es wohl auch mit zwei Sepa-Dateien regeln. Ist ja auch nicht schlimm.

Für alle anderen, die vielleicht auch noch irgendwann vor dem "SEPA-Problem" stehen, sei gesagt, dass es im Prinzip gar nicht so schwer ist, eine SEPA-Datei zu erstellen. Ich bin so vorgegangen, dass ich eine DTA-Datei mit dem Programm Sepatools in das XML-Format umgewandelt habe. So wusste ich, wie eine SEPA-XML-Datei aufgebaut ist und welche Daten (mindestens) gefordert sind. Dann bin ich Zeile für Zeile durchgegangen und habe jede Zeile entsprechend in mein Programm umgesetzt, so dass dieses wiederum eine XML-Datei erstellen kann.

Das Programm Sepatools gibt es hier: [...] 
Eine SEPA-Test-Datei hat Thomas im vorherigen Beitrag gepostet.
 
02.03.2013  
 




Thomas
Freier
Ja, ist doch einfacher, und vor allem nach deiner Vorarbeit und "Testphase", als ich befürchtet hatte. Wie es 2014 endgültig wird werden wir sehen, da dann ja auch BIC entfallen kann. Gelesen hatte ich noch, dass über jede Lastschrift ein Protokoll archiviert werden soll. Ich werde, da ohnehin angepasst werden muß, in meine Vorschau die ReferenzNr. gleich in einer Spalte erzeugen und alles als codierte csv abspeichern

193 kB
Hochgeladen:02.03.2013
Ladeanzahl203
Herunterladen
63 kB
Hochgeladen:02.03.2013
Ladeanzahl188
Herunterladen
 
Gruß Thomas
Windows XP SP2, XProfan X2
02.03.2013  
 




Torben
Nissen
Zumindest muss ein Datenträgerbegleitzettel erstellt werden.
(Nachtrag: Das Datum ist bei meinem Beispiel natürlich nicht korrekt! )

14 kB
Kurzbeschreibung: Datenträgerbegleitzettel
Hochgeladen:02.03.2013
Ladeanzahl6
Herunterladen
 
02.03.2013  
 




Thomas
Freier
Ja??? Diese Funktion habe ich in der Testsoftware Sepasoft nicht gefunden, oder sollte es dieser Report sein?
Bisher hatte ich da selbst eine einfache PDF(kommt ohne Zusatzsofware aus aber auf Basisfont beschränkt) erzeugt und beides ist dann per Email übermittelt worden.
Beispiel einseitige PDF
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Proc BEGLEITZETTEL_PDF

    Assign #2,(old_file$+"\\DTAUS\\Begleitzettel.pdf")
    Rewrite #2
    Print #2,"%PDF-1.2"
    Print #2,"%âãÏÓ"
    Print #2,"1 0 obj"
    Print #2,"<<"
    Print #2,"/Author ()"
    Print #2,"/CreationDate (D:20090105223536)"
    Print #2,"/Creator (PDFproducer  v1.3)"
    Print #2,"/Producer (PDFproducer )"
    Print #2,"/Title ()"
    Print #2,"/Subject ()"
    Print #2,"/Keywords ()"
    Print #2,">>"
    Print #2,"endobj"
    Print #2,"4 0 obj"
    Print #2,"<<"
    Print #2,"/Type /Font"
    Print #2,"/Subtype /Type1"
    Print #2,"/Name /F1"
    Print #2,"/Encoding 5 0 R"
    Print #2,"/BaseFont /Courier"
    Print #2,">>"
    Print #2,"endobj"
    Print #2,"5 0 obj"
    Print #2,"<<"
    Print #2,"/Type /Encoding"
    Print #2,"/BaseEncoding /WinAnsiEncoding"
    Print #2,">>"
    Print #2,"endobj"
    Print #2,"6 0 obj"
    Print #2,"<<"
    Print #2,"  /Font << /F1 4 0 R >>"
    Print #2,"  /ProcSet [ /PDF /Text ]"
    Print #2,">>"
    Print #2,"endobj"
    Print #2,"7 0 obj"
    Print #2,"<<"
    Print #2,"/Type /Page"
    Print #2,"/Parent 3 0 R"
    Print #2,"/Resources 6 0 R"
    Print #2,"/Contents 8 0 R"
    Print #2,"/Rotate 0"
    Print #2,">>"
    Print #2,"endobj"
    Print #2,"8 0 obj"
    Print #2,"<<"
    Print #2,"/Length 6 0 R"
    Print #2,">>"
    Print #2,"stream"
    Print #2,"BT"
    Print #2,"/F1 12 Tf"
    Print #2,"1 0 0 1 70 782 Tm"
    Print #2,"14 TL"
    var a$="                                                                        "
    var text$="Begleitzettel"
    text$="      "
    PDF_ZEILE 5
    text$="Begleitzettel Datenträgeraustausch"
    PDF_ZEILE 1
    text$="Sammel-Einziehungsauftrag"
    PDF_ZEILE 1
    text$="----------------------------------------"
    PDF_ZEILE 1
    text$=""
    PDF_ZEILE 2
    text$=left$("Disketten-Nr."+a$,40)+": ............."
    PDF_ZEILE 1
    text$=left$("Dateiname"+a$,40)+": DTAUS0.txt"
    PDF_ZEILE 1
    text$=left$("Erstellungsdatum"+a$,40)+": "+Date$(0)
    PDF_ZEILE
    text$=""
    PDF_ZEILE 1
    text$=left$("Anzahl Datensätze C"+a$,40)+": "+@Format$("#######0",ANZ.sum!)
    PDF_ZEILE 1
    text$=left$("Kontrollsumme der Datensätze C "+a$,36)+"EUR : "+@Format$("##########0.00",EUR.sum!)
    PDF_ZEILE 1
    text$=""
    PDF_ZEILE 1
    text$=left$("Kontrollsumme der Bankleitzahlen"+a$,40)+": "+@Format$("00000000000000000",BLZ.sum!)
    PDF_ZEILE 1
    text$=left$("Kontrollsumme der Kontonummern"+a$,40)+": "+@Format$("00000000000000000",KTO.sum!)
    PDF_ZEILE 1
    text$="----------------------------------------"
    PDF_ZEILE 1
    text$="      "
    PDF_ZEILE 2
    text$=left$("Bankleitzahl Absenderbank"+a$,40)+": "+GetText$(B_Edi6&)
    PDF_ZEILE 1
    text$=left$("Kontonummer Absender"+a$,40)+": "+GetText$(B_Edi61&)
    PDF_ZEILE 1
    text$=left$("Absender"+a$,40)+": "+GetText$(B_Edi5&)
    PDF_ZEILE 1
    text$="  "
    PDF_ZEILE 7
    text$="------------------------------------------------------------------"
    PDF_ZEILE 1
    text$="Ort, Datum                        Unterschrift"
    PDF_ZEILE 1
    Print #2,"1 0 0 1 504 25 Tm"
    Print #2,"(1) Tj"
    Print #2,"/F1 10 Tf"
    Print #2,"ET"
    Print #2,"endstream"
    Print #2,"endobj"
    Print #2,"9 0 obj"
    Print #2,"2360"
    Print #2,"endobj"
    Print #2,"2 0 obj"
    Print #2,"<<"
    Print #2,"/Type /Catalog"
    Print #2,"/Pages 3 0 R"
    Print #2,">>"
    Print #2,"endobj"
    Print #2,"3 0 obj"
    Print #2,"<<"
    Print #2,"/Type /Pages"
    Print #2,"/Count 1"
    Print #2,"/MediaBox [ 0 0 595 842 ]"
    Print #2,"/Kids [ 7 0 R ]"
    Print #2,">>"
    Print #2,"endobj"
    Print #2,"0 10"
    Print #2,"0000000000 65535 f"
    Print #2,"0000000113 00000 n"
    Print #2,"0000002875 00000 n"
    Print #2,"0000002918 00000 n"
    Print #2,"0000000156 00000 n"
    Print #2,"0000000245 00000 n"
    Print #2,"0000000307 00000 n"
    Print #2,"0000000372 00000 n"
    Print #2,"0000000453 00000 n"
    Print #2,"0000002858 00000 n"
    Print #2,"trailer"
    Print #2,"<<"
    Print #2,"/Size 10"
    Print #2,"/Root 2 0 R"
    Print #2,"/Info 1 0 R"
    Print #2,">>"
    Print #2,"startxref"
    Print #2,"2996"
    Print #2,"%%EOF"
    Close #2

Endproc

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Proc PDF_ZEILE

    Parameters n.p%
    text$=Translate$(Text$,"(","\(")
    text$=Translate$(Text$,")","\)")
    text$="T* (" + text$ + ") Tj"

    WhileLoop n.p%

        Print #2,text$

    EndWhile

EndProc

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Nachtrag: wars schneller. Vielleicht zur eigenen Information kann man ja Sammel-Ersteinzugsauftrag bzw. Sammel-Folgeeinzugsauftrag verwenden.

3 kB
Hochgeladen:02.03.2013
Ladeanzahl296
Herunterladen
 
Gruß Thomas
Windows XP SP2, XProfan X2
02.03.2013  
 




Torben
Nissen
Ich habe noch einmal wegen des Datenträgerbegleitzettels nachgeforscht. Ich kenne ihn schon von der DTA-Datei. Da muss auch so ein Zettel ausgedruckt werden. Bisher haben wir diesen Zettel aber keiner Bank vorlegen müssen. Das liegt vielleicht aber auch daran, dass wir in der Firma die Datei in unser Online-Bankingprogramm "SFirm" einlesen und nicht zur Bank bringen. Dieses gibt dann nach Absenden der Lastschriften ein detailliertes Protokoll aus. Den Datenträgerbegleitzettel heften wir dann zusammen mit dem Protokoll ab. Den Datenträgerbegleitzettel drucke ich über meinen Abomanager aus, könnte man aber auch von "SFirm" ausdrucken lassen.
StartPrint "*"

If %Printing

    Usefont "Arial",28,0,1,0,0
    Drawtext 30,30,"Datenträger-Begleitzettel"
    Usefont "Arial",20,0,0,0,0
    DrawText 30,60,"Belegloser Datenträgeraustausch für Euro-Zahlungen (SEPA) im XML-Format"
    DrawText 30,90,"Sammel-Einzugsauftrag"
    Usefont "Arial",18,0,0,0,0
    DrawText 30,130,"Erstellungsdatum:"
    DrawText 30,150,"Ausführungsdatum:"
    DrawText 30,170,"Anzahl der Datensätze:"
    DrawText 30,190,"Summe der Beträge in EUR:"
    DrawText 30,210,"Name Auftraggeber:"
    DrawText 30,230,"Dateikennung:"
    DrawText 30,250,"Dateiname:"
    DrawText 300,130,@Date$(0)
    DrawText 300,150,printausfuehrung$
    DrawText 300,170,anzahl$
    printergebnis$=@Translate$(printergebnis$,".",",")
    DrawText 300,190,printergebnis$
    DrawText 300,210,user_firma$
    DrawText 300,230,"Kennung-Msg"+Date$(3)+"-"+time_kennung$
    DrawText 300,250,"Abo_"+datum$+".xml"
    DrawText 30,350,"_____________________________________________________"
    Usefont "Arial",8,0,0,0,0
    DrawText 30,370,"Ort, Datum, Unterschrift"

EndIf

EndPrint

Sepatools fragt tatsächlich, ob ein Datenträgerbegleitzettel ausgedruckt werden soll.


22 kB
Kurzbeschreibung: Hinweis Sepatool - Datenträgerbegleitzettel
Hochgeladen:02.03.2013
Ladeanzahl191
Herunterladen
 
02.03.2013  
 



 
- Seite 3 -



Thomas
Freier
Da die SEPA.xml ja UTF-8 verwendet, kann man sich eine Umwandlung von AnsiToUTF8 sparen, da die zulässigen Zeichen, armes Europa, mit Ansi identisch sind. Die deutschen Umlaute von Torbens Beispiel waren mir zu wenig, da wir bei Ansi ja auch René oder Møller schreiben können.
proc SEPA_abc

    ' gültige Zeichen, DK-Empfehlungen)
    ' Erlaubt sind "0-9" "a-z" "A-Z" die Zeichen "-':?,+()/." sowie Leerzeichen.
    ' hier wird alles als Großbuchstaben umgewandelt
    parameters a$
    a$=Upper$(a$)
    Declare ax$
    var nx%=1
    var ny%=len(a$)+1

    While nx%<ny%

        ax$=mid$(a$,nx%,1)

        SELECT ord(mid$(a$,nx%,1))

            CaseOf 192,193,194,195

            a$=@Translate$(a$,ax$,"A")

            CaseOf 196,198

            a$=@Translate$(a$,ax$,"AE")
            inc ny%

            CaseOf 197

            a$=@Translate$(a$,ax$,"AA")
            inc ny%

            CaseOf 199

            a$=@Translate$(a$,ax$,"C")

            CaseOf 200,201,202,203

            a$=@Translate$(a$,ax$,"E")

            CaseOf 204,205,206,207

            a$=@Translate$(a$,ax$,"I")

            CaseOf 208

            a$=@Translate$(a$,ax$,"D")

            CaseOf 209

            a$=@Translate$(a$,ax$,"N")

            CaseOf 210,211,212,213

            a$=@Translate$(a$,ax$,"O")

            CaseOf 214,216

            a$=@Translate$(a$,ax$,"OE")
            inc ny%

            CaseOf 217,218,219

            a$=@Translate$(a$,ax$,"U")

            CaseOf 220

            a$=@Translate$(a$,ax$,"UE")
            inc ny%

            CaseOf 221

            a$=@Translate$(a$,ax$,"Y")

            CaseOf 223

            a$=@Translate$(a$,ax$,"SS")
            inc ny%

            CaseOf 33,35,36,37,42,59,60,61,62,64

            a$=@Translate$(a$,ax$," ")

            CaseOf 38

            a$=@Translate$(a$,ax$,"UND")
            inc ny%,2

            CASEOF >90

            a$=@Translate$(a$,ax$," ")

            CASEOF <33

            a$=@Translate$(a$,ax$," ")

        EndSelect

        inc nx%

    EndWhile

    Return a$

endproc

 
Gruß Thomas
Windows XP SP2, XProfan X2
27.11.2013  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

27.220 Betrachtungen

Unbenanntvor 0 min.
Gast.081516.07.2024
Member 288304906.02.2019
Ernst26.03.2016
mene23.12.2015
Mehr...

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

Thomas Freier (13x)
Torben Nissen (9x)
iF (3x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie