Skip to content

Commit 3e53267

Browse files
committed
Downport 0.76.3 PDF importer to e430 branch
1 parent 3e6ef7b commit 3e53267

File tree

18 files changed

+2575
-1599
lines changed

18 files changed

+2575
-1599
lines changed

name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ebase/EbasePDFExtractorTest.java

Lines changed: 1157 additions & 1246 deletions
Large diffs are not rendered by default.
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
PDFBox Version: 1.8.17
2+
Portfolio Performance Version: 0.71.10.e430-v0761
3+
-----------------------------------------
4+
finvesto, 80218 München
5+
Umsatzabrechnung-Nr. 16
6+
Depot-Nr. 12345678901
7+
Seite 1 von 3
8+
Herrn
9+
Max Mustermann
10+
Musterstr. 12
11+
12345 Musterstadt
12+
02.04.2025
13+
Umsatzabrechnung für Ihr finvesto Depot bei der FNZ Bank
14+
für den Zeitraum vom 07.01.2025 bis 01.04.2025
15+
Vorabpauschale zum Stichtag 31.12.2024 aus Depotposition 12345678901.01
16+
Vanguard FTSE All-World U.ETF Reg. Shs USD Acc. oN
17+
Ref. Nr. 0400041153/24012025, Buchungsdatum 24.01.2025
18+
ISIN Betrag je Anteil
19+
IE00BK5BQT80 1,718172340 EUR
20+
Kapitalertragsteuer Solidaritätszuschlag Kirchensteuer
21+
1,12 EUR 0,06 EUR 0,00 EUR
22+
Abwicklung über IBAN Institut Zahlungsbetrag
23+
DE54700130001234567890 FNZ Bank 1,18 EUR
24+
Sie haben Fragen zur Vorabpauschale? Weitere Informationen finden Sie unter Steuern & Gesetze auf unserer Homepage
25+
(https://www.fnz.de/faq).
26+
Kauf 13,29 EUR mit Kursdatum 27.01.2025 in Depotposition 12345678901.01
27+
Vanguard FTSE All-World U.ETF Reg. Shs USD Acc. oN
28+
Ref. Nr. 0400000987/27012025, Buchungsdatum 28.01.2025
29+
ISIN Anteile Abrechnungskurs Devisenkurs Betrag
30+
IE00BK5BQT80 0,097258 141,800000 USD 1,037709 13,29 EUR
31+
vermögenswirksame Leistungen
32+
gezahlte Devisenkursmarge 0,06 EUR bei einem Mittelkurs von 1,042400 EUR/USD (im Devisenkurs enthalten)
33+
Zahlungsbetrag aus Überweisung 13,29 EUR
34+
Kauf 13,29 EUR mit Kursdatum 26.02.2025 in Depotposition 12345678901.01
35+
Vanguard FTSE All-World U.ETF Reg. Shs USD Acc. oN
36+
Ref. Nr. 0400017713/26022025, Buchungsdatum 27.02.2025
37+
ISIN Anteile Abrechnungskurs Devisenkurs Betrag
38+
IE00BK5BQT80 0,096250 144,000000 USD 1,042886 13,29 EUR
39+
vermögenswirksame Leistungen
40+
gezahlte Devisenkursmarge 0,06 EUR bei einem Mittelkurs von 1,047600 EUR/USD (im Devisenkurs enthalten)
41+
Zahlungsbetrag aus Überweisung 13,29 EUR
42+
Gerne beantworten wir Ihre Fragen unter der Info-Line +49 89 45460-380.
43+
Das Team der finvesto Anlageberatung erreichen Sie unter +49 89 45460-389.
44+
Diese Mitteilung wird nicht unterschrieben.
45+
finvesto - eine Marke Amtsgericht München Kontakt: Vorstand:
46+
der FNZ Bank SE HRB 289 271 Telefon: +49 89 45460-380 Peter Karst (Vors.), Philip Laucks,
47+
80218 München USt-ID Nr. DE 813330104 Telefax: +49 89 45460-161 Pamela Schmidt-Fischbach
48+
Gläubiger-ID: E-Mail: info@finvesto.de Aufsichtsratsvorsitzende:
49+
DE68ZZZ00000025032 Web: www.finvesto.de Zvezdana Seeger
50+
Umsatzabrechnung-Nr. 16
51+
Depot-Nr. 12345678901
52+
Seite 2 von 3
53+
Kauf 13,29 EUR mit Kursdatum 31.03.2025 in Depotposition 12345678901.01
54+
Vanguard FTSE All-World U.ETF Reg. Shs USD Acc. oN
55+
Ref. Nr. 0400033849/31032025, Buchungsdatum 01.04.2025
56+
ISIN Anteile Abrechnungskurs Devisenkurs Betrag
57+
IE00BK5BQT80 0,104955 135,820000 USD 1,075040 13,26 EUR
58+
vermögenswirksame Leistungen
59+
gezahlte Devisenkursmarge 0,06 EUR bei einem Mittelkurs von 1,079900 EUR/USD (im Devisenkurs enthalten)
60+
Belastete Entgelte zzgl. Entgelte
61+
Summe 0,03 EUR
62+
Zahlungsbetrag aus Überweisung 13,29 EUR
63+
Entgelte Betrag offene Forderung belasteter Betrag
64+
ETF-Transaktionsentgelt 0,03 EUR 0,00 EUR 0,03 EUR
65+
Summe der belasteten Entgelte 0,03 EUR
66+
Bestand der Depotpositionen mit Umsatz nach Verbuchung
67+
Pos. Fonds Anteile Bewertungskurs zum Datum Devisenkurs Bestand
68+
01 IE00BK5BQT80 4,583363 136,892900 USD 31.03.2025 1,081900 579,93 EUR
69+
Vanguard FTSE All-World U.ETF Reg. Shs USD Acc. oN
70+
Verwahrart: Wertpapierrechnung, Lagerland: Großbritannien
71+
vermögenswirksame Leistungen
72+
Bis 01.01.2029 sind 4,583363 Anteile gemäß Vermögensbildungsgesetz gesperrt.
73+
Depotgesamtwert 579,93 EUR
74+
Für die im Depot verbuchten und hier ausgewiesenen Fondsanteile besteht - soweit nicht abweichend gekennzeichnet - ein Eigentums-
75+
bzw. eigentumsähnlicher Schutz im Sinne der europäischen Finanzmarktrichtlinie 2014/65 (EU).
76+
4Wir haben keinen Freistellungsauftrag für Sie vorgemerkt.
77+
Einzahlungen
78+
Sofern Sie nicht vom Einzugsverfahren Gebrauch machen, leisten Sie Ihre Zahlungen bitte auf folgendes Treuhandkonto der
79+
FNZ Bank SE: Commerzbank AG, München, IBAN: DE32 7004 0041 0212 2331 00,
80+
BIC: COBADEFFXXX.
81+
Bitte geben Sie bei Überweisungen immer zusätzlich im Verwendungszweck an:
82+
• Bei Nachkauf eines Fonds, den Sie bereits in Ihrem Investment Depot halten, die 13-stellige Depotpositionsnummer.
83+
• Bei Kauf eines neuen Fonds, den Sie noch nicht in Ihrem Investment Depot halten, die 11-stellige Depotnummer + ISIN.
84+
Für Einzahlungen auf verschiedenen Fonds verwenden Sie bitte jeweils separate Überweisungsformulare.
85+
Prüfung und Einwendungen
86+
Wir bitten Sie, die vorliegende Abrechnung und die darin aufgeführten Umsätze auf ihre Richtigkeit und Vollständigkeit zu über-
87+
prüfen. Einwendungen wegen Unrichtigkeit oder Unvollständigkeit dieser Abrechnung erheben Sie bitte unverzüglich nach
88+
dessen Zugang gegenüber der FNZ Bank SE unter Nennung der Depotnummer und des Datums der Abrechnung. Das Unterlassen der
89+
rechtzeitigen Einwendung(en) gilt als Genehmigung der Abrechnung(en), gemäß Punkt "Prüfungen und Einwendungen bei Mitteilung-
90+
en der FNZ Bank" der Allgemeinen Geschäftsbedingungen der FNZ Bank SE für Privatanleger.
91+
Bitte denken Sie daran, uns frühzeitig über Änderungen Ihrer persönlichen Daten zu informieren.
92+
Diese Mitteilung wird nicht unterschrieben.
93+
finvesto - eine Marke Amtsgericht München Kontakt: Vorstand:
94+
der FNZ Bank SE HRB 289 271 Telefon: +49 89 45460-380 Peter Karst (Vors.), Philip Laucks,
95+
80218 München USt-ID Nr. DE 813330104 Telefax: +49 89 45460-161 Pamela Schmidt-Fischbach
96+
Gläubiger-ID: E-Mail: info@finvesto.de Aufsichtsratsvorsitzende:
97+
DE68ZZZ00000025032 Web: www.finvesto.de Zvezdana Seeger
98+
Umsatzabrechnung-Nr. 16
99+
Depot-Nr. 12345678901
100+
Seite 3 von 3
101+
Ausführung und Erfüllung von Aufträgen/ Ausschluss von Beratung/ Keine Risikoklassifizierung durch die FNZ Bank
102+
Die FNZ Bank SE führt Aufträge über den Kauf und/oder Verkauf von Investmentfondsanteilen als Kommissionärin, ggf. unter Ein-
103+
schaltung eines Zwischenkommissionärs, mit der Kapitalverwaltungs-/Verwaltungsgesellschaft, als am besten geeignete Stelle im Sinne
104+
des § 33a WpHG aus.
105+
Die FNZ Bank SE wird gemäß Punkt ”Ausführung und Erfüllung von Aufträgen” der Bedingungen für das Investment Depot für Privat-
106+
anleger, die Aufträge ggf. unter Einbeziehung eines Zwischenkommissionärs ausschließlich über die jeweilige Kapitalverwaltungs-/
107+
Verwaltungsgesellschaft als am besten geeignete Stelle zur Beschaffung von Fondsanteilen abwickeln. Ihnen ist bekannt, dass
108+
durch die FNZ Bank SE keine vorherige Beratung und/oder Angemessenheitsprüfung gemäß Punkt ”Ausschluss von Beratung
109+
("execution only”)” sowie keine Risikoklassifizierung gemäß Punkt ”keine Risikoklassifizierung durch die FNZ Bank” der Bedingungen
110+
für das Investment Depot für Privatanleger bei der FNZ Bank, erfolgt.
111+
Sofern es sich um einen Auftrag zum Kauf von Finanzinstrumenten im beratungsfreien Geschäft (z.B. komplexe Fonds) und außerhalb
112+
des reinen Ausführungsgeschäft handelt, wird ein Abgleich auf Ihre Kenntnisse und Erfahrungen vollzogen.
113+
Zurverfügungstellung von Verkaufsunterlagen
114+
Die FNZ Bank bzw. die Kapitalverwal¦tungs-/Verwaltungsgesellschaft haben dem Kunden für sämtliche Geschäfte die jeweils gültigen
115+
Verkaufsunterlagen (Wesentliche Anlegerinformationen/Key Investor Document [KID] und aktueller Verkaufsprospekt sowie der
116+
aktuelle Halbjahres-/Jahresbericht bei den unter das Kapitalanlagegesetzbuch [KAGB] fallenden Fonds) kostenlos rechtzeitig zur
117+
Verfügung gestellt. Zusätzlich können diese Verkaufsunterlagen auf der Homepage der finvesto (www.finvesto.de) eingesehen
118+
und heruntergeladen werden. Bitte beachten Sie die Risikohinweise im jeweils aktuellen Verkaufsprospekt Ihres jeweiligen Fonds.
119+
Hinweis auf den Erhalt und die Gewährung von Zuwendungen sowie den Verzicht auf die Herausgabe der Zuwendungen
120+
Sie wurden von der FNZ Bank SE ausdrücklich auf den Erhalt und die Gewährung von Zuwendungen sowie den Verzicht auf
121+
die Herausgabe der Zuwendungen gemäß Punkt "Hinweis auf den Erhalt und die Gewährung von Zuwendungen sowie den Verzicht
122+
auf die Herausgabe der Zuwendungen" in dem jeweils aktuell gultigen Preis- und Leistungsverzeichnis hingewiesen.
123+
Diese Mitteilung wird nicht unterschrieben.
124+
finvesto - eine Marke Amtsgericht München Kontakt: Vorstand:
125+
der FNZ Bank SE HRB 289 271 Telefon: +49 89 45460-380 Peter Karst (Vors.), Philip Laucks,
126+
80218 München USt-ID Nr. DE 813330104 Telefax: +49 89 45460-161 Pamela Schmidt-Fischbach
127+
Gläubiger-ID: E-Mail: info@finvesto.de Aufsichtsratsvorsitzende:
128+
DE68ZZZ00000025032 Web: www.finvesto.de Zvezdana Seeger
129+
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
PDFBox Version: 3.0.3
2+
Portfolio Performance Version: 0.76.0
3+
System: macosx | aarch64 | 21.0.5+11-LTS | Azul Systems, Inc.
4+
-----------------------------------------
5+
Kontoauszug Nr. 4/2025
6+
01.04.2025 bis 30.04.2025
7+
Beschreibung Verbuchungsdatum Betrag
8+
Zinsertrag 01.04.2025 +15,01€
9+
Wertstellung 01.04.2025
10+
Abgeltungssteuer 01.04.2025 -3,75€
11+
Wertstellung 01.04.2025
12+
Solidaritätszuschlag 01.04.2025 -0,20€
13+
Wertstellung 01.04.2025
14+
An Hauptkonto 13.04.2025 -2.000,00€
15+
Wertstellung 13.04.2025
16+
Max Mustermann Kontotyp: Sparkonto Erstellt am
17+
Musterstraße 123, 01234 Musterstadt IBAN: DE99100110010123456789 06.05.2025
18+
BIC: NTSBDEB1XXX 4/2025
19+
N26 Bank SE | Voltairestraße 8, 10179 Berlin, Deutschland | Eingetragen im Handelsregister des Amtsgerichts Charlottenburg –
20+
HRB 247469 B | Vorstand: Maximilian Tayenthal, Carina Kozole, Arnd Schwierholz | Vorsitzender des Aufsichtsrates: Marcus W.
21+
Mosen | USt-ID: DE305957096 | Steueridentifikationsnummer: 27/002/37616 | Zuständige Aufsichtsbehörde: Bundesanstalt für
22+
Finanzdienstleistungsaufsicht (BaFin), eingetragen in der Unternehmensdatenbank der BaFin unter der Nr.: 145827 | imprint@n26.
23+
com | https://n26.com/de-de 1/4
24+
Übersicht Nr. 4/2025
25+
01.04.2025 bis 30.04.2025
26+
Beschreibung Betrag
27+
Dein alter Kontostand +4.309,84€
28+
Ausgehende Transaktionen -2.003,95€
29+
Steuern -3,95€
30+
Gebühren 0,00€
31+
Einkommende Transaktionen +15,01€
32+
Zinsertrag +15,01€
33+
Dein neuer Kontostand +2.320,90€
34+
Max Mustermann Kontotyp: Sparkonto Erstellt am
35+
Musterstraße 123, 01234 Musterstadt IBAN: DE99100110010123456789 06.05.2025
36+
BIC: NTSBDEB1XXX 4/2025
37+
N26 Bank SE | Voltairestraße 8, 10179 Berlin, Deutschland | Eingetragen im Handelsregister des Amtsgerichts Charlottenburg –
38+
HRB 247469 B | Vorstand: Maximilian Tayenthal, Carina Kozole, Arnd Schwierholz | Vorsitzender des Aufsichtsrates: Marcus W.
39+
Mosen | USt-ID: DE305957096 | Steueridentifikationsnummer: 27/002/37616 | Zuständige Aufsichtsbehörde: Bundesanstalt für
40+
Finanzdienstleistungsaufsicht (BaFin), eingetragen in der Unternehmensdatenbank der BaFin unter der Nr.: 145827 | imprint@n26.
41+
com | https://n26.com/de-de 2/4
42+
Übersicht zu Gebühren und
43+
Zinsen
44+
Nr. 4/2025
45+
01.04.2025 bis 30.04.2025
46+
Gebühren 0,00€
47+
Steuern
48+
Abgeltungssteuer -3,75€
49+
Solidaritätszuschlag -0,20€
50+
Gesamt -3,95€
51+
Zinsen
52+
Zinsertrag +15,01€
53+
Gesamt +15,01€
54+
Max Mustermann Kontotyp: Sparkonto Erstellt am
55+
Musterstraße 123, 01234 Musterstadt IBAN: DE99100110010123456789 06.05.2025
56+
BIC: NTSBDEB1XXX 4/2025
57+
N26 Bank SE | Voltairestraße 8, 10179 Berlin, Deutschland | Eingetragen im Handelsregister des Amtsgerichts Charlottenburg –
58+
HRB 247469 B | Vorstand: Maximilian Tayenthal, Carina Kozole, Arnd Schwierholz | Vorsitzender des Aufsichtsrates: Marcus W.
59+
Mosen | USt-ID: DE305957096 | Steueridentifikationsnummer: 27/002/37616 | Zuständige Aufsichtsbehörde: Bundesanstalt für
60+
Finanzdienstleistungsaufsicht (BaFin), eingetragen in der Unternehmensdatenbank der BaFin unter der Nr.: 145827 | imprint@n26.
61+
com | https://n26.com/de-de 3/4
62+
Kontoauszug Nr. 4/2025
63+
01.04.2025 bis 30.04.2025
64+
Anmerkung
65+
Unsere Allgemeinen Geschäftsbedingungen sind für unsere gesamte
66+
Geschäftsverbindung mit dir gültig. Bitte melde Einwendungen immer direkt
67+
nach dem Bekanntwerden. Wenn du Einwendungen nicht rechtzeitig meldest,
68+
gilt dies als Zustimmung.
69+
Es kann zu Abweichungen zwischen deinem Kontoauszug und der Anzeige in
70+
deiner App oder dem Onlinebanking kommen, da Transaktionen in Echtzeit
71+
dargestellt werden, die tatsächliche Durchführung hingegen 1-2 Tage in
72+
Anspruch nehmen kann. Auf dem Kontoauszug werden nur vollständig
73+
durchgeführte Transaktionen abgebildet.
74+
Dein Guthaben ist als Einlagen nach Maßgabe des Einlagensicherungsgesetzes
75+
entschädigungsfähig. Nähere Informationen kannst du dem "Informationsbogen
76+
für den Einleger" auf unserer Webseite entnehmen.
77+
Max Mustermann Kontotyp: Sparkonto Erstellt am
78+
Musterstraße 123, 01234 Musterstadt IBAN: DE99100110010123456789 06.05.2025
79+
BIC: NTSBDEB1XXX 4/2025
80+
N26 Bank SE | Voltairestraße 8, 10179 Berlin, Deutschland | Eingetragen im Handelsregister des Amtsgerichts Charlottenburg –
81+
HRB 247469 B | Vorstand: Maximilian Tayenthal, Carina Kozole, Arnd Schwierholz | Vorsitzender des Aufsichtsrates: Marcus W.
82+
Mosen | USt-ID: DE305957096 | Steueridentifikationsnummer: 27/002/37616 | Zuständige Aufsichtsbehörde: Bundesanstalt für
83+
Finanzdienstleistungsaufsicht (BaFin), eingetragen in der Unternehmensdatenbank der BaFin unter der Nr.: 145827 | imprint@n26.
84+
com | https://n26.com/de-de 4/4

name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/n26bankag/N26BankAGPDFExtractorTest.java

Lines changed: 41 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,32 +23,29 @@
2323

2424
import org.junit.Test;
2525

26-
import name.abuchen.portfolio.datatransfer.Extractor.Item;
2726
import name.abuchen.portfolio.datatransfer.actions.AssertImportActions;
2827
import name.abuchen.portfolio.datatransfer.pdf.N26BankAGkPDFExtractor;
2928
import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile;
3029
import name.abuchen.portfolio.model.Client;
31-
import name.abuchen.portfolio.money.CurrencyUnit;
3230

3331
@SuppressWarnings("nls")
3432
public class N26BankAGPDFExtractorTest
3533
{
3634
@Test
3735
public void testKontoauszug01()
3836
{
39-
N26BankAGkPDFExtractor extractor = new N26BankAGkPDFExtractor(new Client());
37+
var extractor = new N26BankAGkPDFExtractor(new Client());
4038

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

43-
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kontoauszug01.txt"),
44-
errors);
41+
var results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kontoauszug01.txt"), errors);
4542

4643
assertThat(errors, empty());
4744
assertThat(countSecurities(results), is(0L));
4845
assertThat(countBuySell(results), is(0L));
4946
assertThat(countAccountTransactions(results), is(2L));
5047
assertThat(results.size(), is(2));
51-
new AssertImportActions().check(results, CurrencyUnit.EUR);
48+
new AssertImportActions().check(results, "EUR");
5249

5350
// assert transaction
5451
assertThat(results, hasItem(interest( //
@@ -66,19 +63,18 @@ public void testKontoauszug01()
6663
@Test
6764
public void testKontoauszug02()
6865
{
69-
N26BankAGkPDFExtractor extractor = new N26BankAGkPDFExtractor(new Client());
66+
var extractor = new N26BankAGkPDFExtractor(new Client());
7067

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

73-
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kontoauszug02.txt"),
74-
errors);
70+
var results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kontoauszug02.txt"), errors);
7571

7672
assertThat(errors, empty());
7773
assertThat(countSecurities(results), is(0L));
7874
assertThat(countBuySell(results), is(0L));
7975
assertThat(countAccountTransactions(results), is(3L));
8076
assertThat(results.size(), is(3));
81-
new AssertImportActions().check(results, CurrencyUnit.EUR);
77+
new AssertImportActions().check(results, "EUR");
8278

8379
// assert transaction
8480
assertThat(results, hasItem(interest( //
@@ -100,19 +96,18 @@ public void testKontoauszug02()
10096
@Test
10197
public void testKontoauszug03()
10298
{
103-
N26BankAGkPDFExtractor extractor = new N26BankAGkPDFExtractor(new Client());
99+
var extractor = new N26BankAGkPDFExtractor(new Client());
104100

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

107-
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kontoauszug03.txt"),
108-
errors);
103+
var results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kontoauszug03.txt"), errors);
109104

110105
assertThat(errors, empty());
111106
assertThat(countSecurities(results), is(0L));
112107
assertThat(countBuySell(results), is(0L));
113108
assertThat(countAccountTransactions(results), is(1L));
114109
assertThat(results.size(), is(1));
115-
new AssertImportActions().check(results, CurrencyUnit.EUR);
110+
new AssertImportActions().check(results, "EUR");
116111

117112
// assert transaction
118113
assertThat(results, hasItem(interest( //
@@ -126,19 +121,18 @@ public void testKontoauszug03()
126121
@Test
127122
public void testKontoauszug04()
128123
{
129-
N26BankAGkPDFExtractor extractor = new N26BankAGkPDFExtractor(new Client());
124+
var extractor = new N26BankAGkPDFExtractor(new Client());
130125

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

133-
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kontoauszug04.txt"),
134-
errors);
128+
var results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kontoauszug04.txt"), errors);
135129

136130
assertThat(errors, empty());
137131
assertThat(countSecurities(results), is(0L));
138132
assertThat(countBuySell(results), is(0L));
139133
assertThat(countAccountTransactions(results), is(1L));
140134
assertThat(results.size(), is(1));
141-
new AssertImportActions().check(results, CurrencyUnit.EUR);
135+
new AssertImportActions().check(results, "EUR");
142136

143137
// assert transaction
144138
assertThat(results, hasItem(interest( //
@@ -148,4 +142,33 @@ public void testKontoauszug04()
148142
hasAmount("EUR", 43.08), hasGrossValue("EUR", 58.51), //
149143
hasTaxes("EUR", 14.63 + 0.80), hasFees("EUR", 0.00))));
150144
}
145+
146+
@Test
147+
public void testKontoauszug05()
148+
{
149+
var extractor = new N26BankAGkPDFExtractor(new Client());
150+
151+
List<Exception> errors = new ArrayList<>();
152+
153+
var results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kontoauszug05.txt"), errors);
154+
155+
assertThat(errors, empty());
156+
assertThat(countSecurities(results), is(0L));
157+
assertThat(countBuySell(results), is(0L));
158+
assertThat(countAccountTransactions(results), is(2L));
159+
assertThat(results.size(), is(2));
160+
new AssertImportActions().check(results, "EUR");
161+
162+
// assert transaction
163+
assertThat(results, hasItem(removal(hasDate("2025-04-13"), hasAmount("EUR", 2000.00), //
164+
hasSource("Kontoauszug05.txt"), hasNote(null))));
165+
166+
// assert transaction
167+
assertThat(results, hasItem(interest( //
168+
hasDate("2025-04-01T00:00"), //
169+
hasSource("Kontoauszug05.txt"), //
170+
hasNote(null), //
171+
hasAmount("EUR", 11.06), hasGrossValue("EUR", 15.01), //
172+
hasTaxes("EUR", 3.75 + 0.20), hasFees("EUR", 0.00))));
173+
}
151174
}

0 commit comments

Comments
 (0)