Skip to content

Commit

Permalink
Modify ING DiBa PDF-Importer to support new transaction (#4549)
Browse files Browse the repository at this point in the history
  • Loading branch information
Nirus2000 authored Feb 26, 2025
1 parent 9fae67a commit 964dfbe
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1015,6 +1015,37 @@ public void testWertpapierKauf20()
hasTaxes("EUR", 0.00), hasFees("EUR", 0.00))));
}

@Test
public void testWertpapierKauf21()
{
INGDiBaPDFExtractor extractor = new INGDiBaPDFExtractor(new Client());

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

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

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

// check security
assertThat(results, hasItem(security( //
hasIsin("IE00B9CQXS71"), hasWkn("A1T8GD"), hasTicker(null), //
hasName("SPDR S&P Glob.Div.Aristocr.ETF Registered Shares o.N."), //
hasCurrencyCode("EUR"))));

// check buy sell transaction
assertThat(results, hasItem(purchase( //
hasDate("2025-02-24T09:04:29"), hasShares(8.9548), //
hasSource("Kauf21.txt"), //
hasNote("Ordernummer 381419383.001"), //
hasAmount("EUR", 284.27), hasGrossValue("EUR", 284.27), //
hasTaxes("EUR", 0.00), hasFees("EUR", 0.00))));
}

@Test
public void testValorCompra01()
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
PDFBox Version: 1.8.17
Portfolio Performance Version: 0.73.0
System: win32 | x86_64 | 21.0.5+11-LTS | Azul Systems, Inc.
-----------------------------------------
ING-DiBa AG · 60628 Frankfurt am Main
Depotinhaber: Thomas Mustermann
Herrn Direkt-Depot Nr.: 9999999999
Thomas Mustermann Datum: 24.02.2025
Muster-Str. 10 Seite: 1 von 1
99999 Musterort
Wertpapierabrechnung Kauf aus Wiederanlage einer Ausschüttung
Ordernummer 381419383.001
ISIN (WKN) IE00B9CQXS71 (A1T8GD)
Wertpapierbezeichnung SPDR S&P Glob.Div.Aristocr.ETF
Registered Shares o.N.
Nominale Stück 8,9548
Kurs (Festpreisgeschäft) EUR 31,745
Handelsplatz Direktgeschäft Inl.
Ausführungstag / -zeit 24.02.2025 um 09:04:29 Uhr
Kurswert EUR 284,27
Zwischensumme EUR 284,27
Endbetrag zu Ihren Lasten EUR 284,27
Abrechnungs-IBAN DE99 9999 9999 9999 9999 99
Valuta 26.02.2025
Wertpapiere zugunsten Wertpapierrechnung Großbritannien.
Ihren Ertrag haben wir für Sie wiederangelegt.
Bei Fragen besuchen Sie uns einfach unter www.ing.de/wertpapierwissen - da gibt es viele schnelle
Antworten.
ING-DiBa AG · Theodor-Heuss-Allee 2 · 60486 Frankfurt am Main · Vorsitzende des Aufsichtsrates: Susanne Klöß-Braekler · Vorstand: Lars Stoy (Vorsitzender),
Michael Clijdesdale, Eddy Henning, Nikolaus Maximilian Linaric, Dr. Ralph Müller, Nurten Spitzer-Erdogan · Sitz: Frankfurt am Main · AG Frankfurt am Main · HRB 7727
Steuernummer: 014 220 2800 4 · USt-IdNr.: DE 114 103 475 · Internet: www.ing.de · BIC: INGDDEFFXXX · Mitglied im Einlagensicherungsfonds
34WAAD8030557526_T
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,14 @@ private void addBuySellTransaction()
+ "|Kauf Einmalanlage" //
+ "|Kauf aus Sparplan" //
+ "|Kauf aus Wiederanlage Fondsaussch.ttung" //
+ "|Kauf aus Wiederanlage einer Aussch.ttung" //
+ "|Kauf Zeichnung" //
+ "|Bezug" //
+ "|Verkauf" //
+ "|Verkauf aus Kapitalmaßnahme" //
+ "|Verk\\. Teil\\-\\/Bezugsr\\.)" //
+ "|R.ckzahlung" //
+ "|Einl.sung"
+ "|Einl.sung" //
+ "|Operaciones Cuenta de Valores)", jointAccount);
this.addDocumentTyp(type);

Expand All @@ -85,13 +86,14 @@ private void addBuySellTransaction()
+ "|Kauf Einmalanlage" //
+ "|Kauf aus Sparplan" //
+ "|Kauf aus Wiederanlage Fondsaussch.ttung" //
+ "|Kauf aus Wiederanlage einer Aussch.ttung" //
+ "|Kauf Zeichnung" //
+ "|Bezug" //
+ "|Verkauf" //
+ "|Verkauf aus Kapitalmaßnahme" //
+ "|Verk\\. Teil\\-\\/Bezugsr\\.)" //
+ "|R.ckzahlung" //
+ "|Einl.sung"
+ "|Einl.sung" //
+ "|Operaciones Cuenta de Valores)");
type.addBlock(firstRelevantLine);
firstRelevantLine.set(pdfTransaction);
Expand All @@ -111,14 +113,15 @@ private void addBuySellTransaction()
+ "|Kauf Einmalanlage" //
+ "|Kauf aus Sparplan" //
+ "|Kauf aus Wiederanlage Fondsaussch.ttung" //
+ "|Kauf aus Wiederanlage einer Aussch.ttung" //
+ "|Kauf Zeichnung" //
+ "|Bezug" //
+ "|Verkauf" //
+ "|Verkauf aus Kapitalmaßnahme" //
+ "|Verk. Teil\\-\\/Bezugsr\\.)" //
+ "|R.ckzahlung" //
+ "|Einl.sung"
+ "|Venta)$") //
+ "|Einl.sung" //
+ "|Venta)$")
.assign((t, v) -> {
if ("Verkauf".equals(v.get("type")) //
|| "Verkauf aus Kapitalmaßnahme".equals(v.get("type")) //
Expand Down Expand Up @@ -351,7 +354,7 @@ private void addDividendeTransaction()
{
final DocumentType type = new DocumentType("(Dividendengutschrift" //
+ "|Ertragsgutschrift" //
+ "|Zinsgutschrift"
+ "|Zinsgutschrift" //
+ "|Abono de Dividendos)", //
jointAccount);
this.addDocumentTyp(type);
Expand All @@ -360,7 +363,7 @@ private void addDividendeTransaction()

Block firstRelevantLine = new Block("^(Dividendengutschrift" //
+ "|Ertragsgutschrift" //
+ "|Zinsgutschrift"
+ "|Zinsgutschrift" //
+ "|Abono de Dividendos).*$");
type.addBlock(firstRelevantLine);
firstRelevantLine.set(pdfTransaction);
Expand Down

0 comments on commit 964dfbe

Please sign in to comment.