From e18fd9cc72dcfb72fe424110c9b4e351b5d829d0 Mon Sep 17 00:00:00 2001 From: Alexander Ott Date: Fri, 10 Oct 2025 14:38:30 +0200 Subject: [PATCH] Modify Sutor Bank PDF-Importer to support new transaction Closes #5067 --- .../pdf/sutorbankgmbh/Depotauszug09.txt | 98 +++ .../SutorBankGmbHPDFExtractorTest.java | 653 +++++++++--------- .../pdf/SutorBankGmbHPDFExtractor.java | 79 ++- 3 files changed, 495 insertions(+), 335 deletions(-) create mode 100644 name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sutorbankgmbh/Depotauszug09.txt diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sutorbankgmbh/Depotauszug09.txt b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sutorbankgmbh/Depotauszug09.txt new file mode 100644 index 0000000000..ff16636610 --- /dev/null +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sutorbankgmbh/Depotauszug09.txt @@ -0,0 +1,98 @@ +PDFBox Version: 3.0.5 +Portfolio Performance Version: 0.80.0 +System: win32 | x86_64 | 21.0.5+11-LTS | Azul Systems, Inc. +----------------------------------------- +Sutor Bank GmbH, Postfach 11 33 37, 20433 Hamburg Kunden-Service: Tel.: 040 - 82 22 31 63 +Fax: 040 - 80 80 13 19 +Mail: info@sutorbank.de +Service-Zeiten: Mo-Do 8.30 - 17.00 Uhr +Frau Marta Mustermann Fr 8.30 - 16.00 Uhr +Musterstr. 26 Depotnummer: 1234567890 +12345 Berlin IBAN: DE14 2023 0800 1234 5678 90 +Hamburg, im Oktober 2024 +Depotauszug + + +Sehr geehrte Frau Mustermann, + +Sie erhalten heute von uns in der Anlage die Aufstellung über die Kundenfinanzinstrumente per 30.09.2024 zu +nachfolgendem Vertrag: + +Raisin Pension Rürup Nr. 1234567890 + +Bitte prüfen Sie die Aufstellung der Umsätze sowie die Salden und Bestände. Sie gelten als von Ihnen +anerkannt, wenn Sie nicht innerhalb von sechs Wochen unsere Revisionsabteilung über etwaige +Unstimmigkeiten schriftlich benachrichtigen. Die Aufstellung wird von der Bank nicht unterschrieben, sie +erfolgt automatisch vorbehaltlich Irrtum. + +Im Rahmen unserer gesetzlichen Vorgaben weisen wir darauf hin, dass Guthaben als Einlagen nach +Maßgabe des Einlagensicherungsgesetzes entschädigungsfähig sind. Nähere Informationen entnehmen Sie +bitte dem beigefügten „Informationsbogen für den Einleger“, der auch auf www.sutorbank.de/agb als PDF +hinterlegt ist. + +Überprüfen Sie bitte, ob Ihr oben angegebener Name und Ihre Adresse vollständig, korrekt geschrieben und +aktuell sind. Änderungen Ihres Namens sowie Ihrer Wohnsitz- und Postadresse teilen Sie uns bitte kurzfristig +mit, anderenfalls gehen wir von einer Bestätigung der uns bekannten Daten aus. + +Wir freuen uns auf eine weiterhin erfolgreiche Zusammenarbeit und bedanken uns für Ihr Vertrauen. + +Mit freundlichen Grüßen +Ihre SUTOR BANK +Sutor Bank GmbH, Hermannstrasse 46, 20095 Hamburg | info@sutorbank.de | www.sutorbank.de +Geschäftsleitung: Robert Freitag, Thomas Meier | Mitglied im Einlagensicherungsfonds des Bundesverbandes deutscher Banken +USt - IdNr DE155617009 | Amtsgericht Hamburg HRB 178357 | BLZ 202 308 00, BIC MHSBDEHBXXX Seite 0 von 2 +Dies ist ein notwendiges Übel, + aber sonst klappt der Seitenumbruch nicht sauber! +Aufstellung über Kundenfinanzinstrumente per 30.09.2024 +Marta Mustermann +"Raisin Pension Rürup" Nr. 1234567890 / IBAN: DE14 2023 0800 1234 5678 90 +Investment ISIN Lagerstelle Verwahrart Anlagequote Bestand Einheit Kurs Währung Kurswert +Fonds +Dimensional European Value Fund IE00B1W6CW87 Irland Wertpapierrechnung 32,50 % 1.128,9821 Anteile 19,4400 EUR 21.947,41 EUR +x-tr. Portf.Total Ret. UCITS ETF LU0397221945 Irland Wertpapierrechnung 0,00 % 41,7150 Anteile 293,9580 EUR 12.262,46 EUR +Dimensional Europ.Small Comp. F acc IE0032769055 Irland Wertpapierrechnung 32,50 % 415,6170 Anteile 53,0700 EUR 22.056,79 EUR +Lyxor Smart Overnight Return LU2082999306 Deutschland Girosammelverwahrung 0,00 % 0,0000 Anteile 0,0000 EUR 0,00 EUR +AIS Amundi St. Europe 600 UCITS ETF LU0908500753 Deutschland Girosammelverwahrung 0,00 % 42,3428 Anteile 243,2281 EUR 10.298,96 EUR +Multi Amundi Nasdaq-100 II UCITS LU1829221024 Deutschland Girosammelverwahrung 0,00 % 193,0895 Anteile 72,5883 EUR 14.016,04 EUR +iShares Sustainable MSCI EM SRI acc IE00BYVJRP78 Irland Wertpapierrechnung 35,00 % 21,1228 Anteile 8,0123 US$* 151,16 EUR +iShares Core MSCI Emerging Markets IE00BKM4GZ66 Irland Wertpapierrechnung 0,00 % 319,8967 Anteile 37,0549 US$* 10.587,48 EUR +* Währungskurs: 1,1196 US$ +Kurswert Gesamt 91.320,30 EUR +Geldsaldo -0,01 EUR +AIS Amundi St. Europe 600 UCITS ETF +Der Name des Fonds Lyxor Core Stoxx Europe 600 acc hat sich geändert in Amundi Stoxx Europe 600 UCITS ETF. +Der Name des Fonds Amundi Stoxx Europe 600 UCITS ETF hat sich geändert in AIS Amundi Stoxx Europe 600 UCITS ETF. +Multi Amundi Nasdaq-100 II UCITS +Der Name des Fonds M.U.L.-Lyxor Nasdaq-100 UCITS hat sich geändert in Multi Amundi Nasdaq-100 II UCITS. +Erstellt im Oktober 2024 Seite 1 von 2 +Umsätze vom 01.07.2024 bis 30.09.2024 in EUR +Buchungs- Wertstellung Transaktion Umsatz / Finanz-Instrument Anteile / Gramm W-Kurs Betrag Betrag Kosten KESt KiSt +datum Handelsplatz ISIN Kurs / Preis Währung (brutto) (netto) SolZ +15.07.2024 15.07.2024 Einzahlung automatischer Lastschrifteinzug - 200,00 +- +16.07.2024 15.07.2024 Kauf Kauf iShares Sustainable MSCI EM SRI acc 10,3781 1,0907 -70,00 +13:21 Tradegate IE00BYVJRP78 7,3568 US$ +17.07.2024 15.07.2024 Kauf Kauf Dimensional Europ.Small Comp. F acc 1,2481 -65,00 +außerbörslich IE0032769055 52,0800 EUR +17.07.2024 15.07.2024 Kauf Kauf Dimensional European Value Fund 3,3960 -65,00 +außerbörslich IE00B1W6CW87 19,1400 EUR +25.07.2024 24.07.2024 Kauf Switch in x-tr. Portf.Total Ret. UCITS ETF 33,0014 -9.588,54 +10:43 Tradegate LU0397221945 290,5499 EUR +25.07.2024 24.07.2024 Verkauf Switch ex Lyxor Smart Overnight Return -93,3271 9.588,54 +11:07 Tradegate LU2082999306 102,7412 EUR +02.08.2024 29.07.2024 Kauf Switch in x-tr. Portf.Total Ret. UCITS ETF 8,7136 -2.527,87 +10:39 Tradegate LU0397221945 290,1069 EUR +02.08.2024 29.07.2024 Kauf Switch in AIS Amundi St. Europe 600 UCITS ETF 42,3428 -10.111,46 +11:00 Tradegate LU0908500753 238,8000 EUR +02.08.2024 29.07.2024 Kauf Switch in iShares Core MSCI Emerging Markets 319,8967 1,0817 -10.083,69 +11:16 Tradegate IE00BKM4GZ66 34,0970 US$ +02.08.2024 29.07.2024 Kauf Switch in Multi Amundi Nasdaq-100 II UCITS 71,0274 -5.055,73 +11:24 Tradegate LU1829221024 71,1800 EUR +02.08.2024 29.07.2024 Verkauf Switch ex iShares Sustainable MSCI EM SRI acc -4.214,6388 1,0817 27.778,74 +11:29 Tradegate IE00BYVJRP78 7,1295 US$ +15.08.2024 15.08.2024 Einzahlung automatischer Lastschrifteinzug - 200,00 +- +16.08.2024 15.08.2024 Kauf Kauf iShares Sustainable MSCI EM SRI acc 10,6968 1,1011 -70,00 +11:52 Tradegate IE00BYVJRP78 7,2056 US$ +Verwendete Abkürzungen: MK = Mischkurs KESt = Kapitalertragssteuer KiSt = Kirchensteuer Seite 2 von 2 +W-Kurs = Währungskurs SolZ = Solidaritätszuschlag \ No newline at end of file diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sutorbankgmbh/SutorBankGmbHPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sutorbankgmbh/SutorBankGmbHPDFExtractorTest.java index 38363bc773..29223bcb13 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sutorbankgmbh/SutorBankGmbHPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sutorbankgmbh/SutorBankGmbHPDFExtractorTest.java @@ -26,6 +26,7 @@ import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.taxes; import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.withFailureMessage; import static name.abuchen.portfolio.datatransfer.ExtractorTestUtilities.countAccountTransactions; +import static name.abuchen.portfolio.datatransfer.ExtractorTestUtilities.countAccountTransfers; import static name.abuchen.portfolio.datatransfer.ExtractorTestUtilities.countBuySell; import static name.abuchen.portfolio.datatransfer.ExtractorTestUtilities.countSecurities; import static org.hamcrest.CoreMatchers.hasItem; @@ -215,6 +216,7 @@ public void testWertpapierKauf04() assertThat(countSecurities(results), is(1L)); assertThat(countBuySell(results), is(1L)); assertThat(countAccountTransactions(results), is(0L)); + assertThat(countAccountTransfers(results), is(0L)); assertThat(results.size(), is(2)); new AssertImportActions().check(results, "EUR"); @@ -246,6 +248,7 @@ public void testWertpapierKauf05() assertThat(countSecurities(results), is(1L)); assertThat(countBuySell(results), is(1L)); assertThat(countAccountTransactions(results), is(0L)); + assertThat(countAccountTransfers(results), is(0L)); assertThat(results.size(), is(2)); new AssertImportActions().check(results, "EUR"); @@ -365,6 +368,7 @@ public void testWertpapierVerkauf03() assertThat(countSecurities(results), is(1L)); assertThat(countBuySell(results), is(1L)); assertThat(countAccountTransactions(results), is(0L)); + assertThat(countAccountTransfers(results), is(0L)); assertThat(results.size(), is(2)); new AssertImportActions().check(results, "EUR"); @@ -395,6 +399,7 @@ public void testWertpapierVerkauf04() assertThat(countSecurities(results), is(1L)); assertThat(countBuySell(results), is(1L)); assertThat(countAccountTransactions(results), is(0L)); + assertThat(countAccountTransfers(results), is(0L)); assertThat(results.size(), is(2)); new AssertImportActions().check(results, "EUR"); @@ -627,8 +632,8 @@ public void testDividende01() assertThat(security.getCurrencyCode(), is("EUR")); // check dividends transaction - var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance) - .findFirst().orElseThrow(IllegalArgumentException::new).getSubject(); + var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).findFirst() + .orElseThrow(IllegalArgumentException::new).getSubject(); assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); @@ -637,14 +642,10 @@ public void testDividende01() assertThat(transaction.getSource(), is("Dividende01.txt")); assertThat(transaction.getNote(), is("Vierteljährlich")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(12.15)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(14.29)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(2.14)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(12.15)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(14.29)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(2.14)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); } @Test @@ -670,8 +671,8 @@ public void testDividende02() assertThat(security.getCurrencyCode(), is("EUR")); // check dividends transaction - var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance) - .findFirst().orElseThrow(IllegalArgumentException::new).getSubject(); + var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).findFirst() + .orElseThrow(IllegalArgumentException::new).getSubject(); assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); @@ -680,14 +681,10 @@ public void testDividende02() assertThat(transaction.getSource(), is("Dividende02.txt")); assertThat(transaction.getNote(), is("Vierteljährlich")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(13.00)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(17.46)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(4.46)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(13.00)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(17.46)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(4.46)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); } @Test @@ -713,8 +710,8 @@ public void testDividende03() assertThat(security.getCurrencyCode(), is("EUR")); // check dividends transaction - var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance) - .findFirst().orElseThrow(IllegalArgumentException::new).getSubject(); + var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).findFirst() + .orElseThrow(IllegalArgumentException::new).getSubject(); assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); @@ -723,14 +720,10 @@ public void testDividende03() assertThat(transaction.getSource(), is("Dividende03.txt")); assertThat(transaction.getNote(), is("Interim")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(141.33)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(141.33)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(141.33)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(141.33)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); } @Test @@ -756,8 +749,8 @@ public void testDividende04() assertThat(security.getCurrencyCode(), is("EUR")); // check dividends transaction - var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance) - .findFirst().orElseThrow(IllegalArgumentException::new).getSubject(); + var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).findFirst() + .orElseThrow(IllegalArgumentException::new).getSubject(); assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); @@ -766,14 +759,10 @@ public void testDividende04() assertThat(transaction.getSource(), is("Dividende04.txt")); assertThat(transaction.getNote(), is("Vierteljährlich")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(15.90)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(18.71)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(2.81)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(15.90)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(18.71)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(2.81)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); } @Test @@ -799,8 +788,8 @@ public void testDividende05() assertThat(security.getCurrencyCode(), is("EUR")); // check dividends transaction - var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance) - .findFirst().orElseThrow(IllegalArgumentException::new).getSubject(); + var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).findFirst() + .orElseThrow(IllegalArgumentException::new).getSubject(); assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); @@ -809,14 +798,11 @@ public void testDividende05() assertThat(transaction.getSource(), is("Dividende05.txt")); assertThat(transaction.getNote(), is("Vierteljährlich")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(10.34)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(13.88)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(10.34)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(13.88)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(2.08 + 1.39 + 0.07)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); } @Test @@ -832,6 +818,7 @@ public void testVorabpauschale01() assertThat(countSecurities(results), is(1L)); assertThat(countBuySell(results), is(0L)); assertThat(countAccountTransactions(results), is(1L)); + assertThat(countAccountTransfers(results), is(0L)); assertThat(results.size(), is(2)); new AssertImportActions().check(results, "EUR"); @@ -863,6 +850,7 @@ public void testKapitalveraenderung01() assertThat(countSecurities(results), is(1L)); assertThat(countBuySell(results), is(0L)); assertThat(countAccountTransactions(results), is(1L)); + assertThat(countAccountTransfers(results), is(0L)); assertThat(results.size(), is(2)); new AssertImportActions().check(results, "EUR"); @@ -896,6 +884,7 @@ public void testUebernahme01() assertThat(countSecurities(results), is(1L)); assertThat(countBuySell(results), is(0L)); assertThat(countAccountTransactions(results), is(1L)); + assertThat(countAccountTransfers(results), is(0L)); assertThat(results.size(), is(2)); new AssertImportActions().check(results, "EUR"); @@ -968,8 +957,7 @@ public void testDepotauszug01() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(8.35)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(8.35)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(8.35)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1010,8 +998,7 @@ public void testDepotauszug01() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.98)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.98)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.98)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1031,8 +1018,7 @@ public void testDepotauszug01() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(4.78)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(4.78)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(4.78)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1060,8 +1046,8 @@ public void testDepotauszug01() is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 1st deposit transaction - var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance) - .findFirst().orElseThrow(IllegalArgumentException::new).getSubject(); + var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).findFirst() + .orElseThrow(IllegalArgumentException::new).getSubject(); assertThat(transaction.getType(), is(AccountTransaction.Type.DEPOSIT)); @@ -1070,14 +1056,10 @@ public void testDepotauszug01() assertThat(transaction.getSource(), is("Depotauszug01.txt")); assertThat(transaction.getNote(), is("automatischer Lastschrifteinzug")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(160.42)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(160.42)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(160.42)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(160.42)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 2nd deposit transaction transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).skip(1) @@ -1090,14 +1072,10 @@ public void testDepotauszug01() assertThat(transaction.getSource(), is("Depotauszug01.txt")); assertThat(transaction.getNote(), is("Zulage 2018")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(222.00)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(222.00)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(222.00)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(222.00)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 1st fee transaction transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).skip(2) @@ -1110,14 +1088,10 @@ public void testDepotauszug01() assertThat(transaction.getSource(), is("Depotauszug01.txt")); assertThat(transaction.getNote(), is("Verwaltungsgebühr/Vertriebskosten")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(19.83)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(19.83)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(19.83)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(19.83)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 2nd fee transaction transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).skip(3) @@ -1130,14 +1104,10 @@ public void testDepotauszug01() assertThat(transaction.getSource(), is("Depotauszug01.txt")); assertThat(transaction.getNote(), is("Verwaltgebühr/Vertriebskosten")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(2.12)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(2.12)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(2.12)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(2.12)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 3rd fee transaction transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).skip(4) @@ -1150,14 +1120,10 @@ public void testDepotauszug01() assertThat(transaction.getSource(), is("Depotauszug01.txt")); assertThat(transaction.getNote(), is("Kontoführungs-u.Depotgebühren")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(13.50)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(13.50)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(13.50)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(13.50)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); } @Test @@ -1312,8 +1278,8 @@ public void testDepotauszug02() is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 1st deposit transaction - var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance) - .findFirst().orElseThrow(IllegalArgumentException::new).getSubject(); + var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).findFirst() + .orElseThrow(IllegalArgumentException::new).getSubject(); assertThat(transaction.getType(), is(AccountTransaction.Type.DEPOSIT)); @@ -1322,14 +1288,10 @@ public void testDepotauszug02() assertThat(transaction.getSource(), is("Depotauszug02.txt")); assertThat(transaction.getNote(), is("automatischer Lastschrifteinzug")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(175.00)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(175.00)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(175.00)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(175.00)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 1st fee transaction transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).skip(1) @@ -1342,14 +1304,10 @@ public void testDepotauszug02() assertThat(transaction.getSource(), is("Depotauszug02.txt")); assertThat(transaction.getNote(), is("Kontoführungs-u.Depotgebühren")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(18.00)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(18.00)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(18.00)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(18.00)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 2nd fee transaction transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).skip(2) @@ -1362,14 +1320,10 @@ public void testDepotauszug02() assertThat(transaction.getSource(), is("Depotauszug02.txt")); assertThat(transaction.getNote(), is("Verwaltgebühr/Vertriebskosten")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(0.92)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.92)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.92)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.92)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); } @Test @@ -1440,8 +1394,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(5.83)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(5.83)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(5.83)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1461,8 +1414,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.14)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.14)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.14)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1482,8 +1434,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.03)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.03)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.03)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1503,8 +1454,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(1.01)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(1.01)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(1.01)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1524,8 +1474,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(3.92)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(3.92)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(3.92)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1545,8 +1494,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(4.82)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(4.82)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(4.82)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1566,8 +1514,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.19)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.19)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.19)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1587,8 +1534,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(4.29)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(4.29)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(4.29)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1629,8 +1575,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(2.84)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(2.84)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(2.84)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1650,8 +1595,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.31)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.31)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.31)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1671,8 +1615,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(3.09)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(3.09)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(3.09)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1734,8 +1677,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(4.58)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(4.58)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(4.58)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1755,8 +1697,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(1.22)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(1.22)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(1.22)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1776,8 +1717,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(5.61)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(5.61)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(5.61)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1839,8 +1779,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(1.41)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(1.41)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(1.41)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1860,8 +1799,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.20)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.20)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.20)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1881,8 +1819,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(3.02)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(3.02)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(3.02)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1944,8 +1881,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.01)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.01)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.01)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1965,8 +1901,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.06)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.06)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.06)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -1986,8 +1921,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.27)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.27)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.27)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2028,8 +1962,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.22)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.22)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.22)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2049,8 +1982,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.06)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.06)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.06)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2070,8 +2002,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.55)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.55)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.55)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2112,8 +2043,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.24)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.24)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.24)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2133,8 +2063,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.07)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.07)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.07)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2154,8 +2083,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.02)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.02)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.02)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2196,8 +2124,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.57)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.57)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.57)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2217,8 +2144,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.23)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.23)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.23)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2238,8 +2164,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(1.26)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(1.26)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(1.26)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2280,8 +2205,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.04)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.04)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.04)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2301,8 +2225,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.47)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.47)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.47)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2322,8 +2245,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(1.81)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(1.81)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(1.81)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2364,8 +2286,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.96)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.96)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.96)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2385,8 +2306,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(2.74)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(2.74)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(2.74)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2406,8 +2326,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(6.62)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(6.62)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(6.62)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2427,8 +2346,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.91)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.91)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.91)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2448,8 +2366,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.07)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.07)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.07)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2469,8 +2386,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.78)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.78)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.78)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2490,8 +2406,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(1.37)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(1.37)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(1.37)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2511,8 +2426,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.01)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.01)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.01)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2532,8 +2446,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(3.99)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(3.99)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(3.99)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2574,8 +2487,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.16)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.16)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.16)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2616,8 +2528,7 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.31)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.31)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.31)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2637,16 +2548,15 @@ public void testDepotauszug03() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(0.40)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(0.40)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(0.40)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 1st deposit transaction - var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance) - .findFirst().orElseThrow(IllegalArgumentException::new).getSubject(); + var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).findFirst() + .orElseThrow(IllegalArgumentException::new).getSubject(); assertThat(transaction.getType(), is(AccountTransaction.Type.DEPOSIT)); @@ -2655,14 +2565,10 @@ public void testDepotauszug03() assertThat(transaction.getSource(), is("Depotauszug03.txt")); assertThat(transaction.getNote(), is("automatischer Lastschrifteinzug")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(5.00)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(5.00)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(5.00)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(5.00)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 2nd deposit transaction transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).skip(1) @@ -2675,14 +2581,10 @@ public void testDepotauszug03() assertThat(transaction.getSource(), is("Depotauszug03.txt")); assertThat(transaction.getNote(), is("automatischer Lastschrifteinzug")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(5.00)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(5.00)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(5.00)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(5.00)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 3rd deposit transaction transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).skip(2) @@ -2695,14 +2597,10 @@ public void testDepotauszug03() assertThat(transaction.getSource(), is("Depotauszug03.txt")); assertThat(transaction.getNote(), is("automatischer Lastschrifteinzug")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(5.00)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(5.00)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(5.00)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(5.00)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 1th fee transaction transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).skip(3) @@ -2715,14 +2613,10 @@ public void testDepotauszug03() assertThat(transaction.getSource(), is("Depotauszug03.txt")); assertThat(transaction.getNote(), is("Verwaltungsgebühr/Vertriebskosten")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(34.57)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(34.57)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(34.57)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(34.57)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 1st fee refund (Storno) transaction transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).skip(4) @@ -2735,14 +2629,10 @@ public void testDepotauszug03() assertThat(transaction.getSource(), is("Depotauszug03.txt")); assertThat(transaction.getNote(), is("Storno Verwaltungsgebühr/Vertriebskosten vom 04.11.2020")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(34.57)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(34.57)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(34.57)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(34.57)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 2nd fee transaction transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).skip(5) @@ -2755,14 +2645,10 @@ public void testDepotauszug03() assertThat(transaction.getSource(), is("Depotauszug03.txt")); assertThat(transaction.getNote(), is("Verwaltungsgebühr/Vertriebskosten")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(34.39)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(34.39)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(34.39)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(34.39)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 3nd fee transaction transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).skip(6) @@ -2775,14 +2661,10 @@ public void testDepotauszug03() assertThat(transaction.getSource(), is("Depotauszug03.txt")); assertThat(transaction.getNote(), is("Kontoführungs-u.Depotgebühren")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(18.00)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(18.00)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(18.00)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(18.00)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); } @Test @@ -2900,8 +2782,7 @@ public void testDepotauszug04() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(5.54)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(5.54)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(5.54)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -2984,8 +2865,7 @@ public void testDepotauszug04() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(7.48)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(7.48)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(7.48)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -3076,8 +2956,8 @@ public void testDepotauszug04() is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 1st deposit transaction - var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance) - .findFirst().orElseThrow(IllegalArgumentException::new).getSubject(); + var transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).findFirst() + .orElseThrow(IllegalArgumentException::new).getSubject(); assertThat(transaction.getType(), is(AccountTransaction.Type.DEPOSIT)); @@ -3086,14 +2966,10 @@ public void testDepotauszug04() assertThat(transaction.getSource(), is("Depotauszug04.txt")); assertThat(transaction.getNote(), is("automatischer Lastschrifteinzug")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(260.00)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(260.00)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(260.00)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(260.00)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 1th fee transaction transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).skip(1) @@ -3106,14 +2982,10 @@ public void testDepotauszug04() assertThat(transaction.getSource(), is("Depotauszug04.txt")); assertThat(transaction.getNote(), is("Depot- u. Verwaltgebühr")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(6.55)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(6.55)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(6.55)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(6.55)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 2nd fee transaction transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).skip(2) @@ -3126,14 +2998,10 @@ public void testDepotauszug04() assertThat(transaction.getSource(), is("Depotauszug04.txt")); assertThat(transaction.getNote(), is("Kontoführungsgebühr")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(15.00)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(15.00)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(15.00)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(15.00)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check 3rd fee transaction transaction = (AccountTransaction) results.stream().filter(TransactionItem.class::isInstance).skip(3) @@ -3146,14 +3014,10 @@ public void testDepotauszug04() assertThat(transaction.getSource(), is("Depotauszug04.txt")); assertThat(transaction.getNote(), is("Umbuchung Geld")); - assertThat(transaction.getMonetaryAmount(), - is(Money.of("EUR", Values.Amount.factorize(23.77)))); - assertThat(transaction.getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(23.77)))); - assertThat(transaction.getUnitSum(Unit.Type.TAX), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); - assertThat(transaction.getUnitSum(Unit.Type.FEE), - is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(23.77)))); + assertThat(transaction.getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(23.77)))); + assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); + assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.00)))); // check unsupported transaction assertThat(results, hasItem(withFailureMessage( // @@ -3238,12 +3102,16 @@ public void testDepotauszug05() .filter(BuySellEntryItem.class::isInstance) // .findFirst().orElseThrow(IllegalArgumentException::new); - assertThat(((BuySellEntry) cancellation.getSubject()).getPortfolioTransaction().getType(), is(PortfolioTransaction.Type.BUY)); - assertThat(((BuySellEntry) cancellation.getSubject()).getAccountTransaction().getType(), is(AccountTransaction.Type.BUY)); + assertThat(((BuySellEntry) cancellation.getSubject()).getPortfolioTransaction().getType(), + is(PortfolioTransaction.Type.BUY)); + assertThat(((BuySellEntry) cancellation.getSubject()).getAccountTransaction().getType(), + is(AccountTransaction.Type.BUY)); assertThat(cancellation.getFailureMessage(), is(Messages.MsgErrorOrderCancellationUnsupported)); - assertThat(((BuySellEntry) cancellation.getSubject()).getPortfolioTransaction().getDateTime(), is(LocalDateTime.parse("2020-06-22T13:31"))); - assertThat(((BuySellEntry) cancellation.getSubject()).getPortfolioTransaction().getShares(), is(Values.Share.factorize(3.9988))); + assertThat(((BuySellEntry) cancellation.getSubject()).getPortfolioTransaction().getDateTime(), + is(LocalDateTime.parse("2020-06-22T13:31"))); + assertThat(((BuySellEntry) cancellation.getSubject()).getPortfolioTransaction().getShares(), + is(Values.Share.factorize(3.9988))); assertThat(((BuySellEntry) cancellation.getSubject()).getSource(), is("Depotauszug05.txt")); assertNull(((BuySellEntry) cancellation.getSubject()).getNote()); @@ -3900,8 +3768,7 @@ public void testDepotauszug05() assertThat(entry.getPortfolioTransaction().getMonetaryAmount(), is(Money.of("EUR", Values.Amount.factorize(5.13)))); - assertThat(entry.getPortfolioTransaction().getGrossValue(), - is(Money.of("EUR", Values.Amount.factorize(5.13)))); + assertThat(entry.getPortfolioTransaction().getGrossValue(), is(Money.of("EUR", Values.Amount.factorize(5.13)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(0.00)))); assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), @@ -4320,6 +4187,7 @@ public void testDepotauszug06() assertThat(countSecurities(results), is(8L)); assertThat(countBuySell(results), is(31L)); assertThat(countAccountTransactions(results), is(16L)); + assertThat(countAccountTransfers(results), is(0L)); assertThat(results.size(), is(55)); new AssertImportActions().check(results, "EUR"); @@ -4690,6 +4558,7 @@ public void testDepotauszug07() assertThat(countSecurities(results), is(1L)); assertThat(countBuySell(results), is(0L)); assertThat(countAccountTransactions(results), is(4L)); + assertThat(countAccountTransfers(results), is(0L)); assertThat(results.size(), is(5)); new AssertImportActions().check(results, "EUR"); @@ -4733,6 +4602,8 @@ public void testDepotauszug08() assertThat(countSecurities(results), is(1L)); assertThat(countBuySell(results), is(1L)); assertThat(countAccountTransactions(results), is(0L)); + assertThat(countAccountTransfers(results), is(0L)); + assertThat(countAccountTransfers(results), is(0L)); assertThat(results.size(), is(2)); new AssertImportActions().check(results, "EUR"); @@ -4751,6 +4622,162 @@ public void testDepotauszug08() hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))); } + @Test + public void testDepotauszug09() + { + var extractor = new SutorBankGmbHPDFExtractor(new Client()); + + List errors = new ArrayList<>(); + + var results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Depotauszug09.txt"), errors); + + assertThat(errors, empty()); + assertThat(countSecurities(results), is(8L)); + assertThat(countBuySell(results), is(11L)); + assertThat(countAccountTransactions(results), is(2L)); + assertThat(countAccountTransfers(results), is(0L)); + assertThat(countAccountTransfers(results), is(0L)); + assertThat(results.size(), is(21)); + new AssertImportActions().check(results, "EUR"); + + // check security + assertThat(results, hasItem(security( // + hasIsin("IE00B1W6CW87"), hasWkn(null), hasTicker(null), // + hasName("Dimensional European Value Fund"), // + hasCurrencyCode("EUR")))); + + assertThat(results, hasItem(security( // + hasIsin("IE0032769055"), hasWkn(null), hasTicker(null), // + hasName("Dimensional Europ.Small Comp. F acc"), // + hasCurrencyCode("EUR")))); + + assertThat(results, hasItem(security( // + hasIsin("IE00BYVJRP78"), hasWkn(null), hasTicker(null), // + hasName("iShares Sustainable MSCI EM SRI acc"), // + hasCurrencyCode("EUR")))); + + assertThat(results, hasItem(security( // + hasIsin("LU0397221945"), hasWkn(null), hasTicker(null), // + hasName("x-tr. Portf.Total Ret. UCITS ETF"), // + hasCurrencyCode("EUR")))); + + assertThat(results, hasItem(security( // + hasIsin("LU2082999306"), hasWkn(null), hasTicker(null), // + hasName("Lyxor Smart Overnight Return"), // + hasCurrencyCode("EUR")))); + + assertThat(results, hasItem(security( // + hasIsin("LU0908500753"), hasWkn(null), hasTicker(null), // + hasName("AIS Amundi St. Europe 600 UCITS ETF"), // + hasCurrencyCode("EUR")))); + + assertThat(results, hasItem(security( // + hasIsin("LU1829221024"), hasWkn(null), hasTicker(null), // + hasName("Multi Amundi Nasdaq-100 II UCITS"), // + hasCurrencyCode("EUR")))); + + assertThat(results, hasItem(security( // + hasIsin("IE00BKM4GZ66"), hasWkn(null), hasTicker(null), // + hasName("iShares Core MSCI Emerging Markets"), // + hasCurrencyCode("EUR")))); + + // assert transaction + assertThat(results, hasItem(deposit(hasDate("2024-07-15"), hasAmount("EUR", 200.00), // + hasSource("Depotauszug09.txt"), hasNote("automatischer Lastschrifteinzug")))); + + // check buy sell transactions + assertThat(results, hasItem(purchase( // + hasDate("2024-07-15T13:21"), hasShares(10.3781), // + hasSource("Depotauszug09.txt"), // + hasNote(null), // + hasAmount("EUR", 70.00), hasGrossValue("EUR", 70.00), // + hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))); + + // check buy sell transactions + assertThat(results, hasItem(purchase( // + hasDate("2024-07-15T00:00"), hasShares(1.2481), // + hasSource("Depotauszug09.txt"), // + hasNote(null), // + hasAmount("EUR", 65.00), hasGrossValue("EUR", 65.00), // + hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))); + + // check buy sell transactions + assertThat(results, hasItem(purchase( // + hasDate("2024-07-15T00:00"), hasShares(3.3960), // + hasSource("Depotauszug09.txt"), // + hasNote(null), // + hasAmount("EUR", 65.00), hasGrossValue("EUR", 65.00), // + hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))); + + // check buy sell transactions + assertThat(results, hasItem(purchase( // + hasDate("2024-07-24T10:43"), hasShares(33.0014), // + hasSource("Depotauszug09.txt"), // + hasNote(null), // + hasAmount("EUR", 9588.54), hasGrossValue("EUR", 9588.54), // + hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))); + + // check buy sell transactions + assertThat(results, hasItem(sale( // + hasDate("2024-07-24T11:07"), hasShares(93.3271), // + hasSource("Depotauszug09.txt"), // + hasNote(null), // + hasAmount("EUR", 9588.54), hasGrossValue("EUR", 9588.54), // + hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))); + + // check buy sell transactions + assertThat(results, hasItem(purchase( // + hasDate("2024-07-29T10:39"), hasShares(8.7136), // + hasSource("Depotauszug09.txt"), // + hasNote(null), // + hasAmount("EUR", 2527.87), hasGrossValue("EUR", 2527.87), // + hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))); + + // check buy sell transactions + assertThat(results, hasItem(purchase( // + hasDate("2024-07-29T11:00"), hasShares(42.3428), // + hasSource("Depotauszug09.txt"), // + hasNote(null), // + hasAmount("EUR", 10111.46), hasGrossValue("EUR", 10111.46), // + hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))); + + // check buy sell transactions + assertThat(results, hasItem(purchase( // + hasDate("2024-07-29T11:16"), hasShares(319.8967), // + hasSource("Depotauszug09.txt"), // + hasNote(null), // + hasAmount("EUR", 10083.69), hasGrossValue("EUR", 10083.69), // + hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))); + + // check buy sell transactions + assertThat(results, hasItem(purchase( // + hasDate("2024-07-29T11:24"), hasShares(71.0274), // + hasSource("Depotauszug09.txt"), // + hasNote(null), // + hasAmount("EUR", 5055.73), hasGrossValue("EUR", 5055.73), // + hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))); + + // check buy sell transactions + assertThat(results, hasItem(sale( // + hasDate("2024-07-29T11:29"), hasShares(4214.6388), // + hasSource("Depotauszug09.txt"), // + hasNote(null), // + hasAmount("EUR", 27778.74), hasGrossValue("EUR", 27778.74), // + hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))); + + // assert transaction + assertThat(results, hasItem(deposit(hasDate("2024-08-15"), hasAmount("EUR", 200.00), // + hasSource("Depotauszug09.txt"), hasNote("automatischer Lastschrifteinzug")))); + + // check buy sell transactions + assertThat(results, hasItem(purchase( // + hasDate("2024-08-15T11:52"), hasShares(10.6968), // + hasSource("Depotauszug09.txt"), // + hasNote(null), // + hasAmount("EUR", 70.00), hasGrossValue("EUR", 70.00), // + hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))); + } + @Test public void testCryptoKauf01() { @@ -4762,6 +4789,7 @@ public void testCryptoKauf01() assertThat(countSecurities(results), is(1L)); assertThat(countBuySell(results), is(1L)); assertThat(countAccountTransactions(results), is(0L)); + assertThat(countAccountTransfers(results), is(0L)); assertThat(results.size(), is(2)); new AssertImportActions().check(results, "EUR"); @@ -4792,6 +4820,7 @@ public void testCryptoVerkauf01() assertThat(countSecurities(results), is(1L)); assertThat(countBuySell(results), is(1L)); assertThat(countAccountTransactions(results), is(0L)); + assertThat(countAccountTransfers(results), is(0L)); assertThat(results.size(), is(2)); new AssertImportActions().check(results, "EUR"); diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SutorBankGmbHPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SutorBankGmbHPDFExtractor.java index b4bfb3eab9..35c63bbfe5 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SutorBankGmbHPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SutorBankGmbHPDFExtractor.java @@ -13,7 +13,6 @@ import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.PortfolioTransaction; -import name.abuchen.portfolio.money.CurrencyUnit; import name.abuchen.portfolio.money.Money; /** @@ -35,6 +34,7 @@ public SutorBankGmbHPDFExtractor(Client client) addBankIdentifier("justTRADE"); addBankIdentifier("Sutor"); addBankIdentifier("SUTOR BANK"); + addBankIdentifier("Sutor Bank GmbH"); addBuySellTransaction(); addBuySellCryptoTransaction(); @@ -497,7 +497,7 @@ private void addAccountStatementTransaction() t.setDate(asDate(v.get("date"), v.get("time"))); t.setShares(asShares(v.get("shares"))); - t.setCurrencyCode(CurrencyUnit.EUR); + t.setCurrencyCode("EUR"); t.setAmount(asAmount(v.get("amount"))); v.getTransactionContext().put(FAILURE, Messages.MsgErrorOrderCancellationUnsupported); @@ -529,7 +529,7 @@ private void addAccountStatementTransaction() t.setDate(asDate(v.get("date"), v.get("time"))); t.setShares(asShares(v.get("shares"))); - t.setCurrencyCode(CurrencyUnit.EUR); + t.setCurrencyCode("EUR"); t.setAmount(asAmount(v.get("amount"))); var tax1 = Money.of(t.getPortfolioTransaction().getCurrencyCode(), asAmount(v.get("tax1"))); @@ -562,18 +562,51 @@ private void addAccountStatementTransaction() t.setDate(asDate(v.get("date"), v.get("time"))); t.setShares(asShares(v.get("shares"))); - t.setCurrencyCode(CurrencyUnit.EUR); + t.setCurrencyCode("EUR"); + t.setAmount(asAmount(v.get("amount"))); + }), + // @formatter:off + // 02.08.2024 29.07.2024 Kauf Switch in iShares Core MSCI Emerging Markets 319,8967 1,0817 -10.083,69 + // 11:16 Tradegate IE00BKM4GZ66 34,0970 US$ + // @formatter:on + section -> section // + .attributes("date", "amount", "name", "shares", "time", "isin") // + .match("^[\\d]{2}\\.[\\d]{2}\\.[\\d]{4} " // + + "(?[\\d]{2}\\.[\\d]{2}\\.[\\d]{4}) " // + + "(Kauf Kauf|Verkauf Verkauf|Kauf Switch|Verkauf Switch)( (in|ex))? " // + + "(?.*) " // + + "(\\-)?(?[\\.,\\d]+) " // + + "[\\.,\\d]+ " // + + "(\\-)?(?[\\.,\\d]+)$") // + .match("^(?