Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modify Baader Bank PDF-Importer to support new transaction #3309

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -1006,6 +1006,50 @@ public void testWertpapierKauf22()
is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00))));
}

@Test
public void testWertpapierKauf23()
{
BaaderBankPDFExtractor extractor = new BaaderBankPDFExtractor(new Client());

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

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

assertThat(errors, empty());
assertThat(results.size(), is(2));
new AssertImportActions().check(results, CurrencyUnit.EUR);

// check security
Security security = results.stream().filter(SecurityItem.class::isInstance).findFirst()
.orElseThrow(IllegalArgumentException::new).getSecurity();
assertThat(security.getIsin(), is("DE000GP0Q523"));
assertThat(security.getWkn(), is("GP0Q52"));
assertNull(security.getTickerSymbol());
assertThat(security.getName(), is("Goldman Sachs Bank Europe SE TuBear O.End Nasd100 14200"));
assertThat(security.getCurrencyCode(), is(CurrencyUnit.EUR));

// check buy sell transaction
BuySellEntry entry = (BuySellEntry) results.stream().filter(BuySellEntryItem.class::isInstance).findFirst()
.orElseThrow(IllegalArgumentException::new).getSubject();

assertThat(entry.getPortfolioTransaction().getType(), is(PortfolioTransaction.Type.BUY));
assertThat(entry.getAccountTransaction().getType(), is(AccountTransaction.Type.BUY));

assertThat(entry.getPortfolioTransaction().getDateTime(), is(LocalDateTime.parse("2023-04-20T20:28:12")));
assertThat(entry.getPortfolioTransaction().getShares(), is(Values.Share.factorize(110)));
assertThat(entry.getSource(), is("Kauf23.txt"));
assertThat(entry.getNote(), is("Vorgangs-Nr.: 12345678"));

assertThat(entry.getPortfolioTransaction().getMonetaryAmount(),
is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(1042.04))));
assertThat(entry.getPortfolioTransaction().getGrossValue(),
is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(1041.04))));
assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX),
is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00))));
assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE),
is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(1.00))));
}

@Test
public void testWertpapierVerkauf01()
{
Expand Down
@@ -0,0 +1,61 @@
PDFBox Version: 1.8.17
Portfolio Performance Version: 0.62.0
-----------------------------------------
Baader Bank AG Weihenstephaner Straße 4 85716 Unterschleißheim Gartenstraße 67
T 00800 00 586336* F +49 89 5150 2442 service@baaderbank.de 76135 Karlsruhe
www.finanzen.net/zero
+49 89 5455 8188
Seite 1/1
Herrn Karlsruhe
20.04.2023
PDFBox Version: 1.8.17
Portfolio Performance Version: 0.62.0
-----------------------------------------
Baader Bank AG Weihenstephaner Straße 4 85716 Unterschleißheim Gartenstraße 67
T 00800 00 586336* F +49 89 5150 2442 service@baaderbank.de 76135 Karlsruhe
www.finanzen.net/zero
+49 89 5455 8188
Seite 1/1
Herrn Karlsruhe
20.04.2023
Max Mustermann
Musterstraße 1 Max Mustermann
01234 Musterstadt Stamm-Nr.: 00000 Portfolio: 1
Depot-Nr.: 1234567890
Vorgangs-Nr.: 12345678
Referenz-Nr.: 123456789
Wertpapierabrechnung: Kauf
Auftragsdatum: 20.04.2023 Ausführungsplatz: GETTEX - MM Munich
Auftragszeit: 20:28:12:00
Nominale ISIN: DE000GP0Q523 WKN: GP0Q52 Kurs
STK 110 Goldman Sachs Bank Europe SE EUR 9,464
TuBear O.End Nasd100 14200
Auftraggeber: Depotinhaber
Art der Auftragserteilung: Orderroutingsystem FinanzenNet
Kurswert EUR 1.041,04
Mindermengenzuschlag Finanzen.net EUR 1,00
Zu Lasten Konto 1234567891 Valuta: 24.04.2023 EUR 1.042,04
Die Wertpapiere buchen wir zu Gunsten Ihres Depots.
Details zur Ausführung:
Handels- Handels-
Nominale Kurs Ausführungsplatz datum uhrzeit
STK 110 EUR 9,464 GETTEX - MM Munich 20.04.2023 20:28:12:969
Verwahrart: Girosammelverwahrung Zeitzone der Handelsuhrzeit: MEZ/MESZ
Lagerstelle: 100 MIC des Ausführungsplatzes: MUNC
Lagerland: Deutschland
Für die Ausführung dieses Auftrags gelten die Usancen des jeweiligen Ausführungsplatzes.
Diese Auftragsbestätigung/Abrechnung wurde von der Baader Bank AG erstellt. Bitte prüfen Sie diese auf Richtigkeit und Vollständigkeit. Etwaige
Einwendungen gegen diese Auftragsbestätigung/Abrechnung müssen nach Zugang unverzüglich bei der Baader Bank AG erhoben werden.
Dieser Auftrag erfolgte ohne Empfehlung der Bank. Es wurde keine Anlageberatung und keine individuelle Aufklärung durch die Bank erbracht.
Sofern keine Umsatzsteuer ausgewiesen ist, handelt es sich um eine umsatzsteuerbefreite Finanzdienstleistung.
Einkünfte aus Kapitalvermögen im Sinne von § 20 EStG sind einkommensteuerpflichtig.
Dieses Dokument wurde maschinell erstellt und wird nicht unterschrieben.
finanzen.net zero GmbH, Gartenstraße 67, 76135 Karlsruhe • Impressum unter: www.finanzen.net/zero/impressum
finanzen.net zero GmbH erbringt Anlagevermittlung als gebundener Vermittler der DonauCapital Wertpapier GmbH

Herausgeberin und verantwortlich für den Inhalt ist die Baader Bank Aktiengesellschaft • Weihenstephaner Straße 4 • 85716 Unterschleißheim • Deutschland
Vorstand: Nico Baader (Vorsitzender), Dietmar von Blücher, Oliver Riedel • Vorsitzender des Aufsichtsrates: Helmut Schreyer • Amtsgericht München HRB 121537 • Sitz der
Gesellschaft: Unterschleißheim • StNr. 143/107/04009 • USt-IdNr. DE114123893 • LEI: 529900JFOPPEDUR61H13
T 00800 00 586336* • service@baaderbank.de
WPABRECHNUNG-060.114
* Kostenfreie Telefonnummer aus dem (inter-) nationalen Festnetz. Für Anrufe aus anderen Netzen können Gebühren anfallen.
Expand Up @@ -977,6 +977,13 @@ private <T extends Transaction<?>> void addFeesSectionsTransaction(T transaction
// @formatter:on
.section("currency", "fee").optional()
.match("^Geb.hren extern ADR (?<currency>[\\w]{3}) (?<fee>[\\.,\\d]+)( \\-)?$")
.assign((t, v) -> processFeeEntries(t, v, type))

// @formatter:off
// Mindermengenzuschlag Finanzen.net EUR 1,00
// @formatter:on
.section("currency", "fee").optional()
.match("^Mindermengenzuschlag .* (?<currency>[\\w]{3}) (?<fee>[\\.,\\d]+)( \\-)?$")
.assign((t, v) -> processFeeEntries(t, v, type));
}

Expand Down