abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken

107
letzte Antwort am 27.07.2021 17:33:24 von vogtsburger
Dieser Beitrag ist geschlossen
0 Personen hatten auch diese Frage
Gelöschter Nutzer
Offline Online
Nachricht 1 von 108
10038 Mal angesehen

Hallo Leute,

heute habe ich zum ersten Mal erfolgreich ein PayPal-Konto über das Bankenmodul importieren können.

Folgendes Szenario liegt vor:

Ich bekomme vom Mandanten ein PayPal-Export als CSV-Datei. Diese Datei hat aber als Feldtrenner ein Komma (,) und nicht das Semikolon (;). Das ist natürlich für Excel ein GAU, da hier die erste Spalte als Text erkannt wird und eine manuelle Trennung erfolgen muss.

Des Weiteren ist die Exportdatei im UTF-Zeichencode, was dazu führt, dass z. B. Sonderzeichen (Ü, Ä, Ü usw. ) nicht richtig erkannt werden.

Voraussetzung:

  1. Einrichtung einer Dummy-Bank PayPa
    - Ich habe im Bankenstamm mir ein PayPal-Konto mit BLZ 899 999 99 (BIC PPXXXXX) eingerichtet.
    - Danach wurde für den Mandanten in den Stammdaten ein PayPal-Kto. mit Kto.Nr. 123456 eingerichtet. Als Quelle Kontoumsätze sind folgende Angaben zu machen:

    a) Einstellung für: Nicht aufgeführtes Programm
    Pfad und Dateiname: […]\Banken.csv
    Dateiformat: ASCII (Weiterverarbeitung)

    b) Optionen Kontoumsätze
    Geben Sie den ersten Tag für den Import und den Banksaldo vom ersten Tag ein.

    Damit sind die Vorarbeiten abgeschlossen.

  2. Vom Mandanten erhalte ich jetzt den PayPal-Export mit folgendem Inhalt (Muster):
    "Datum","Uhrzeit","Zeitzone","Beschreibung","Währung","Brutto","Gebühr","Netto","Guthaben","Transaktionscode","Absender E-Mail-Adresse","Name","Name der Bank","Bankkonto","Versand- und Bearbeitungsgebühr","Umsatzsteuer","Rechnungsnummer","Zugehöriger Transaktionscode"
    "01.01.2017","18:30:06","Europe/Berlin","PayPal Express-Zahlung","EUR","109,00","-2,42","106,58","4.039,19","9GJ66310R8********","************","**********","","","0,00","0,00","*********",""
    Hinweis: ******* Löschung Text wg. Datenschutz

  3. Vorgehensweise:
    a) Das Script speichern und Pfade im Script bitte anpassen.
    b) Die Originaldatei vom Mandanten speichern und per Drag&Drop auf das VBSript fallen lassen.

    c) Arbeitsweise vom Script
    Die Originaldatei wird in Zeichencode ANSI konvertiert, so dass auch Sonderzeichen gelesen werden können. Danach wird die CSV-Datei wieder  eingelesen und in eine Exceldatei geparst. Diese Exceldatei kann man, wenn man es möchte, speichern oder weiterverarbeiten.

    Aus der Exceldatei werden jetzt die Inhalte, die mir wichtig erschienen, in die Feldvariablen colBank(34)  (s. Schnittstellenbeschreibung) gespeichert und in die DATEV-Importdatei geschrieben (Banken.csv). Diese CSV wird jetzt über das Programmmodul Auswertung -> Finanzbuchführung -> Bankkontoumsätze -> Einstellung Bankkontoumsätze eingelesen.

    Die PayPal-Gebühren werden sowohl als letzte Zeile (sind ja Kosten) als auch als Detailinformation in der Bankbewegung unter Gebühren aufgeführt. Im Verwendungszweck1 und Verwendungszweck2 sind der Transaktionscode und Absendername aufgenommen. Das könnte man noch erweitern.

Das Script hat bei mir funktioniert. Ich habe jetzt das gesamte PayPal-Konto in den Banken enthalten und kann mit dem Modul 'Buchungsvorschläge bearbeiten' die Bankdaten in die FiBu importieren.

Und hier das vollständige VBScript:
Bitte noch die BLZ,  Kto und Pfade anpassen.

Option Explicit

Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FileExists("\\server01\home\66\Documents\DATEV\DATEN\RWDAT\Export\Banken.csv") Then
objFSO.DeleteFile("\\server01\home\66\Documents\DATEV\DATEN\RWDAT\Export\Banken.csv")
End If
 
On Error Resume Next

'############### Step 1 -> CSV in ANSI konvertieren

