PDF-Import für ebase

Hallo,

hätte hier jemand Zeit, einen PDF-Importer für ebase zu schreiben?

Das Dateiformat ist recht einfach. Es gibt nur einen relevanten Dokumenttypen „Depot-Auszug“. Prinzipiell können in jedem PDF alle Buchungstypen vorkommen. Ich habe mal ein paar Beispiele zusammengestellt. Manche Dokumente enthalten zum Schluss nochmal die Übersicht aller Depot-Positionen; diese halte ich hier für irrelevant und habe sie nicht wiedergegeben.

Bitte beachten: außer bei der Wiederanlage einer Dividende wird der fällige Betrag bei ebase immer vom Girokonto eingezogen; das entspräche in PP einer (zusätzlichen) Einlagenbuchung und könnte ggf. direkt mit automatisiert werden?

Ausgezahlte Dividenden werden bei ebase automatisch in neue Anteile desselben Papiers angelegt. Dafür gibt es dann einige Tage später immer nochmal eine separate Buchung.

Vielen Dank!


Beispiel Dateibeginn mit Depotnummer:

PDF Author: ''
PDFBox Version: 1.8.16
-----------------------------------------
European Bank for Financial Services GmbH, 80218 München
Umsatzabrechnung-Nr. 19
Depot-Nr. 1234567890
Seite 1 von 12

Beispiel Depotübertrag:

Eingang externer Übertrag 10,000000 Anteile mit Kursdatum 27.09.2019 in Depotposition 1234567890.24
ComStage-Nikkei 225 UCITS ET99133507781F Inhaber-Anteile I o.N.
Ref. Nr. XXXXXXXX/XXXXXXXX, Buchungsdatum 30.09.2019
ISIN Anteile
LU0378453376 10,000000
Gegenwert der Anteile: 202,64 EUR

Beispiel Kauf mit Order in EUR:

Kauf 300,00 EUR mit Kursdatum 20.11.2019 in Depotposition 1234567890.01
Xtr.(IE) - Russell Midcap Registered Shares 1C USD o.N.
Ref. Nr. XXXXXXXX/XXXXXXXX, Buchungsdatum 21.11.2019
ISIN Anteile Abrechnungskurs Devisenkurs Betrag
IE00BJZ2DC62 12,729132 26,002300 USD 1,105500 299,40 EUR
Entgelte zzgl. Entgelte
ETF-Transaktionsentgelt 0,60 EUR
Abwicklung über IBAN Institut Zahlungsbetrag
DE49XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 300,00 EUR

Beispiel Kauf mit Order in Stückzahl:

Kauf 199,500000 Anteile mit Kursdatum 13.01.2020 in Depotposition 1234567890.47
Lyxor MSCI Greece UCITS ETF Actions au Porteur Dist o.N.
Ref. Nr. XXXXXXXX/XXXXXXXX, Buchungsdatum 13.01.2020
ISIN Anteile Abrechnungskurs Betrag
FR0010405431 199,500000 1,055800 EUR 210,63 EUR
Entgelte zzgl. Entgelte
ETF-Transaktionsentgelt 0,42 EUR
Abwicklung über IBAN Institut Zahlungsbetrag
DE49XXXXXXXX XXXXXXXX 211,05 EUR

Beispiel Kauf per Sparplan:

Ansparplan 50,00 EUR mit Kursdatum 02.01.2020 in Depotposition 1234567890.09
iSh.ST.Gl.Sel.Div.100 U.ETF DE Inhaber-Anteile
Ref. Nr. XXXXXXXX/XXXXXXXX, Buchungsdatum 02.01.2020
ISIN Anteile Abrechnungskurs Betrag
DE000A0F5UH1 1,705860 29,252100 EUR 49,90 EUR
Entgelte zzgl. Entgelte
ETF-Transaktionsentgelt 0,10 EUR
Abwicklung über IBAN Institut Zahlungsbetrag
DE49XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 50,00 EUR

Beispiel Dividende:

Fondsertrag (Ausschüttung) mit Bestandsdatum 11.12.2019 in Depotposition 1234567890.31
Vanguard FTSE All-World U.ETF Registered Shares USD Dis.oN
Ref. Nr. XXXXXXXX/XXXXXXXX, Buchungsdatum 02.01.2020
ISIN Anteilsbestand Betrag je Anteil Betrag
IE00B3RBWM25 7,332986 0,297309 USD 2,18 USD
Kapitalertragsteuer Solidaritätszuschlag Kirchensteuer Devisenkurs abzgl. Steuern
0,34 EUR 0,01 EUR 0,00 EUR 1,117800 0,39 USD
Zahlungsbetrag 1,79 USD
Wiederanlage des Zahlungsbetrags erfolgt in Depotposition 1234567890.31 mit Ref. Nr. XXXXXXXX/XXXXXXXX

