Skip to content

Commit 378e191

Browse files
buchenclaude
andcommitted
Updated GladbacherBankAG PDF Extractor to support parsing of dividend ex-date
Issue: portfolio-performance#5439 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 2485f52 commit 378e191

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/gladbacherbankag/GladbacherBankAGPDFExtractorTest.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasDate;
88
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasFees;
99
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasForexGrossValue;
10+
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasExDate;
1011
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasGrossValue;
1112
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasIsin;
1213
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasName;
@@ -177,7 +178,8 @@ public void testDividende01()
177178

178179
// check dividends transaction
179180
assertThat(results, hasItem(dividend( //
180-
hasDate("2023-12-28T00:00"), hasShares(52), //
181+
hasDate("2023-12-28T00:00"), hasExDate("2023-12-07T00:00"), //
182+
hasShares(52), //
181183
hasSource("Dividende01.txt"), //
182184
hasNote("Abrechnungsnr.: 86148344230 | Quartalsdividende"), //
183185
hasAmount("EUR", 8.71), hasGrossValue("EUR", 11.70), //
@@ -186,7 +188,7 @@ public void testDividende01()
186188
}
187189

188190
@Test
189-
public void testDividende02WithSecurityInEUR()
191+
public void testDividende01WithSecurityInEUR()
190192
{
191193
var security = new Security("AMETEK INC. REGISTERED SHARES DL -,01", "EUR");
192194
security.setIsin("US0311001004");
@@ -213,7 +215,8 @@ public void testDividende02WithSecurityInEUR()
213215

214216
// check dividends transaction
215217
assertThat(results, hasItem(dividend( //
216-
hasDate("2023-12-28T00:00"), hasShares(52), //
218+
hasDate("2023-12-28T00:00"), hasExDate("2023-12-07T00:00"), //
219+
hasShares(52), //
217220
hasSource("Dividende01.txt"), //
218221
hasNote("Abrechnungsnr.: 86148344230 | Quartalsdividende"), //
219222
hasAmount("EUR", 8.71), hasGrossValue("EUR", 11.70), //

name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/GladbacherBankAGPDFExtractor.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,13 @@ private void addDividendeTransaction()
168168
.match("^Den Betrag buchen wir mit Wertstellung (?<date>[\\d]{2}\\.[\\d]{2}\\.[\\d]{4}).*$") //
169169
.assign((t, v) -> t.setDateTime(asDate(v.get("date"))))
170170

171+
// @formatter:off
172+
// Ex-Tag 07.12.2023 Art der Dividende Quartalsdividende
173+
// @formatter:on
174+
.section("exDate").optional() //
175+
.match("^Ex\\-Tag (?<exDate>[\\d]{2}\\.[\\d]{2}\\.[\\d]{4}).*$") //
176+
.assign((t, v) -> t.setExDate(asDate(v.get("exDate"))))
177+
171178
// @formatter:off
172179
// Ausmachender Betrag 8,71+ EUR
173180
// @formatter:on

0 commit comments

Comments
 (0)