Skip to content

Commit

Permalink
Modify Trade Republic PDF-Importer to support new transaction (#4349)
Browse files Browse the repository at this point in the history
  • Loading branch information
Nirus2000 authored Nov 17, 2024
1 parent 7b695d9 commit 3a23023
Show file tree
Hide file tree
Showing 4 changed files with 383 additions and 143 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
PDFBox Version: 1.8.17
Portfolio Performance Version: 0.71.2
-----------------------------------------
qiPFhWG pNGFRJj dT. HplAUHLx DATUM 01 Apr. 2024 - 30 Sept. 2024
drYNNjxTbKv 27, 28452 IBAN DE63100100000000090201
KOTzsPHXW XHCFRjk, DE BIC TRBKDEBBXXX
KONTOÜBERSICHT
PRODUKT ANFANGSSALDO ZAHLUNGSEINGANG ZAHLUNGSAUSGANG ENDSALDO
Depotkonto 46.352,66 € 81.061,48 € 80.504,15 € 46.909,99 €
UMSATZÜBERSICHT
DATUM TYP BESCHREIBUNG ZAHLUNGSEINGANG ZAHLUNGSAUSGANG SALDO
01 Apr. 2024 Zinszahlung Your interest payment 114,96 € 46.467,62 €
16 Apr. 2024 Gebühren Trade Republic Card 5,00 € 46.462,62 €
23 Apr. 2024 Kartentransaktion ALDI SAGT DANKE 37,82 € 46.424,80 €
01 Mai 2024 Zinszahlung Your interest payment 111,50 € 46.536,30 €
01 Juni 2024 Zinszahlung Your interest payment 115,41 € 46.651,71 €
14 Juni 2024 Überweisung Incoming transfer from ELGcUHm aGUVVCu Ts. zVweVvRT 250,00 € 46.901,71 €
15 Juni 2024 Kartentransaktion Sebert's Hausschlachtewar 32,52 € 46.869,19 €
15 Juni 2024 Kartentransaktion APOTHEKE DR ANSCHUETZ 10,00 € 46.859,19 €
29 Juni 2024 Kartentransaktion REWE Riethmueller oHG 108,05 € 46.751,14 €
01 Juli 2024 Zinszahlung Your interest payment 107,80 € 46.858,94 €
05 Juli 2024 Kartentransaktion SB-TANK 9868 89,43 € 46.769,51 €
14 Juli 2024 Überweisung Outgoing transfer for BvNENli XcObMce Jv. lIzWULKt 12,34 € 46.757,17 €
15 Juli 2024 Kartentransaktion APOTHEKE DR ANSCHUETZ 12,50 € 46.744,67 €
22 Juli 2024 Überweisung Incoming transfer from KySavdk xMfQpFe zn. iSrubVAU 80.000,00 € 126.744,67 €
24 Juli 2024 Kartentransaktion Neckarbruecke 10,70 € 126.733,97 €
01 Aug. 2024 Zinszahlung Your interest payment 168,75 € 126.902,72 €
09 Aug. 2024 Kartentransaktion APOTHEKE DR ANSCHUETZ 5,63 € 126.897,09 €
13 Aug. 2024 Überweisung Outgoing transfer for rCyGuWY fhxOEBW gA. HBFOfBLD 12,34 € 126.884,75 €
14 Aug. 2024 Überweisung Outgoing transfer for AmaJIZH jLWGtPe Kb. WGfgHavT 80.000,00 € 46.884,75 €
01 Sept. 2024 Zinszahlung Your interest payment 193,06 € 47.077,81 €
02 Sept. 2024 Kartentransaktion APOTHEKE DR ANSCHUETZ 7,50 € 47.070,31 €
Seite 1 von 3
Erstellt am 21 Okt. 2024
Trade Republic Bank GmbH
DATUM TYP BESCHREIBUNG ZAHLUNGSEINGANG ZAHLUNGSAUSGANG SALDO
21 Sept. 2024 Kartentransaktion Frankfurt (Main) Hbf 7,10 € 47.063,21 €
25 Sept. 2024 Kartentransaktion REWE Riethmueller oHG 148,22 € 46.914,99 €
26 Sept. 2024 Kartentransaktion APOTHEKE DR ANSCHUETZ 5,00 € 46.909,99 €
Seite 2 von 3
Erstellt am 21 Okt. 2024
Trade Republic Bank GmbH
HAFTUNGSAUSSCHLUSS
Sehr geehrte Kundin, sehr geehrter Kunde
Bitte überprüfe unbedingt deine Buchungen, Berechnungen und den Schlusssaldo auf dem Kontoauszug, der gleichzeitig deinen Rechnungsabschluss
darstellt. Der Rechnungsabschluss gilt als anerkannt, wenn du innerhalb von sechs Wochen nach Zugang keine Einwendungen erhebst. Einwendungen
gegen Kontoauszüge sind schriftlich an uns zu richten. Guthaben sind einlagefähig im Sinne des Einlagensicherungsgesetzes (EinSiG). Weitere
Informationen entnehme bitte dem Merkblatt für den Einleger, das zusammen mit unseren Allgemeinen Geschäftsbedingungen eingesehen werden kann.
Trade Republic Bank GmbH Kontakt Sitz der Gesellschaft: Berlin
Brunnenstraße 19-21 www.traderepublic.com AG Charlottenburg HRB 244347 B
10119 Berlin service@traderepublic.com Umsatzsteuer-ID DE307510626
Seite 3 von 3
Erstellt am 21 Okt. 2024
Trade Republic Bank GmbH
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
PDFBox Version: 1.8.17
Portfolio Performance Version: 0.71.2
-----------------------------------------
Me DATUM 01 März 2020 - 07 Nov. 2024
, 60385 IBAN DE92
Frankfurt am Main
KONTOÜBERSICHT
PRODUKT ANFANGSSALDO ZAHLUNGSEINGANG ZAHLUNGSAUSGANG ENDSALDO
Depotkonto 0,00 € 1.321.022,68 € 1.320.999,43 € 23,25 €
UMSATZÜBERSICHT
DATUM TYP BESCHREIBUNG ZAHLUNGSEINGANG ZAHLUNGSAUSGANG SALDO
30 März
2020 Überweisung Accepted PayIn:DE74500400480142038900 to DE30110101008889827581 4.000,00 € 4.000,00 €
31 März Handel Ausführung Handel Direktkauf Kauf DE000TT08LQ1 HSBC T+B X-TUP DAX 2020 2124467520200331 181,90 € 3.818,10 €
31 März Handel Ausführung Handel Direktkauf Kauf DE000TT1RHZ9 HSBC T+B TURBOP DJIA 2020 1785274420200331 194,20 € 3.623,90 €
31 März Handel Ausführung Handel Direktverkauf Verkauf DE000TT08LQ1 HSBC T+B X-TUP 2020 DAX 9510529720200331 198,54 € 3.822,44 €
31 März Handel Ausführung Handel Direktverkauf Verkauf DE000TT1RHZ9 HSBC T+B TURBOP 2020 DJIA 3185813520200331 213,16 € 4.035,60 €
01 Apr. Handel Ausführung Handel Direktkauf Kauf DE000TT1QLA6 HSBC T+B TURBOP DAX 2020 2358417820200401 402,20 € 3.633,40 €
01 Apr. Handel Ausführung Handel Direktkauf Kauf DE000TT1QLA6 HSBC T+B TURBOP DAX 2020 2061560820200401 346,60 € 3.286,80 €
01 Apr. Handel Ausführung Handel Direktkauf Kauf DE000TT1QLA6 HSBC T+B TURBOP DAX 2020 7898253320200401 274,50 € 3.012,30 €
01 Apr. Handel Ausführung Handel Direktverkauf Verkauf DE000TT1QLA6 HSBC T+B TURBOP 2020 DAX 6002040420200401 1.085,62 € 4.097,92 €
01 Apr. Handel Ausführung Handel Direktkauf Kauf DE000TT1QG73 HSBC T+B TURBOP DAX 2020 9906151020200401 550,00 € 3.547,92 €
Erstellt am 21 Nov. 2024
Trade Republic Bank GmbH
HAFTUNGSAUSSCHLUSS
Sehr geehrte Kundin, sehr geehrter Kunde
Bitte überprüfe unbedingt deine Buchungen, Berechnungen und den Schlusssaldo auf dem Kontoauszug, der gleichzeitig deinen Rechnungsabschluss
darstellt. Der Rechnungsabschluss gilt als anerkannt, wenn du innerhalb von sechs Wochen nach Zugang keine Einwendungen erhebst. Einwendungen
gegen Kontoauszüge sind schriftlich an uns zu richten. Guthaben sind einlagefähig im Sinne des Einlagensicherungsgesetzes (EinSiG). Weitere
Informationen entnehme bitte dem Merkblatt für den Einleger, das zusammen mit unseren Allgemeinen Geschäftsbedingungen eingesehen werden kann.
Trade Republic Bank GmbH Kontakt Sitz der Gesellschaft: Berlin
Brunnenstraße 19-21 www.traderepublic.com AG Charlottenburg HRB 244347 B
10119 Berlin service@traderepublic.com Umsatzsteuer-ID DE307510626
Trade Republic Bank GmbH
Original file line number Diff line number Diff line change
Expand Up @@ -1427,7 +1427,7 @@ public void testKontoauszug06()

// assert transaction
assertThat(results, hasItem(fee(hasDate("2024-04-03"), hasAmount("EUR", 5.00), //
hasSource("Kontoauszug06.txt"), hasNote(null))));
hasSource("Kontoauszug06.txt"), hasNote("Trade Republic Card"))));