Automatische Wiederanlage eines Dividendenbetrags:

Wiederanlage Fondsertrag 0,37 EUR mit Kursdatum 20.01.2020 in Depotposition 1234567890.21
iSh.DJ U.S.Select Div.U.ETF DE Inhaber-Anteile
Ref. Nr. XXXXXXXX/XXXXXXXX, Buchungsdatum 20.01.2020
Wiederanlage Fondsertrag erfolgt aus Depotposition 1234567890.21 mit Ref. Nr. XXXXXXXX/XXXXXXXX
ISIN Anteile Abrechnungskurs Betrag
DE000A0D8Q49 0,005395 68,580000 EUR 0,37 EUR
Zahlungsbetrag 0,37 EUR
2 Likes

kleine Korrektur,

bei ebase werden in einem VL-Depot auch die Depotjahresgebühren durch Verkauf von Anteilen direkt aus dem Depot beglichen.

@Harry_Hirsch: kannst Du PDF-Beispiele dazu ergänzen? Ich habe bisher noch keine Verkäufe getätigt, deswegen fehlt dieser Buchungstyp oben.

Ich habe mich mal an einem Importer für ebase versucht. Kommt mit der nächsten Version. Dann gebt mal Feedback wie gut oder schlecht das funktioniert.

PP kennt keine „Wiederanlage“. Darum ist die Dividendenzahlung eine Auszahlung auf ein Konto und die Wiederanlage dann ein Kauf.

3 Likes

So buche ich es auch.

Leider habe ich eine PDF-Datei mit der Buchung noch nicht in Textform untersucht, bin aber gerne bereit beizutragen, wenn ich weiß, was ich liefern soll.

Hallo @AndreasB,

vielen Dank für diese großartigen Neuigkeiten! Ich bin sehr gespannt, das neue Release auszuprobieren, und werde dann gerne Rückmeldung geben.

In der Zwischenzeit habe ich noch zwei weitere Buchungstypen ausfindig gemacht für die Vorabpauschale.

Dabei gibt es jeweils eine Buchung für den Steuereinzug …

Vorabpauschale zum Stichtag 31.12.2019 aus Depotposition XXXXXXXXXX.05
Xtrackers MSCI Philippines Inhaber-Anteile 1C-USD o.N.
Ref. Nr. XXXXXXXXXX/XXXXXXXXXX, Buchungsdatum 24.01.2020
ISIN Betrag je Anteil
LU0592215403 0,005674390 EUR
Kapitalertragsteuer Solidaritätszuschlag Kirchensteuer
0,14 EUR 0,00 EUR 0,00 EUR
Belastung der angefallenen Steuern in Höhe von 0,14 EUR erfolgt durch Verkauf aus Depotposition XXXXXXXXXX.05 mit Ref. Nr.
XXXXXXXXXX/XXXXXXXXXX

… und eine weitere für einen Verkauf, mit dem der benötigte Betrag automatisch „freigemacht“ wird:

Verkauf wegen Vorabpauschale 0,14 EUR mit Kursdatum 27.01.2020 aus Depotposition XXXXXXXXXX.05
Xtrackers MSCI Philippines Inhaber-Anteile 1C-USD o.N.
Ref. Nr. XXXXXXXXXX/XXXXXXXXXX, Buchungsdatum 28.01.2020
Belastung der angefallenen Steuern aus Depotposition XXXXXXXXXX.05 mit Ref. Nr. XXXXXXXXXX/XXXXXXXXXX (Vorabpauschale)
ISIN Anteile Abrechnungskurs Devisenkurs Betrag
LU0592215403 -0,084735 1,824200 USD 1,104100 0,14 EUR

Guten Morgen,
ich habe mir mal zusätzlich zu @simpson die Mühe gemacht, ein PDF von ebase zu analysieren. Dafür habe ich ein Dokument genommen, das verschiedene Szenarien beinhaltet. Die Vorabpauschale ist bei mir noch nicht dabei, die hat simpson aber schon hier drüber gepostet.

Das Dokument heißt bei ebase OnlineAuszug-NrX-JJJJ-MM-TT.pdf.

Der Abschnitt für die Depotführung sieht folgendermaßen aus:

Entgelt Verkauf mit Kursdatum TT.MM.JJJJ aus Depotposition XXXXXXXXXXX.XX
XXXName des WertpapiersXXX
Ref. Nr. XXXXXXXXX/XXXXXXXX, Buchungsdatum TT.MM.JJJJ
ISIN Anteile Abrechnungskurs Betrag
XXXISINXXX -0,123456 123,123456 EUR 12,43 EUR
Entgelte abzgl. Entgelte
Depotführungsentgelt inkl. 19% USt 12,00 EUR
Kapitalertragsteuer Solidaritätszuschlag Kirchensteuer abzgl. Steuern
0,41 EUR 0,02 EUR 0,00 EUR 0,43 EUR

Der Abschnitt für Dividenden sieht folgendermaßen aus:

Fondsertrag (Ausschüttung) mit Bestandsdatum TT.MM.JJJJ in Depotposition XXXXXXXXXXX.XX
XXXName des WertpapiersXXX
Ref. Nr. XXXXXXXXX/XXXXXXXX, Buchungsdatum TT.MM.JJJJ
ISIN Anteilsbestand Betrag je Anteil Betrag
XXXISINXXX 123,123456 123,123456 USD 123,12 USD
Kapitalertragsteuer Solidaritätszuschlag Kirchensteuer Devisenkurs abzgl. Steuern
123,12 EUR 123,12 EUR 123,12 EUR 123,123456 123,12 USD
Zahlungsbetrag in Fremdwährung 123,12 USD
Zahlungsbetrag nach Währungskonvertierung mit Devisenkurs 123,123456 123,12 EUR

Der Abschnitt für die Wiederanlage sieht folgendermaßen aus:

Wiederanlage Fondsertrag 123,12 EUR mit Kursdatum TT.MM.JJJJ in Depotposition XXXXXXXXXXX.XX
XXXName des WertpapiersXXX
Ref. Nr. XXXXXXXXX/XXXXXXXX, Buchungsdatum TT.MM.JJJJ
Wiederanlage Fondsertrag erfolgt aus Depotposition XXXXXXXXXXX.XX mit Ref. Nr. XXXXXXXXX/XXXXXXXX
ISIN Anteile Abrechnungskurs Betrag
XXXISINXXX 123,123456 123,123456 EUR 123,12 EUR
Zahlungsbetrag 123,12 EUR

Der Abschnitt für einen normalen Kauf (hier ein Sparplan) sieht folgendermaßen aus:

Ansparplan 123,12 EUR mit Kursdatum TT.MM.JJJJ in Depotposition XXXXXXXXXXX.XX
XXXName des WertpapiersXXX
Ref. Nr. XXXXXXXXX/XXXXXXXX, Buchungsdatum TT.MM.JJJJ
ISIN Anteile Abrechnungskurs Betrag
XXXISINXXX 123,123456 123,123456 EUR 123,12 EUR
Entgelte zzgl. Entgelte
ETF-Transaktionsentgelt 123,12 EUR
Abwicklung über IBAN Institut Zahlungsbetrag
XXXIBANXXX XXXName der BankXXX 123,12 EUR

Und, weil gerade für ebase interessant, eine Buchung von vermögenswirksamen Leistungen VL:

Kauf 123,12 EUR mit Kursdatum TT.MM.JJJJ in Depotposition XXXXXXXXXXX.XX
XXXName des WertpapiersXXX
Ref. Nr. XXXXXXXXX/XXXXXXXX, Buchungsdatum TT.MM.JJJJ
ISIN Anteile Abrechnungskurs Betrag
XXXISINXXX 123,123456 123,123456 EUR 123,12 EUR
vermögenswirksame Leistungen
Entgelte zzgl. Entgelte
ETF-Transaktionsentgelt 123,12 EUR
XXX
XXXhier kam Text verursacht duch den Seitenumbruch des PDFsXXX
XXX
Zahlungsbetrag aus Überweisung 123,12 EUR

Ich hoffe, ich konnte beitragen. Viel Spaß noch

Die letzten Text von @Harry_Hirsch habe ich noch nicht ausprobiert, aber Text von @simpson habe ich versucht einzubauen. Ist jetzt mit Version 0.44.1 veröffentlicht. Gebt mal Feedback was tut und was nicht tut.

Hallo @AndreasB,

habe gerade das Update bekommen und 31 ebase-Dokumente versucht zu importieren. Ergebnis:

  • Bei 23 Auszügen funktionierte der Import komplett ohne Fehler (Vollständigkeit der Buchungen muss ich noch kontrollieren)
  • Bei 3 Auszügen scheiterte der Import als Ganzes
  • Bei 5 Auszügen verursachten einzelne Buchungen Fehler oder Warnungen

Dafür, dass wir hier nur ein paar Beispiele zusammengestellt hatten, finde ich das ein großartiges Ergebnis; dafür vielen herzlichen Dank.