Private Const adReadAll = -1
Private Const adSaveCreateOverWrite = 2
Private Const adTypeBinary = 1
Private Const adTypeText = 2
Private Const adWriteChar = 0

UTF8toANSI WScript.Arguments(0), WScript.Arguments(0)

'############### Step 2 -> Über Excel in Spalten konvertieren

Dim objExcel
Dim objWkb
Dim objWks
Set objExcel = GetObject(,"Excel.Application")

If err.number<>0  Then
Err.Clear
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Add
End if

Set objWks = objExcel.Workbooks(1).Sheets(1)
objExcel.Visible = True

Dim objReadFile
Set objReadFile =objFSO.OpenTextFile(WScript.Arguments(0),  1)

Dim colBank(34)       'Spaltendefinition siehe DATEV-Schnittstelle (Feld 1 - 34)
Dim curGeb
Dim sTemp
Dim MyResult
Dim i, lCol, lRow
Do Until objReadFile.AtEndOfStream 

sTemp=objReadFile.Readline
sTemp = Replace (sTemp,""",""",";")
sTemp = Replace (sTemp,"""","")
MyResult = Split(sTemp,";")
lRow=lRow+1    
For i = 0 To UBound(MyResult)-1
lCol=i+1

Select Case lCol
Case 6,7,8,9,15,16
'WScript.Echo MyResult(i)
If IsNumeric(MyResult(i))=False Then
objWks.cells(lRow,lCol).Value=MyResult(i)
Else
objWks.cells(lRow,lCol).Value=CCur(MyResult(i))
End If    
Case Else                
objWks.cells(lRow,lCol).Value=MyResult(i)
End Select
Next
Loop

objWks.columns("J:J").Insert, -4152
lRow = 1
Const sQuote = """"

With objWks                                            'Spaltenüberschriften der neuen Excel-Datei
.cells(lRow,1).value="BelegDatum"
.cells(lRow,6).value="Betrag"
.cells(lRow,10).value="Buchungstext"
End With        

Dim MyFile
Set MyFile = objFSO.OpenTextFile("\\server01\home\66\Documents\DATEV\DATEN\RWDAT\Export\Banken.csv", 2, True) 

Const xlCellTypeLastCell=11

For i = 2 To objWks.usedrange.specialcells(xlCellTypeLastCell).row

lRow=lRow+1


If objWks.cells(lRow,5).value    ="EUR" Then     'nur EUR-Beträge werden berücksichtigt
If objWks.cells(lRow,13).value<>"" Then             'Buchungstext mit/ohne Transaktionscode (nur für den Fall 'das der Bankenimport nicht

                                                                                      'richtig funktioniert) = redundant
objWks.cells(lRow,10).value = objWks.cells(lRow,11).value & " / " & objWks.cells(lRow,13).value
Else
objWks.cells(lRow,10).value = objWks.cells(lRow,11).value
End If        

curGeb = curGeb + CCur(objWks.cells(lRow,7))                  'Aufsummierung PayPal-Gebühren

colBank(1) = sQuote & "89999999"    & sQuote                    'Blz
colBank(2) = sQuote & "123456"    & sQuote                        'KtoNr
colBank(5) = objWks.cells(lRow,1)                               'Datum Valuta
colBank(6) = objWks.cells(lRow,1)                               'Buchungsdatum
colBank(7) = FormatNumber(objWks.cells(lRow,6),2)               'Umsatz
colBank(8) = objWks.cells(lRow,13)                               'Auftraggebername 1
colBank(12) = objWks.cells(lRow,11)                               'Verwendungszweck 1 (Transaktionscode)
colBank(13)   = objWks.cells(lRow,12)                               'Verwendungszweck 2 (EMail)
colBank(29) = FormatNumber(objWks.cells(lRow,7),2)               'Gebühren

sTemp=""

For lCol=1 To UBound(colBank)
sTemp = sTemp & colBank(lCol) & ";"
Next

sTemp = Left(sTemp,Len(sTemp)-1)       'letztes Semikolon löschen (überschüssig)

MyFile.Writeline sTemp
End If            

Next

'zuletzt noch als letzte Bankbewegung die summierten PayPal-Gebühren
  sTemp=""

sTemp = sTemp & sQuote & "89999999"    & sQuote & ";"                                                    'Blz
sTemp = sTemp & sQuote & "123456"    & sQuote & ";"                                                    'KtoNr
sTemp = sTemp & ";"                                                                                    'Auszug
sTemp = sTemp & ";"                                                                                    'Datum Auszug
sTemp = sTemp & DateSerial(Year(objWks.cells(lRow,1)),Month(objWks.cells(lRow,1))+1,0) & ";"        'Datum Valuta 
sTemp = sTemp & DateSerial(Year(objWks.cells(lRow,1)),Month(objWks.cells(lRow,1))+1,0) & ";"        'Datum Buchung
sTemp = sTemp & FormatNumber(curGeb,2) & ";"                                                        'Umsatz
sTemp = sTemp & "PayPal" & ";"                                                                        'Auftraggebername 1
sTemp = sTemp & "" & ";"                                                                            'Auftraggebername 2
sTemp = sTemp & ""  & ";"                                                                            'BLZ Auftraggeber
sTemp = sTemp & "" & ";"                                                                            'Kto Auftraggeber
sTemp = sTemp & "PayPal-Gebühren" & ";"                                                                'Verwendungszweck 1
sTemp = sTemp & "" & ";"                                                                            'Verwendungszweck 2

MyFile.Writeline sTemp

MyFile.Close

MsgBox  "PayPal-Buchungen können jetzt importiert werden.",,"Export PayPal"


Private Sub UTF8toANSI(ByVal UTF8FName, ByVal ANSIFName)
Dim strText

With CreateObject("ADODB.Stream")
.Open
.Type = adTypeBinary
.LoadFromFile UTF8FName
.Type = adTypeText
.Charset = "utf-8"
strText = .ReadText()
.Position = 0
.SetEOS
.Charset = "x-ansi"        'Use current ANSI codepage.
.WriteText strText, adWriteChar
.SaveToFile ANSIFName, adSaveCreateOverWrite
.Close
End With
End Sub

Sollten es Probleme oder Fragen geben, dann einfach hier melden.

Wie immer gilt:
Ich übernehme keine Verantwortung für irgendwelche Schäden. Das Tool ist von mir getestet und es traten bei mir keine Probleme auf. Anspruch auf Support besteht nicht. Bin aber gerne bereit zu helfen.

Viel Spaß.

Gruß A. Martens

Gelöschter Nutzer
Offline Online
Nachricht 2 von 108
3783 Mal angesehen

Hallo Leute,

ich wurde inzwischen von einigen kontaktiert die auch Interesse an meinem PayPal-Tool haben, aber unsicher sind, wie die Einrichtung erfolgen muss.

Hier nun eine kleine Bildershow :

1. Einrichtung der Bank in den Kanzleistammdaten:

170621145849_2.jpg170621145949_3.jpg

2. Einrichtung der Bank in den Mandantenstammdaten:

170621150059_4.jpg170621150206_6.jpg

170621150223_7.jpg170621150511_8.jpg

170621150556_9.jpg

=> Anfangsbestand bitte hier eingeben!

Zu dem PayPal-Konto:

1. Es handelt sich um eine Exportdatei aus dem PayPal-Online Konto.

2. Diese Exportdatei braucht man einfach nur per Drag&Drop auf das VBSript fallen zu lassen und es wird die Konvertierung und der Export in die Datei 'Banken.csv' vorgenommen.

Es werden nur Euro-Beträge konvertiert. Die Fremdwährungssachverhalte (bei mir am Ende der CSV-Datei) werden ignoriert.

Bitte die Pfade an eigene Bedürfnisse anpassen!

3. Diese Banken.csv wird von DATEV automatisch eingelesen. Man braucht nichts zu machen. Alle Buchungen stehen dann unter dem Menü Auswertungen -> Finanzbuchführung -> Bankkontoumsätze zur Ansicht bereit.

Ich glaube, damit sollte man jetzt zurecht kommen.

Wie immer gilt:

Ich helfe gerne bei der Einrichtung und Fehlerbeseitung. Anspruch auf Support besteht aber nicht.

Für Programmfehler übernehme ich keine Haftung und alles geschieht auf eigene Gefahr. Das Tool ist getestet und bei mir ohne Probleme im Gebrauch. Es werden keine Änderung am System vorgenommen.

Hier kann man sich auch das fertige Script heruntergeladen werden:

     www.amtools.de/Privat/Export_PayPal.zip

Gruß A. Martens

hmischlich
Beginner
Offline Online
Nachricht 3 von 108
3784 Mal angesehen

Hallo,

vielen Dank für die "Roadshow" - das hilft unheimlich.

Ich habe trotzdem noch keinen Erfolg gehabt.

Die Pfade habe ich im Skript angepasst:

179327_pastedImage_0.png

Wenn ich nun die csv-Datei meines Mandanten auf dem Skript fallen lasse, dann öffnet sich eine Excel-Datei und ich erhalte die Mitteilung:

179328_pastedImage_1.png

Die Datei speichere ich jetzt unter dem obigen Pfad und versuche in ReWe die Daten einzuspielen:

179329_pastedImage_2.png

Leider passiert nicht und im Protokoll kommt der "Fehler Nr. 1"

Tut mir leid - bin IT-Legastheniker

Grüße H. Mischlich

0 Kudos
peter
Meister
Offline Online
Nachricht 4 von 108
3785 Mal angesehen

Hallo,

Die Pfade habe ich im Skript angepasst:

nur um sicher zu gehen: Der Pfad muss auch noch weiter unten im Code angepasst werden, nicht nur an der Stelle die Sie gepostet haben.

Vielleicht reicht das schon, ansonsten kann ich Ihnen an dieser Stelle mangels VBA-Kenntnisse leider nicht weiterhelfen.

Gruß
Peter
0 Kudos
Gelöschter Nutzer
Offline Online
Nachricht 5 von 108
3785 Mal angesehen

Hallo,

Die Pfade habe ich im Skript angepasst:

nur um sicher zu gehen: Der Pfad muss auch noch weiter unten im Code angepasst werden, nicht nur an der Stelle die Sie gepostet haben.

Folgender Pfad ist ebenfalls anzupassen:

Dim MyFile
Set MyFile = objFSO.OpenTextFile("\\server01\home\66\Documents\DATEV\DATEN\RWDAT\Export\Banken.csv", 2, True) 

Ferner ist IMO Ihre Pfadkorrektur fehlerhaft.

In Ihrem Beispiel müsste doch der Pfad wie folgt lauten:

[...]

If objFSO.FileExists("C:\Users\Public\Documents\Banken.csv") Then

   objFSO.DeleteFile("C:\Users\Public\Documents\Banken.csv")

End If

[...]

Set MyFile = objFSO.OpenTextFile("C:\Users\Public\Documents\Banken.csv", 2, True) 

[...]

Info:

\\ steht für UNC-Pfade (Netzwerk). Da Sie aber einen lokalen Pfad angeben, sind die \\ unnötig, ggf. auch schädlich.

Gruß A. Martens

----

Leider ist das Forum immer noch komplett schwachsinnig und verkrüppelt aufgebaut, quasi wie Notepad, dass ich keine sinnvolle Hervorhebungen vornehmen kann. UND DAFÜR ZAHLT DIE DATEV AUCH NOCH GELD!! Ich könnt mich wegschmeißen.

Gelöschter Nutzer
Offline Online
Nachricht 6 von 108
3785 Mal angesehen

Ich wurde gestern noch nach folgendem gefragt:

Ich habe eine Frage zum PayPal Tool. Könnte ich einmal eine Primanoten ansicht bekommen?
Desweiteren würde mich interessieren wie lange die Arbeit des Tools braucht, da mein PayPal Mandant ca. 1200 Transaktionen pro Monat generiert, würde ein entsprechend schnelles Tool hier enorm viel Zeit einsparen.

zu 1)

