diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6501d33e2..7c04a9e19 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## Unreleased
+
+### Added
+
+- Added support for fees on account level (experimental)
+
+### Fixed
+
+- Fixed the export functionality for liabilities
+
## 2.2.0 - 2023-09-17
### Added
diff --git a/apps/api/src/app/export/export.service.ts b/apps/api/src/app/export/export.service.ts
index fb7e09d41..f717a3ead 100644
--- a/apps/api/src/app/export/export.service.ts
+++ b/apps/api/src/app/export/export.service.ts
@@ -77,7 +77,10 @@ export class ExportService {
currency: SymbolProfile.currency,
dataSource: SymbolProfile.dataSource,
date: date.toISOString(),
- symbol: type === 'ITEM' ? SymbolProfile.name : SymbolProfile.symbol
+ symbol:
+ type === 'FEE' || type === 'ITEM' || type === 'LIABILITY'
+ ? SymbolProfile.name
+ : SymbolProfile.symbol
};
}
)
diff --git a/apps/api/src/app/order/order.service.ts b/apps/api/src/app/order/order.service.ts
index 0f7da5da3..13709fad1 100644
--- a/apps/api/src/app/order/order.service.ts
+++ b/apps/api/src/app/order/order.service.ts
@@ -97,7 +97,11 @@ export class OrderService {
const updateAccountBalance = data.updateAccountBalance ?? false;
const userId = data.userId;
- if (data.type === 'ITEM' || data.type === 'LIABILITY') {
+ if (
+ data.type === 'FEE' ||
+ data.type === 'ITEM' ||
+ data.type === 'LIABILITY'
+ ) {
const assetClass = data.assetClass;
const assetSubClass = data.assetSubClass;
currency = data.SymbolProfile.connectOrCreate.create.currency;
@@ -151,7 +155,7 @@ export class OrderService {
const orderData: Prisma.OrderCreateInput = data;
const isDraft =
- data.type === 'LIABILITY'
+ data.type === 'FEE' || data.type === 'ITEM' || data.type === 'LIABILITY'
? false
: isAfter(data.date as Date, endOfToday());
@@ -197,7 +201,11 @@ export class OrderService {
where
});
- if (order.type === 'ITEM' || order.type === 'LIABILITY') {
+ if (
+ order.type === 'FEE' ||
+ order.type === 'ITEM' ||
+ order.type === 'LIABILITY'
+ ) {
await this.symbolProfileService.deleteById(order.symbolProfileId);
}
@@ -368,7 +376,11 @@ export class OrderService {
let isDraft = false;
- if (data.type === 'ITEM' || data.type === 'LIABILITY') {
+ if (
+ data.type === 'FEE' ||
+ data.type === 'ITEM' ||
+ data.type === 'LIABILITY'
+ ) {
delete data.SymbolProfile.connect;
} else {
delete data.SymbolProfile.update;
diff --git a/apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html b/apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
index 81c25bf75..a84fbebaf 100644
--- a/apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
+++ b/apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
@@ -5,6 +5,15 @@
+
-
- Fees for {{ summary?.ordersCount }} {summary?.ordersCount, plural, =1
- {transaction} other {transactions}}
-
+
Fees
-
{{ typesTranslationMap[activityForm.controls['type'].value]
}}
-
+
{{ typesTranslationMap['BUY'] }}
-
- Stocks, ETFs, bonds, cryptocurrencies, commodities
-
+
+ {{ typesTranslationMap['FEE'] }}
+ One-time fee, annual account fees
+
+
{{ typesTranslationMap['DIVIDEND'] }}
+ Distribution of corporate earnings
-
+
{{ typesTranslationMap['LIABILITY'] }}
-
- Mortgages, personal loans, credit cards
-
+
{{ typesTranslationMap['SELL'] }}
-
- Stocks, ETFs, bonds, cryptocurrencies, commodities
-
+
{{ typesTranslationMap['ITEM'] }}
-
- Luxury items, real estate, private companies
@@ -125,60 +133,71 @@
Quantity
-
-
-
- Dividend
+
+
+
+ Dividend
+ Value
+ Value
+ Unit Price
+
+
+
+
+
+
+ {{ currency }}
+
+
+
+ Oops! Could not get the historical exchange rate
+ from
- Value
- Value
- Unit Price
-
-
-
-
-
-
- {{ currency }}
-
-
-
- Oops! Could not get the historical exchange rate from
- {{ activityForm.controls['date']?.value | date: defaultDateFormat
- }}
+
-
+
+
+
@@ -187,6 +206,7 @@
Dividend
+ Value
Value
Value
Unit Price
diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf
index ff6ed4f9a..a305e6760 100644
--- a/apps/client/src/locales/messages.de.xlf
+++ b/apps/client/src/locales/messages.de.xlf
@@ -134,11 +134,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 92
+ 100
libs/ui/src/lib/activities-table/activities-table.component.html
- 198
+ 203
libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -170,27 +170,31 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 142
+ 154
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 143
+ 156
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 190
+ 209
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 191
+ 210
+
+
+ apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
+ 211
libs/ui/src/lib/activities-table/activities-table.component.html
- 340
+ 345
libs/ui/src/lib/activities-table/activities-table.component.html
- 375
+ 380
libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -210,7 +214,7 @@
libs/ui/src/lib/activities-table/activities-table.component.html
- 517
+ 522
@@ -230,7 +234,7 @@
libs/ui/src/lib/activities-table/activities-table.component.html
- 533
+ 538
@@ -278,7 +282,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 108
+ 116
@@ -370,7 +374,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 114
+ 122
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -414,7 +418,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 326
+ 346
apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html
@@ -450,7 +454,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 333
+ 353
apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html
@@ -1122,7 +1126,7 @@
Kauf
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 12
+ 21
@@ -1130,7 +1134,7 @@
Verkauf
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 24
+ 33
@@ -1138,7 +1142,7 @@
Einlage
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 39
+ 48
apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html
@@ -1150,7 +1154,7 @@
Absolute Brutto Performance
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 51
+ 60
@@ -1158,15 +1162,18 @@
Brutto Performance
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 63
+ 72
-
-
- Gebühren für
+
+
+ Gebühren für
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 78,81
+ 12,15
@@ -1174,7 +1181,7 @@
{VAR_PLURAL, plural, =1 {Transaktion} other {Transaktionen}}
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 79,80
+ 13,14
@@ -1182,7 +1189,7 @@
Absolute Netto Performance
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 97
+ 103
@@ -1190,7 +1197,7 @@
Netto Performance
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 109
+ 115
@@ -1198,7 +1205,7 @@
Gesamtanlagevermögen
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 125
+ 131
@@ -1206,7 +1213,7 @@
Wertsachen
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 138
+ 144
@@ -1214,7 +1221,7 @@
Notfallfonds
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 150
+ 156
apps/client/src/app/pages/features/features-page.html
@@ -1226,7 +1233,7 @@
Kaufkraft
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 197
+ 203
@@ -1234,7 +1241,7 @@
Gesamtvermögen
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 244
+ 250
@@ -1242,7 +1249,7 @@
Performance pro Jahr
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 256,258
+ 262,264
@@ -1250,7 +1257,7 @@
Dividenden
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 274
+ 280
apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html
@@ -1262,11 +1269,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 140
+ 152
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 188
+ 207
@@ -1318,7 +1325,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 284
+ 304
@@ -1630,7 +1637,7 @@
Konto
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 58
+ 66
apps/client/src/app/pages/user-account/user-account-page.html
@@ -1638,7 +1645,7 @@
libs/ui/src/lib/activities-table/activities-table.component.html
- 406
+ 411
@@ -1798,7 +1805,7 @@
Bargeld
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 171
+ 177
@@ -1818,11 +1825,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 98
+ 106
libs/ui/src/lib/activities-table/activities-table.component.html
- 228
+ 233
@@ -2166,7 +2173,7 @@
Verkauf
libs/ui/src/lib/i18n.ts
- 34
+ 35
@@ -2178,7 +2185,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 80
+ 88
@@ -2190,11 +2197,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 131
+ 139
libs/ui/src/lib/activities-table/activities-table.component.html
- 249
+ 254
@@ -2202,15 +2209,15 @@
Stückpreis
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 144
+ 158
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 192
+ 212
libs/ui/src/lib/activities-table/activities-table.component.html
- 278
+ 283
@@ -2218,15 +2225,15 @@
Gebühr
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 206
+ 226
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 231
+ 251
libs/ui/src/lib/activities-table/activities-table.component.html
- 307
+ 312
@@ -2242,7 +2249,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 240
+ 260
@@ -2262,7 +2269,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 255
+ 275
@@ -2422,7 +2429,7 @@
Geplant
libs/ui/src/lib/activities-table/activities-table.component.html
- 208
+ 213
@@ -2442,7 +2449,7 @@
libs/ui/src/lib/activities-table/activities-table.component.html
- 490
+ 495
@@ -2454,7 +2461,7 @@
libs/ui/src/lib/activities-table/activities-table.component.html
- 500
+ 505
@@ -2462,7 +2469,7 @@
Kopieren
libs/ui/src/lib/activities-table/activities-table.component.html
- 521
+ 526
@@ -2470,7 +2477,7 @@
Geplante Aktivität als ICS exportieren
libs/ui/src/lib/activities-table/activities-table.component.html
- 529
+ 534
@@ -2478,7 +2485,7 @@
Möchtest du diese Aktivität wirklich löschen?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 225
+ 226
@@ -2630,7 +2637,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 271
+ 291
@@ -2814,7 +2821,7 @@
Filtern nach Konto, Währung, Symbol oder Typ...
libs/ui/src/lib/activities-table/activities-table.component.ts
- 419
+ 420
@@ -2874,7 +2881,7 @@
Von der Analyse ausgenommen
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 209
+ 215
@@ -2978,7 +2985,7 @@
Bargeld
libs/ui/src/lib/i18n.ts
- 37
+ 38
@@ -2986,7 +2993,7 @@
Rohstoff
libs/ui/src/lib/i18n.ts
- 38
+ 39
@@ -2994,7 +3001,7 @@
Beteiligungskapital
libs/ui/src/lib/i18n.ts
- 39
+ 40
@@ -3002,7 +3009,7 @@
Feste Einkünfte
libs/ui/src/lib/i18n.ts
- 40
+ 41
@@ -3010,7 +3017,7 @@
Immobilien
libs/ui/src/lib/i18n.ts
- 41
+ 42
@@ -3018,7 +3025,7 @@
Anleihe
libs/ui/src/lib/i18n.ts
- 44
+ 45
@@ -3026,7 +3033,7 @@
Kryptowährung
libs/ui/src/lib/i18n.ts
- 45
+ 46
@@ -3034,7 +3041,7 @@
ETF
libs/ui/src/lib/i18n.ts
- 46
+ 47
@@ -3042,7 +3049,7 @@
Investmentfonds
libs/ui/src/lib/i18n.ts
- 47
+ 48
@@ -3050,7 +3057,7 @@
Edelmetall
libs/ui/src/lib/i18n.ts
- 48
+ 49
@@ -3058,7 +3065,7 @@
Privates Beteiligungskapital
libs/ui/src/lib/i18n.ts
- 49
+ 50
@@ -3066,7 +3073,7 @@
Aktie
libs/ui/src/lib/i18n.ts
- 50
+ 51
@@ -3106,7 +3113,7 @@
Nordamerika
libs/ui/src/lib/i18n.ts
- 56
+ 57
@@ -3114,7 +3121,7 @@
Afrika
libs/ui/src/lib/i18n.ts
- 53
+ 54
@@ -3122,7 +3129,7 @@
Asien
libs/ui/src/lib/i18n.ts
- 54
+ 55
@@ -3130,7 +3137,7 @@
Europa
libs/ui/src/lib/i18n.ts
- 55
+ 56
@@ -3138,7 +3145,7 @@
Ozeanien
libs/ui/src/lib/i18n.ts
- 57
+ 58
@@ -3146,7 +3153,7 @@
Südamerika
libs/ui/src/lib/i18n.ts
- 58
+ 59
@@ -3664,6 +3671,10 @@
Gebühren
+
+ apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
+ 87
+
apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html
148
@@ -3766,11 +3777,7 @@
Ups! Der historische Wechselkurs konnte nicht abgerufen werden vom
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 166
-
-
- apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 222
+ 242
@@ -3922,7 +3929,7 @@
Cash-Bestand aktualisieren
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 72
+ 80
@@ -4042,7 +4049,7 @@
libs/ui/src/lib/activities-table/activities-table.component.html
- 471
+ 476
@@ -4054,7 +4061,7 @@
libs/ui/src/lib/activities-table/activities-table.component.html
- 480
+ 485
@@ -4134,7 +4141,7 @@
Verbindlichkeiten
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 224
+ 230
apps/client/src/app/pages/features/features-page.html
@@ -4274,7 +4281,7 @@
Verbindlichkeit
libs/ui/src/lib/i18n.ts
- 33
+ 34
@@ -6982,11 +6989,11 @@
Aktien, ETFs, Anleihen, Kryptowährungen, Rohstoffe
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 22
+ 21
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 39
+ 48
@@ -6994,7 +7001,7 @@
Hypotheken, Darlehen, Kreditkarten
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 32
+ 42
@@ -7002,7 +7009,7 @@
Luxusartikel, Immobilien, private Unternehmen
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 46
+ 54
@@ -7018,7 +7025,7 @@
Wertsache
libs/ui/src/lib/i18n.ts
- 32
+ 33
@@ -7042,7 +7049,7 @@
Anlagevermögen
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 184
+ 190
@@ -9465,6 +9472,38 @@
17
+
+
+ Einmalige Eröffnungsgebühr, jährliche Kontoführungsgebühren
+
+ apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
+ 30
+
+
+
+
+ Ausschüttung von Unternehmensgewinnen
+
+ apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
+ 36
+
+
+
+
+ Ups! Der historische Wechselkurs konnte nicht abgerufen werden vom
+
+ apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
+ 183,184
+
+
+
+
+ Gebühr
+
+ libs/ui/src/lib/i18n.ts
+ 32
+
+