Nun zu den Einzelfällen.

Zu den 3 Dokumenten, deren Import als Ganzes scheiterte, wurden 2 Arten von RegEx-Fehlern gemeldet.

RegEx 1: hier setzt das Pattern zum Zahlungsbetrag aus:

fehler-auszug-12

Die Ursache ist ein „Fondsertrag in Fremdwährung“ nach dem Schema, das @Harry_Hirsch oben bereitgestellte hatte:

Fondsertrag (Ausschüttung) mit Bestandsdatum 14.10.2019 in Depotposition XXXXXXXXX.21
iSh.DJ U.S.Select Div.U.ETF DE Inhaber-Anteile
Ref. Nr. XXXXXXXXX/XXXXXXXXX, Buchungsdatum 16.10.2019
ISIN Anteilsbestand Betrag je Anteil Betrag
DE000A0D8Q49 1,000000 0,394130 USD 0,39 USD
Kapitalertragsteuer Solidaritätszuschlag Kirchensteuer Devisenkurs abzgl. Steuern
0,06 EUR 0,00 EUR 0,00 EUR 1,104600 0,07 USD
Zahlungsbetrag in Fremdwährung 0,32 USD
Zahlungsbetrag nach Währungskonvertierung mit Devisenkurs 1,104600 0,29 EUR

RegEx 2: erwartet wird anscheinend ein Devisenkurs, aber die Buchung ist in EUR:

Verkauf wegen Vorabpauschale 0,13 EUR mit Kursdatum 27.01.2020 aus Depotposition XXXXXXXX.02
Xtrackers MSCI Europe Mid Cap Inhaber-Anteile 1C o.N.
Ref. Nr. XXXXXXXX/XXXXXXXX, Buchungsdatum 27.01.2020
Belastung der angefallenen Steuern aus Depotposition XXXXXXXX.02 mit Ref. Nr. XXXXXXXX/XXXXXXXX (Vorabpauschale)
ISIN Anteile Abrechnungskurs Betrag
LU0322253732 -0,001162 111,900000 EUR 0,13 EUR
abzgl. Steuereinbehalt 0,13 EUR
Zahlungsbetrag 0,00 EUR

Bei den 5 Dokumenten, die nur teilweise verarbeitet werden konnten, scheint es ebenfalls an der Fremdwährung zu liegen:

fehler-import-18

fehler-beleg-21

fehler-beleg-22

fehler-beleg-23

fehler-beleg-29

Hier nur exemplarisch die Daten zu den ersten beiden Buchungen:

Fondsertrag (Ausschüttung) mit Bestandsdatum 13.11.2019 in Depotposition XXXXXXXXXX.34
iShsII- BRIC 50 UCITS ETF Registered Shs USD (Dist) o.N.
Ref. Nr. XXXXXXXXXX/XXXXXXXXXX, Buchungsdatum 28.11.2019
ISIN Anteilsbestand Betrag je Anteil Betrag
IE00B1W57M07 12,000000 0,661400 USD 7,94 USD
Kapitalertragsteuer Solidaritätszuschlag Kirchensteuer Devisenkurs abzgl. Steuern
1,53 EUR 0,08 EUR 0,00 EUR 1,103900 1,78 USD
Zahlungsbetrag 6,16 USD
Wiederanlage des Zahlungsbetrags erfolgt in Depotposition XXXXXXXXXX.34 mit Ref. Nr. XXXXXXXXXX/XXXXXXXXXX
Wiederanlage Fondsertrag 6,16 USD mit Kursdatum 29.11.2019 in Depotposition XXXXXXXXXX.34
iShsII- BRIC 50 UCITS ETF Registered Shs USD (Dist) o.N.
Ref. Nr. XXXXXXXXXX/XXXXXXXXXX, Buchungsdatum 02.12.2019
Wiederanlage Fondsertrag erfolgt aus Depotposition XXXXXXXXXX.34 mit Ref. Nr. XXXXXXXXXX/XXXXXXXXXX
ISIN Anteile Abrechnungskurs Betrag
IE00B1W57M07 0,200653 30,699800 USD 6,16 USD
Zahlungsbetrag 6,16 USD

@AndreasB: ich hoffe, das hilft Dir weiter? Bei Rückfragen gerne melden. Danke nochmal!

Hallo @AndreasB

Du hattest um Feedback zum PDF -Import von ebase Dokumenten gebeten. Den möchte ich hiermit geben.

Aber zunächst ein dickes Kompliment für das, was Du hier auf die Beine gestellt hast. Portfolio Performance ist ziemlich genau das, was ich lange gesucht habe und notdürftig mit immer komplexeren und damit unübersichtlichen Excel Tabellen versucht habe umzusetzen. Aber PP ist schlichtweg deutlich besser :grinning:

