1 2 3 Zurück Weiter 65 Antworten Neueste Antwort am 19.06.2018 15:10 von gbruhns

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

    archilleus Fachmann

      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

      Geändert am 22.02.17 um 16:11 Uhr
        Alle Antworten
        • 1. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
          archilleus Fachmann

          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

          Geändert am 22.06.17 um 07:50 Uhr
          • 2. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
            hmischlich Neuling

            Hallo,

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

             

            Ich habe trotzdem noch keinen Erfolg gehabt.

             

            Die Pfade habe ich im Skript angepasst:

             

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

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

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

             

            Tut mir leid - bin IT-Legastheniker

             

            Grüße H. Mischlich

            • 3. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
              peter Aufsteiger

              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.

              • 4. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                archilleus Fachmann

                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.

                • 5. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                  archilleus Fachmann

                  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.

                  • 6. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                    hmischlich Neuling

                    @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:

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

                    • 7. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                      archilleus Fachmann

                      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

                      • 9. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                        Nicht Aktiv Fachmann

                        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

                        Geändert am 22.06.17 um 08:15 Uhr
                        • 10. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                          archilleus Fachmann

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

                           

                          Gruß A. Martens

                          • 11. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                            Nicht Aktiv Fachmann

                            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

                            Geändert am 22.06.17 um 08:21 Uhr
                            • 12. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                              Nicht Aktiv Fachmann

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

                              • 13. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                archilleus Fachmann

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

                                • 14. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                  hmischlich Neuling

                                  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!

                                  • 15. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                    p4ge Einsteiger

                                    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.

                                    • 16. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                      archilleus Fachmann

                                      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

                                      Geändert am 22.06.17 um 11:04 Uhr
                                      • 17. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                        p4ge Einsteiger

                                        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?

                                        • 18. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                          archilleus Fachmann

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

                                          • 19. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                            p4ge Einsteiger

                                            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.

                                            • 20. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                              p4ge Einsteiger

                                              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 ) "

                                              • 21. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                                archilleus Fachmann

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

                                                 

                                                Pfad nicht gefunden

                                                 

                                                Bitte die Verzeichnisse prüfen.

                                                 

                                                Gruß A. Martens

                                                • 22. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                                  Nicht Aktiv Fachmann

                                                  Sehe ich da ein Leerzeichen im Dateinamen?

                                                  • 23. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                                    archilleus Fachmann

                                                    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

                                                    Geändert am 08.07.17 um 11:22 Uhr
                                                    • 24. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                                      alho Neuling

                                                      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

                                                      • 25. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                                        archilleus Fachmann

                                                        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

                                                        • 26. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                                          tdw Einsteiger

                                                          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

                                                          • 27. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                                            archilleus Fachmann

                                                            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

                                                            • 28. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                                              Nicht Aktiv Fachmann

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

                                                              • 29. Re: VBSript-Tool für Übernahme PayPal-Bank in Rewe Banken
                                                                archilleus Fachmann

                                                                Hallo Hr. Kolberg,

                                                                 

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

                                                                 

                                                                Gruß A. Martens

                                                                1 2 3 Zurück Weiter