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 LGT Bank PDF-Importer to support new transactions #3875

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
@@ -0,0 +1,44 @@
PDFBox Version: 1.8.17
Portfolio Performance Version: 0.68.2
-----------------------------------------
LGT Bank (Schweiz) AG
Glärnischstrasse 36, Postfach, CH-8027 Zürich
Tel. +41 44 250 81 81
lgt.ch@lgt.com, www.lgt.ch, BIC BLFLCHBB
CHE-109.346.830 MWST
Securities dealer no. 647613
____________________
P.P. Post CH AG_____C_H__-_8_0_2_7_ _Z_ü_r_ic_h_ PF 1909 A -PRIORITY_________________________________________________
Liberty Freizügigkeitsstiftung
bei Liberty Vorsorge AG
Postfach 733
6431 Schwyz
1 / 1
Zürich, 26. Juli 2023

Abrechnung Kauf Portfolio: 1234457.000
Auftragsnummer: 212706117 Kundenportfolio
Kunde: Liberty Freizügigkeitsstiftung XX - 1.1001.4567-01
Titel Roche Holding AG
Inhaber-Genussschein
ISIN CH0012032048
Valorennummer 1203204
Wertpapierkennnummer 855167
Abschlussdatum 26.07.2023
Ausführungsplatz SIX Swiss Exchange, börslich
Auftragstyp Bestens
Anzahl 40 Stück
Kurs CHF 273.05
Kurswert CHF 10'922.00
Eidg. Umsatzabgabe CHF 8.19
SIX Börsengebühr CHF 1.24
SIX Meldegebühr CHF 0.20
Belastung CHF Freizügigkeitskonto 2026457.031 CHF 10'931.63
Valuta 28.07.2023
Wir haben die Titel in das oben genannte Depot eingebucht.
Die Gutschrift im oben erwähnten Depot erfolgt vorbehaltlich der effektiven Lieferung.
Dieser Auftrag wurde als Gruppenauftrag ausgeführt.
Weitere Details zum durchgeführten Auftrag stellen wir Ihnen auf Anfrage gerne zur Verfügung.
2026457 00A T ZH I TRD1001 39509429 12:10 26.07.2023 %Media:XML-A4H
____
____
Expand Up @@ -165,7 +165,8 @@ public void testWertpapierKauf03()
// check buy sell transaction
assertThat(results, hasItem(purchase( //
hasDate("2023-06-29T14:54:02"), hasShares(260), //
hasSource("Kauf03.txt"), hasNote("Auftragsnummer: 210796978 | Valorennummer 3176893"), //
hasSource("Kauf03.txt"), //
hasNote("Auftragsnummer: 210796978 | Valorennummer 3176893"), //
hasAmount("CHF", 48502.01), hasGrossValue("CHF", 48465.46), //
hasTaxes("CHF", 36.35), hasFees("CHF", 0.20))));
}
Expand Down Expand Up @@ -195,11 +196,43 @@ public void testWertpapierKauf04()
// check buy sell transaction
assertThat(results, hasItem(purchase( //
hasDate("2023-06-08T00:00"), hasShares(480), //
hasSource("Kauf04.txt"), hasNote("Auftragsnummer: 209174085 | Valorennummer 50139326"), //
hasSource("Kauf04.txt"), //
hasNote("Auftragsnummer: 209174085 | Valorennummer 50139326"), //
hasAmount("USD", 50595.78), hasGrossValue("USD", 50520.00), //
hasTaxes("USD", 75.78), hasFees("USD", 0.00))));
}

@Test
public void testWertpapierKauf05()
{
LGTBankPDFExtractor extractor = new LGTBankPDFExtractor(new Client());

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

List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kauf05.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, "CHF");

// check security
assertThat(results, hasItem(security( //
hasIsin("CH0012032048"), hasWkn("855167"), hasTicker(null), //
hasName("Roche Holding AG Inhaber-Genussschein"), //
hasCurrencyCode("CHF"))));

// check buy sell transaction
assertThat(results, hasItem(purchase( //
hasDate("2023-07-26T00:00"), hasShares(40), //
hasSource("Kauf05.txt"), //
hasNote("Auftragsnummer: 212706117 | Valorennummer 1203204"), //
hasAmount("CHF", 10931.63), hasGrossValue("CHF", 10922.00), //
hasTaxes("CHF", 8.19), hasFees("CHF", 1.24 + 0.20))));
}

@Test
public void testWertpapierVerkauf01()
{
Expand All @@ -225,11 +258,74 @@ public void testWertpapierVerkauf01()
// check buy sell transaction
assertThat(results, hasItem(sale( //
hasDate("2023-06-08T11:22:14"), hasShares(260), //
hasSource("Verkauf01.txt"), hasNote("Auftragsnummer: 209179086 | Valorennummer 41359963"), //
hasSource("Verkauf01.txt"), //
hasNote("Auftragsnummer: 209179086 | Valorennummer 41359963"), //
hasAmount("USD", 8332.19), hasGrossValue("USD", 8344.70), //
hasTaxes("USD", 12.51), hasFees("USD", 0.00))));
}

