Italia
Foro

SEPA Basis Lastschrift

 

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 per mich.
Würde mich freuen, wenn jemand mit einem entsprechenden Script (*.inc) helfen potuto, 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  
 



Grüße!

Zwar nicht befasst und umgesetzt aber verstehe ich Dich richtig, dass Du letztendlich
nur eine XML erzeugen möchtest? Das wiederum sehe ich als wenig problematisch
an, habe auch schon xmls aus XProfan heraus erzeugt z.B. beim Leveleditor per OGL.

Hast Du mal solch XML parat dass man sehen kann wie Du sie gerne hättest?
 
27.02.2013  
 




Thomas
Freier
@iF, es geht im Wesentlichen um den Aufbau, bestehend aus Testata, Datensätze und Abschlußzeilen. Beim Pflichtenheft der Bundesbank steige ich noch nicht durch. Vieles ist sicher speziell und per eine Basis-Lastschrift nicht erforderlich. Mit einem Testprogramm habe ich mal eine xml (bitte umbenennen) erstellt. Beispiel per Ansi zu UTF-8 ist hier ja vorhanden. Ansonsten würde ich wie bei DTAUS die Daten aus einer Gridbox nehmen und die File Zeile per Zeile schreiben (Print #2,Zeile$).

6 kB
Hochgeladen:27.02.2013
Downloadcounter2
Download
 
Gruß Thomas
Windows XP SP2, XProfan X2
27.02.2013  
 



Tjo, pauschal sehe ich da 2 Wege -

entweder ein "Template" oder wir bauen solch Node-Tree-Klasse,
in die man quasi Äste einhängen kann mit a) Werten und b) Parametern.

Schade das XProfan (noch) keine assoziativen Arrays beherrscht,
damit ginge es superfix aber wenn Du Dich per das (mit sicherheut deutlich
einfachere) Template-Verfahren entscheidest dann sehe ich da auch eine
schnelle Abhilfe.

Ich schätze, dass in Deinen Werten und Parametern per Eigenschaften von
Ästen keine Zeichen vorkommen, die nicht auch per Ansi darstellbar sind,
weshalb wir quasi nur mit Ansi arbeiten müssten und nur im letzten Schritt
die ganze Textdatei nach UTF kodieren.

Von den einzelnen Positionen/ Ästen bzw. Eigenschaften und Parametern
habe ich keine Ahnung, also ich weiß nicht welche Struktur abverlang wird.

Gibt es dazu eine Documentazione oder hast Du bereits ein File welches
wir zum Template machen könnten?
 
27.02.2013  
 




Thomas
Freier

Gibt es dazu eine Documentazione oder hast Du bereits ein File welches
wir zum Template machen könnten?


Dokumentationen findet man einige
[...]  noch brauchbar?
[...] 
[...]  Beispiel ganz unten: Schema per SEPA-Lastschriften

Eine gültiges , schon gelaufenes Muster suche ich auch noch.
Hoffnung hatte ich auf den Abomanager von Torben Nissen gesetzt, der jetzt auch SEPA Lastschriften erstellen können soll. Ist mir nicht gelungen. Vielleicht sieht Torben hier bei Gelegenheit vorbei und kann uns erklären wie es gemacht wird.
Mir gelang es nicht. Der Menüpunkt ist immer deaktiviert.
 
Gruß Thomas
Windows XP SP2, XProfan X2
28.02.2013  
 



Ich habe Torben soeben einmal angeschrieben -
hoffentlich kann er uns etwas dazu mitteilen.
 
28.02.2013  
 




Thomas
Freier
Ja gut. Mein Planungsziel ist März 2014. Aber ich dachte, es ist jetzt die Zeit einmal Nachzufragen, ob sich ein Profaner schon damit beschäftigt oder es gar realisiert hat.
Die Möglichkeit ext. Software einzusetzen bleibt immer noch.
 
Gruß Thomas
Windows XP SP2, XProfan X2
28.02.2013  
 




