Skip to content

Commit

Permalink
Add test case to Trade Republic PDF-Importer (#4390)
Browse files Browse the repository at this point in the history
https://forum.portfolio-performance.info/t/pdf-import-von-trade-republic/5107/724
Fix missing  check MsgErrorTransactionAlternativeDocumentRequired in interest transations
  • Loading branch information
Nirus2000 authored Dec 8, 2024
1 parent 13ea236 commit 9221a9b
Show file tree
Hide file tree
Showing 2 changed files with 115 additions and 22 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
PDFBox Version: 1.8.17
Portfolio Performance Version: 0.72.2
-----------------------------------------
zmQMYoSZ vfiG sdiUQ DATUM 01 Dez. 2024 - 02 Dez. 2024
KmptPZIkGoYM Straße 46, 00527 IBAN DE12121123450242790201
BgdudDzwS, DE BIC TRBKDEBBXXX
KONTOÜBERSICHT
PRODUKT ANFANGSSALDO ZAHLUNGSEINGANG ZAHLUNGSAUSGANG ENDSALDO
Depotkonto 76.171,86 € 657,52 € 547,18 € 76.282,20 €
UMSATZÜBERSICHT
DATUM TYP BESCHREIBUNG ZAHLUNGSEINGANG ZAHLUNGSAUSGANG SALDO
01 Dez.
2024 Zinszahlung Your interest payment 150,28 € 76.322,14 €
02 Dez.
2024 Kartentransaktion xoSEqCGkmh eqt STATION 39,94 € 76.282,20 €
02 Dez. Handel Savings plan execution LU0908500753 Amundi Index Solutions - Amundi 2024 Stoxx Europe 600 UCITS ETF Acc, quantity: 0.420256 100,00 € 76.182,20 €
02 Dez.
2024 Überweisung Incoming transfer from FFzotalY jzkOA VDDIVAlJ-BFlsJNLDaTKa 500,00 € 76.682,20 €
02 Dez.
2024 Prämie Your Saveback payment 7,24 € 76.689,44 €
02 Dez. Handel Savings plan execution IE00BTJRMP35 Xtrackers (IE) Plc - Xtrackers MSCI 2024 Emerging Markets UCITS ETF 1C, quantity: 1.374431 75,00 € 76.614,44 €
02 Dez. Handel Savings plan execution IE00B4L5Y983 iShares III plc - iShares Core MSCI 2024 World UCITS ETF USD (Acc), quantity: 0.068495 7,24 € 76.607,20 €
02 Dez. Handel Savings plan execution IE00B4L5Y983 iShares III plc - iShares Core MSCI 2024 World UCITS ETF USD (Acc), quantity: 3.076777 325,00 € 76.282,20 €
Seite 1 von 2
Erstellt am 03 Dez. 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 [email protected] Umsatzsteuer-ID DE307510626
Seite 2 von 2
Erstellt am 03 Dez. 2024
Trade Republic Bank GmbH
Original file line number Diff line number Diff line change
Expand Up @@ -2281,8 +2281,10 @@ public void testKontoauszug21()
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))));
assertThat(results, hasItem(withFailureMessage( //
Messages.MsgErrorTransactionAlternativeDocumentRequired, //
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),
Expand All @@ -2293,12 +2295,16 @@ public void testKontoauszug21()
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))));
assertThat(results, hasItem(withFailureMessage( //
Messages.MsgErrorTransactionAlternativeDocumentRequired, //
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))));
assertThat(results, hasItem(withFailureMessage( //
Messages.MsgErrorTransactionAlternativeDocumentRequired, //
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),
Expand All @@ -2317,8 +2323,10 @@ public void testKontoauszug21()
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))));
assertThat(results, hasItem(withFailureMessage( //
Messages.MsgErrorTransactionAlternativeDocumentRequired, //
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),
Expand All @@ -2341,8 +2349,10 @@ public void testKontoauszug21()
hasSource("Kontoauszug21.txt"), hasNote("Neckarbruecke"))));

// assert transaction
assertThat(results, hasItem(interest(hasDate("2024-08-01"), hasAmount("EUR", 168.75),
hasSource("Kontoauszug21.txt"), hasNote(null))));
assertThat(results, hasItem(withFailureMessage( //
Messages.MsgErrorTransactionAlternativeDocumentRequired, //
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),
Expand All @@ -2357,8 +2367,10 @@ public void testKontoauszug21()
hasSource("Kontoauszug21.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(interest(hasDate("2024-09-01"), hasAmount("EUR", 193.06),
hasSource("Kontoauszug21.txt"), hasNote(null))));
assertThat(results, hasItem(withFailureMessage( //
Messages.MsgErrorTransactionAlternativeDocumentRequired, //
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),
Expand Down Expand Up @@ -2398,6 +2410,39 @@ public void testKontoauszug22()
hasSource("Kontoauszug22.txt"), hasNote(null))));
}

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

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

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

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