@Test
public void testWertpapierVerkauf02()
{
LGTBankPDFExtractor extractor = new LGTBankPDFExtractor(new Client());

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

List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Verkauf02.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, "CHF");

// check security
assertThat(results, hasItem(security( //
hasIsin("CH0031768937"), hasWkn("A0MW4N"), hasTicker(null), //
hasName("iShares ETF (CH) - iShares SLI(R) ETF (CH) Inhaber-Anteile -A-"), //
hasCurrencyCode("CHF"))));

// check buy sell transaction
assertThat(results, hasItem(sale( //
hasDate("2023-07-04T00:00"), hasShares(260), //
hasSource("Verkauf02.txt"), //
hasNote("Auftragsnummer: 123295456 | Valorennummer 3176893"), //
hasAmount("CHF", 48591.42), hasGrossValue("CHF", 48636.90), //
hasTaxes("CHF", 36.48), hasFees("CHF", 8.80 + 0.20))));
}

@Test
public void testWertpapierVerkauf03()
{
LGTBankPDFExtractor extractor = new LGTBankPDFExtractor(new Client());

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

List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Verkauf03.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, "CHF");

// check security
assertThat(results, hasItem(security( //
hasIsin("CH0012005267"), hasWkn("904278"), hasTicker(null), //
hasName("Novartis AG Namen-Aktien"), //
hasCurrencyCode("CHF"))));

// check buy sell transaction
assertThat(results, hasItem(sale( //
hasDate("2023-11-02T00:00"), hasShares(260), //
hasSource("Verkauf03.txt"), //
hasNote("Auftragsnummer: 219764567 | Valorennummer 1200526"), //
hasAmount("CHF", 21954.31), hasGrossValue("CHF", 21972.42), //
hasTaxes("CHF", 16.48), hasFees("CHF", 1.43 + 0.20))));
}

@Test
public void testDividende01()
{
Expand Down Expand Up @@ -295,10 +391,11 @@ public void testDividende02()
hasName("Novartis AG Namen-Aktien"), //
hasCurrencyCode("CHF"))));

// check dividende transaction
// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-03-13T00:00"), hasShares(760), //
hasSource("Dividende02.txt"), hasNote("Auftragsnummer: 200738771 | Ordentliche Dividende"), //
hasSource("Dividende02.txt"), //
hasNote("Auftragsnummer: 200738771 | Ordentliche Dividende"), //
hasAmount("CHF", 1580.80), hasGrossValue("CHF", 2432.00), //
hasTaxes("CHF", 851.20), hasFees("CHF", 0.00))));
}
Expand All @@ -325,10 +422,11 @@ public void testDividende03()
hasName("Schindler Holding AG Inhaber-Partizipationsschein"), //
hasCurrencyCode("CHF"))));

// check dividende transaction
// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-04-03T00:00"), hasShares(130), //
hasSource("Dividende03.txt"), hasNote("Auftragsnummer: 330401346 | Ordentliche Dividende"), //
hasSource("Dividende03.txt"), //
hasNote("Auftragsnummer: 330401346 | Ordentliche Dividende"), //
hasAmount("CHF", 338.00), hasGrossValue("CHF", 520.00), //
hasTaxes("CHF", 182.00), hasFees("CHF", 0.00))));
}
Expand All @@ -355,10 +453,11 @@ public void testDividende04()
hasName("SGS Ltd Namen-Aktien"), //
hasCurrencyCode("CHF"))));

// check dividende transaction
// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-04-03T00:00"), hasShares(12), //
hasSource("Dividende04.txt"), hasNote("Auftragsnummer: 303105603 | Ordentliche Dividende"), //
hasSource("Dividende04.txt"), //
hasNote("Auftragsnummer: 303105603 | Ordentliche Dividende"), //
hasAmount("CHF", 624.00), hasGrossValue("CHF", 960.00), //
hasTaxes("CHF", 336.00), hasFees("CHF", 0.00))));
}
Expand All @@ -385,10 +484,11 @@ public void testDividende05()
hasName("iShares ETF (CH) - iShares SLI(R) ETF (CH) Inhaber-Anteile -A-"), //
hasCurrencyCode("CHF"))));

// check dividende transaction
// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2023-04-03T00:00"), hasShares(490), //
hasSource("Dividende05.txt"), hasNote("Auftragsnummer: 303107922 | Ordentliche Dividende"), //
hasSource("Dividende05.txt"), //
hasNote("Auftragsnummer: 303107922 | Ordentliche Dividende"), //
hasAmount("CHF", 127.40), hasGrossValue("CHF", 196.00), //
hasTaxes("CHF", 68.60), hasFees("CHF", 0.00))));
}
Expand Down
@@ -0,0 +1,62 @@
PDFBox Version: 1.8.17
Portfolio Performance Version: 0.68.2
-----------------------------------------
LGT Bank (Schweiz) AG
Glärnischstrasse 36, Postfach, CH-8027 Zürich
Tel. +41 44 250 81 81
lgt.ch@lgt.com, www.lgt.ch, BIC BLFLCHBB
CHE-109.346.830 MWST
Securities dealer no. 647613
____________________
P__.P__.
Post CH AG
_C_H__-_8_0_2_7_ _Z_ü_r_ic_h_ PF 1909 A -PRIORITY_________________________________________________
Liberty Freizügigkeitsstiftung
bei Liberty Vorsorge AG
Postfach 733
6431 Schwyz
1 / 2
Zürich, 4. Juli 2023

