PDF-Import Smartbroker

Ah okay, es gibt doch mehr Sparpläne mit Einzahlungen. Ja, ich denke das macht Sinn.

Ich hoffe, es ist nicht zu viel Aufwand für Dich. Sorry, dass mir das beim Testen durchgerutscht ist und vielen Dank für’s Beheben.

Guten Abend,

beim Einlesen einer Verkaufsabrechnung kommt es sofort zu folgender Fehlermeldung:

‚java.lang.NullPointerException‘

Fehlerprotokoll
Tue Sep 01 20:39:47 CEST 2020
Internal Error

java.lang.NullPointerException

	at name.abuchen.portfolio.datatransfer.actions.DetectDuplicatesAction.lambda$0(DetectDuplicatesAction.java:49)

	at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)

	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(Unknown Source)

	at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(Unknown Source)

	at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(Unknown Source)

	at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(Unknown Source)

	at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(Unknown Source)

	at java.base/java.util.Spliterators$1Adapter.hasNext(Unknown Source)

	at name.abuchen.portfolio.datatransfer.actions.DetectDuplicatesAction.process(DetectDuplicatesAction.java:50)

	at name.abuchen.portfolio.datatransfer.Extractor$BuySellEntryItem.apply(Extractor.java:359)

	at name.abuchen.portfolio.ui.wizards.datatransfer.ReviewExtractedItemsPage.checkEntries(ReviewExtractedItemsPage.java:763)

	at name.abuchen.portfolio.ui.wizards.datatransfer.ReviewExtractedItemsPage.setResults(ReviewExtractedItemsPage.java:719)

	at name.abuchen.portfolio.ui.wizards.datatransfer.ReviewExtractedItemsPage.access$2(ReviewExtractedItemsPage.java:717)

	at name.abuchen.portfolio.ui.wizards.datatransfer.ReviewExtractedItemsPage$12.lambda$1(ReviewExtractedItemsPage.java:683)

	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)

	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)

	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4005)

	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3633)

	at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)

	at org.eclipse.jface.window.Window.open(Window.java:799)

	at name.abuchen.portfolio.ui.handlers.ImportPDFHandler$1.lambda$0(ImportPDFHandler.java:116)

	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)

	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)

	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4005)

	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3633)

	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1158)

	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)

	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1047)

	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)

	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:166)

	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)

	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)

	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)

	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)

	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)

	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

	at java.base/java.lang.reflect.Method.invoke(Unknown Source)

	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657)

	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)

	at org.eclipse.equinox.launcher.Main.run(Main.java:1447)

EDIT: Sehe gerade, das der Fehler bereits bekannt ist:
https://forum.portfolio-performance.info/t/java-lang-nullpointerexception-beim-pdf-import/10724/7

Die neue Version mit dem Bugfix steht in den Startlöchern … etwas Geduld noch :slightly_smiling_face:

Grüße,
Andreas
der auch ein paar PDFs in der Warteschleife hat …

1 Like

Ist in Version Version 0.48.1 reingerutscht - vielen Dank @inv-trad!

Portfolio Performance Version: 0.48.1 (Sep 2020) keine Verbesserung beim PDF-Import.

Ich bin wieder auf die 0.47 umgestiegen, und warte erstmal bis die Bugs behoben sind.

Wenn ich das richtig sehe, dann werden in der Version Version: 0.48.1 (Sep. 2020) beim PDF Import von Smartbroker die Steuergutschriften als Steuerabzüge gebucht. Das muss mit einer der letzten Versionen als Bug reingekommen sein. Ich hab Buchungen am 22.9.2020 (welche Version ich da hatte, das weiß ich nicht mehr), da war alles richtig, und seit 12.10. hab ich Buchungen wo das falsch ist.
Ich hab versuch ältere Versionen zu testen mit folgendem Ergebnis:
0.46.6 meldet, dass die Version der XML zu neu ist. Ich vermute also, dass es da oder davor geklappt hat.
0.47 importiert die Steuergutschrift falsch
0.48 hat eine Null Pointer exception
0.48.1 importiert die Steuergutschrift falsch

Wenn Ihr mehr Input braucht, dann meldet Euch gerne.

Viele Grüße
Juergen

Ein anonymisiertes Beispiel wäre toll. Dann könnte ich mir das mal genauer anschauen.

Hallo,
hier der hoffentlich anonyme Export. Ich muß meine Aussage noch revidieren. Das hat wohl noch nie funktioniert, ich muß das mal von Hand (einmal) eingetragen haben und nicht kommentiert haben.

