Skip to content

Commit

Permalink
Modify Baader Bank PDF-Importer to support new transaction (#4378)
Browse files Browse the repository at this point in the history
  • Loading branch information
Nirus2000 authored Dec 2, 2024
1 parent b9083e5 commit e773fdc
Show file tree
Hide file tree
Showing 3 changed files with 147 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3631,7 +3631,7 @@ public void testDividende15()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-02-16T00:00"), hasShares(2), //
hasDate("2023-02-16T00:00"), hasShares(2.00), //
hasSource("Dividende15.txt"), //
hasNote("Transaction No.: 13241804"), //
hasAmount("EUR", 0.26), hasGrossValue("EUR", 0.43), //
Expand Down Expand Up @@ -3664,7 +3664,7 @@ public void testDividende15WithSecurityInEUR()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-02-16T00:00"), hasShares(2), //
hasDate("2023-02-16T00:00"), hasShares(2.00), //
hasSource("Dividende15.txt"), //
hasNote("Transaction No.: 13241804"), //
hasAmount("EUR", 0.26), hasGrossValue("EUR", 0.43), //
Expand Down Expand Up @@ -3702,7 +3702,7 @@ public void testDividende16()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-05-18T00:00"), hasShares(2), //
hasDate("2023-05-18T00:00"), hasShares(2.00), //
hasSource("Dividende16.txt"), //
hasNote("Transaction No.: 15390292"), //
hasAmount("EUR", 0.32), hasGrossValue("EUR", 0.44), //
Expand Down Expand Up @@ -3735,7 +3735,7 @@ public void testDividende16WithSecurityInEUR()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-05-18T00:00"), hasShares(2), //
hasDate("2023-05-18T00:00"), hasShares(2.00), //
hasSource("Dividende16.txt"), //
hasNote("Transaction No.: 15390292"), //
hasAmount("EUR", 0.32), hasGrossValue("EUR", 0.44), //
Expand Down Expand Up @@ -3773,7 +3773,7 @@ public void testDividende17()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-11-16T00:00"), hasShares(60), //
hasDate("2023-11-16T00:00"), hasShares(60.00), //
hasSource("Dividende17.txt"), //
hasNote("Vorgangs-Nr.: 20120279"), //
hasAmount("USD", 12.24), hasGrossValue("USD", 14.40), //
Expand Down Expand Up @@ -3805,7 +3805,7 @@ public void testDividende17WithSecurityInEUR()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-11-16T00:00"), hasShares(60), //
hasDate("2023-11-16T00:00"), hasShares(60.00), //
hasSource("Dividende17.txt"), //
hasNote("Vorgangs-Nr.: 20120279"), //
hasAmount("USD", 12.24), hasGrossValue("USD", 14.40), //
Expand Down Expand Up @@ -3844,7 +3844,7 @@ public void testDividende18()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-12-14T00:00"), hasShares(5), //
hasDate("2023-12-14T00:00"), hasShares(5.00), //
hasSource("Dividende18.txt"), //
hasNote("Vorgangs-Nr.: 123"), //
hasAmount("USD", 2.79), hasGrossValue("USD", 3.75), //
Expand Down Expand Up @@ -3876,7 +3876,7 @@ public void testDividende18WithSecurityInEUR()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-12-14T00:00"), hasShares(5), //
hasDate("2023-12-14T00:00"), hasShares(5.00), //
hasSource("Dividende18.txt"), //
hasNote("Vorgangs-Nr.: 123"), //
hasAmount("USD", 2.79), hasGrossValue("USD", 3.75), //
Expand Down Expand Up @@ -3915,7 +3915,7 @@ public void testDividende19()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-11-29T00:00"), hasShares(140), //
hasDate("2023-11-29T00:00"), hasShares(140.00), //
hasSource("Dividende19.txt"), //
hasNote("Vorgangs-Nr.: 20483837"), //
hasAmount("USD", 6.26), hasGrossValue("USD", 6.26), //
Expand Down Expand Up @@ -3947,7 +3947,7 @@ public void testDividende19WithSecurityInEUR()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-11-29T00:00"), hasShares(140), //
hasDate("2023-11-29T00:00"), hasShares(140.00), //
hasSource("Dividende19.txt"), //
hasNote("Vorgangs-Nr.: 20483837"), //
hasAmount("USD", 6.26), hasGrossValue("USD", 6.26), //
Expand Down Expand Up @@ -3986,7 +3986,7 @@ public void testDividende20()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-12-22T00:00"), hasShares(4), //
hasDate("2023-12-22T00:00"), hasShares(4.00), //
hasSource("Dividende20.txt"), //
hasNote("Vorgangs-Nr.: XXX"), //
hasAmount("USD", 14.89), hasGrossValue("USD", 20.00), //
Expand Down Expand Up @@ -4018,7 +4018,7 @@ public void testDividende20WithSecurityInEUR()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-12-22T00:00"), hasShares(4), //
hasDate("2023-12-22T00:00"), hasShares(4.00), //
hasSource("Dividende20.txt"), //
hasNote("Vorgangs-Nr.: XXX"), //
hasAmount("USD", 14.89), hasGrossValue("USD", 20.00), //
Expand Down Expand Up @@ -4057,7 +4057,7 @@ public void testDividende21()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-12-15T00:00"), hasShares(14), //
hasDate("2023-12-15T00:00"), hasShares(14.00), //
hasSource("Dividende21.txt"), //
hasNote("Vorgangs-Nr.: XXX"), //
hasAmount("USD", 2.66), hasGrossValue("USD", 3.58), //
Expand Down Expand Up @@ -4089,7 +4089,7 @@ public void testDividende21WithSecurityInEUR()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-12-15T00:00"), hasShares(14), //
hasDate("2023-12-15T00:00"), hasShares(14.00), //
hasSource("Dividende21.txt"), //
hasNote("Vorgangs-Nr.: XXX"), //
hasAmount("USD", 2.66), hasGrossValue("USD", 3.58), //
Expand Down Expand Up @@ -4128,7 +4128,7 @@ public void testDividende22()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2024-01-26T00:00"), hasShares(10), //
hasDate("2024-01-26T00:00"), hasShares(10.00), //
hasSource("Dividende22.txt"), //
hasNote("Vorgangs-Nr.: 25694016"), //
hasAmount("USD", 33.50), hasGrossValue("USD", 33.50), //
Expand Down Expand Up @@ -4160,7 +4160,7 @@ public void testDividende22WithSecurityInEUR()

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2024-01-26T00:00"), hasShares(10), //
hasDate("2024-01-26T00:00"), hasShares(10.00), //
hasSource("Dividende22.txt"), //
hasNote("Vorgangs-Nr.: 25694016"), //
hasAmount("USD", 33.50), hasGrossValue("USD", 33.50), //
Expand All @@ -4175,6 +4175,77 @@ public void testDividende22WithSecurityInEUR()
}))));
}