Torben
Nissen
Hallo!
Es freut mich, dass ich Euch mal helfen kann!!! Heute Abend kann ich Euch einen Auszug aus meinem Quellcode schicken, der eine SEPA-File erstellen kann! Im Abomanager ist der Punkt SEPA-File erstellen deaktiviert, da das Programm davon ausgeht, dass die Bankdaten zunächst im BLZ-Format und "normaler" Kontonummer vorliegen!
Also legt zum Probieren einen Kunden an, gebt eine (gültige!) BLZ und Kontonummer ein. Dann geht Ihr auf "Programm" > "Wartung" und klickt auf IBAN / BIC berechnen. Danach può Ihr SEPA-File erstellen. Unter Benutzerdaten müsst Ihr naturalmente auch gültige Bankdaten hinterlegt haben! Als Gläubiger-ID può Ihr zum Probieren die ID DE98ZZZ09999999999 benutzen!
Ach ja, Ihr müsst naturalmente einen Aboauftrag anlegen. Gebt mindestens eine fällige Rate ein. Zum Selektieren das entsprechende Fälligkeitsdatum eingeben!
 
28.02.2013  
 




Torben
Nissen
Ich nutze kurz die Mittagspause, um Euch den Quellcode zu posten (ist auf aufgrund der Schnelle nicht weiter kommentiert). Vielleicht hilft das trotzdem erstmal weiter:
KompilierenMarkierenSeparieren
'Eigentliche SEPA-Datein anlegen
Assign #1,($ProgDir+"\SEPA\Abo_"+datum$+".xml")
Rewrite #1
Append #1
Print #1,"<?xml version="+Chr$(34)+"1.0"+Chr$(34)+" encoding="+Chr$(34)+"UTF-8"+Chr$(34)+"?>"
Print #1,"<Document xmlns="+Chr$(34)+"urn:iso:std:iso:20022:tech:xsd:pain.008.002.02"+Chr$(34)+">"
Print #1,"<CstmrDrctDbtInitn>"
Print #1,"<GrpHdr>"
time_kennung$=@Time$(0)
Print #1,"<MsgId>Kennung-Msg"+@Date$(3)+"-"+time_kennung$+"</MsgId>"
'Erstellungsdatum der Datei berechnen
datei_date$=@Date$(3)
jahr$=@Left$(datei_date$,4)
monat$=@Mid$(datei_date$,5,2)
tag$=@Right$(datei_date$,2)
Print #1,"<CreDtTm>"+jahr$+"-"+monat$+"-"+tag$+"T"+@Time$(0)+":01</CreDtTm>"
Print #1,"<NbOfTxs>"+anzahl$+"</NbOfTxs>"
Print #1,"<CtrlSum>"+ergebnis$+"</CtrlSum>"
Print #1,"<InitgPty>"
Print #1,"<Nm>"+user_firma$ +"</Nm>"
Print #1,"</InitgPty>"
Print #1,"</GrpHdr>"
Print #1,"<PmtInf>"
Print #1,"<PmtInfId>Kennung-PmInf"+@Date$(3)+"-"+@Time$(0)+"-1</PmtInfId>"
Print #1,"<PmtMtd>DD</PmtMtd>"
Print #1,"<NbOfTxs>"+anzahl$+"</NbOfTxs>"
Print #1,"<CtrlSum>"+ergebnis$+"</CtrlSum>"
Print #1,"<PmtTpInf>"
Print #1,"<SvcLvl>"
Print #1,"<Cd>SEPA</Cd>"
Print #1,"</SvcLvl>"
Print #1,"<LclInstrm>"
Print #1,"<Cd>CORE</Cd>"
Print #1,"</LclInstrm>"
Print #1,"<SeqTp>RCUR</SeqTp>"
Print #1,"</PmtTpInf>"
'Ausführungstermin der Datei berechnen
termin_jahr$=@Right$(termin$,4)
termin_monat$=@Mid$(termin$,4,2)
termin_tag$=@Left$(termin$,2)
Print #1,"<ReqdColltnDt>"+termin_jahr$+"-"+termin_monat$+"-"+termin_tag$+"</ReqdColltnDt>"
Print #1,"<Cdtr>"
Print #1,"<Nm>"+user_firma$+"</Nm>"
Print #1,"</Cdtr>"
Print #1,"<CdtrAcct>"
Print #1,"<Id>"
Print #1,"<IBAN>"+user_iban$+"</IBAN>"
Print #1,"</Id>"
Print #1,"</CdtrAcct>"
Print #1,"<CdtrAgt>"
Print #1,"<FinInstnId>"
Print #1,"<BIC>"+user_bic$+"</BIC>"
Print #1,"</FinInstnId>"
Print #1,"</CdtrAgt>"
Print #1,"<ChrgBr>SLEV</ChrgBr>"
Print #1,"<CdtrSchmeId>"
Print #1,"<Id>"
Print #1,"<PrvtId>"
Print #1,"<Othr>"
id$ = @ReadIni$($ProgDir+"System.sfw","Header","SEPA-ID")
Print #1,"<Id>"+id$+"</Id>"
Print #1,"<SchmeNm>"
Print #1,"<Prtry>SEPA</Prtry>"
Print #1,"</SchmeNm>"
Print #1,"</Othr>"
Print #1,"</PrvtId>"
Print #1,"</Id>"
Print #1,"</CdtrSchmeId>"
' Ab hier beginnen die eigentlichen Kundenforderungen

WhileLoop 0, GetCount(Gridbox%)-1

    lfdnr%=lfdnr%+1
    lfdnr$=lfdnr%
    daten$=GetString$(GridBox%, &loop)
    nachname$=@Mid$(daten$,1,20)
    vorname$=@Mid$(daten$,32,20)
    bic$=@Mid$(daten$,63,11)
    iban$=@Mid$(daten$,75,34)
    betrag$=@Mid$(daten$,112,6)
    zweck$=@Mid$(daten$,119,30)
    mandat_id$=@Mid$(daten$,150,6)
    nachname$=@Trim$(nachname$)
    vorname$=@Trim$(vorname$)
    bic$=@Trim$(bic$)
    iban$=@Trim$(iban$)
    betrag$=@Trim$(betrag$)
    zweck$=@Trim$(zweck$)
    mandat_id$=@Trim$(mandat_id$)
    nachname$=@Translate$(nachname$,"Ü","Ue")
    nachname$=@Translate$(nachname$,"Ö","Oe")
    nachname$=@Translate$(nachname$,"Ä","Ae")
    vorname$=@Translate$(vorname$,"Ü","Ue")
    vorname$=@Translate$(vorname$,"Ö","Oe")
    vorname$=@Translate$(vorname$,"Ä","Ae")
    zweck$=@Translate$(zweck$,"Ü","Ue")
    zweck$=@Translate$(zweck$,"Ö","Oe")
    zweck$=@Translate$(zweck$,"Ä","Ae")
    zweck$=@Translate$(zweck$,"&","und")
    nachname$=@Translate$(nachname$,"ü","ue")
    nachname$=@Translate$(nachname$,"ö","oe")
    nachname$=@Translate$(nachname$,"ä","ae")
    nachname$=@Translate$(nachname$,"ß","ss")
    vorname$=@Translate$(vorname$,"ü","ue")
    vorname$=@Translate$(vorname$,"ö","oe")
    vorname$=@Translate$(vorname$,"ä","ae")
    vorname$=@Translate$(vorname$,"ß","ss")
    zweck$=@Translate$(zweck$,"ü","ue")
    zweck$=@Translate$(zweck$,"ö","oe")
    zweck$=@Translate$(zweck$,"ä","ae")
    zweck$=@Translate$(zweck$,"ß","ss")
    'nachname$=@Upper$(nachname$)
    'vorname$=@Upper$(vorname$)
    'zweck$=@Upper$(zweck$)
    Print #1,"<DrctDbtTxInf>"
    Print #1,"<PmtId>"
    'Datum formatieren
    kennung_date$=@Date$(0)
    kennung_date$=@Translate$(kennung_date$,".","")
    Print #1,"<EndToEndId>Kennung-EtE"+kennung_date$+"-"+@Time$(0)+"-"+lfdnr$+"</EndToEndId>"
    Print #1,"</PmtId>"
    Print #1,"<InstdAmt Ccy="+Chr$(34)+"EUR"+chr$(34)+">"+betrag$+"</InstdAmt>"
    Print #1,"<DrctDbtTx>"
    Print #1,"<MndtRltdInf>"
    Print #1,"<MndtId>"+mandat_id$+"</MndtId>"
    'Hier eventuell das Auftragsdatum? <<<<<<<<<<<<<<<<<<<<<<<<<<
    mandat_date$=@Date$(3)
    jahr_mandat$=@Left$(mandat_date$,4)
    monat_mandat$=@Mid$(mandat_date$,5,2)
    tag_mandat$=@Right$(mandat_date$,2)
    Print #1,"<DtOfSgntr>"+jahr_mandat$+"-"+monat_mandat$+"-"+tag_mandat$+"</DtOfSgntr>"
    Print #1,"</MndtRltdInf>"
    Print #1,"</DrctDbtTx>"
    Print #1,"<DbtrAgt>"
    Print #1,"<FinInstnId>"
    Print #1,"<BIC>"+bic$+"</BIC>"
    Print #1,"</FinInstnId>"
    Print #1,"</DbtrAgt>"
    Print #1,"<Dbtr>"
    Print #1,"<Nm>"+nachname$+", "+vorname$+"</Nm>"
    Print #1,"</Dbtr>"
    Print #1,"<DbtrAcct>"
    Print #1,"<Id>"
    Print #1,"<IBAN>"+iban$+"</IBAN>"
    Print #1,"</Id>"
    Print #1,"</DbtrAcct>"
    Print #1,"<RmtInf>"
    Print #1,"<Ustrd>"+zweck$+"</Ustrd>"
    Print #1,"</RmtInf>"
    Print #1,"</DrctDbtTxInf>"

