Skip to content

Commit

Permalink
Modify Trade Republic PDF-Importer to support new transactions (#4524)
Browse files Browse the repository at this point in the history
  • Loading branch information
Nirus2000 authored Feb 12, 2025
1 parent a4c37c2 commit df36da7
Show file tree
Hide file tree
Showing 4 changed files with 323 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3199,6 +3199,93 @@ public void testTransaccionesDeCuenta02()
hasSource("TransaccionesDeCuenta02.txt"), hasNote("BACKBLAZE INC"))));
}

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

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

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

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

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

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

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-12-11"), hasAmount("EUR", 9.99), //
hasSource("TransaccionesDeCuenta03.txt"), hasNote("Tesla Spain, S.L."))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-12-11"), hasAmount("EUR", 32.00), //
hasSource("TransaccionesDeCuenta03.txt"), hasNote("PERRUQUERIA ANGEL MANCEBO"))));

// assert transaction
assertThat(results, hasItem(deposit(hasDate("2024-12-12"), hasAmount("EUR", 54.56), //
hasSource("TransaccionesDeCuenta03.txt"), hasNote("PAYPAL *ZALANDOSE"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-12-13"), hasAmount("EUR", 9.00), //
hasSource("TransaccionesDeCuenta03.txt"), hasNote("TAXI LLIC. 570"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-12-22"), hasAmount("EUR", 54.06), //
hasSource("TransaccionesDeCuenta03.txt"), hasNote("RESTAURANTE ELIM"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-12-23"), hasAmount("EUR", 1100.00), //
hasSource("TransaccionesDeCuenta03.txt"), hasNote("Revolut**3808*"))));

// assert transaction
assertThat(results, hasItem(deposit(hasDate("2024-12-27"), hasAmount("EUR", 5900.00), //
hasSource("TransaccionesDeCuenta03.txt"), hasNote(null))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-12-28"), hasAmount("EUR", 132.35), //
hasSource("TransaccionesDeCuenta03.txt"), hasNote("MONTEFER"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-12-29"), hasAmount("EUR", 9.20), //
hasSource("TransaccionesDeCuenta03.txt"), hasNote("Tesla Spain, S.L."))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-12-29"), hasAmount("EUR", 0.20), //
hasSource("TransaccionesDeCuenta03.txt"), hasNote("APARCAMIENTO PALENCIA"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-12-30"), hasAmount("EUR", 28.08), //
hasSource("TransaccionesDeCuenta03.txt"), hasNote("IBERDROLA SMART MOBILITY"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-12-30"), hasAmount("EUR", 95.00), //
hasSource("TransaccionesDeCuenta03.txt"), hasNote("MESON DE LA DOLORES"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-12-30"), hasAmount("EUR", 19.70), //
hasSource("TransaccionesDeCuenta03.txt"), hasNote("FARMACIA CENTRAL"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-12-30"), hasAmount("EUR", 12.85), //
hasSource("TransaccionesDeCuenta03.txt"), hasNote("WWW.ENDESAX.COM"))));

// assert transaction
assertThat(results, hasItem(removal(hasDate("2024-12-30"), hasAmount("EUR", 9.60), //
hasSource("TransaccionesDeCuenta03.txt"), hasNote("WAYLET"))));
}

@Test
public void testAccountStatementSummary01()
{
Expand Down Expand Up @@ -7309,6 +7396,37 @@ public void testVorabpauschale02()
hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))));
}

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

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

List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Vorabpauschale03.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("IE00B40B8R38"), hasWkn(null), hasTicker(null), //
hasName("S&P 500 Consumer Staples USD (Acc)"), //
hasCurrencyCode("EUR"))));

// check taxes transaction
assertThat(results, hasItem(taxes( //
hasDate("2025-01-24T00:00"), hasShares(591.791634), //
hasSource("Vorabpauschale03.txt"), //
hasNote("Vorabpauschale 45,40 EUR"), //
hasAmount("EUR", 11.97), hasGrossValue("EUR", 11.97), //
hasTaxes("EUR", 0.00), hasFees("EUR", 0.00))));
}

