Skip to content

Commit 4e4c085

Browse files
authored
Update WirBankPDFExtractor.java
include VIAC Invest documents in English
1 parent bf78e2f commit 4e4c085

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

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

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ public String getLabel()
4444

4545
private void addDepositTransaction()
4646
{
47-
DocumentType type = new DocumentType("(Einzahlung|Deposit|Avis de versement) 3a");
47+
DocumentType type = new DocumentType("(Einzahlung|Deposit|Avis de versement) (3a|VIAC Invest)");
4848
this.addDocumentTyp(type);
4949

5050
Transaction<AccountTransaction> pdfTransaction = new Transaction<>();
5151

52-
Block firstRelevantLine = new Block("^(Einzahlung|Deposit|Avis de versement) 3a$");
52+
Block firstRelevantLine = new Block("^(Einzahlung|Deposit|Avis de versement) (3a|VIAC Invest)$");
5353
type.addBlock(firstRelevantLine);
5454
firstRelevantLine.set(pdfTransaction);
5555

@@ -66,7 +66,7 @@ private void addDepositTransaction()
6666
// Gutschrift: Valuta 15.01.2019 CHF 2'150.00
6767
// @formatter:on
6868
.section("date", "amount", "currency") //
69-
.find("(Einzahlung|Deposit|Versement|Avis de versement) 3a") //
69+
.find("(Einzahlung|Deposit|Versement|Avis de versement) (3a|VIAC Invest)") //
7070
.match("^(Gutschrift: Valuta|Credit: Value date|Montant cr.dit.: Valeur) (?<date>[\\d]{2}\\.[\\d]{2}\\.[\\d]{4}) (?<currency>[\\w]{3}) (?<amount>[\\.,'\\d]+)$") //
7171
.assign((t, v) -> {
7272
t.setDateTime(asDate(v.get("date")));
@@ -87,13 +87,13 @@ private void addDepositTransaction()
8787
private void addBuySellTransaction()
8888
{
8989
DocumentType type = new DocumentType("(B.rsenabrechnung|Exchange Settlement|Op.ration de bourse) " //
90-
+ "\\- (Kauf|Zeichnung|Verkauf|R.cknahme|Buy|Sell|Achat|Vente)");
90+
+ "\\- (Kauf|Zeichnung|Verkauf|R.cknahme|Buy|Subscription|Sell|Redemption|Achat|Vente)");
9191
this.addDocumentTyp(type);
9292

9393
Transaction<BuySellEntry> pdfTransaction = new Transaction<>();
9494

9595
Block firstRelevantLine = new Block("^(B.rsenabrechnung|Exchange Settlement|Op.ration de bourse) " //
96-
+ "\\- (Kauf|Zeichnung|Verkauf|R.cknahme|Buy|Sell|Achat|Vente).*$");
96+
+ "\\- (Kauf|Zeichnung|Verkauf|R.cknahme|Buy|Subscription|Sell|Redemption|Achat|Vente).*$");
9797
type.addBlock(firstRelevantLine);
9898
firstRelevantLine.set(pdfTransaction);
9999

@@ -108,11 +108,12 @@ private void addBuySellTransaction()
108108
// Is type --> "Verkauf" change from BUY to SELL
109109
.section("type").optional() //
110110
.match("^(B.rsenabrechnung|Exchange Settlement|Op.ration de bourse) " //
111-
+ "\\- (?<type>(Kauf|Zeichnung|Verkauf|R.cknahme|Buy|Sell|Achat|Vente)).*$") //
111+
+ "\\- (?<type>(Kauf|Zeichnung|Verkauf|R.cknahme|Buy|Subscription|Sell|Redemption|Achat|Vente)).*$") //
112112
.assign((t, v) -> {
113113
if ("Verkauf".equals(v.get("type")) //
114114
|| "Rücknahme".equals(v.get("type")) //
115115
|| "Sell".equals(v.get("type")) //
116+
|| "Redemption".equals(v.get("type")) //
116117
|| "Vente".equals(v.get("type")))
117118
t.setType(PortfolioTransaction.Type.SELL);
118119
})
@@ -124,7 +125,7 @@ private void addBuySellTransaction()
124125
// Kurs: USD 262.51
125126
// @formatter:on
126127
.section("isin", "name", "currency") //
127-
.find("(Order|Ordre): (Kauf|Zeichnung|Verkauf|R.cknahme|Buy|Sell|Achat|Vente)") //
128+
.find("(Order|Ordre): (Kauf|Zeichnung|Verkauf|R.cknahme|Buy|Subscription|Sell|Redemption|Achat|Vente)") //
128129
.match("^[\\.,\\d]+ (Anteile|Qty|Ant|units|Qt.|Quantit.|parts|actions)?(?<name>.*)$") //
129130
.match("^ISIN: (?<isin>[A-Z]{2}[A-Z0-9]{9}[0-9])$") //
130131
.match("^(Kurs|Price|Cours): (?<currency>[\\w]{3}) .*$") //
@@ -135,7 +136,7 @@ private void addBuySellTransaction()
135136
// 0.027 units Swisscanto Pacific ex Japan
136137
// @formatter:on
137138
.section("shares") //
138-
.find("(Order|Ordre): (Kauf|Zeichnung|Verkauf|R.cknahme|Buy|Sell|Achat|Vente)") //
139+
.find("(Order|Ordre): (Kauf|Zeichnung|Verkauf|R.cknahme|Buy|Subscription|Sell|Redemption|Achat|Vente)") //
139140
.match("^(?<shares>[\\.,\\d]+) (Anteile|Qty|Ant|units|Qt.|Quantit.|parts|actions)?(?<name>.*)$") //
140141
.assign((t, v) -> t.setShares(asShares(v.get("shares"))))
141142

@@ -209,7 +210,7 @@ private void addInterestTransaction()
209210
.match("^(Am|On|Nous avons cr.dit. le) ?" //
210211
+ "(?<date>[\\d]{2}\\.[\\d]{2}\\.[\\d]{4}) " //
211212
+ "(haben wir (Ihrem Konto|Ihnen) gutgeschrieben|we have credited (you|your account)|les int.r.ts suivants):$") //
212-
.match("^(Zinsgutschrift|Interest credit|Int.r.ts cr.diteurs): (?<currency>[\\w]{3}) (?<amount>[\\.,'\\d]+)$") //
213+
.match("^(Zinsgutschrift|Interest credit|Interest amount|Int.r.ts cr.diteurs): (?<currency>[\\w]{3}) (?<amount>[\\.,'\\d]+)$") //
213214
.assign((t, v) -> {
214215
t.setDateTime(asDate(v.get("date")));
215216
t.setAmount(asAmount(v.get("amount")));

0 commit comments

Comments
 (0)