PDF Autor: 'Computershare Communication Services GmbH'
PDFBox Version: 1.8.16
-----------------------------------------
BELEGDRUCK=J
ORIGINAL=1
FAXVERSAND=N
EMAILVERSAND=N
DEPOTNUMMER=5134170009
Wertpapierabrechnung DEPOTUNTERBEZEICHNUNG=
VERSANDARTENSCHLUESSEL=DRUCK
ADRESSZEILE1=Herr
Verkauf  ADRESSZEILE2=Jürgen 
Kommissionsgeschäft ADRESSZEILE3=Wurst 10
ADRESSZEILE4=66667 Egal
Depot-Nr. Abrechnungs-Nr. ADRESSZEILE5=
Herr 1234567 4527275 / 0 7.07.2020
ADRESSZEILE6=
BELEGNUMMER=2904
Fritz Mustermann SEITENNUMMER=1
Wurst 10 STEUERERSTATTUNG=N
66667 Egal Depotinhaber
Fritz Mustermann
München, 07.07.2020
Wir haben für Sie verkauft
Gattungsbezeichnung ISIN
PAION AG Inhaber-Aktien o.N. DE000A0B65S3
Nominal Kurs
STK 1.900,000 EUR 2,8500
Handelstag 07.07.2020 Kurswert EUR 5.415,00 
Handelszeit 10:36* Provision EUR 1,00-
Börse Sekunden-Handel Aktien L&S
Verwahrart Girosammelverwahrung
Wert Konto-Nr. Betrag zu Ihren Gunsten
09.07.2020 1234567 EUR 5.414,00
Hinweise zur steuerlichen Verrechnung: vorher aktuell
Veräußerungsverlust Aktien EUR 401,52
Aktienverlusttopf EUR 0,00 342,32
allgemeiner Verlusttopf EUR 0,00 0,00
Quellensteuertopf EUR 0,00 0,00
zu versteuern (negativ) EUR 59,20
Steuerausgleich nach § 43a EStG:
Kapitalertragsteuer EUR 14,51
Solidaritätszuschlag EUR 0,79
Kirchensteuer EUR 1,16
Wert Konto-Nr. Abrechnungs-Nr. Betrag zu Ihren Gunsten
07.07.2020 1234567 1234567 EUR 16,46
im laufenden Jahr einbehaltene Kapitalertragsteuer EUR 0,00
im laufenden Jahr einbehaltener Solidaritätszuschlag EUR 0,00
im laufenden Jahr einbehaltene Kirchensteuer EUR 0,00
Es folgt Seite 2
BNP Paribas S.A. Niederlassung Deutschland > Standort: München > Landsberger Straße 300 > 80687 München > Sitz: Nürnberg HRB Nürnberg 31129 > USt.-Ident-Nr.: DE 
191528929 > Sitz der Hauptniederlassung der BNP Paribas S.A.: 16, boulevard des Italiens, 75009 Paris, Frankreich, Registergericht: R.C.S. Paris 662 042 449 > Président du 
Conseil d‘Administration: Jean Lemierre, Directeur Général: Jean-Laurent Bonnafé
3.19/ABREABHNHANDVFDI/GAAATATG/002304/123456/113644
BELEGDRUCK=J
ORIGINAL=1
FAXVERSAND=N
Depot-Nr. Abrechnungs-Nr. Seite-Nr. EMAILVERSAND=N
1234567 1234567 2 DEPOTNUMMER=1234567DEPOTUNTERBEZEICHNUNG=
VERSANDARTENSCHLUESSEL=DRUCK
ADRESSZEILE1=Herr
ADRESSZEILE2=Jürgen 
Kapitalertragsteuer, Solidaritätszuschlag und ggf. Kirchensteuer nach gemeldetem Kirchensteuersatz verrechnet mit dem ADRESSZEILE3=Wurst 10
Finanzamt Frankfurt/M. V-Höchst, Steuernummer 012/123/1234. ADRESSZEILE4=76666 Egal
ADRESSZEILE5=
Jahressteuerbescheinigung folgt ADRESSZEILE6=
BELEGNUMMER=2904
SEITENNUMMER=2
Wir werden in Ihrem Depot wie angegeben buchen. STEUERERSTATTUNG=N
* Die angegebene Zeit entspricht den Angaben der Handelspartner gemäß der lokalen Zeit in Deutschland
  (Mitteleuropäische Zeit bzw. Mitteleuropäische Sommerzeit).
Dieser Beleg wird maschinell erstellt und daher nicht unterschrieben.
BNP Paribas S.A. Niederlassung Deutschland > Standort: München > Landsberger Straße 300 > 80687 München > Sitz: Nürnberg HRB Nürnberg 31129 > USt.-Ident-Nr.: DE 
191528929 > Sitz der Hauptniederlassung der BNP Paribas S.A.: 16, boulevard des Italiens, 75009 Paris, Frankreich, Registergericht: R.C.S. Paris 662 042 449 > Président du 
Conseil d‘Administration: Jean Lemierre, Directeur Général: Jean-Laurent Bonnafé
3.19/ABREABHNHANDVFDI/GAAATATG/002904/123456/113644

Für die Steuern von 16,46 die gutgeschrieben werden wird keine extra Buchung als „Steuerrückerstattung“ erstellt.
Stattdessen werden die 16,46 als Steuerausgaben erkannt und in der Buchungszeile mit dem verkauf erfaßt.
Bei meinem comdirect Zugang funktioniert es.
Ich hab mal die PDFs von comdirect und Smartbroker vergleichen. comdirect macht das „ordentlicher“. Wenn ich das richtig sehe, dann ist der Unterschied bei Smartbroker steht dann „zu versteuern (negativ)“ wenn man durch die Steuer Geld bekommt.

So wie es aussieht hat das auch in der Vergangenheit tatsächlich nicht funktioniert und auch die bisherigen Beispiele wurden in den Test Cases falsch ausgewertet. Eine Lösung habe ich erstellt und als Pull Request für die nächste Version eingestellt: