Skip to content

Commit 655c50d

Browse files
authored
Improve Bourso Bank PDF-Importer (#5751)
- Add missing // after all .find() calls in tax and fee sections - Remove trailing whitespace on blank separator lines - Add missing hasExDate(null) to dividend test assertion
1 parent 95b1e35 commit 655c50d

2 files changed

Lines changed: 10 additions & 8 deletions

File tree

name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/boursobank/BoursoBankPDFExtractorTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasAmount;
66
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasCurrencyCode;
77
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasDate;
8+
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasExDate;
89
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasFees;
910
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasForexGrossValue;
1011
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasGrossValue;
@@ -603,7 +604,8 @@ public void testDividende01()
603604

604605
// check dividends transaction
605606
assertThat(results, hasItem(dividend( //
606-
hasDate("2024-02-15T00:00"), hasShares(248.00), //
607+
hasDate("2024-02-15T00:00"), hasExDate(null), //
608+
hasShares(248.00), //
607609
hasSource("Dividende01.txt"), //
608610
hasNote(null), //
609611
hasAmount("EUR", 28.24), hasGrossValue("EUR", 40.33), //

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -280,16 +280,16 @@ private <T extends Transaction<?>> void addTaxesSectionsTransaction(T transactio
280280
// TOTAL EUR 0,00 12,09 28,24 0,00 28,24
281281
// @formatter:on
282282
.section("currency", "tax").optional() //
283-
.find("Revenus.*")
283+
.find("Revenus.*") //
284284
.match("^TOTAL (?<currency>[A-Z]{3}) [\\,\\d\\s]+ (?<tax>[\\,\\d\\s]+) [\\,\\d\\s]+ [\\,\\d\\s]+ [\\,\\d\\s]+$") //
285285
.assign((t, v) -> processTaxEntries(t, v, type))
286-
286+
287287
// @formatter:off
288288
// Montant brut Commission Frais (¨) Montant net au débit de votre compte
289289
// 10,99 EUR 2,02 EUR 3,03 EUR 16,04 EUR
290290
// @formatter:on
291291
.section("currency", "tax").optional() //
292-
.find("Montant.*")
292+
.find("Montant.*") //
293293
.match("^[\\d\\s]+,[\\d]{2} [A-Z]{3} [\\d\\s]+,[\\d]{2} [A-Z]{3} (?<tax>[\\d\\s]+,[\\d]{2}) (?<currency>[A-Z]{3}) [\\d\\s]+,[\\d]{2} [A-Z]{3}$") //
294294
.assign((t, v) -> processTaxEntries(t, v, type));
295295
}
@@ -303,7 +303,7 @@ private <T extends Transaction<?>> void addFeesSectionsTransaction(T transaction
303303
// 965,02 EUR 4,83 EUR 969,85 EU
304304
// @formatter:on
305305
.section("fee", "currency").optional() //
306-
.find("Montant.*")
306+
.find("Montant.*") //
307307
.match("^[\\d\\s]+,[\\d]{2} [A-Z]{3} (?<fee>[\\d\\s]+,[\\d]{2}) (?<currency>[A-Z]{3}) [\\d\\s]+,[\\d]{2} [A-Z]{3}$") //
308308
.assign((t, v) -> processFeeEntries(t, v, type))
309309

@@ -312,16 +312,16 @@ private <T extends Transaction<?>> void addFeesSectionsTransaction(T transaction
312312
// 6,95 EUR 0,00 EUR 6,95 EUR
313313
// @formatter:on
314314
.section("fee", "currency").optional() //
315-
.find("Commission Frais divers.*")
315+
.find("Commission Frais divers.*") //
316316
.match("^(?<fee>[\\d\\s]+,[\\d]{2}) (?<currency>[A-Z]{3}) [\\d\\s]+,[\\d]{2} [A-Z]{3} [\\d\\s]+,[\\d]{2} [A-Z]{3}$") //
317317
.assign((t, v) -> processFeeEntries(t, v, type))
318-
318+
319319
// @formatter:off
320320
// Montant brut Commission Frais (¨) Montant net au débit de votre compte
321321
// 10,99 EUR 2,02 EUR 3,03 EUR 16,04 EUR
322322
// @formatter:on
323323
.section("fee", "currency").optional() //
324-
.find("Montant.*")
324+
.find("Montant.*") //
325325
.match("^[\\d\\s]+,[\\d]{2} [A-Z]{3} (?<fee>[\\d\\s]+,[\\d]{2}) (?<currency>[A-Z]{3}) [\\d\\s]+,[\\d]{2} [A-Z]{3} [\\d\\s]+,[\\d]{2} [A-Z]{3}$") //
326326
.assign((t, v) -> processFeeEntries(t, v, type));
327327
}

0 commit comments

Comments
 (0)