diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/boursobank/BoursoBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/boursobank/BoursoBankPDFExtractorTest.java index 1fe7553d6f..caeec53885 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/boursobank/BoursoBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/boursobank/BoursoBankPDFExtractorTest.java @@ -5,6 +5,7 @@ import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasAmount; import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasCurrencyCode; import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasDate; +import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasExDate; import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasFees; import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasForexGrossValue; import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasGrossValue; @@ -603,7 +604,8 @@ public void testDividende01() // check dividends transaction assertThat(results, hasItem(dividend( // - hasDate("2024-02-15T00:00"), hasShares(248.00), // + hasDate("2024-02-15T00:00"), hasExDate(null), // + hasShares(248.00), // hasSource("Dividende01.txt"), // hasNote(null), // hasAmount("EUR", 28.24), hasGrossValue("EUR", 40.33), // diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BoursoBankPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BoursoBankPDFExtractor.java index 6577e56cc1..c9aab524eb 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BoursoBankPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BoursoBankPDFExtractor.java @@ -280,16 +280,16 @@ private > void addTaxesSectionsTransaction(T transactio // TOTAL EUR 0,00 12,09 28,24 0,00 28,24 // @formatter:on .section("currency", "tax").optional() // - .find("Revenus.*") + .find("Revenus.*") // .match("^TOTAL (?[A-Z]{3}) [\\,\\d\\s]+ (?[\\,\\d\\s]+) [\\,\\d\\s]+ [\\,\\d\\s]+ [\\,\\d\\s]+$") // .assign((t, v) -> processTaxEntries(t, v, type)) - + // @formatter:off // Montant brut Commission Frais (¨) Montant net au débit de votre compte // 10,99 EUR 2,02 EUR 3,03 EUR 16,04 EUR // @formatter:on .section("currency", "tax").optional() // - .find("Montant.*") + .find("Montant.*") // .match("^[\\d\\s]+,[\\d]{2} [A-Z]{3} [\\d\\s]+,[\\d]{2} [A-Z]{3} (?[\\d\\s]+,[\\d]{2}) (?[A-Z]{3}) [\\d\\s]+,[\\d]{2} [A-Z]{3}$") // .assign((t, v) -> processTaxEntries(t, v, type)); } @@ -303,7 +303,7 @@ private > void addFeesSectionsTransaction(T transaction // 965,02 EUR 4,83 EUR 969,85 EU // @formatter:on .section("fee", "currency").optional() // - .find("Montant.*") + .find("Montant.*") // .match("^[\\d\\s]+,[\\d]{2} [A-Z]{3} (?[\\d\\s]+,[\\d]{2}) (?[A-Z]{3}) [\\d\\s]+,[\\d]{2} [A-Z]{3}$") // .assign((t, v) -> processFeeEntries(t, v, type)) @@ -312,16 +312,16 @@ private > void addFeesSectionsTransaction(T transaction // 6,95 EUR 0,00 EUR 6,95 EUR // @formatter:on .section("fee", "currency").optional() // - .find("Commission Frais divers.*") + .find("Commission Frais divers.*") // .match("^(?[\\d\\s]+,[\\d]{2}) (?[A-Z]{3}) [\\d\\s]+,[\\d]{2} [A-Z]{3} [\\d\\s]+,[\\d]{2} [A-Z]{3}$") // .assign((t, v) -> processFeeEntries(t, v, type)) - + // @formatter:off // Montant brut Commission Frais (¨) Montant net au débit de votre compte // 10,99 EUR 2,02 EUR 3,03 EUR 16,04 EUR // @formatter:on .section("fee", "currency").optional() // - .find("Montant.*") + .find("Montant.*") // .match("^[\\d\\s]+,[\\d]{2} [A-Z]{3} (?[\\d\\s]+,[\\d]{2}) (?[A-Z]{3}) [\\d\\s]+,[\\d]{2} [A-Z]{3} [\\d\\s]+,[\\d]{2} [A-Z]{3}$") // .assign((t, v) -> processFeeEntries(t, v, type)); }