Die Originaldatei hat folgendes Aussehen:

170622073833_1.jpg

Man kann hier sehr schön erkennen, dass es sich um ein Web-Export handelt und eine falsche Schriftcodierung verwendet wurde. Diese falsche Schriftcodierung wird im ersten Schritt korrigiert.

170622074116_2.jpg

Hier kann man die Währungssachverhalte erkennen. Die Fremdwährungspositionen werden am Ende ausgewiesen und beim Export nicht berücksichtigt.

zu 2)

Der Export geht rasent schnell. In meinem Fall sind es ca. 300 Datensätze und das dauert nur wenige Sekunden.

Gruß A. Martens

----

Bitte alle Fragen zum PayPal-Tool hier im Forum stellen, damit alle etwas davon haben.

hmischlich
Beginner
Offline Online
Nachricht 7 von 108
3785 Mal angesehen

@Peter

Vielen Dank für den Hinweis. Ich hatte in meinem Post nur die ersten beiden Pfade exemplarisch aufgezeigt.

@Martens

Vielen Dank für den Hinweis. Tatsächlich hat die Änderung des Pfades den gewünschten (Teil-)Erfolg gebracht. Es wird nun die csv.-Datei im betreffenden Pfad erzeugt. Leider hat diese keinen Inhalt:

179513_pastedImage_0.png

Daher kommt in Rewe nichts an. In der Excel-Datei sind hingegen alle Daten vorhanden.

0 Kudos
Gelöschter Nutzer
Offline Online
Nachricht 8 von 108
3784 Mal angesehen

Hat Ihre PayPal-Datei den gleichen Aufbau wie in meinem Beispiel?

Bitte einmal ein Screenshot der PayPal-Datei einstellen. Dann kommt man vielleicht dem Problem auf die Spur.

Gruß A. Martens

0 Kudos
hmischlich
Beginner
Offline Online
Nachricht 9 von 108
3784 Mal angesehen

Gerne:

179514_pastedImage_0.png

0 Kudos
mkolberg
Meister
Offline Online
Nachricht 10 von 108
3784 Mal angesehen

Der Screenshot ist identisch mit hier funktionierenden Daten.

Es gibt zwei denkbare Möglichkeiten:

  1. Der Mandant hat die Datei nicht mittels "speichern unter", gespeichert, sondern mit seinem Excel geöffnet und aus Excel heraus gespeichert -> Datei ist defekt.
  2. Das Script setzt einen Firmen. Account von PayPal voraus. (Das läßt sich kostenlos und ohne erkennbare Nebenwirkungen aktivieren)

PS. Superdankeschön für das Script

