diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/justtrade/JustTradePDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/justtrade/JustTradePDFExtractorTest.java index bf32178225..7e783c5729 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/justtrade/JustTradePDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/justtrade/JustTradePDFExtractorTest.java @@ -94,4 +94,103 @@ public void testKauf02() assertThat(tx.getShares(), is(Values.Share.factorize(29))); assertThat(tx.getUnitSum(Unit.Type.FEE), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0)))); } + + @Test + public void testVerkauf01() + { + JustTradePDFExtractor extractor = new JustTradePDFExtractor(new Client()); + + List errors = new ArrayList<>(); + + List results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Verkauf01.txt"), errors); + + assertThat(errors, empty()); + assertThat(results.size(), is(2)); + new AssertImportActions().check(results, CurrencyUnit.EUR); + + // check security + Optional item = results.stream().filter(i -> i instanceof SecurityItem).findFirst(); + Security security = ((SecurityItem) item.orElseThrow(IllegalArgumentException::new)).getSecurity(); + assertThat(security.getIsin(), is("DE000CL9E825")); + assertThat(security.getName(), is("Leveraged Certificate auf DAX")); + + // check transaction + item = results.stream().filter(i -> i instanceof BuySellEntryItem).findFirst(); + BuySellEntry entry = (BuySellEntry) item.orElseThrow(IllegalArgumentException::new).getSubject(); + PortfolioTransaction tx = entry.getPortfolioTransaction(); + + assertThat(tx.getType(), is(PortfolioTransaction.Type.SELL)); + + assertThat(tx.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(2232.23)))); + assertThat(tx.getDateTime(), is(LocalDateTime.parse("2020-07-31T21:00:15"))); + assertThat(tx.getShares(), is(Values.Share.factorize(58))); + assertThat(tx.getUnitSum(Unit.Type.FEE), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0)))); + assertThat(tx.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.77)))); + } + + @Test + public void testSammelabrechnung01() + { + JustTradePDFExtractor extractor = new JustTradePDFExtractor(new Client()); + + List errors = new ArrayList<>(); + + List results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Sammelabrechnung01.txt"), errors); + + assertThat(errors, empty()); + assertThat(results.size(), is(9)); + new AssertImportActions().check(results, CurrencyUnit.EUR); + + // check security + Optional item = results.stream().filter(i -> i instanceof SecurityItem).findFirst(); + Security security = ((SecurityItem) item.orElseThrow(IllegalArgumentException::new)).getSecurity(); + assertThat(security.getIsin(), is("DE000SR8YZ53")); + assertThat(security.getName(), is("Leveraged Certificate auf DAX / XDAX COMBI INDEX")); + + + + // check first transaction + item = results.stream().filter(i -> i instanceof BuySellEntryItem).findFirst(); + BuySellEntry entry = (BuySellEntry) item.orElseThrow(IllegalArgumentException::new).getSubject(); + PortfolioTransaction tx = entry.getPortfolioTransaction(); + + assertThat(tx.getType(), is(PortfolioTransaction.Type.BUY)); + assertThat(tx.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(1228.00)))); + assertThat(tx.getDateTime(), is(LocalDateTime.parse("2020-08-10T14:31:04"))); + assertThat(tx.getShares(), is(Values.Share.factorize(100))); + assertThat(tx.getUnitSum(Unit.Type.FEE), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0)))); + assertThat(tx.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0)))); + + // check second transaction + item = results.stream().filter(i -> i instanceof BuySellEntryItem).skip(1).findFirst(); + entry = (BuySellEntry) item.orElseThrow(IllegalArgumentException::new).getSubject(); + tx = entry.getPortfolioTransaction(); + + assertThat(tx.getType(), is(PortfolioTransaction.Type.BUY)); + assertThat(tx.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(1575.00)))); + assertThat(tx.getDateTime(), is(LocalDateTime.parse("2020-08-10T15:48:16"))); + assertThat(tx.getShares(), is(Values.Share.factorize(125))); + + // check fifth second transaction + item = results.stream().filter(i -> i instanceof BuySellEntryItem).skip(4).findFirst(); + entry = (BuySellEntry) item.orElseThrow(IllegalArgumentException::new).getSubject(); + tx = entry.getPortfolioTransaction(); + + assertThat(tx.getType(), is(PortfolioTransaction.Type.SELL)); + assertThat(tx.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(1262.00)))); + assertThat(tx.getDateTime(), is(LocalDateTime.parse("2020-08-10T15:33:52"))); + assertThat(tx.getShares(), is(Values.Share.factorize(100))); + + // check sixth second transaction + item = results.stream().filter(i -> i instanceof BuySellEntryItem).skip(5).findFirst(); + entry = (BuySellEntry) item.orElseThrow(IllegalArgumentException::new).getSubject(); + tx = entry.getPortfolioTransaction(); + + assertThat(tx.getType(), is(PortfolioTransaction.Type.SELL)); + assertThat(tx.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(1576.25)))); + assertThat(tx.getDateTime(), is(LocalDateTime.parse("2020-08-10T15:50:52"))); + assertThat(tx.getShares(), is(Values.Share.factorize(125))); + + } + } diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/justtrade/Sammelabrechnung01.txt b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/justtrade/Sammelabrechnung01.txt new file mode 100644 index 0000000000..6be9252c54 --- /dev/null +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/justtrade/Sammelabrechnung01.txt @@ -0,0 +1,283 @@ +PDF Autor: '' +PDFBox Version: 1.8.16 +----------------------------------------- +justTRADE +Ein Service der Sutor Bank +JT Technologies GmbH +Kaiserhofstraße 16 +Herr 60313 Frankfurt am Main +Vor Zu Email: service@justtrade.com +Str 5 Web: www.justtrade.com +30000 Stadt +Name des Kunden: Vor Zu +Kontonummer: 5 +WERTPAPIERABRECHNUNG +Sehr geehrter Herr Vor Zu, +dieses Dokument ist eine Bestätigung der Transaktion, die wir in Ihrem Namen durchgeführt haben. +Bei Fragen oder im Falle einer fehlerhaften Abrechnung wenden Sie sich bitte an den justTRADE - +Kundenservice. Sie finden die Kontaktdetails im Briefkopf dieser Abrechnung. +Der Gegenwert der Transaktion wird per Valutatag gebucht. +Dieses Dokument wurde maschinell erstellt und wird nicht unterschrieben. +Produktbezeichnung - Leveraged Certificate auf DAX / XDAX COMBI INDEX +Wertpapierhändlername: justTRADE +Internationale Wertpapierkennnummer (ISIN): DE000SR8YZ53 +Währung: EUR +Handels-/Ausführungsplatz: XSGA +Handelsreferenz: 5f313e083e83d00019d6835e +Orderausführung Datum/Zeit: 10 Aug 2020 14:31:04 +Valutatag Datum: 12 Aug 2020 +Transaktionsart: Kauf +Kurs: €12,2800 +Stück/Nominale: 100,00 +Kurswert: €1.228,00 +Ausmachender Betrag: €1.228,00 +MAX HEINR. SUTOR OHG TELEFON 040-8090685-0 GESCHÄFTSLEITUNG FINANZAMT HAMBURG AMTSGERICHT HAMBURG +HERMANNSTRASSE 46 TELEFAX 040-8090685-810 ROBERT FREITAG STNR: 2761000074 HRA 25379 +20095 HAMBURG THOMAS MEIER UST-IDNR: DE155617009 +POSTFACH 11 33 37 INFO@SUTORBANK.DE BANKLEITZAHL 202 308 00 +20433 HAMBURG WWW.SUTORBANK.DE BIC CODE: MHSBDEHBXXX +justTRADE +Ein Service der Sutor Bank +JT Technologies GmbH +Kaiserhofstraße 16 +Herr 60313 Frankfurt am Main +Vor zu Email: service@justtrade.com +Str 5 Web: www.justtrade.com +30000 Stadt +Name des Kunden: vor zu +Kontonummer: 5 +WERTPAPIERABRECHNUNG +Sehr geehrter Herr vor zu, +dieses Dokument ist eine Bestätigung der Transaktion, die wir in Ihrem Namen durchgeführt haben. +Bei Fragen oder im Falle einer fehlerhaften Abrechnung wenden Sie sich bitte an den justTRADE - +Kundenservice. Sie finden die Kontaktdetails im Briefkopf dieser Abrechnung. +Der Gegenwert der Transaktion wird per Valutatag gebucht. +Dieses Dokument wurde maschinell erstellt und wird nicht unterschrieben. +Produktbezeichnung - Leveraged Certificate auf DAX / XDAX COMBI INDEX +Wertpapierhändlername: justTRADE +Internationale Wertpapierkennnummer (ISIN): DE000SR8YZ53 +Währung: EUR +Handels-/Ausführungsplatz: XSGA +Handelsreferenz: 5f315020567c6400199c4044 +Orderausführung Datum/Zeit: 10 Aug 2020 15:48:16 +Valutatag Datum: 12 Aug 2020 +Transaktionsart: Kauf +Kurs: €12,6000 +Stück/Nominale: 125,00 +Kurswert: €1.575,00 +Ausmachender Betrag: €1.575,00 +MAX HEINR. SUTOR OHG TELEFON 040-8090685-0 GESCHÄFTSLEITUNG FINANZAMT HAMBURG AMTSGERICHT HAMBURG +HERMANNSTRASSE 46 TELEFAX 040-8090685-810 ROBERT FREITAG STNR: 2761000074 HRA 25379 +20095 HAMBURG THOMAS MEIER UST-IDNR: DE155617009 +POSTFACH 11 33 37 INFO@SUTORBANK.DE BANKLEITZAHL 202 308 00 +20433 HAMBURG WWW.SUTORBANK.DE BIC CODE: MHSBDEHBXXX +justTRADE +Ein Service der Sutor Bank +JT Technologies GmbH +Kaiserhofstraße 16 +Herr 60313 Frankfurt am Main +vor zu Email: service@justtrade.com +Str 5 Web: www.justtrade.com +30000 stadt +Name des Kunden: vor zu +Kontonummer: 5 +WERTPAPIERABRECHNUNG +Sehr geehrter Herr vor zu, +dieses Dokument ist eine Bestätigung der Transaktion, die wir in Ihrem Namen durchgeführt haben. +Bei Fragen oder im Falle einer fehlerhaften Abrechnung wenden Sie sich bitte an den justTRADE - +Kundenservice. Sie finden die Kontaktdetails im Briefkopf dieser Abrechnung. +Der Gegenwert der Transaktion wird per Valutatag gebucht. +Dieses Dokument wurde maschinell erstellt und wird nicht unterschrieben. +Produktbezeichnung - Leveraged Certificate auf DAX / XDAX COMBI INDEX +Wertpapierhändlername: justTRADE +Internationale Wertpapierkennnummer (ISIN): DE000SR8YZ53 +Währung: EUR +Handels-/Ausführungsplatz: XSGA +Handelsreferenz: 5f3150d93e83d00019d68628 +Orderausführung Datum/Zeit: 10 Aug 2020 15:51:21 +Valutatag Datum: 12 Aug 2020 +Transaktionsart: Kauf +Kurs: €12,5900 +Stück/Nominale: 125,00 +Kurswert: €1.573,75 +Ausmachender Betrag: €1.573,75 +MAX HEINR. SUTOR OHG TELEFON 040-8090685-0 GESCHÄFTSLEITUNG FINANZAMT HAMBURG AMTSGERICHT HAMBURG +HERMANNSTRASSE 46 TELEFAX 040-8090685-810 ROBERT FREITAG STNR: 2761000074 HRA 25379 +20095 HAMBURG THOMAS MEIER UST-IDNR: DE155617009 +POSTFACH 11 33 37 INFO@SUTORBANK.DE BANKLEITZAHL 202 308 00 +20433 HAMBURG WWW.SUTORBANK.DE BIC CODE: MHSBDEHBXXX +justTRADE +Ein Service der Sutor Bank +JT Technologies GmbH +Kaiserhofstraße 16 +Herr 60313 Frankfurt am Main +vor zu Email: service@justtrade.com +Str 5 Web: www.justtrade.com +30000 stadt +Name des Kunden: vor zu +Kontonummer: 5 +WERTPAPIERABRECHNUNG +Sehr geehrter Herr vor zu, +dieses Dokument ist eine Bestätigung der Transaktion, die wir in Ihrem Namen durchgeführt haben. +Bei Fragen oder im Falle einer fehlerhaften Abrechnung wenden Sie sich bitte an den justTRADE - +Kundenservice. Sie finden die Kontaktdetails im Briefkopf dieser Abrechnung. +Der Gegenwert der Transaktion wird per Valutatag gebucht. +Dieses Dokument wurde maschinell erstellt und wird nicht unterschrieben. +Produktbezeichnung - Leveraged Certificate auf DAX / XDAX COMBI INDEX +Wertpapierhändlername: justTRADE +Internationale Wertpapierkennnummer (ISIN): DE000SR8YZ53 +Währung: EUR +Handels-/Ausführungsplatz: XSGA +Handelsreferenz: 5f315ee83e83d00019d6885a +Orderausführung Datum/Zeit: 10 Aug 2020 16:51:20 +Valutatag Datum: 12 Aug 2020 +Transaktionsart: Kauf +Kurs: €12,2000 +Stück/Nominale: 150,00 +Kurswert: €1.830,00 +Ausmachender Betrag: €1.830,00 +MAX HEINR. SUTOR OHG TELEFON 040-8090685-0 GESCHÄFTSLEITUNG FINANZAMT HAMBURG AMTSGERICHT HAMBURG +HERMANNSTRASSE 46 TELEFAX 040-8090685-810 ROBERT FREITAG STNR: 2761000074 HRA 25379 +20095 HAMBURG THOMAS MEIER UST-IDNR: DE155617009 +POSTFACH 11 33 37 INFO@SUTORBANK.DE BANKLEITZAHL 202 308 00 +20433 HAMBURG WWW.SUTORBANK.DE BIC CODE: MHSBDEHBXXX +justTRADE +Ein Service der Sutor Bank +JT Technologies GmbH +Kaiserhofstraße 16 +Herr 60313 Frankfurt am Main +vor zu Email: service@justtrade.com +Str 5 Web: www.justtrade.com +30000 stadt +Name des Kunden: vor zu +Kontonummer: 5 +WERTPAPIERABRECHNUNG +Sehr geehrter Herr vor zu, +dieses Dokument ist eine Bestätigung der Transaktion, die wir in Ihrem Namen durchgeführt haben. +Bei Fragen oder im Falle einer fehlerhaften Abrechnung wenden Sie sich bitte an den justTRADE - +Kundenservice. Sie finden die Kontaktdetails im Briefkopf dieser Abrechnung. +Der Gegenwert der Transaktion wird per Valutatag gebucht. +Dieses Dokument wurde maschinell erstellt und wird nicht unterschrieben. +Produktbezeichnung - Leveraged Certificate auf DAX / XDAX COMBI INDEX +Wertpapierhändlername: justTRADE +Internationale Wertpapierkennnummer (ISIN): DE000SR8YZ53 +Währung: EUR +Handels-/Ausführungsplatz: XSGA +Handelsreferenz: 5f314b9f567c6400199c3fb1 +Orderausführung Datum/Zeit: 10 Aug 2020 15:33:52 +Valutatag Datum: 12 Aug 2020 +Transaktionsart: Verkauf +Kurs: €12,6200 +Stück/Nominale: 100,00 +Kurswert: €1.262,00 +Ausmachender Betrag: €1.262,00 +MAX HEINR. SUTOR OHG TELEFON 040-8090685-0 GESCHÄFTSLEITUNG FINANZAMT HAMBURG AMTSGERICHT HAMBURG +HERMANNSTRASSE 46 TELEFAX 040-8090685-810 ROBERT FREITAG STNR: 2761000074 HRA 25379 +20095 HAMBURG THOMAS MEIER UST-IDNR: DE155617009 +POSTFACH 11 33 37 INFO@SUTORBANK.DE BANKLEITZAHL 202 308 00 +20433 HAMBURG WWW.SUTORBANK.DE BIC CODE: MHSBDEHBXXX +justTRADE +Ein Service der Sutor Bank +JT Technologies GmbH +Kaiserhofstraße 16 +Herr 60313 Frankfurt am Main +vor zu Email: service@justtrade.com +Str 5 Web: www.justtrade.com +30000 stadt +Name des Kunden: vor zu +Kontonummer: 5 +WERTPAPIERABRECHNUNG +Sehr geehrter Herr vor zu, +dieses Dokument ist eine Bestätigung der Transaktion, die wir in Ihrem Namen durchgeführt haben. +Bei Fragen oder im Falle einer fehlerhaften Abrechnung wenden Sie sich bitte an den justTRADE - +Kundenservice. Sie finden die Kontaktdetails im Briefkopf dieser Abrechnung. +Der Gegenwert der Transaktion wird per Valutatag gebucht. +Dieses Dokument wurde maschinell erstellt und wird nicht unterschrieben. +Produktbezeichnung - Leveraged Certificate auf DAX / XDAX COMBI INDEX +Wertpapierhändlername: justTRADE +Internationale Wertpapierkennnummer (ISIN): DE000SR8YZ53 +Währung: EUR +Handels-/Ausführungsplatz: XSGA +Handelsreferenz: 5f31509a3e83d00019d6861b +Orderausführung Datum/Zeit: 10 Aug 2020 15:50:52 +Valutatag Datum: 12 Aug 2020 +Transaktionsart: Verkauf +Kurs: €12,6100 +Stück/Nominale: 125,00 +Kurswert: €1.576,25 +Ausmachender Betrag: €1.576,25 +MAX HEINR. SUTOR OHG TELEFON 040-8090685-0 GESCHÄFTSLEITUNG FINANZAMT HAMBURG AMTSGERICHT HAMBURG +HERMANNSTRASSE 46 TELEFAX 040-8090685-810 ROBERT FREITAG STNR: 2761000074 HRA 25379 +20095 HAMBURG THOMAS MEIER UST-IDNR: DE155617009 +POSTFACH 11 33 37 INFO@SUTORBANK.DE BANKLEITZAHL 202 308 00 +20433 HAMBURG WWW.SUTORBANK.DE BIC CODE: MHSBDEHBXXX +justTRADE +Ein Service der Sutor Bank +JT Technologies GmbH +Kaiserhofstraße 16 +Herr 60313 Frankfurt am Main +vor zu Email: service@justtrade.com +Str 5 Web: www.justtrade.com +30000 stadt +Name des Kunden: vor zu +Kontonummer: 5 +WERTPAPIERABRECHNUNG +Sehr geehrter Herr vor zu, +dieses Dokument ist eine Bestätigung der Transaktion, die wir in Ihrem Namen durchgeführt haben. +Bei Fragen oder im Falle einer fehlerhaften Abrechnung wenden Sie sich bitte an den justTRADE - +Kundenservice. Sie finden die Kontaktdetails im Briefkopf dieser Abrechnung. +Der Gegenwert der Transaktion wird per Valutatag gebucht. +Dieses Dokument wurde maschinell erstellt und wird nicht unterschrieben. +Produktbezeichnung - Leveraged Certificate auf DAX / XDAX COMBI INDEX +Wertpapierhändlername: justTRADE +Internationale Wertpapierkennnummer (ISIN): DE000SR8YZ53 +Währung: EUR +Handels-/Ausführungsplatz: XSGA +Handelsreferenz: 5f3156b43e83d00019d686fa +Orderausführung Datum/Zeit: 10 Aug 2020 16:19:50 +Valutatag Datum: 12 Aug 2020 +Transaktionsart: Verkauf +Kurs: €12,6000 +Stück/Nominale: 125,00 +Kurswert: €1.575,00 +Ausmachender Betrag: €1.575,00 +MAX HEINR. SUTOR OHG TELEFON 040-8090685-0 GESCHÄFTSLEITUNG FINANZAMT HAMBURG AMTSGERICHT HAMBURG +HERMANNSTRASSE 46 TELEFAX 040-8090685-810 ROBERT FREITAG STNR: 2761000074 HRA 25379 +20095 HAMBURG THOMAS MEIER UST-IDNR: DE155617009 +POSTFACH 11 33 37 INFO@SUTORBANK.DE BANKLEITZAHL 202 308 00 +20433 HAMBURG WWW.SUTORBANK.DE BIC CODE: MHSBDEHBXXX +justTRADE +Ein Service der Sutor Bank +JT Technologies GmbH +Kaiserhofstraße 16 +Herr 60313 Frankfurt am Main +vor zu Email: service@justtrade.com +Str 5 Web: www.justtrade.com +30000 stadt +Name des Kunden: vor zu +Kontonummer: 5 +WERTPAPIERABRECHNUNG +Sehr geehrter Herr vor zu, +dieses Dokument ist eine Bestätigung der Transaktion, die wir in Ihrem Namen durchgeführt haben. +Bei Fragen oder im Falle einer fehlerhaften Abrechnung wenden Sie sich bitte an den justTRADE - +Kundenservice. Sie finden die Kontaktdetails im Briefkopf dieser Abrechnung. +Der Gegenwert der Transaktion wird per Valutatag gebucht. +Dieses Dokument wurde maschinell erstellt und wird nicht unterschrieben. +Produktbezeichnung - Leveraged Certificate auf DAX / XDAX COMBI INDEX +Wertpapierhändlername: justTRADE +Internationale Wertpapierkennnummer (ISIN): DE000SR8YZ53 +Währung: EUR +Handels-/Ausführungsplatz: XSGA +Handelsreferenz: 5f3162a03e83d00019d68929 +Orderausführung Datum/Zeit: 10 Aug 2020 17:07:12 +Valutatag Datum: 12 Aug 2020 +Transaktionsart: Verkauf +Kurs: €12,2200 +Stück/Nominale: 150,00 +Kurswert: €1.833,00 +Ausmachender Betrag: €1.833,00 +MAX HEINR. SUTOR OHG TELEFON 040-8090685-0 GESCHÄFTSLEITUNG FINANZAMT HAMBURG AMTSGERICHT HAMBURG +HERMANNSTRASSE 46 TELEFAX 040-8090685-810 ROBERT FREITAG STNR: 2761000074 HRA 25379 +20095 HAMBURG THOMAS MEIER UST-IDNR: DE155617009 +POSTFACH 11 33 37 INFO@SUTORBANK.DE BANKLEITZAHL 202 308 00 +20433 HAMBURG WWW.SUTORBANK.DE BIC CODE: MHSBDEHBXXX \ No newline at end of file diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/justtrade/Verkauf01.txt b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/justtrade/Verkauf01.txt new file mode 100644 index 0000000000..2b0e81d4ed --- /dev/null +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/justtrade/Verkauf01.txt @@ -0,0 +1,40 @@ +PDF Autor: '' +PDFBox Version: 1.8.16 +----------------------------------------- +justTRADE +Ein Service der Sutor Bank +JT Technologies GmbH +Kaiserhofstraße 16 +Herr 60313 Frankfurt am Main +Vor Zu Email: service@justtrade.com +Straße 4 Web: www.justtrade.com +30000 Stadt +Name des Kunden: Vor Zu +Kontonummer: 6 +WERTPAPIERABRECHNUNG +Sehr geehrter Herr Vor Zu, +dieses Dokument ist eine Bestätigung der Transaktion, die wir in Ihrem Namen durchgeführt haben. +Bei Fragen oder im Falle einer fehlerhaften Abrechnung wenden Sie sich bitte an den justTRADE - +Kundenservice. Sie finden die Kontaktdetails im Briefkopf dieser Abrechnung. +Der Gegenwert der Transaktion wird per Valutatag gebucht. +Dieses Dokument wurde maschinell erstellt und wird nicht unterschrieben. +Produktbezeichnung - Leveraged Certificate auf DAX +Wertpapierhändlername: justTRADE +Internationale Wertpapierkennnummer (ISIN): DE000CL9E825 +Währung: EUR +Handels-/Ausführungsplatz: XSGA +Handelsreferenz: 5f245de9567c6400199b6ba9 +Orderausführung Datum/Zeit: 31 Jul 2020 21:00:15 +Valutatag Datum: 4 Aug 2020 +Transaktionsart: Verkauf +Kurs: €38,5000 +Stück/Nominale: 58,00 +Kurswert: €2.233,00 +Kapitalertragssteuer: €0,73 +Solidaritätszuschlag: €0,04 +Ausmachender Betrag: €2.232,23 +MAX HEINR. SUTOR OHG TELEFON 040-8090685-0 GESCHÄFTSLEITUNG FINANZAMT HAMBURG AMTSGERICHT HAMBURG +HERMANNSTRASSE 46 TELEFAX 040-8090685-810 ROBERT FREITAG STNR: 2761000074 HRA 25379 +20095 HAMBURG THOMAS MEIER UST-IDNR: DE155617009 +POSTFACH 11 33 37 INFO@SUTORBANK.DE BANKLEITZAHL 202 308 00 +20433 HAMBURG WWW.SUTORBANK.DE BIC CODE: MHSBDEHBXXX \ No newline at end of file diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/JustTradePDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/JustTradePDFExtractor.java index 4d5c6da61f..9dea5dd87f 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/JustTradePDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/JustTradePDFExtractor.java @@ -10,6 +10,8 @@ import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.PortfolioTransaction; +import name.abuchen.portfolio.model.Transaction.Unit; +import name.abuchen.portfolio.money.Money; public class JustTradePDFExtractor extends AbstractPDFExtractor { @@ -24,7 +26,7 @@ public JustTradePDFExtractor(Client client) addBankIdentifier("justTRADE"); //$NON-NLS-1$ addBuyTransactionOld(); - addBuyTransaction(); + addBuySellTransaction(); } private String stripTrailing(String value) @@ -87,11 +89,11 @@ private void addBuyTransactionOld() } @SuppressWarnings("nls") - private void addBuyTransaction() + private void addBuySellTransaction() { // layout of pdf changed - DocumentType newType = new DocumentType("Transaktionsart: Kauf"); + DocumentType newType = new DocumentType("Transaktionsart: (Kauf|Verkauf)"); this.addDocumentTyp(newType); Transaction pdfTransaction = new Transaction<>(); @@ -101,7 +103,7 @@ private void addBuyTransaction() return entry; }); - Block firstRelevantLine = new Block("Produktbezeichnung - .*"); + Block firstRelevantLine = new Block("Produktbezeichnung - .*", "Ausmachender Betrag:.*"); newType.addBlock(firstRelevantLine); firstRelevantLine.set(pdfTransaction); pdfTransaction @@ -121,7 +123,17 @@ private void addBuyTransaction() String.format("%s %s", stripTrailing(v.get("date")), v.get("time")), DATE_TIME_FORMAT); t.setDate(dateTime); }) - + + // if type is "Verkauf" change from BUY to SELL + .section("type") // + .match("Transaktionsart: (?\\w*)") // + .assign((t, v) -> { + if (v.get("type").equals("Verkauf")) + { + t.setType(PortfolioTransaction.Type.SELL); + } + }) + .section("shares") // .match("Stück\\/Nominale: (?[0-9.]+(\\,[0-9]{2})).*") .assign((t, v) -> t.setShares(asShares(v.get("shares")))) @@ -132,7 +144,36 @@ private void addBuyTransaction() t.setCurrencyCode(asCurrencyCode(newType.getCurrentContext().get("currency"))); }) + .section("tax").optional() // + .match("Kapitalertragssteuer: (\\W{1})(?([0-9.]+)\\,([0-9]{2}))") // + .assign((t, v) -> { + t.getPortfolioTransaction() + .addUnit(new Unit(Unit.Type.TAX, Money.of( + asCurrencyCode(newType.getCurrentContext().get("currency")), + asAmount(v.get("tax"))))); + }) + + .section("tax").optional() // + .match("Solidaritätszuschlag: (\\W{1})(?([0-9.]+)\\,([0-9]{2}))") // + .assign((t, v) -> { + t.getPortfolioTransaction() + .addUnit(new Unit(Unit.Type.TAX, Money.of( + asCurrencyCode(newType.getCurrentContext().get("currency")), + asAmount(v.get("tax"))))); + }) + + .section("tax").optional() // + .match("Kirchensteuer: (\\W{1})(?([0-9.]+)\\,([0-9]{2}))") // + .assign((t, v) -> { + t.getPortfolioTransaction() + .addUnit(new Unit(Unit.Type.TAX, Money.of( + asCurrencyCode(newType.getCurrentContext().get("currency")), + asAmount(v.get("tax"))))); + }) + .wrap(BuySellEntryItem::new); + + } @Override