From 3d40d76d8e8ac0680864eaaca05f111acbac387f Mon Sep 17 00:00:00 2001 From: metacube Date: Mon, 18 May 2026 21:07:23 +0200 Subject: [PATCH] Use GBP local reference for UK finance --- .../Services/DatabaseSeedService.cs | 19 +++++++++++++++++- ...INANCE_AMPEL_LAENDER_2026-05-18_21-05.xlsx | Bin 0 -> 10984 bytes .../docs/FINANCE_ENTSCHEIDE.md | 2 +- .../FINANCE_UK_MAIL_ABWEICHUNG_2026-05-15.md | 3 ++- .../FINANCE_UK_QUELLE_KORREKTUR_2026-05-18.md | 6 ++++-- 5 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 TrafagSalesExporter/docs/FINANCE_AMPEL_LAENDER_2026-05-18_21-05.xlsx diff --git a/TrafagSalesExporter/Services/DatabaseSeedService.cs b/TrafagSalesExporter/Services/DatabaseSeedService.cs index 8314059..29381bf 100644 --- a/TrafagSalesExporter/Services/DatabaseSeedService.cs +++ b/TrafagSalesExporter/Services/DatabaseSeedService.cs @@ -630,7 +630,7 @@ public class DatabaseSeedService : IDatabaseSeedService new FinanceReference { Key = "MSA", Label = "Trafag MSA", Year = 2025, LocalCurrencyValue = 1445258m }, new FinanceReference { Key = "PL", Label = "Trafag PL Poltraf", Year = 2025, LocalCurrencyValue = 11279297m }, new FinanceReference { Key = "RU", Label = "Trafag RU", Year = 2025 }, - new FinanceReference { Key = "UK", Label = "Trafag UK", Year = 2025, LocalCurrencyValue = 3538972m, CheckValue = 3749865m }, + new FinanceReference { Key = "UK", Label = "Trafag UK", Year = 2025, LocalCurrencyValue = 3538972m }, new FinanceReference { Key = "US", Label = "Trafag US", Year = 2025, LocalCurrencyValue = 3896728m, CheckValue = 3749865m } }; @@ -640,7 +640,24 @@ public class DatabaseSeedService : IDatabaseSeedService { var current = existing.FirstOrDefault(x => x.Year == item.Year && x.Key == item.Key); if (current is not null) + { + if (current.Key == "UK" && current.Year == 2025) + { + if (current.LocalCurrencyValue != 3538972m) + { + current.LocalCurrencyValue = 3538972m; + changed = true; + } + + if (current.CheckValue.HasValue) + { + current.CheckValue = null; + changed = true; + } + } + continue; + } db.FinanceReferences.Add(item); changed = true; diff --git a/TrafagSalesExporter/docs/FINANCE_AMPEL_LAENDER_2026-05-18_21-05.xlsx b/TrafagSalesExporter/docs/FINANCE_AMPEL_LAENDER_2026-05-18_21-05.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..97e091268d45f1ca564e592b58c3637736f36dc5 GIT binary patch literal 10984 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 AvH$=8 literal 0 HcmV?d00001 diff --git a/TrafagSalesExporter/docs/FINANCE_ENTSCHEIDE.md b/TrafagSalesExporter/docs/FINANCE_ENTSCHEIDE.md index 874cfd9..96de67b 100644 --- a/TrafagSalesExporter/docs/FINANCE_ENTSCHEIDE.md +++ b/TrafagSalesExporter/docs/FINANCE_ENTSCHEIDE.md @@ -65,7 +65,7 @@ Ergebnis im Reporting: ## Aktuelle Kontrollpunkte -- UK: Aktuell `3'533'710.09 GBP` bei `1'880` Zeilen gegen Soll `3'749'865.00`; Differenz `-216'154.91 GBP`. Mapping ist nun Sage-Netto: `Sales Price/Value * Quantity`, Credit Notes werden bei erkennbarem Sage-Typ negativ erzwungen. +- UK: Aktuell `3'533'710.09 GBP` bei `1'880` Zeilen gegen Soll LC `3'538'972.00 GBP`; Differenz `-5'261.91 GBP`. UK wird gegen Local Currency/GBP geprueft; der fruehere `CheckValue 3'749'865.00` ist fuer UK entfernt. Mapping ist Sage-Netto: `Sales Price/Value * Quantity`, Credit Notes werden bei erkennbarem Sage-Typ negativ erzwungen. - IN: Anzeige muss fachlich `INR` zeigen, auch wenn Quellzeilen verschiedene Belegwaehrungen enthalten. - IT: IC-Kundenliste final bestaetigen. - CH / AT: echtes SAP-Buchungsdatum pruefen, falls `ZSCHWEIZ` aktuell nur Fakturadatum liefert. diff --git a/TrafagSalesExporter/docs/FINANCE_UK_MAIL_ABWEICHUNG_2026-05-15.md b/TrafagSalesExporter/docs/FINANCE_UK_MAIL_ABWEICHUNG_2026-05-15.md index a4758be..6463604 100644 --- a/TrafagSalesExporter/docs/FINANCE_UK_MAIL_ABWEICHUNG_2026-05-15.md +++ b/TrafagSalesExporter/docs/FINANCE_UK_MAIL_ABWEICHUNG_2026-05-15.md @@ -10,7 +10,8 @@ Summary: - Actual UK: `3,533,710.09 GBP` - Rhino reference: `3,749,865.00 GBP` -- Difference: `-216,154.91 GBP` +- Reference UK LC/GBP: `3,538,972.00 GBP` +- Difference: `-5,261.91 GBP` The mapping has already been reviewed technically, but we still need to clarify the remaining difference before closing the 2025 value. diff --git a/TrafagSalesExporter/docs/FINANCE_UK_QUELLE_KORREKTUR_2026-05-18.md b/TrafagSalesExporter/docs/FINANCE_UK_QUELLE_KORREKTUR_2026-05-18.md index 420c045..38672e7 100644 --- a/TrafagSalesExporter/docs/FINANCE_UK_QUELLE_KORREKTUR_2026-05-18.md +++ b/TrafagSalesExporter/docs/FINANCE_UK_QUELLE_KORREKTUR_2026-05-18.md @@ -54,11 +54,13 @@ Aktueller Re-Export nach der Anpassung: | --- | ---: | | Zeilen 2025 | `1'880` | | Ist | `3'533'710.09 GBP` | -| Soll | `3'749'865.00 GBP` | -| Differenz | `-216'154.91 GBP` | +| Soll LC | `3'538'972.00 GBP` | +| Differenz | `-5'261.91 GBP` | Die Zahl blieb unveraendert, weil die vorhandenen UK-Zeilen bereits negative Betragszeilen enthalten. Die neue Regel verhindert aber, dass kuenftige Sage-Credit-Notes mit positivem Betrag versehentlich als Umsatz addiert werden. +Der fruehere `CheckValue 3'749'865.00` wird fuer UK nicht mehr verwendet. UK ist GBP-Local-Currency und wird gegen `LocalCurrencyValue = 3'538'972.00 GBP` geprueft. + ## Formulierung fuer CFO / Finance ```text