EndWhile'WhileLoop 0, GetCount(Gridbox%)-1

Print #1,"</PmtInf>"
Print #1,"</CstmrDrctDbtInitn>"
Print #1,"</Document>&qu
pan> close #1 'Ende Sepa-File Erstellung

Viele Grüße
Torben
 
28.02.2013  
 




Thomas
Freier
Moin Torben, da bin ich beim Testen wohl circa BLZ/Konto gestolpert, weil ich gleich BIC/IBAN eingegeben hatte. Werde jetzt den beschriebenen Weg testen. Gesucht hatte ich noch eine Mandatsverwaltung (im Kundendatensatz), also min. Datum (ab wann gültig) und ob es sich um Erst-, bzw. Folgelastschrift handelt.

Oh, warst aber fix. DANKE! Werde es mal testen.
 
Gruß Thomas
Windows XP SP2, XProfan X2
28.02.2013  
 




Torben
Nissen
Ich benutze als Mandat-ID die Kundennummer vom Abokunden und als Datum das Auftragsdatum.
 
28.02.2013  
 




Thomas
Freier
Habe einmal mit der Testversion von Sepasoft verglichen und nur ein Tag Differenz gefunden.
Torben, ich gehe einmal davon aus, dass schon erfolgreich SEPA-Lastschriften mit deinem Script corsa worden sind.
Wenn ich das Merkblatt unserer S-Kasse sehe, so bleibt der Punkt Erst- und Folgelastschrift zur Zeit noch offen.

– SEPA-Lastschrifteinzugdatei erstellen?
– neues File-Format „xml“
– getrennt nach
Erst-Lastschrift / Folge-Lastschrift

Könnte auch sein, dass das von Bank zu Bank unterschiedlich behandelt wird.
Auf die Umwandlung von Ansi->UTF würde ich nicht verzichten um sicher zu sein, dass alle Zeichen ab 128 auch richtig eingepflegt werden.

 
Gruß Thomas
Windows XP SP2, XProfan X2
28.02.2013  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

26.633 Views

Untitledvor 0 min.
Gast.081516.07.2024
Member 288304906.02.2019
Ernst26.03.2016
mene23.12.2015
Di più...

Themeninformationen

Dieses Thema hat 3 subscriber:

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


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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