From 3996dec35e3157e21cfa9a7450443843db0b7504 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20G=C3=BCnther?= Date: Sat, 18 Oct 2025 18:24:29 +0200 Subject: [PATCH] Fix CSV import failure when DataSource column is missing Set default dataSource in frontend CSV parser before sending to backend: - MANUAL for FEE/INTEREST/LIABILITY types - YAHOO for other types (BUY/SELL/DIVIDEND) Fixes DTO validation error that occurred before backend's default dataSource assignment could execute. --- .../src/app/services/import-activities.service.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/apps/client/src/app/services/import-activities.service.ts b/apps/client/src/app/services/import-activities.service.ts index 0f2715e47..36b52cc81 100644 --- a/apps/client/src/app/services/import-activities.service.ts +++ b/apps/client/src/app/services/import-activities.service.ts @@ -58,9 +58,19 @@ export class ImportActivitiesService { for (const [index, item] of content.entries()) { const currency = this.parseCurrency({ content, index, item }); - const dataSource = this.parseDataSource({ item }); - const symbol = this.parseSymbol({ content, index, item }); const type = this.parseType({ content, index, item }); + const symbol = this.parseSymbol({ content, index, item }); + let dataSource = this.parseDataSource({ item }); + + // Set default dataSource if not provided in CSV + if (!dataSource) { + if (['FEE', 'INTEREST', 'LIABILITY'].includes(type)) { + dataSource = DataSource.MANUAL; + } else { + // For other types, try to determine from symbol or default to YAHOO + dataSource = DataSource.YAHOO; + } + } activities.push({ currency,