Da ich seit vielen Jahren mein Depot bei ebase habe, ist die Möglichkeit des PDF-Imports der ebase Dokumente für mich ein entscheidender Punkt, um den Portierungsaufwand anzugehen und in Zukunft auch PP zu nutzen. Ich hatte in der Vergangenheit vor genau diesem Aufwand zurückgeschreckt.

Jetzt zum Feedback. Ich habe die brandneue Version 0.44.1 genutzt und versucht einen Online Auszug einzulesen. Dabei gab es leider die folgende Fehlermeldung.

Hier ist der Anfang des eingelesenen PDF Files. Aus der Durchsicht der bereits geposteten Ausschnitte und der Fehlermeldung könnte ich mir vorstellen, dass die gelb markierte Zeile das Problem darstellt. Ist aber nur eine Vermutung.

Ich hoffe das hilft. Rückfragen immer gern!

Der Text aus dem Screenshot, ist das der Inhalt der Datei “OnlineAuszug-Nr88…” der die NullPointer produziert?

Dieses “Nur 0 von 2 Pattern erkannt” bedeutet nach einer Zeile sucht, die mit “Abwicklung …” beginnt. Das “Zahlungsbetrag aus Überweisung” hatte ich bisher noch nicht gesehen.

Hallo,

JA, der Screenshot zeigt die ersten 3 Buchungen des OnlineAuszug-Nr 88. Danach kommen noch eine Reihe weiterer Buchungen. Im Prinzip kann vielleicht auch eine weitere (nicht im screenshot gezeigte Buchung) für den Fehler verantwortlich sein. Ich hatte nur vermutet, dass die Buchungen der Reihe nach abgearbeitet werden und daher bereits die erste Buchung (Kauf im Rahmen eines Sparplanes) zu der Fehlermeldung führt.

Ich kann aber gern den ganzen Auszug anonymisieren und zur Verfügung stellen. Das wird nur über Screenshots im Forum etwas länglich. Gibt es vielleicht eine mail-Adresse an die ich das senden kann (ich meine ich habe das irgendwo im Forum gesehen, finde es aber gerade nicht wieder)

Du könntest aber auch einfach den reinen Text hier rein kopieren und zu Beginn und am Ende mit ``` einschließen. Bei Bildern fällt es schwer die Feinheiten abzulesen :wink:

1 Like

portfolio dot performance dot help at gmail dot com

Ja, je nach Art der Buchung bei ebase stehen da am Ende eines Überweisungsblockes unterschiedliche Abrechnungsmethoden. Einige gehen aus meinem Post weiter oben hervor. Aber ob das schon alle sind, weiß ich nicht.

Viele Grüße und schon mal danke für das Integrieren

Hallo,

gerade habe ich versucht, ein ebase-Dokument zu importieren. Durch Zufall war es ein Depotauszug, eines Depots, das nur noch Bestand hat, auf dem also keine Buchungen mehr laufen. Das mag zwar irrelevant klingen, und man kann argumentieren, dass man die ja nicht importieren muss, aber von außen (im Online-Archiv) sehen solche Dokumente genauso aus, wie Depotauszüge mit Buchungen. Wenn man nun einen Schwung Auszüge importiert, bricht der Vorgang bei solchen „Bestandsmeldungen“ ab (glaube ich).

grafik

Vielleicht kann man solche „Leerdokumente“ ja abfangen. Dafür hänge ich mal den Debugauszug des Dokuments hier an:

Bestand Depotpositionen
Pos. Fonds Anteile Bewertungskurs zum Datum Devisenkurs Bestand
01 XXXISINXXX 123,123456 123,123456 USD TT.MM.JJJJ 123,123456 123,12 EUR
XXXName des WertpapiersXXX

Leider kann ich nur in USD geführte Wertpapiere beisteuern und weiß daher nicht, wie die Dokumente bei in EUR geführten Papieren aussehen.

Viele Grüße

Hallo @AndreasB, wird es für ebase im nächsten Release einen Patch geben?

Gegenfrage, woran macht man dann bitte fest das der eine Fehler ignoriert werden soll und der andere Fehler dem Anwender gezeigt werden soll?

zum Beispiel, wenn keines der Schlagwörter
Verkauf, Entgelt, Fondsertrag, Wiederanlage, Ansparplan, Kauf
auftritt, könnte es so ein „Leerdokument“ sein.

Mit Version 0.45.0 sollte der Import wieder ein bisschen besser tun -> ausprobieren -> rückmelden