// assert transaction
assertThat(results, hasItem(deposit(hasDate("2024-04-04"), hasAmount("EUR", 1200.00), //
Expand Down Expand Up @@ -2264,6 +2264,140 @@ public void testKontoauszug20()
hasSource("Kontoauszug20.txt"), hasNote("Hornbach Baumarkt AG FIL."))));
}

@Test
public void testKontoauszug21()
{
TradeRepublicPDFExtractor extractor = new TradeRepublicPDFExtractor(new Client());

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

List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kontoauszug21.txt"), errors);

assertThat(errors, empty());
assertThat(countSecurities(results), is(0L));
assertThat(countBuySell(results), is(0L));
assertThat(countAccountTransactions(results), is(24L));
assertThat(results.size(), is(24));
new AssertImportActions().check(results, CurrencyUnit.EUR);

// assert transaction
assertThat(results, hasItem(interest(hasDate("2024-04-01"), hasAmount("EUR", 114.96), //
hasSource("Kontoauszug21.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(fee(hasDate("2024-04-16"), hasAmount("EUR", 5.00),
hasSource("Kontoauszug21.txt"), hasNote("Trade Republic Card"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-04-23"), hasAmount("EUR", 37.82),
hasSource("Kontoauszug21.txt"), hasNote("ALDI SAGT DANKE"))));

// assert transaction
assertThat(results, hasItem(interest(hasDate("2024-05-01"), hasAmount("EUR", 111.50), //
hasSource("Kontoauszug21.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(interest(hasDate("2024-06-01"), hasAmount("EUR", 115.41), //
hasSource("Kontoauszug21.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(deposit(hasDate("2024-06-14"), hasAmount("EUR", 250.00),
hasSource("Kontoauszug21.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-06-15"), hasAmount("EUR", 32.52),
hasSource("Kontoauszug21.txt"), hasNote("Sebert's Hausschlachtewar"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-06-15"), hasAmount("EUR", 10.00),
hasSource("Kontoauszug21.txt"), hasNote("APOTHEKE DR ANSCHUETZ"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-06-29"), hasAmount("EUR", 108.05),
hasSource("Kontoauszug21.txt"), hasNote("REWE Riethmueller oHG"))));

// assert transaction
assertThat(results, hasItem(interest(hasDate("2024-07-01"), hasAmount("EUR", 107.80), //
hasSource("Kontoauszug21.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-07-05"), hasAmount("EUR", 89.43),
hasSource("Kontoauszug21.txt"), hasNote("SB-TANK 9868"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-07-14"), hasAmount("EUR", 12.34),
hasSource("Kontoauszug21.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-07-15"), hasAmount("EUR", 12.50),
hasSource("Kontoauszug21.txt"), hasNote("APOTHEKE DR ANSCHUETZ"))));

// assert transaction
assertThat(results, hasItem(deposit(hasDate("2024-07-22"), hasAmount("EUR", 80000.00),
hasSource("Kontoauszug21.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-07-24"), hasAmount("EUR", 10.70),
hasSource("Kontoauszug21.txt"), hasNote("Neckarbruecke"))));

// assert transaction
assertThat(results, hasItem(interest(hasDate("2024-08-01"), hasAmount("EUR", 168.75),
hasSource("Kontoauszug21.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-08-09"), hasAmount("EUR", 5.63),
hasSource("Kontoauszug21.txt"), hasNote("APOTHEKE DR ANSCHUETZ"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-08-13"), hasAmount("EUR", 12.34),
hasSource("Kontoauszug21.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-08-14"), hasAmount("EUR", 80000.00),
hasSource("Kontoauszug21.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(interest(hasDate("2024-09-01"), hasAmount("EUR", 193.06),
hasSource("Kontoauszug21.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-09-02"), hasAmount("EUR", 7.50),
hasSource("Kontoauszug21.txt"), hasNote("APOTHEKE DR ANSCHUETZ"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-09-21"), hasAmount("EUR", 7.10),
hasSource("Kontoauszug21.txt"), hasNote("Frankfurt (Main) Hbf"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-09-25"), hasAmount("EUR", 148.22),
hasSource("Kontoauszug21.txt"), hasNote("REWE Riethmueller oHG"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-09-26"), hasAmount("EUR", 5.00),
hasSource("Kontoauszug21.txt"), hasNote("APOTHEKE DR ANSCHUETZ"))));
}

@Test
public void testKontoauszug22()
{
TradeRepublicPDFExtractor extractor = new TradeRepublicPDFExtractor(new Client());

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

List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kontoauszug22.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);

// assert transaction
assertThat(results, hasItem(deposit(hasDate("2020-03-30"), hasAmount("EUR", 4000.00),
hasSource("Kontoauszug22.txt"), hasNote(null))));
}

@Test
public void testReleveDeCompte01()
{
Expand Down Expand Up @@ -2901,7 +3035,7 @@ public void testTransaccionesDeCuenta02()

// assert transaction
assertThat(results, hasItem(fee(hasDate("2024-04-03"), hasAmount("EUR", 5.00), //
hasSource("TransaccionesDeCuenta02.txt"), hasNote(null))));
hasSource("TransaccionesDeCuenta02.txt"), hasNote("Trade Republic Card"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-04-08"), hasAmount("EUR", 75.00), //
Expand Down
Loading

0 comments on commit 3a23023

Please sign in to comment.