// assert transaction
assertThat(results, hasItem(interest(hasDate("2024-12-01"), hasAmount("EUR", 150.28),
hasSource("Kontoauszug23.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-12-02"), hasAmount("EUR", 39.94),
hasSource("Kontoauszug23.txt"), hasNote("xoSEqCGkmh eqt STATION"))));

// assert transaction
assertThat(results, hasItem(deposit(hasDate("2024-12-02"), hasAmount("EUR", 500.00),
hasSource("Kontoauszug23.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(deposit(hasDate("2024-12-02"), hasAmount("EUR", 7.24),
hasSource("Kontoauszug23.txt"), hasNote(null))));
}

@Test
public void testReleveDeCompte01()
{
Expand Down Expand Up @@ -2693,8 +2738,10 @@ public void testTransaccionesDeCuenta01()
hasSource("TransaccionesDeCuenta01.txt"), hasNote("WETACA"))));

// assert transaction
assertThat(results, hasItem(interest(hasDate("2024-06-01"), hasAmount("EUR", 32.61), //
hasSource("TransaccionesDeCuenta01.txt"), hasNote(null))));
assertThat(results, hasItem(withFailureMessage( //
Messages.MsgErrorTransactionAlternativeDocumentRequired, //
interest(hasDate("2024-06-01"), hasAmount("EUR", 32.61), //
hasSource("TransaccionesDeCuenta01.txt"), hasNote(null)))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-06-01"), hasAmount("EUR", 20.00), //
Expand Down Expand Up @@ -2921,8 +2968,10 @@ public void testTransaccionesDeCuenta01()
hasSource("TransaccionesDeCuenta01.txt"), hasNote("Tesla Spain, S.L."))));

// assert transaction
assertThat(results, hasItem(interest(hasDate("2024-07-01"), hasAmount("EUR", 34.97), //
hasSource("TransaccionesDeCuenta01.txt"), hasNote(null))));
assertThat(results, hasItem(withFailureMessage( //
Messages.MsgErrorTransactionAlternativeDocumentRequired, //
interest(hasDate("2024-07-01"), hasAmount("EUR", 34.97), //
hasSource("TransaccionesDeCuenta01.txt"), hasNote(null)))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-07-01"), hasAmount("EUR", 16.72), //
Expand Down Expand Up @@ -3002,8 +3051,10 @@ public void testTransaccionesDeCuenta02()
hasSource("TransaccionesDeCuenta02.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(interest(hasDate("2024-02-01"), hasAmount("EUR", 10.07), //
hasSource("TransaccionesDeCuenta02.txt"), hasNote(null))));
assertThat(results, hasItem(withFailureMessage( //
Messages.MsgErrorTransactionAlternativeDocumentRequired, //
interest(hasDate("2024-02-01"), hasAmount("EUR", 10.07), //
hasSource("TransaccionesDeCuenta02.txt"), hasNote(null)))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-02-08"), hasAmount("EUR", 300.00), //
Expand All @@ -3014,8 +3065,10 @@ public void testTransaccionesDeCuenta02()
hasSource("TransaccionesDeCuenta02.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(interest(hasDate("2024-03-01"), hasAmount("EUR", 14.48), //
hasSource("TransaccionesDeCuenta02.txt"), hasNote(null))));
assertThat(results, hasItem(withFailureMessage( //
Messages.MsgErrorTransactionAlternativeDocumentRequired, //
interest(hasDate("2024-03-01"), hasAmount("EUR", 14.48), //
hasSource("TransaccionesDeCuenta02.txt"), hasNote(null)))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-03-05"), hasAmount("EUR", 5809.91), //
Expand All @@ -3030,8 +3083,10 @@ public void testTransaccionesDeCuenta02()
hasSource("TransaccionesDeCuenta02.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(interest(hasDate("2024-04-01"), hasAmount("EUR", 7.79), //
hasSource("TransaccionesDeCuenta02.txt"), hasNote(null))));
assertThat(results, hasItem(withFailureMessage( //
Messages.MsgErrorTransactionAlternativeDocumentRequired, //
interest(hasDate("2024-04-01"), hasAmount("EUR", 7.79), //
hasSource("TransaccionesDeCuenta02.txt"), hasNote(null)))));

// assert transaction
assertThat(results, hasItem(fee(hasDate("2024-04-03"), hasAmount("EUR", 5.00), //
Expand Down

0 comments on commit 9221a9b

Please sign in to comment.