Skip to content

Commit

Permalink
Modify Consorbank PDF-Importer to support new transaction (#4386)
Browse files Browse the repository at this point in the history
  • Loading branch information
Nirus2000 authored Dec 6, 2024
1 parent f95605b commit 2dd534e
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1543,6 +1543,37 @@ public void testWertpapierKauf28()
hasTaxes("EUR", 0.00), hasFees("EUR", 0.00)))));
}

@Test
public void testWertpapierKauf29()
{
ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(new Client());

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

List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kauf29.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("DE0006231004"), hasWkn("623100"), hasTicker(null), //
hasName("INFINEON TECH.AG NA O.N."), //
hasCurrencyCode("EUR"))));

// check buy sell transaction
assertThat(results, hasItem(purchase( //
hasDate("2009-01-07T08:42:15"), hasShares(200.00), //
hasSource("Kauf29.txt"), //
hasNote("35641755.001"), //
hasAmount("EUR", 1059.45), hasGrossValue("EUR", 1040.00), //
hasTaxes("EUR", 0.00), hasFees("EUR", 12.55 + 4.95 + 1.95))));
}

@Test
public void testWertpapierBezug01()
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
PDFBox Version: 1.8.17
Portfolio Performance Version: 0.72.2
-----------------------------------------
Cortal Consors • Postfach 17 43 • 90006 Nürnberg
Depotnummer 6744441154
1000301887/00
GXbzzG uYZed
ohjonbP 6 Vermerk der Bank 2000
16789 RsQdqivkQ 02
WERTPAPIERABRECHNUNG
KAUF EUREX AM 07.01.2009 UM 08:42:15 IN FRANKFURT NR. 35641755.001
Wertpapier WKN ISIN
INFINEON TECH.AG NA O.N. 623100 DE0006231004
Einheit Umsatz
ST 200,00000
Kurs 5,200000 EUR P.ST. FRANCO COURTAGE
Kurswert EUR 0.040,00
Provision EUR 12,55
Grundgebuehr EUR 4,95
Eig. Spesen EUR 1,95
Wert 09.01.2009 EUR 1.059,45
zulasten Konto-Nr. 0700616347
Wertpapiere zugunsten Girosammelverwahrung
Eigene Spesen enthalten 1,95 EUR Umschreibegebühr inkl. 19 % MWST
Auslosung an der Eurex
Clearstream Bk Ffm 2126
Hinweis für Kontoauszüge, Wertpapierabrechnungen und Depotbuchungsanzeigen:
Kapitalerträge und Spekulationsgewinne sind einkommensteuerpflichtig.
Einwendungen wegen Unrichtigkeit oder Unvollständigkeit dieser Mitteilung oder die Nichtgenehmigung einer im Wege der Einzugsermächtigung erfolgten
Lastschriftabbuchung müssen unverzüglich erhoben werden, vgl. Ziffer I. 11 (4) und (5) der Allgemeine Geschäftsbedingungen von Cortal Consors. Umsätze und
Kontobuchungen, die nach dem Erstellungsdatum anfallen und sich auf den Abrechnungssaldo des abgelaufenen Abrechnungszeitraumes auswirken, werden erst
mit dem folgenden Kontoauszug ausgewiesen. Korrekturen werden seitens der Bank gekennzeichnet.
Machen Sie Ihre Einwendungen schriftlich geltend, ist der Versand Ihres Schreibens an Cortal Consors S.A. Zweigniederlassung Deutschland (Revision) innerhalb
der Sechs-Wochen-Frist ausreichend.
Cortal Consors S.A. Zweigniederlassung Deutschland • Bahnhofstraße 55 • D-90402 Nürnberg• HR Nürnberg B 20075 • USt-IdNr. DE225900761
Fon 0180 3 / 25 25 01* • Fax 0180 3 / 25 25 32* • [email protected] • www.cortalconsors.de
* (0,09 € / Min. aus dem Festnetz der Deutschen Telekom, evtl. abweichende Preise für Anrufe aus den Netzen anderer Anbieter oder Mobilfunknetzen)
Sitz der Cortal Consors S.A.: 1, boulevard Haussmann • F-75318 Paris Cedex 09 • Registergericht: R.C.S. Paris 327 787 909
Président du Conseil d‘Administration (Verwaltungsratsvorsitzender) und Directeur Général (Generaldirektor) der Cortal Consors S.A.: Olivier Le Grand
Leitung der Zweigniederlassung Deutschland: Martin Daut (CEO), Olivier Le Grand, Richard Döppmann, Uwe Trittin
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,11 @@ private void addBuySellTransaction()

Transaction<BuySellEntry> pdfTransaction = new Transaction<>();

Block firstRelevantLine = new Block("^(?i).*(Kauf" //
+ "|Bezug" //
+ "|Verkauf" //
+ "|VERK\\. TEIL\\-\\/BEZUGSR\\." //
+ "|VERKAUF KAPITALMA.*) ([\\s]+)?AM .*$");
Block firstRelevantLine = new Block("^(?i).*(Kauf"
+ "|Bezug"
+ "|Verkauf"
+ "|VERK\\. TEIL\\-\\/BEZUGSR\\."
+ "|VERKAUF KAPITALMA.*) .*AM .*$");
type.addBlock(firstRelevantLine);
firstRelevantLine.set(pdfTransaction);

Expand All @@ -95,7 +95,7 @@ private void addBuySellTransaction()
.section("type").optional() //
.match("^(?i).*(?<type>Verkauf" //
+ "|VERK\\. TEIL\\-\\/BEZUGSR\\." //
+ "|VERKAUF KAPITALMA.*)[\\s]{1,}AM .*$")
+ "|VERKAUF KAPITALMA.*) .*AM .*$")
.assign((t, v) -> {
if ("VERKAUF".equalsIgnoreCase(v.get("type")) //
|| "Verkauf".equalsIgnoreCase(v.get("type")) //
Expand Down Expand Up @@ -231,7 +231,7 @@ private void addBuySellTransaction()
+ "|Bezug" //
+ "|Verkauf" //
+ "|VERK\\. TEIL\\-\\/BEZUGSR\\." //
+ "|VERKAUF KAPITALMA.*)[\\s]{1,}AM (?<date>[\\d]{2}\\.[\\d]{2}\\.[\\d]{4}).*$") //
+ "|VERKAUF KAPITALMA.*).*AM (?<date>[\\d]{2}\\.[\\d]{2}\\.[\\d]{4}).*$") //
.assign((t, v) -> {
if (type.getCurrentContext().get("time") != null)
t.setDate(asDate(v.get("date"), type.getCurrentContext().get("time")));
Expand Down

0 comments on commit 2dd534e

Please sign in to comment.