@Test
public void testSparplan01()
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
PDFBox Version: 1.8.17
Portfolio Performance Version: 0.73.0
System: macosx | aarch64 | 21.0.5+11-LTS | Azul Systems, Inc.
-----------------------------------------
jcgmR toXOs FBwUfh FECHA 01 dic 2024 - 31 dic 2024
NILaNM zVZ de la rCzKID 489 - Ts 5, 67770 IBAN JP99672109888010680123
icPHVITMg, ES BIC UVNuHuIi
RESUMEN DE ESTADO DE CUENTA
PRODUCTO BALANCE INICIAL ENTRADA DE DINERO SALIDA DE DINERO BALANCE FINAL
Cuenta de valores 47.149,42 € 6.138,10 € 5.538,08 € 47.749,44 €
TRANSACCIONES DE CUENTA
FECHA TIPO DESCRIPCIÓN ENTRADA DE SALIDA DE DINERO DINERO BALANCE
02 dic Pago de
2024 intereses Your interest payment 113,59 € 46.911,01 €
02 dic
2024 Recompensa Your Saveback payment 15,00 € 46.926,01 €
02 dic Comercio Savings plan execution IE000716YHJ7 Invesco Markets II plc - Invesco FTSE All-World 2024 UCITS ETF Acc, quantity: 2.243158 15,00 € 46.911,01 €
02 dic Comercio Savings plan execution IE000716YHJ7 Invesco Markets II plc - Invesco FTSE All-World 2024 UCITS ETF Acc, quantity: 104.680723 700,00 € 46.211,01 €
11 dic Transacción con
2024 tarjeta Tesla Spain, S.L. 9,99 € 45.533,45 €
Página 1 4
Creado en 02 ene 2025
Trade Republic Bank GmbH
FECHA TIPO DESCRIPCIÓN ENTRADA DE SALIDA DE DINERO DINERO BALANCE
11 dic Transacción con
2024 tarjeta PERRUQUERIA ANGEL MANCEBO 32,00 € 45.501,45 €
12 dic Transacción con
2024 tarjeta PAYPAL *ZALANDOSE 54,56 € 45.556,01 €
13 dic Transacción con
2024 tarjeta TAXI LLIC. 570 9,00 € 45.547,01 €
Página 2 4
Creado en 02 ene 2025
Trade Republic Bank GmbH
FECHA TIPO DESCRIPCIÓN ENTRADA DE SALIDA DE DINERO DINERO BALANCE
22 dic Transacción con
2024 tarjeta RESTAURANTE ELIM 54,06 € 43.756,27 €
22 dic Transacción con
2024 tarjeta ZARA MADRID CC MORALEJA 43,10 € 43.713,17 €
23 dic Transacción con
2024 tarjeta Revolut**3808* 1.100,00 € 42.613,17 €
27 dic
2024 Transferencia Ingreso aceptado: ES1235830002290012888722 a JP99672109888010680123 5.900,00 € 48.073,49 €
28 dic Transacción con
2024 tarjeta MONTEFER 132,35 € 47.941,14 €
29 dic Transacción con
2024 tarjeta Tesla Spain, S.L. 17,07 € 47.924,07 €
29 dic Transacción con
2024 tarjeta Tesla Spain, S.L. 9,20 € 47.914,87 €
29 dic Transacción con
2024 tarjeta APARCAMIENTO PALENCIA 0,20 € 47.914,67 €
30 dic Transacción con
2024 tarjeta IBERDROLA SMART MOBILITY 28,08 € 47.886,59 €
30 dic Transacción con
2024 tarjeta MESON DE LA DOLORES 95,00 € 47.791,59 €
30 dic Transacción con
2024 tarjeta FARMACIA CENTRAL 19,70 € 47.771,89 €
30 dic Transacción con
2024 tarjeta WWW.ENDESAX.COM 12,85 € 47.759,04 €
30 dic Transacción con
2024 tarjeta WAYLET 9,60 € 47.749,44 €
Página 3 4
Creado en 02 ene 2025
Trade Republic Bank GmbH
DISCLAIMER
Estimado Cliente
Por favor, asegúrate de revisar las transacciones de tu cuenta, los cálculos y el saldo final en el extracto bancario, que también constituye tu liquidación
de cuentas. La liquidación de cuentas se considera aceptada si no presentas ninguna objeción en el plazo de seis semanas a partir de su recepción. La
liquidación de cuentas se considera aceptada si no presenta ninguna objeción en un plazo de seis semanas tras su recepción. Los saldos acreedores son
admisibles como depósitos de conformidad con la Ley alemana sobre el seguro de depósitos (Einlagensicherungsgesetz ? EinSiG). Encontrará más
información en la hoja informativa para el depositante, que puede consultar junto con nuestras Condiciones Generales.
Trade Republic Bank GmbH
Brunnenstraße 19-21 Contactos
Domicilio social de la empresa: Berlin
10119 Berlin www.traderepublic.com
AG Charlottenburg HRB 244347 B
ID-IVA DE307510626
Página 4 4
Creado en 02 ene 2025
Trade Republic Bank GmbH
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
PDFBox Version: 3.0.3
Portfolio Performance Version: 0.74.0
System: macosx | x86_64 | 21.0.5+11-LTS | Azul Systems, Inc.
-----------------------------------------
TRADE REPUBLIC BANK GMBH BRUNNENSTRASSE 19-21 10119 BERLIN
sjhdfhsfdk hfdjsjkdsfhfjd SEITE 1 von 1
FJDKFJDKLFJFL. 000 DATUM 24.01.2025
xxxxx xxxxxxxxxx 0000000000
VORABPAUSCHALE
ÜBERSICHT
Besteuerung der Vorabpauschale gem. § 18 InvStG.
POSITION ANZAHL
S&P 500 Consumer Staples USD (Acc) 591,791634 Stück
IE00B40B8R38
VORABPAUSCHALE
POSITION BETRAG
Steuerpflichtige Vorabpauschale 45,40 EUR
STEUERLICHE VERRECHNUNG
VORHER NACHHER
Aktienverlusttopf 0,00 EUR 0,00 EUR
Allgemeiner Verlusttopf 0,00 EUR 0,00 EUR
Freistellungsauftrag (eingereicht: 0 EUR) 0,00 EUR 0,00 EUR
Quellensteuertopf 0,00 EUR 0,00 EUR
ABRECHNUNG
Kapitalertragssteuer -11.35 EUR
Solidaritätszuschlag -0.62 EUR
-11,97 EUR
BUCHUNG
VERRECHNUNGSKONTO DATUM DER ZAHLUNG
DE61xxxxxxxxxxxxxxxxxx 24.01.2025 -11,97 EUR
Sofern ein Freistellungsauftrag vorliegt, wurde dieser berücksichtigt.
Diese Abrechnung wird maschinell erstellt und daher nicht unterschrieben.
Sofern keine Umsatzsteuer ausgewiesen ist, handelt es sich gem. §4 Nr. 8 UStG um eine umsatzsteuerfreie Leistung. Die Vorabpauschale unterliegt
grundsätzlich einem Steuerabzug von 25% (zuzüglich Solidaritätszuschlag und gegebenenfalls Kirchensteuer).
Trade Republic Bank GmbH www.traderepublic.com Sitz der Gesellschaft: Berlin Direktoren
Brunnenstraße 19-21 service@traderepublic.com AG Charlottenburg HRB 244347 B Andreas Torner
10119 Berlin Umsatzsteuer-ID DE307510626 Gernot Mittendorfer
Christian Hecker
Thomas Pischke
Loading

0 comments on commit df36da7

Please sign in to comment.