@Test
public void testDividende23()
{
BaaderBankPDFExtractor extractor = new BaaderBankPDFExtractor(new Client());

List<Exception> errors = new ArrayList<>();

List<Item> 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("US92936U1097"), hasWkn("A1J5SB"), hasTicker(null), //
hasName("W.P. Carey Inc."), //
hasCurrencyCode("USD"))));

// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-10-16T00:00"), hasShares(28.00), //
hasSource("Dividende23.txt"), //
hasNote("Vorgangs-Nr.: 22556339"), //
hasAmount("EUR", 4.88), hasGrossValue("EUR", 4.88), //
hasForexGrossValue("USD", 5.16), //
hasTaxes("EUR", 0.00), hasFees("EUR", 0.00))));
}

@Test
public void testDividende23WithSecurityInEUR()
{
Security security = new Security("W.P. Carey Inc.", CurrencyUnit.EUR);
security.setIsin("US92936U1097");
security.setWkn("A1J5SB");

Client client = new Client();
client.addSecurity(security);

BaaderBankPDFExtractor extractor = new BaaderBankPDFExtractor(client);

List<Exception> errors = new ArrayList<>();

List<Item> 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("2023-10-16T00:00"), hasShares(28.00), //
hasSource("Dividende23.txt"), //
hasNote("Vorgangs-Nr.: 22556339"), //
hasAmount("EUR", 4.88), hasGrossValue("EUR", 4.88), //
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 testDividendeStorno01()
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
PDFBox Version: 1.8.17
Portfolio Performance Version: 0.71.2
-----------------------------------------
Baader Bank AG Weihenstephaner Straße 4 85716 Unterschleißheim Gartenstraße 67
T 00800 00 586336* F +49 89 5150 2442 [email protected] 76135 Karlsruhe
www.finanzen.net/zero
+49 89 5455 8188
Seite 1/2
agPr Karlsruhe
30.11.2024
ZPJHzYF MVTxqRRJ
LXiJKoRAweyYY. 5 LSEWTzb QMSYeWPr
07254 nExNjW Stamm-Nr.: 7161213 Portfolio: 1
Depot-Nr.: 2512462291
Vorgangs-Nr.: 22556339
Referenz-Nr.: 956580844
Return of Capital
Ex-Tag: 28.09.2023
Nominale ISIN: US92936U1097 WKN: A1J5SB Ausschüttung
STK 28 W.P. Carey Inc. USD 0,1844429 p.STK
Zahlungszeitraum: 01.01.2023 - 31.12.2023
Zahltag: 16.10.2023
Umrechnungskurs: EUR/USD 1,05697
Bruttobetrag USD 5,16
Bruttobetrag EUR 4,88
Zu Gunsten Konto 3708405478 Valuta: 16.10.2023 EUR 4,88
Bitte beachten Sie Ihre eventuelle Meldepflicht nach § 67 AWV.
Einkünfte aus Kapitalvermögen im Sinne von § 20 EStG sind einkommensteuerpflichtig.
Dieses Dokument wurde maschinell erstellt und wird nicht unterschrieben.
finanzen.net zero GmbH, Gartenstraße 67, 76135 Karlsruhe • Impressum unter: www.finanzen.net/zero/impressum
finanzen.net zero GmbH erbringt Anlagevermittlung als gebundener Vermittler der DonauCapital Wertpapier GmbH

Herausgeberin und verantwortlich für den Inhalt ist die Baader Bank Aktiengesellschaft • Weihenstephaner Straße 4 • 85716 Unterschleißheim • Deutschland
Vorstand: Nico Baader (Vorsitzender), Oliver Riedel (stv. Vorsitzender) • Vorsitzender des Aufsichtsrates: Helmut Schreyer • Amtsgericht München HRB
121537 • Sitz der Gesellschaft: Unterschleißheim • StNr. 143/107/04009 • USt-IdNr. DE114123893 • LEI: 529900JFOPPEDUR61H13 • T 00800 00 586336*
[email protected] DCUP-055.048

* Kostenfreie Telefonnummer aus dem (inter-) nationalen Festnetz. Für Anrufe aus anderen Netzen können Gebühren anfallen.
Return of Capital
Fortsetzung: Seite 2/2
Darstellung der steuerlichen Berechnungsgrundlagen:
Bemessungsgrundlagen Steuerpflicht brutto Steuerpflicht netto
Ausschüttung sonstiger Fonds vor Teilfreistellung EUR 4,88 EUR 4,88
Ausschüttung sonstiger Fonds nach Teilfreistellung EUR 4,88 EUR 0,00
Bemessungsgrundlage zur Kapitalertragsteuer EUR 4,88 EUR 0,00
US Ertrag Limited Partnership / US-Quellensteuer-befreit EUR 4,88 EUR 4,88
Bitte beachten Sie Ihre eventuelle Meldepflicht nach § 67 AWV.
Einkünfte aus Kapitalvermögen im Sinne von § 20 EStG sind einkommensteuerpflichtig.
Dieses Dokument wurde maschinell erstellt und wird nicht unterschrieben.
finanzen.net zero GmbH, Gartenstraße 67, 76135 Karlsruhe • Impressum unter: www.finanzen.net/zero/impressum
finanzen.net zero GmbH erbringt Anlagevermittlung als gebundener Vermittler der DonauCapital Wertpapier GmbH

Herausgeberin und verantwortlich für den Inhalt ist die Baader Bank Aktiengesellschaft • Weihenstephaner Straße 4 • 85716 Unterschleißheim • Deutschland
Vorstand: Nico Baader (Vorsitzender), Oliver Riedel (stv. Vorsitzender) • Vorsitzender des Aufsichtsrates: Helmut Schreyer • Amtsgericht München HRB
121537 • Sitz der Gesellschaft: Unterschleißheim • StNr. 143/107/04009 • USt-IdNr. DE114123893 • LEI: 529900JFOPPEDUR61H13 • T 00800 00 586336*
[email protected] DCUP-055.048

* Kostenfreie Telefonnummer aus dem (inter-) nationalen Festnetz. Für Anrufe aus anderen Netzen können Gebühren anfallen.
Original file line number Diff line number Diff line change
Expand Up @@ -406,7 +406,8 @@ private void addDividendeTransaction()
{
final DocumentType type = new DocumentType("(Fondsaussch.ttung" //
+ "|Ertragsthesaurierung" //
+ "|Dividendenabrechnung" //
+ "|Dividendenabrechnung"
+ "|Aussch.ttung" //
+ "|Aussch.ttung aus" //
+ "|Wahldividende" //
+ "|Fund Distribution" //
Expand Down

0 comments on commit e773fdc

Please sign in to comment.