Abrechnung Verkauf Portfolio: 1236457.000
Auftragsnummer: 123295456 Kundenportfolio
Kunde: Liberty Freizügigkeitsstiftung XX - 1.1001.1234-01
Titel iShares ETF (CH) - iShares SLI(R) ETF (CH)
Inhaber-Anteile -A-
Verwaltungsgesellschaft / AIFM BlackRock Asset Management Schweiz AG
ISIN CH0031768937
Valorennummer 3176893
Wertpapierkennnummer A0MW4N
Auftragserteilung 04.07.2023 17:09:20
Abschlussdatum 04.07.2023
Ausführungsplatz SIX Swiss Exchange, börslich
Auftragstyp Bestens
Anzahl 260 Stück
Kurs CHF 187.065
Kurswert CHF 48'636.90
Eidg. Umsatzabgabe CHF -36.48
SIX Börsengebühr CHF -8.80
SIX Meldegebühr CHF -0.20
Gutschrift CHF Freizügigkeitskonto 2026457.031 CHF 48'591.42
Valuta 06.07.2023
Wir entnehmen die Titel Ihrem oben genannten Depot.
Die Gutschrift auf oben erwähntem Konto erfolgt vorbehaltlich des effektiven Zahlungseinganges.
2026457 00A T ZH I TRD1001 39509429 18:10 04.07.2023 %Media:XML-A4H
____
____
LGT Bank (Schweiz) AG
Glärnischstrasse 36, Postfach, CH-8027 Zürich
Tel. +41 44 250 81 81
lgt.ch@lgt.com, www.lgt.ch, BIC BLFLCHBB
CHE-109.346.830 MWST
Securities dealer no. 647613
2 / 2
Abrechnung Verkauf Kundenportfolio
Auftragsnummer: 211295144 Portfolio: 2026457.000
Kunde: Liberty Freizügigkeitsstiftung MP - 1.1001.4097-01
Ausführungsdetails
Whg. Anzahl Ausführungszeit Markt Kurs
CHF 63 04.07.2023 17:10:48 SIX Swiss Exchange 187.080000
CHF 2 04.07.2023 17:10:49 SIX Swiss Exchange 187.080000
CHF 195 04.07.2023 17:10:53 SIX Swiss Exchange 187.060000
2026457 00A T ZH I TRD1001 39509429 18:10 04.07.2023 %Media:XML-A4H
@@ -0,0 +1,45 @@
PDFBox Version: 1.8.17
Portfolio Performance Version: 0.68.2
-----------------------------------------
LGT Bank (Schweiz) AG
Glärnischstrasse 36, Postfach, CH-8027 Zürich
Tel. +41 44 250 81 81
lgt.ch@lgt.com, www.lgt.ch, BIC BLFLCHBB
CHE-109.346.830 MWST
Securities dealer no. 647613
____________________
P.P. Post CH AGCH-8027 Zürich PF 1909 -PRIORITY
__________________________________________________A__________________
Liberty Freizügigkeitsstiftung
bei Liberty Vorsorge AG
Postfach 733
6431 Schwyz
1 / 1
Zürich, 2. November 2023

Abrechnung Verkauf Portfolio: 2024567.000
Auftragsnummer: 219764567 Kundenportfolio
Kunde: Liberty Freizügigkeitsstiftung XX - 1.1001.1234-01
Titel Novartis AG
Namen-Aktien
ISIN CH0012005267
Valorennummer 1200526
Wertpapierkennnummer 904278
Abschlussdatum 02.11.2023
Ausführungsplatz SIX Swiss Exchange
Auftragstyp Bestens
Anzahl 260 Stück
Kurs CHF 84.509301
Kurswert CHF 21'972.42
Eidg. Umsatzabgabe CHF -16.48
SIX Börsengebühr CHF -1.43
SIX Meldegebühr CHF -0.20
Gutschrift CHF Freizügigkeitskonto 2024567.031 CHF 21'954.31
Valuta 06.11.2023
Wir haben die Titel dem oben genannten Portfolio entnommen.
Die Gutschrift erfolgt vorbehaltlich des effektiven Zahlungseinganges.
Dieser Auftrag wurde als Gruppenauftrag ausgeführt.
Weitere Details zum durchgeführten Auftrag stellen wir Ihnen auf Anfrage gerne zur Verfügung.
1234457 00A T ZH I TRD1001 39509429 19:13 02.11.2023 %Media:XML-A4H
____
____