0 Kudos
Gelöschter Nutzer
Offline Online
Nachricht 11 von 108
3784 Mal angesehen

Ich wäre natürlich an Rückmeldungen interessiert, bei dem es klappt und nicht nur bei denen Probleme auftauchen.

Gruß A. Martens

0 Kudos
mkolberg
Meister
Offline Online
Nachricht 12 von 108
3784 Mal angesehen

Vielen Dank für das Script.

Wir haben einige Anpassungen betreffs der Belegfelder vorgenommen:

_____________________________

Option Explicit

Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FileExists("N:\DATEN\Mandant\#####\Paypal\Paypal.csv") Then
objFSO.DeleteFile("N:\DATEN\Mandant\#####\Paypal\Paypal.csv")
End If
 
On Error Resume Next

'############### Step 1 -> CSV in ANSI konvertieren

Private Const adReadAll = -1
Private Const adSaveCreateOverWrite = 2
Private Const adTypeBinary = 1
Private Const adTypeText = 2
Private Const adWriteChar = 0

UTF8toANSI WScript.Arguments(0), WScript.Arguments(0)

'############### Step 2 -> Über Excel in Spalten konvertieren

Dim objExcel
Dim objWkb
Dim objWks
Set objExcel = GetObject(,"Excel.Application")

If err.number<>0  Then
Err.Clear
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Add
End if

Set objWks = objExcel.Workbooks(1).Sheets(1)
objExcel.Visible = True

Dim objReadFile
Set objReadFile =objFSO.OpenTextFile(WScript.Arguments(0),  1)

Dim colBank(34)       'Spaltendefinition siehe DATEV-Schnittstelle (Feld 1 - 34)
Dim curGeb
Dim sTemp
Dim MyResult
Dim i, lCol, lRow
Do Until objReadFile.AtEndOfStream

