Setup: Zinssatz-Override zeigt effektiven Satz + Hilfetext [deploy]
All checks were successful
Deploy mahnung / deploy (push) Successful in 13s

- 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) <noreply@anthropic.com>
This commit is contained in:
Eduard Wisch 2026-05-13 17:28:11 +02:00
parent 98f3f1a04b
commit ce525cee18
3 changed files with 15 additions and 2 deletions

View file

@ -316,11 +316,20 @@ foreach ($stufen as $s) {
print '<tr class="oddeven"><td>'.$langs->trans('MahnungPauschaleB2B').' (§288 Abs. 5)</td>';
print '<td><input type="checkbox" name="'.$prefix.'pauschale_b2b_einmalig" value="1"'.($s->pauschale_b2b_einmalig ? ' checked' : '').'></td></tr>';
// 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 '<tr class="oddeven"><td>'.$langs->trans('MahnungStufeZinssatzB2C').'</td>';
print '<td><input type="text" name="'.$prefix.'zinssatz_b2c" size="8" value="'.($s->zinssatz_b2c_uebersteuern !== null ? (float) $s->zinssatz_b2c_uebersteuern : '').'"> %</td></tr>';
print '<td><input type="text" name="'.$prefix.'zinssatz_b2c" size="8" placeholder="'.number_format($basisVal + $aufB2c, 2, ',', '.').'" value="'.($s->zinssatz_b2c_uebersteuern !== null ? (float) $s->zinssatz_b2c_uebersteuern : '').'"> %';
print ' <span class="opacitymedium">'.$langs->trans('MahnungZinssatzHelpB2C', number_format($basisVal, 2, ',', '.'), number_format($aufB2c, 1, ',', '.'), number_format($effB2c, 2, ',', '.')).'</span></td></tr>';
print '<tr class="oddeven"><td>'.$langs->trans('MahnungStufeZinssatzB2B').'</td>';
print '<td><input type="text" name="'.$prefix.'zinssatz_b2b" size="8" value="'.($s->zinssatz_b2b_uebersteuern !== null ? (float) $s->zinssatz_b2b_uebersteuern : '').'"> %</td></tr>';
print '<td><input type="text" name="'.$prefix.'zinssatz_b2b" size="8" placeholder="'.number_format($basisVal + $aufB2b, 2, ',', '.').'" value="'.($s->zinssatz_b2b_uebersteuern !== null ? (float) $s->zinssatz_b2b_uebersteuern : '').'"> %';
print ' <span class="opacitymedium">'.$langs->trans('MahnungZinssatzHelpB2B', number_format($basisVal, 2, ',', '.'), number_format($aufB2b, 1, ',', '.'), number_format($effB2b, 2, ',', '.')).'</span></td></tr>';
print '<tr class="oddeven"><td>'.$langs->trans('MahnungStufeVersandartDefault').'</td>';
$va = $s->versandart_default ?: 'pdf';

View file

@ -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

View file

@ -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