diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/ConsorsbankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/ConsorsbankPDFExtractorTest.java index a75c0fd40d..c2a8fe2708 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/ConsorsbankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/ConsorsbankPDFExtractorTest.java @@ -3504,7 +3504,7 @@ public void testDividende18() hasName("ComStage Vermoeg.str.UCITS ETF Inhaber-Anteile I"), // hasCurrencyCode("EUR")))); - // check dividende transaction + // check dividends transaction assertThat(results, hasItem(dividend( // hasDate("2017-10-13T00:00"), hasShares(27.47377), // hasSource("Dividende18.txt"), // @@ -3535,7 +3535,7 @@ public void testDividende19() hasName("GLADSTONE CAPITAL CORP. Registered Shares o.N."), // hasCurrencyCode("USD")))); - // check dividende transaction + // check dividends transaction assertThat(results, hasItem(dividend( // hasDate("2018-09-28T00:00"), hasShares(1000.00), // hasSource("Dividende19.txt"), // @@ -3606,7 +3606,7 @@ public void testDividende20() hasName("Allianz SE vink.Namens-Aktien o.N."), // hasCurrencyCode("EUR")))); - // check dividende transaction + // check dividends transaction assertThat(results, hasItem(dividend( // hasDate("2019-05-13T00:00"), hasShares(80.00), // hasSource("Dividende20.txt"), // @@ -3616,13 +3616,13 @@ public void testDividende20() } @Test - public void testDividendeNeuabrechnung01() + public void testDividende21() { ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(new Client()); List errors = new ArrayList<>(); - List results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "DividendeNeuabrechnung01.txt"), + List results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Dividende21.txt"), errors); assertThat(errors, empty()); @@ -3638,13 +3638,297 @@ public void testDividendeNeuabrechnung01() hasName("Xtr.Stoxx Gbl Sel.Div.100 Swap Inhaber-Anteile 1D o.N."), // hasCurrencyCode("EUR")))); - // check dividende transaction + // check dividends transaction assertThat(results, hasItem(dividend( // hasDate("2024-03-07T00:00"), hasShares(100.4205), // - hasSource("DividendeNeuabrechnung01.txt"), // + hasSource("Dividende21.txt"), // hasNote(null), // hasAmount("EUR", 45.68), hasGrossValue("EUR", 56.02), // - hasTaxes("EUR", 9.8 + 0.54), hasFees("EUR", 0.00)))); + hasTaxes("EUR", 9.80 + 0.54), hasFees("EUR", 0.00)))); + } + + @Test + public void testDividende22() + { + ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(new Client()); + + List errors = new ArrayList<>(); + + List results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Dividende22.txt"), errors); + + assertThat(errors, empty()); + assertThat(countSecurities(results), is(1L)); + assertThat(countBuySell(results), is(0L)); + assertThat(countAccountTransactions(results), is(1L)); + assertThat(results.size(), is(2)); + new AssertImportActions().check(results, CurrencyUnit.EUR); + + // check security + assertThat(results, hasItem(security( // + hasIsin("US49456B1017"), hasWkn("A1H6GK"), hasTicker(null), // + hasName("Kinder Morgan Inc. Registered Shares P DL -,01"), // + hasCurrencyCode("USD")))); + + // check dividends transaction + assertThat(results, hasItem(dividend( // + hasDate("2024-02-28T00:00"), hasShares(290.00), // + hasSource("Dividende22.txt"), // + hasNote(null), // + hasAmount("EUR", 56.33), hasGrossValue("EUR", 56.33), // + hasForexGrossValue("USD", 61.45), // + hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))); + } + + @Test + public void testDividende22WithSecurityInEUR() + { + Security security = new Security("Kinder Morgan Inc. Registered Shares P DL -,01", CurrencyUnit.EUR); + security.setIsin("US49456B1017"); + security.setWkn("A1H6GK"); + + Client client = new Client(); + client.addSecurity(security); + + ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(client); + + List errors = new ArrayList<>(); + + List results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Dividende22.txt"), errors); + + assertThat(errors, empty()); + assertThat(countSecurities(results), is(0L)); + assertThat(countBuySell(results), is(0L)); + assertThat(countAccountTransactions(results), is(1L)); + assertThat(results.size(), is(1)); + new AssertImportActions().check(results, CurrencyUnit.EUR); + + // check dividends transaction + assertThat(results, hasItem(dividend( // + hasDate("2024-02-28T00:00"), hasShares(290.00), // + hasSource("Dividende22.txt"), // + hasNote(null), // + hasAmount("EUR", 56.33), hasGrossValue("EUR", 56.33), // + hasTaxes("EUR", 0.00), hasFees("EUR", 0.00), // + check(tx -> { + CheckCurrenciesAction c = new CheckCurrenciesAction(); + Account account = new Account(); + account.setCurrencyCode(CurrencyUnit.EUR); + Status s = c.process((AccountTransaction) tx, account); + assertThat(s, is(Status.OK_STATUS)); + })))); + } + + @Test + public void testDividende23() + { + ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(new Client()); + + List errors = new ArrayList<>(); + + List results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Dividende23.txt"), errors); + + assertThat(errors, empty()); + assertThat(countSecurities(results), is(1L)); + assertThat(countBuySell(results), is(0L)); + assertThat(countAccountTransactions(results), is(1L)); + assertThat(results.size(), is(2)); + new AssertImportActions().check(results, CurrencyUnit.EUR); + + // check security + assertThat(results, hasItem(security( // + hasIsin("US3026352068"), hasWkn("A2P6TH"), hasTicker(null), // + hasName("FS KKR Capital Corp. Registered Shares DL -,001"), // + hasCurrencyCode("USD")))); + + // check dividends transaction + assertThat(results, hasItem(dividend( // + hasDate("2024-02-28T00:00"), hasShares(42.27894), // + hasSource("Dividende23.txt"), // + hasNote(null), // + hasAmount("EUR", 1.44), hasGrossValue("EUR", 1.94), // + hasForexGrossValue("USD", 2.11), // + hasTaxes("EUR", 0.29 + 0.19 + 0.01 + 0.01), hasFees("EUR", 0.00)))); + } + + @Test + public void testDividende23WithSecurityInEUR() + { + Security security = new Security("FS KKR Capital Corp. Registered Shares DL -,001", CurrencyUnit.EUR); + security.setIsin("US3026352068"); + security.setWkn("A2P6TH"); + + Client client = new Client(); + client.addSecurity(security); + + ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(client); + + List errors = new ArrayList<>(); + + List results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Dividende23.txt"), errors); + + assertThat(errors, empty()); + assertThat(countSecurities(results), is(0L)); + assertThat(countBuySell(results), is(0L)); + assertThat(countAccountTransactions(results), is(1L)); + assertThat(results.size(), is(1)); + new AssertImportActions().check(results, CurrencyUnit.EUR); + + // check dividends transaction + assertThat(results, hasItem(dividend( // + hasDate("2024-02-28T00:00"), hasShares(42.27894), // + hasSource("Dividende23.txt"), // + hasNote(null), // + hasAmount("EUR", 1.44), hasGrossValue("EUR", 1.94), // + hasTaxes("EUR", 0.29 + 0.19 + 0.01 + 0.01), hasFees("EUR", 0.00), // + check(tx -> { + CheckCurrenciesAction c = new CheckCurrenciesAction(); + Account account = new Account(); + account.setCurrencyCode(CurrencyUnit.EUR); + Status s = c.process((AccountTransaction) tx, account); + assertThat(s, is(Status.OK_STATUS)); + })))); + } + + @Test + public void testDividende24() + { + ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(new Client()); + + List errors = new ArrayList<>(); + + List results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Dividende24.txt"), errors); + + assertThat(errors, empty()); + assertThat(countSecurities(results), is(1L)); + assertThat(countBuySell(results), is(0L)); + assertThat(countAccountTransactions(results), is(1L)); + assertThat(results.size(), is(2)); + new AssertImportActions().check(results, CurrencyUnit.EUR); + + // check security + assertThat(results, hasItem(security( // + hasIsin("US7561581015"), hasWkn("A0YCXM"), hasTicker(null), // + hasName("Reaves Utility Income Fund Reg. Shs of Benef. Int. DL-,01"), // + hasCurrencyCode("USD")))); + + // check dividends transaction + assertThat(results, hasItem(dividend( // + hasDate("2024-02-29T00:00"), hasShares(70.00), // + hasSource("Dividende24.txt"), // + hasNote(null), // + hasAmount("EUR", 10.38), hasGrossValue("EUR", 12.22), // + hasForexGrossValue("USD", 13.30), // + hasTaxes("EUR", 1.84), hasFees("EUR", 0.00)))); + } + + @Test + public void testDividende24WithSecurityInEUR() + { + Security security = new Security("FS KKR Capital Corp. Registered Shares DL -,001", CurrencyUnit.EUR); + security.setIsin("US7561581015"); + security.setWkn("A0YCXM"); + + Client client = new Client(); + client.addSecurity(security); + + ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(client); + + List errors = new ArrayList<>(); + + List results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Dividende24.txt"), errors); + + assertThat(errors, empty()); + assertThat(countSecurities(results), is(0L)); + assertThat(countBuySell(results), is(0L)); + assertThat(countAccountTransactions(results), is(1L)); + assertThat(results.size(), is(1)); + new AssertImportActions().check(results, CurrencyUnit.EUR); + + // check dividends transaction + assertThat(results, hasItem(dividend( // + hasDate("2024-02-29T00:00"), hasShares(70.00), // + hasSource("Dividende24.txt"), // + hasNote(null), // + hasAmount("EUR", 10.38), hasGrossValue("EUR", 12.22), // + hasTaxes("EUR", 1.84), hasFees("EUR", 0.00), // + check(tx -> { + CheckCurrenciesAction c = new CheckCurrenciesAction(); + Account account = new Account(); + account.setCurrencyCode(CurrencyUnit.EUR); + Status s = c.process((AccountTransaction) tx, account); + assertThat(s, is(Status.OK_STATUS)); + })))); + } + + @Test + public void testDividende25() + { + ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(new Client()); + + List errors = new ArrayList<>(); + + List results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Dividende25.txt"), errors); + + assertThat(errors, empty()); + assertThat(countSecurities(results), is(1L)); + assertThat(countBuySell(results), is(0L)); + assertThat(countAccountTransactions(results), is(1L)); + assertThat(results.size(), is(2)); + new AssertImportActions().check(results, CurrencyUnit.EUR); + + // check security + assertThat(results, hasItem(security( // + hasIsin("IE00BK1PV551"), hasWkn("A1XEY2"), hasTicker(null), // + hasName("Xtr.(IE) - MSCI World Registered Shares 1D o.N."), // + hasCurrencyCode("USD")))); + + // check dividends transaction + assertThat(results, hasItem(dividend( // + hasDate("2024-03-07T00:00"), hasShares(80.43549), // + hasSource("Dividende25.txt"), // + hasNote(null), // + hasAmount("EUR", 41.99), hasGrossValue("EUR", 41.99), // + hasForexGrossValue("USD", 46.03), // + hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))); + } + + @Test + public void testDividende25WithSecurityInEUR() + { + Security security = new Security("Xtr.(IE) - MSCI World Registered Shares 1D o.N.", CurrencyUnit.EUR); + security.setIsin("IE00BK1PV551"); + security.setWkn("A1XEY2"); + + Client client = new Client(); + client.addSecurity(security); + + ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(client); + + List errors = new ArrayList<>(); + + List results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Dividende25.txt"), errors); + + assertThat(errors, empty()); + assertThat(countSecurities(results), is(0L)); + assertThat(countBuySell(results), is(0L)); + assertThat(countAccountTransactions(results), is(1L)); + assertThat(results.size(), is(1)); + new AssertImportActions().check(results, CurrencyUnit.EUR); + + // check dividends transaction + assertThat(results, hasItem(dividend( // + hasDate("2024-03-07T00:00"), hasShares(80.43549), // + hasSource("Dividende25.txt"), // + hasNote(null), // + hasAmount("EUR", 41.99), hasGrossValue("EUR", 41.99), // + hasTaxes("EUR", 0.00), hasFees("EUR", 0.00), // + check(tx -> { + CheckCurrenciesAction c = new CheckCurrenciesAction(); + Account account = new Account(); + account.setCurrencyCode(CurrencyUnit.EUR); + Status s = c.process((AccountTransaction) tx, account); + assertThat(s, is(Status.OK_STATUS)); + })))); } @Test diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/DividendeNeuabrechnung01.txt b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/Dividende21.txt similarity index 100% rename from name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/DividendeNeuabrechnung01.txt rename to name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/Dividende21.txt diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/Dividende22.txt b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/Dividende22.txt new file mode 100644 index 0000000000..3157cfbd6a --- /dev/null +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/Dividende22.txt @@ -0,0 +1,54 @@ +PDFBox Version: 1.8.17 +Portfolio Performance Version: 0.67.3 +----------------------------------------- +Consorsbank • 90318 Nürnberg +Depotnummer: 1234567890 +1110705074/00 +Vermerk der Bank: 2100 +2 +Maxi Mustermax +Straße 23 Datum: 01.03.2024 +12345 Musterstadt Seite: 1 von 2 +Ertragsgutschrift / Neuabrechnung +Wertpapierbezeichnung WKN ISIN +Kinder Morgan Inc. Registered Shares P DL -,01 A1H6GK US49456B1017 +Bestand +290 Stück +Ertragsausschüttung je Anteil 0,2119 USD Schlusstag 27.04.2023 +Brutto in USD 61,45 USD +Netto in USD 61,45 USD +Devisenkurs 1,090900 USD / EUR +Brutto in EUR 56,33 EUR +Netto zugunsten IBAN DE60 7603 0080 0840 1922 64 56,33 EUR +Valuta 28.02.2024 BIC CSDBDE71XXX +Return of Capital Neuabrechnung 2 +Bitte beachten Sie die weiteren Informationen auf Seite 2. +Consorsbank ist eine eingetragene Marke der BNP Paribas S.A. Niederlassung Deutschland (AG nach franz. Recht). +Standort Nürnberg: Bahnhofstraße 55, 90402 Nürnberg, HRB Nürnberg 31129, USt-IdNr. DE191528929 +Fon +49 (0) 911 / 369-30 00, Fax +49 (0) 911 / 369-10 00, info@consorsbank.de, www.consorsbank.de +Sitz 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 (Präsident des Verwaltungsrates): Jean Lemierre, Directeur Général (Generaldirektor): Jean-Laurent Bonnafé +1EE45331-38C6-20E0-141E-E4423403B200 +Depotnummer: 1234567890 +1110705074/00 +Vermerk der Bank: 2100 +2 +Datum: 01.03.2024 +Seite: 2 von 2 +Details zur Abrechnung +Steuerpflichtiger Gesamtertrag 56,33 EUR +Mit Verrechnungstopf "Allgemein" verrechnet -56,33 EUR +Mit Sparerpauschbetrag verrechnet 0,00 EUR +Mit Quellensteuer verrechnet 0,00 EUR +somit verrechnete Quellensteuer 0,00 EUR +Bemessungsgrundlage für Kapitalertragsteuer gesamt 0,00 EUR +Details zu den Verrechnungstöpfen +Verrechnungstopf "Allgemein" vor der Abrechnung 75,10 EUR +Mit Verrechnungstopf "Allgemein" verrechnet -56,33 EUR +Verrechnungstopf "Allgemein" nach der Abrechnung 18,77 EUR +Sparerpauschbetrag vor der Abrechnung 0,00 EUR +Mit Sparerpauschbetrag verrechnet 0,00 EUR +Sparerpauschbetrag nach der Abrechnung 0,00 EUR +Verrechnungstopf "Quellensteuer" vor der Abrechnung -11,27 EUR +Änderung Verrechnungstopf "Quellensteuer" 0,00 EUR +Verrechnungstopf "Quellensteuer" nach der Abrechnung -11,27 EUR \ No newline at end of file diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/Dividende23.txt b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/Dividende23.txt new file mode 100644 index 0000000000..5ffa9d3124 --- /dev/null +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/Dividende23.txt @@ -0,0 +1,64 @@ +PDFBox Version: 1.8.17 +Portfolio Performance Version: 0.67.3 +----------------------------------------- +Consorsbank • 90318 Nürnberg +Depotnummer: 0368742127 +1126528362/00 +Vermerk der Bank: 2000 +2 +lXohgP LhcjvX +VlpVigWWu Str. 32 Datum: 04.03.2024 +97366 GTWueTRTa Seite: 1 von 2 +Ertragsgutschrift / Neuabrechnung +Wertpapierbezeichnung WKN ISIN +FS KKR Capital Corp. Registered Shares DL -,001 A2P6TH US3026352068 +Bestand +42,27894 Stück +Ertragsausschüttung je Anteil 0,05 USD Schlusstag 12.02.2024 +Brutto in USD 2,11 USD +abzgl. Quellensteuer 15,00 % von 2,11 USD 0,32 USD +Zwischensumme in USD 1,79 USD +Devisenkurs 1,086500 USD / EUR +Brutto in EUR 1,94 EUR +Quellensteuer in EUR 0,29 EUR +Zwischensumme in EUR 1,65 EUR +abzgl. Kapitalertragsteuer 24,45 % von 0,78 EUR 0,19 EUR +abzgl. Solidaritätszuschlag 5,50 % von 0,19 EUR 0,01 EUR +abzgl. Kirchensteuer 9,00 % von 0,19 EUR 0,01 EUR +Netto zugunsten IBAN DE92 7603 0080 0360 7421 25 1,44 EUR +Valuta 28.02.2024 BIC CSDBDE71XXX +Anrechenbare Quellensteuer 0,0075 USD pro Stück 0,29 EUR +Bitte beachten Sie die weiteren Informationen auf Seite 2. +Consorsbank ist eine eingetragene Marke der BNP Paribas S.A. Niederlassung Deutschland (AG nach franz. Recht). +Standort Nürnberg: Bahnhofstraße 55, 90402 Nürnberg, HRB Nürnberg 31129, USt-IdNr. DE191528929 +Fon +49 (0) 911 / 369-30 00, Fax +49 (0) 911 / 369-10 00, info@consorsbank.de, www.consorsbank.de +Sitz 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 (Präsident des Verwaltungsrates): Jean Lemierre, Directeur Général (Generaldirektor): Jean-Laurent Bonnafé +1EE2C651-38EC-7856-864A-4325756A86E3 +Depotnummer: 0368742127 +1126528362/00 +Vermerk der Bank: 2000 +2 +Datum: 04.03.2024 +Seite: 2 von 2 +Details zur Abrechnung +Informationen zum Investmentsteuergesetz +Ausschüttung gem. §2 Abs. 11 InvStG 1,94 EUR +abzgl. Teilfreistellung 0,00 % von 1,94 EUR 0,00 EUR +Ertragsausschüttung mit Teilfreistellung 1,94 EUR +Steuerpflichtiger Gesamtertrag 1,94 EUR +Mit Verrechnungstopf "Allgemein" verrechnet 0,00 EUR +Mit Sparerpauschbetrag verrechnet 0,00 EUR +Mit Quellensteuer verrechnet -1,16 EUR +somit verrechnete Quellensteuer -0,29 EUR +Bemessungsgrundlage für Kapitalertragsteuer gesamt 0,78 EUR +Details zu den Verrechnungstöpfen +Verrechnungstopf "Allgemein" vor der Abrechnung 0,00 EUR +Mit Verrechnungstopf "Allgemein" verrechnet 0,00 EUR +Verrechnungstopf "Allgemein" nach der Abrechnung 0,00 EUR +Sparerpauschbetrag vor der Abrechnung 0,00 EUR +Mit Sparerpauschbetrag verrechnet 0,00 EUR +Sparerpauschbetrag nach der Abrechnung 0,00 EUR +Verrechnungstopf "Quellensteuer" vor der Abrechnung 0,00 EUR +Änderung Verrechnungstopf "Quellensteuer" 0,00 EUR +Verrechnungstopf "Quellensteuer" nach der Abrechnung 0,00 EUR \ No newline at end of file diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/Dividende24.txt b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/Dividende24.txt new file mode 100644 index 0000000000..56f08bf907 --- /dev/null +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/Dividende24.txt @@ -0,0 +1,60 @@ +PDFBox Version: 1.8.17 +Portfolio Performance Version: 0.67.3 +----------------------------------------- +Consorsbank • 90318 Nürnberg +Depotnummer: 5183199012 +1123118830/00 +Vermerk der Bank: 1000 +2 +XnaUrg cfEaN +nMpPFMdVcm dmU 83 Datum: 04.03.2024 +88661 IwlylfRcgk Seite: 1 von 2 +Ertragsgutschrift / Neuabrechnung +Wertpapierbezeichnung WKN ISIN +Reaves Utility Income Fund Reg. Shs of Benef. Int. DL-,01 A0YCXM US7561581015 +Bestand +70 Stück +Ertragsausschüttung je Anteil 0,19 USD Schlusstag 14.02.2024 +Brutto in USD 13,30 USD +abzgl. Quellensteuer 15,00 % von 13,30 USD 2,00 USD +Netto in USD 11,30 USD +Devisenkurs 1,088600 USD / EUR +Brutto in EUR 12,22 EUR +Quellensteuer in EUR 1,84 EUR +Netto zugunsten IBAN DE08 3889 8780 4217 8412 71 10,38 EUR +Valuta 29.02.2024 BIC CSDBDE71XXX +Anrechenbare Quellensteuer 0,0285 USD pro Stück 1,84 EUR +Bitte beachten Sie die weiteren Informationen auf Seite 2. +Consorsbank ist eine eingetragene Marke der BNP Paribas S.A. Niederlassung Deutschland (AG nach franz. Recht). +Standort Nürnberg: Bahnhofstraße 55, 90402 Nürnberg, HRB Nürnberg 31129, USt-IdNr. DE191528929 +Fon +49 (0) 911 / 369-30 00, Fax +49 (0) 911 / 369-10 00, info@consorsbank.de, www.consorsbank.de +Sitz 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 (Präsident des Verwaltungsrates): Jean Lemierre, Directeur Général (Generaldirektor): Jean-Laurent Bonnafé +1EE2C681-3A05-35C5-B6BA-8842F16EEE61 +Depotnummer: 3717769106 +1123118830/00 +Vermerk der Bank: 1000 +2 +Datum: 04.03.2024 +Seite: 2 von 2 +Details zur Abrechnung +Informationen zum Investmentsteuergesetz +Ausschüttung gem. §2 Abs. 11 InvStG 12,22 EUR +abzgl. Teilfreistellung 0,00 % von 12,22 EUR 0,00 EUR +Ertragsausschüttung mit Teilfreistellung 12,22 EUR +Steuerpflichtiger Gesamtertrag 12,22 EUR +Mit Verrechnungstopf "Allgemein" verrechnet 0,00 EUR +Mit Sparerpauschbetrag verrechnet -12,22 EUR +Mit Quellensteuer verrechnet 0,00 EUR +somit verrechnete Quellensteuer 0,00 EUR +Bemessungsgrundlage für Kapitalertragsteuer gesamt 0,00 EUR +Details zu den Verrechnungstöpfen +Verrechnungstopf "Allgemein" vor der Abrechnung 0,00 EUR +Mit Verrechnungstopf "Allgemein" verrechnet 0,00 EUR +Verrechnungstopf "Allgemein" nach der Abrechnung 0,00 EUR +Sparerpauschbetrag vor der Abrechnung 642,31 EUR +Mit Sparerpauschbetrag verrechnet -12,22 EUR +Sparerpauschbetrag nach der Abrechnung 630,09 EUR +Verrechnungstopf "Quellensteuer" vor der Abrechnung 15,32 EUR +Änderung Verrechnungstopf "Quellensteuer" 1,84 EUR +Verrechnungstopf "Quellensteuer" nach der Abrechnung 17,16 EUR \ No newline at end of file diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/Dividende25.txt b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/Dividende25.txt new file mode 100644 index 0000000000..c7cae300b2 --- /dev/null +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/Dividende25.txt @@ -0,0 +1,58 @@ +PDFBox Version: 1.8.17 +Portfolio Performance Version: 0.68.0 +----------------------------------------- +Consorsbank • 90318 Nürnberg +Depotnummer: 1925426800 +1112683314/00 +Vermerk der Bank: 2000 +2 +hvhQev Dkvwuj +Blumennstr. 79 Datum: 08.03.2024 +06709 wXCmbshhM Seite: 1 von 2 +Ertragsgutschrift / Neuabrechnung +Wertpapierbezeichnung WKN ISIN +Xtr.(IE) - MSCI World Registered Shares 1D o.N. A1XEY2 IE00BK1PV551 +Bestand +80,43549 Stück +Ertragsausschüttung je Anteil 0,5723 USD Schlusstag 20.02.2024 +Brutto in USD 46,03 USD +Netto in USD 46,03 USD +Devisenkurs 1,096300 USD / EUR +Brutto in EUR 41,99 EUR +Netto zugunsten IBAN HT35 1787 9094 4017 3263 31 41,99 EUR +Valuta 07.03.2024 BIC CSDBDE71XXX +Bei ausreichender Deckung wird der gutgeschriebene Ertrag reinvestiert. +Bitte beachten Sie die weiteren Informationen auf Seite 2. +Consorsbank ist eine eingetragene Marke der BNP Paribas S.A. Niederlassung Deutschland (AG nach franz. Recht). +Standort Nürnberg: Bahnhofstraße 55, 90402 Nürnberg, HRB Nürnberg 31129, USt-IdNr. DE191528929 +Fon +49 (0) 911 / 369-30 00, Fax +49 (0) 911 / 369-10 00, info@consorsbank.de, www.consorsbank.de +Sitz 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 (Präsident des Verwaltungsrates): Jean Lemierre, Directeur Général (Generaldirektor): Jean-Laurent Bonnafé +1EE45AD1-3AEC-45BC-8D68-425233326D97 +Depotnummer: 8879208747 +1112683314/00 +Vermerk der Bank: 2000 +2 +Datum: 08.03.2024 +Seite: 2 von 2 +Details zur Abrechnung +Informationen zum Investmentsteuergesetz +Ausschüttung gem. §2 Abs. 11 InvStG 41,99 EUR +abzgl. Teilfreistellung 30,00 % von 41,99 EUR 12,60 EUR +Ertragsausschüttung mit Teilfreistellung 29,39 EUR +Steuerpflichtiger Gesamtertrag 29,39 EUR +Mit Verrechnungstopf "Allgemein" verrechnet 0,00 EUR +Mit Sparerpauschbetrag verrechnet -29,39 EUR +Mit Quellensteuer verrechnet 0,00 EUR +somit verrechnete Quellensteuer 0,00 EUR +Bemessungsgrundlage für Kapitalertragsteuer gesamt 0,00 EUR +Details zu den Verrechnungstöpfen +Verrechnungstopf "Allgemein" vor der Abrechnung 0,00 EUR +Mit Verrechnungstopf "Allgemein" verrechnet 0,00 EUR +Verrechnungstopf "Allgemein" nach der Abrechnung 0,00 EUR +Sparerpauschbetrag vor der Abrechnung 654,01 EUR +Mit Sparerpauschbetrag verrechnet -29,39 EUR +Sparerpauschbetrag nach der Abrechnung 624,62 EUR +Verrechnungstopf "Quellensteuer" vor der Abrechnung 12,16 EUR +Änderung Verrechnungstopf "Quellensteuer" 0,00 EUR +Verrechnungstopf "Quellensteuer" nach der Abrechnung 12,16 EUR \ No newline at end of file diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ConsorsbankPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ConsorsbankPDFExtractor.java index 64975a2500..7e0b3c95bb 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ConsorsbankPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ConsorsbankPDFExtractor.java @@ -336,15 +336,19 @@ private void addBuySellTransaction() private void addDividendeTransaction() { - DocumentType type = new DocumentType( - "(?i)(Dividendengutschrift|Ertragsgutschrift|ERTRAGSTHESAURIERUNG)(\\s*/\\s*Neuabrechnung)?", + DocumentType type = new DocumentType("(?i)(Dividendengutschrift" // + + "|Ertragsgutschrift" // + + "|ERTRAGSTHESAURIERUNG)" // + + "( \\/ Neuabrechnung)?", // isJointAccount); this.addDocumentTyp(type); Transaction pdfTransaction = new Transaction<>(); - Block firstRelevantLine = new Block( - "^(?i)(Dividendengutschrift|Ertragsgutschrift|ERTRAGSTHESAURIERUNG)(\\s*/\\s*Neuabrechnung)?([\\s]+)?$"); + Block firstRelevantLine = new Block("^(?i)(Dividendengutschrift" // + + "|Ertragsgutschrift" // + + "|ERTRAGSTHESAURIERUNG)" // + + "( \\/ Neuabrechnung)?([\\s]+)?$"); type.addBlock(firstRelevantLine); firstRelevantLine.set(pdfTransaction);