sTemp=objReadFile.Readline
sTemp = Replace (sTemp,""",""",";")
sTemp = Replace (sTemp,"""","")
MyResult = Split(sTemp,";")
lRow=lRow+1   
For i = 0 To UBound(MyResult)-1
lCol=i+1

Select Case lCol
Case 6,7,8,9,15,16
'WScript.Echo MyResult(i)
If IsNumeric(MyResult(i))=False Then
objWks.cells(lRow,lCol).Value=MyResult(i)
Else
objWks.cells(lRow,lCol).Value=CCur(MyResult(i))
End If   
Case Else               
objWks.cells(lRow,lCol).Value=MyResult(i)
End Select
Next
Loop

objWks.columns("J:J").Insert, -4152
lRow = 1
Const sQuote = """"

With objWks                                            'Spaltenüberschriften der neuen Excel-Datei
.cells(lRow,1).value="BelegDatum"
.cells(lRow,6).value="Betrag"
.cells(lRow,10).value="Buchungstext"
End With      

Dim MyFile
Set MyFile = objFSO.OpenTextFile("N:\DATEN\Mandant\#####\Paypal\Paypal.csv", 2, True)

Const xlCellTypeLastCell=11

For i = 2 To objWks.usedrange.specialcells(xlCellTypeLastCell).row

lRow=lRow+1

If objWks.cells(lRow,5).value    ="EUR" Then     'nur EUR-Beträge werden berücksichtigt
If objWks.cells(lRow,13).value<>"" Then             'Buchungstext mit/ohne Transaktionscode (nur für den Fall 'das der Bankenimport nicht

                                                                                      'richtig funktioniert) = redundant
objWks.cells(lRow,10).value = objWks.cells(lRow,11).value & " / " & objWks.cells(lRow,13).value
Else
objWks.cells(lRow,10).value = objWks.cells(lRow,11).value
End If      

curGeb = curGeb + CCur(objWks.cells(lRow,7))                  'Aufsummierung PayPal-Gebühren

colBank(1) = sQuote & "89999999"    & sQuote                    'Blz
colBank(2) = sQuote & "123456"    & sQuote                        'KtoNr
colBank(5) = objWks.cells(lRow,1)                               'Datum Valuta
colBank(6) = objWks.cells(lRow,1)                               'Buchungsdatum
colBank(7) = FormatNumber(objWks.cells(lRow,6),2)               'Umsatz
colBank(8) = objWks.cells(lRow,13)                                'Auftraggebername 1 (Name)
colBank(12) = objWks.cells(lRow,11)                               'Verwendungszweck 1 (Transaktionscode)
colBank(13) = objWks.cells(lRow,18)                               'Verwendungszweck 2 (Rechnungsnummer)
colBank(14) = objWks.cells(lRow,12)                               'Verwendungszweck 3 (EMail)
colBank(17) = "EUR"                                               'Währung
colBank(18) = objWks.cells(lRow,4)                                'Buchungstext       (Beschreibung)
colBank(19) = objWks.cells(lRow,14)                               'Verwendungszweck 6 (Bank)
colBank(29) = FormatNumber(objWks.cells(lRow,7),2)                'Gebühren

sTemp=""

For lCol=1 To UBound(colBank)
sTemp = sTemp & colBank(lCol) & ";"
Next

sTemp = Left(sTemp,Len(sTemp)-1)       'letztes Semikolon löschen (überschüssig)

MyFile.Writeline sTemp
End If          

Next

'zuletzt noch als letzte Bankbewegung die summierten PayPal-Gebühren
  sTemp=""

sTemp = sTemp & sQuote & "89999999"    & sQuote & ";"                                                    'Blz
sTemp = sTemp & sQuote & "123456"    & sQuote & ";"                                                    'KtoNr
sTemp = sTemp & ";"                                                                                    'Auszug
sTemp = sTemp & ";"                                                                                    'Datum Auszug
sTemp = sTemp & DateSerial(Year(objWks.cells(lRow,1)),Month(objWks.cells(lRow,1))+1,0) & ";"        'Datum Valuta
sTemp = sTemp & DateSerial(Year(objWks.cells(lRow,1)),Month(objWks.cells(lRow,1))+1,0) & ";"        'Datum Buchung
sTemp = sTemp & FormatNumber(curGeb,2) & ";"                                                        'Umsatz
sTemp = sTemp & "PayPal" & ";"                                                                        'Auftraggebername 1
sTemp = sTemp & "" & ";"                                                                            'Auftraggebername 2
sTemp = sTemp & ""  & ";"                                                                            'BLZ Auftraggeber
sTemp = sTemp & "" & ";"                                                                            'Kto Auftraggeber
sTemp = sTemp & "PayPal-Gebühren" & ";"                                                                'Verwendungszweck 1
sTemp = sTemp & "" & ";"                                                                            'Verwendungszweck 2

MyFile.Writeline sTemp

MyFile.Close

MsgBox  "PayPal-Buchungen können jetzt importiert werden.",,"Export PayPal"

Private Sub UTF8toANSI(ByVal UTF8FName, ByVal ANSIFName)
Dim strText

With CreateObject("ADODB.Stream")
.Open
.Type = adTypeBinary
.LoadFromFile UTF8FName
.Type = adTypeText
.Charset = "utf-8"
strText = .ReadText()
.Position = 0
.SetEOS
.Charset = "x-ansi"        'Use current ANSI codepage.
.WriteText strText, adWriteChar
.SaveToFile ANSIFName, adSaveCreateOverWrite
.Close
End With
End Sub

0 Kudos
mkolberg
Meister
Offline Online
Nachricht 13 von 108
3783 Mal angesehen

Das Script läßt sich kinderleicht auch für die anderen Währungen anpassen, so daß wir nur noch auf die Fremdwährungsmöglichkeit von Rewe bei den Bankkontoumsätzen warten, welche für die Herbst- DVD angekündigt sind....

0 Kudos
Gelöschter Nutzer
Offline Online
Nachricht 14 von 108
3783 Mal angesehen

Ja, ja, wenn man erst einmal Blut geleckt hat.

hmischlich
Beginner
Offline Online
Nachricht 15 von 108
3784 Mal angesehen

Hallo Herr Kolberg,

herzlichen Dank für den Tipp. Der Mandant hat tatsächlich die Datei erst in Excel geöffnet und danach gespeichert.

ES KLAPPT! Vielen Herzlichen Dank für die Unterstützung und natürlich auch an den kompetenten Programmierer!

p4ge
Aufsteiger
Offline Online
Nachricht 16 von 108
3784 Mal angesehen

Nur zur Klärung:

1. Mein Mandant muss einen Firmenkunden PayPal Account besitzen?

2. Könnten Sie mir den genauen Download"ort" des Exportes nennen? Damit ich meinen Mandanten besser leiten kann.

3. Wie verhält sich das Script bei verschiedenen Währungen?

Beispiel: Mein Mandant erhält sowohl EUR als auch GBP, jedoch wir letzteres nur ab einen Betrag ab 1000,- GBP in EUR getauscht.

4. 1.jpg

Pflicht ist, dass das Script bis auf Belegfeld 1 und PP Gebühren, die buchungen erstellt. Deshalb ja meine Bitte eine produzierte Primanota zu veröffentlichen.

0 Kudos
Gelöschter Nutzer
Offline Online
Nachricht 17 von 108
3784 Mal angesehen

zu 3) Es werden nur EUR-Beträge berücksichtigt. Die GBP werden in EUR umgerechnet und der GBP-Währungsbetrag am Ende ausgewiesen, zumindest ist es bei meinem Mandanten.

zu 4) Die PayPal-Gebühren werden in einer Summe am Ende ausgeben. Die Gebühren werden in der Bank-Datei in einer separten Spalte gespeichert.

Lassen Sie doch einmal das Tool laufen und schauen sich das Ergebnis an. Das ist doch die einfachste Methode.

Zu den Nr. 1 u. 2 kann ich nichts sagen, da ich meine Datei fix und fertig vom Mandanten erhalte. Darum will ich mich auch nicht kümmern.

Gruß A. Martens

0 Kudos
p4ge
Aufsteiger
Offline Online
Nachricht 18 von 108
3784 Mal angesehen

Ich werde mich am Wochenende einmal im Büro die Zeit nehmen und mir das ganze genau ansehen.

Gibt es evtl. noch die Möglichkeit die Gebühren vielleicht an bestimmten Punkten auszugeben, als nur einmal am Ende?

0 Kudos
Gelöschter Nutzer
Offline Online
Nachricht 19 von 108
3782 Mal angesehen

Sie können die Gebühren jederzeit, also sofort für jeden Vorgang ausgeben. Aber wo ist da der Sinn?

0 Kudos
p4ge
Aufsteiger
Offline Online
Nachricht 20 von 108
3782 Mal angesehen

Ich gehe nur von dem mir vorliegenden Fällen aus.

Ich habe hier häufig Transaktionen, welche laut Auszug normalen gelaufen sind, bei denen aber 5 Zeilen später der Saldo wieder reduziert wird.

Derzeit buche ich jede Zeile normal und Paypal Gebühren 1x pro DinA4 Seite. Sollte das Script perfekt laufen und diese Vorgänge kommen erst gar nicht mit, wäre meine Frage überflüssig. Sollte allerdings besagter Fehler auftauchen, könnte man die Gebühren alle 100 Zeilen ausgeben und könnte so den Saldo besser nachvollziehen.

0 Kudos
p4ge
Aufsteiger
Offline Online
Nachricht 21 von 108
3782 Mal angesehen

So habe nun endlich Datei und Ordner (als Gegenprüfung) bekommen. Script habe ich an den besagten 3 Stellen schon angepasst, bekomme aber folgenden Fehler:

Fehler.jpg

In besagter Zeile steht : " Set oFile = oFS.OpenTextFile( cNameScript ) "

0 Kudos
Gelöschter Nutzer
Offline Online
Nachricht 22 von 108
3782 Mal angesehen

Naja, die Lösung steht doch schon in der Fehlermeldung:

Pfad nicht gefunden

Bitte die Verzeichnisse prüfen.

Gruß A. Martens

0 Kudos
mkolberg
Meister
Offline Online
Nachricht 23 von 108
3782 Mal angesehen

Sehe ich da ein Leerzeichen im Dateinamen?

0 Kudos
Gelöschter Nutzer
Offline Online
Nachricht 24 von 108
3781 Mal angesehen

Ich vermute eher, dass hier der Fehler liegt:

" Set oFile = oFS.OpenTextFile( cNameScript ) "

cNameScript ist wohl eine Variable, daher müsste es dann wie folgt heißen:

Set oFile = oFS.OpenTextFile(cNameScript)

Ansonsten benötige ich einfach ein paar mehr Informationen, um wirklich helfen zu können.

Gruß A. Martens

0 Kudos
alho
Beginner
Offline Online
Nachricht 25 von 108
3786 Mal angesehen

Hallo Herr Martens.

Funktioniert das Import Tool auch bei Datev Unternehmen online?

Da gibt es nämlich ein ähnliches Problem mit Paypal.

Sehen Sie auch eine Möglichkeit, das Tool so umzubauen, dass es mit Kreditkarten auch funktioniert?

Grüße Alain Hoffs

0 Kudos
Gelöschter Nutzer
Offline Online
Nachricht 26 von 108
3784 Mal angesehen

Hallo Herr Martens.

Funktioniert das Import Tool auch bei Datev Unternehmen online?

Da gibt es nämlich ein ähnliches Problem mit Paypal.

Sehen Sie auch eine Möglichkeit, das Tool so umzubauen, dass es mit Kreditkarten auch funktioniert?

Grüße Alain Hoffs

Hallo Hr. Hoffs,

das kann ich nicht mit Bestimmheit sagen. Prinzipiell sollte es funktionieren, dazu müsste man die Schnittstellenbeschreibung sehen.

Die Frage ist aber, nutzt Unternehmen Online eine andere Schnittstelle?

Und zu den Kreditkarten:

Natürlich kann es auch grundsätzlich für Kreditkarten verwendet werden.

Einfach ein Quasi-Bankkonto für die Kreditkarte einrichten und die Exportdatei mit den Kreditkarteninfo in das passende Format konvertieren.

Wie das funktioniert, können Sie auch aus dem Tool entnehmen.

Bei Fragen melden Sie sich hier einfach.

Gruß A. Martens

0 Kudos
tdw
Einsteiger
Offline Online
Nachricht 27 von 108
3784 Mal angesehen

Hallo Herr Martens und Hallo Herr Kolberg,

vielen Dank für die Bereitstellung des Scriptes und die Verfeinerung. Die Datei wird ohne Probleme erstellt.

Hat jemand einen Tipp für mich, warum im anschließenden Import, obwohl 01.01.16 bis 31.12.16 als Stapel und auch als Import Zeitraum angegeben ist, nur Vorgänge ab dem 30.09.16 bis 31.12.16 ausgegeben werden?

Im ersten Schritt wurde sogar nur die Paypalgebühr am 30.09.16 eingelesen. Als ich anschließend das Datum auf den 31.12.16 geändert habe wurden 30 weitere Buchungen (aber nur ab dem 30.09.16) importiert. Insgesamt müssten es 44 Buchungen sein.


Besten Grüße und vielen Dank


tdw

CSV Datei, die durch das Script erstellt wurde:

CSV.png

Einstellungen beim Import:

Import.png

Protokoll nach dem Import:

Protokoll.png

0 Kudos
Gelöschter Nutzer
Offline Online
Nachricht 28 von 108
3783 Mal angesehen

Hallo Hr. Junge,

also noch einmal zu Klarstellung:

  1. Sie erhalten eine PayPal-Datei die den Zeitraum 01.01.16 - 31.12.2016 enthält.
  2. Diese Datei wird von meinem Script einwandfrei eingelesen und konvertiert. Das bedeutet, dass sich jetzt alle Daten für den Zeitraum 01.01.16 - 31.12.2016 in der Banken.csv befinden.
  3. Beim anschließenden Import der Banken.csv wird aber nur ein bestimmter Teil vom DATEV-Bankenmodul eingelesen?

Wenn das so ist, dann kann ich mir das nicht erklären. Ich erhalte aber auch immer nur eine PayPal-Datei für einen Monat und nicht für ein ganzes Jahr.

Sollte ich aber das Problem falsch verstanden haben, dann benötige ich etwas mehr Informationen, in welcher Datei sich nicht alle Daten befinden.

Gruß A. Martens

0 Kudos
mkolberg
Meister
Offline Online
Nachricht 29 von 108
3782 Mal angesehen

Schuld ist die letzte Zeile in Ihrer Datei.
Das Datum 30.9.16 kann von DATEV nicht einsortiert werden.

0 Kudos
Gelöschter Nutzer
Offline Online
Nachricht 30 von 108
3782 Mal angesehen

Hallo Hr. Kolberg,

muss denn die Importdatei (Banken.csv) in chronologischer Reihenfolge sein, damit das Bankenmodul auch alles importiert?

Gruß A. Martens

0 Kudos
107
letzte Antwort am 27.07.2021 17:33:24 von vogtsburger
Dieser Beitrag ist geschlossen
0 Personen hatten auch diese Frage