From ce525cee188caaf45d3a80eecd3c637693865ad5 Mon Sep 17 00:00:00 2001 From: Eduard Wisch Date: Wed, 13 May 2026 17:28:11 +0200 Subject: [PATCH] Setup: Zinssatz-Override zeigt effektiven Satz + Hilfetext [deploy] - Eingabefelder zeigen Placeholder mit Standard-Zinssatz (Basiszins + Aufschlag) - Grauer Hilfetext: "Leer = Standard (1,27 + 5,0 % = 6,27 %), 0 = keine Zinsen" - Effektiver Zinssatz wird live aus globalen Einstellungen berechnet - Prod-DB: Stufe 1 Override von 0.0000 auf NULL korrigiert (direkt in DB) Co-Authored-By: Claude Opus 4.6 (1M context) --- admin/setup.php | 13 +++++++++++-- langs/de_DE/mahnung.lang | 2 ++ langs/en_US/mahnung.lang | 2 ++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/admin/setup.php b/admin/setup.php index 7218807..a4ec8e6 100644 --- a/admin/setup.php +++ b/admin/setup.php @@ -316,11 +316,20 @@ foreach ($stufen as $s) { print ''.$langs->trans('MahnungPauschaleB2B').' (§288 Abs. 5)'; print 'pauschale_b2b_einmalig ? ' checked' : '').'>'; + // Effektiven Zinssatz berechnen (Standard: Basiszins + Aufschlag) + $basisVal = (float) getDolGlobalString('MAHNUNG_BASISZINS', '1.27'); + $aufB2c = (float) getDolGlobalString('MAHNUNG_AUFSCHLAG_B2C', '5.0'); + $aufB2b = (float) getDolGlobalString('MAHNUNG_AUFSCHLAG_B2B', '9.0'); + $effB2c = $s->zinssatz_b2c_uebersteuern !== null ? (float) $s->zinssatz_b2c_uebersteuern : $basisVal + $aufB2c; + $effB2b = $s->zinssatz_b2b_uebersteuern !== null ? (float) $s->zinssatz_b2b_uebersteuern : $basisVal + $aufB2b; + print ''.$langs->trans('MahnungStufeZinssatzB2C').''; - print ' %'; + print ' %'; + print ' '.$langs->trans('MahnungZinssatzHelpB2C', number_format($basisVal, 2, ',', '.'), number_format($aufB2c, 1, ',', '.'), number_format($effB2c, 2, ',', '.')).''; print ''.$langs->trans('MahnungStufeZinssatzB2B').''; - print ' %'; + print ' %'; + print ' '.$langs->trans('MahnungZinssatzHelpB2B', number_format($basisVal, 2, ',', '.'), number_format($aufB2b, 1, ',', '.'), number_format($effB2b, 2, ',', '.')).''; print ''.$langs->trans('MahnungStufeVersandartDefault').''; $va = $s->versandart_default ?: 'pdf'; diff --git a/langs/de_DE/mahnung.lang b/langs/de_DE/mahnung.lang index ea46e8a..c943a91 100644 --- a/langs/de_DE/mahnung.lang +++ b/langs/de_DE/mahnung.lang @@ -37,6 +37,8 @@ MahnungStufeGebuehrB2C = Mahngebühr B2C MahnungStufeGebuehrB2B = Mahngebühr B2B MahnungStufeZinssatzB2C = Zinssatz B2C (Override) MahnungStufeZinssatzB2B = Zinssatz B2B (Override) +MahnungZinssatzHelpB2C = Leer = Standard (%s + %s %% = %s %%), 0 = keine Zinsen +MahnungZinssatzHelpB2B = Leer = Standard (%s + %s %% = %s %%), 0 = keine Zinsen MahnungStufeVersandartDefault = Versandart-Default MahnungStufeEmailSubject = E-Mail-Betreff MahnungStufeEmailBody = E-Mail-Text diff --git a/langs/en_US/mahnung.lang b/langs/en_US/mahnung.lang index bfa2460..f7d500c 100644 --- a/langs/en_US/mahnung.lang +++ b/langs/en_US/mahnung.lang @@ -37,6 +37,8 @@ MahnungStufeGebuehrB2C = Dunning fee B2C MahnungStufeGebuehrB2B = Dunning fee B2B MahnungStufeZinssatzB2C = Interest rate B2C (override) MahnungStufeZinssatzB2B = Interest rate B2B (override) +MahnungZinssatzHelpB2C = Empty = default (%s + %s %% = %s %%), 0 = no interest +MahnungZinssatzHelpB2B = Empty = default (%s + %s %% = %s %%), 0 = no interest MahnungStufeVersandartDefault = Default dispatch method MahnungStufeEmailSubject = E-mail subject MahnungStufeEmailBody = E-mail body