Zusätzlich zur höchsten Stufe aktuell noch offenen Rechnungen und dem
gesamten offenen Betrag angemahnter Rechnungen des Kunden wird nun auch
explizit angezeigt, wenn die aktuelle Rechnung selber angemahnt
wurde. Diese Warnung wird nicht nur fett, sondern sogar rot dargestellt.
a.language_id, a.delivery_customer_id, a.delivery_vendor_id, a.type,
a.transaction_description, a.donumber, a.invnumber_for_credit_note,
a.marge_total, a.marge_percent, a.direct_debit, a.delivery_term_id,
a.language_id, a.delivery_customer_id, a.delivery_vendor_id, a.type,
a.transaction_description, a.donumber, a.invnumber_for_credit_note,
a.marge_total, a.marge_percent, a.direct_debit, a.delivery_term_id,
+ dc.dunning_description,
e.name AS employee
FROM ar a
LEFT JOIN employee e ON (e.id = a.employee_id)
e.name AS employee
FROM ar a
LEFT JOIN employee e ON (e.id = a.employee_id)
+ LEFT JOIN dunning_config dc ON (a.dunning_config_id = dc.id)
WHERE a.id = ?|;
$ref = selectfirst_hashref_query($form, $dbh, $query, $id);
map { $form->{$_} = $ref->{$_} } keys %{ $ref };
WHERE a.id = ?|;
$ref = selectfirst_hashref_query($form, $dbh, $query, $id);
map { $form->{$_} = $ref->{$_} } keys %{ $ref };
$TMPL_VAR{HIDDENS} = [qw(
id action type media format queued printed emailed title vc discount
title creditlimit creditremaining tradediscount business closedto locked shipped storno storno_id
$TMPL_VAR{HIDDENS} = [qw(
id action type media format queued printed emailed title vc discount
title creditlimit creditremaining tradediscount business closedto locked shipped storno storno_id
- max_dunning_level dunning_amount
+ max_dunning_level dunning_amount dunning_description
shiptoname shiptostreet shiptozipcode shiptocity shiptocountry shiptocontact shiptophone shiptofax
shiptoemail shiptodepartment_1 shiptodepartment_2 shiptocp_gender message email subject cc bcc taxaccounts cursor_fokus
convert_from_do_ids convert_from_oe_ids convert_from_ar_ids useasnew
shiptoname shiptostreet shiptozipcode shiptocity shiptocountry shiptocontact shiptophone shiptofax
shiptoemail shiptodepartment_1 shiptodepartment_2 shiptocp_gender message email subject cc bcc taxaccounts cursor_fokus
convert_from_do_ids convert_from_oe_ids convert_from_ar_ids useasnew
span.toggle_selected {
font-weight: bold;
}
span.toggle_selected {
font-weight: bold;
}
+.dunned_invoice {
+ font-weight: bold;
+ color: #f00;
+}
+.customer_dunning_level {
+ font-weight: bold;
+}
span.toggle_selected {
font-weight: bold;
}
span.toggle_selected {
font-weight: bold;
}
+.dunned_invoice {
+ font-weight: bold;
+ color: #f00;
+}
+.customer_dunning_level {
+ font-weight: bold;
+}
'Customer saved!' => 'Kunde gespeichert!',
'Customer type' => 'Kundentyp',
'Customer variables' => 'Kundenvariablen',
'Customer saved!' => 'Kunde gespeichert!',
'Customer type' => 'Kundentyp',
'Customer variables' => 'Kundenvariablen',
+ 'Customer\'s current maximum dunning level: #1' => 'Aktuell höchste Mahnstufe des Kunden: #1',
'Customer/Vendor' => 'Kunde/Lieferant',
'Customer/Vendor (database ID)' => 'Kunde/Lieferant (Datenbank-ID)',
'Customer/Vendor Name' => 'Kunde/Lieferant',
'Customer/Vendor' => 'Kunde/Lieferant',
'Customer/Vendor (database ID)' => 'Kunde/Lieferant (Datenbank-ID)',
'Customer/Vendor Name' => 'Kunde/Lieferant',
'Due Date missing!' => 'Fälligkeitsdatum fehlt!',
'Due to security concerns these files have to be deleted or moved after the migration before you can continue using kivitendo.' => 'Aus Sicherheitsgründen müssen diese Dateien nach erfolgter Migration gelöscht oder verschoben werden, bevor kivitendo weiter genutzt werden kann.',
'Duedate +Days' => 'Fällikeitsdatum +Tage',
'Due Date missing!' => 'Fälligkeitsdatum fehlt!',
'Due to security concerns these files have to be deleted or moved after the migration before you can continue using kivitendo.' => 'Aus Sicherheitsgründen müssen diese Dateien nach erfolgter Migration gelöscht oder verschoben werden, bevor kivitendo weiter genutzt werden kann.',
'Duedate +Days' => 'Fällikeitsdatum +Tage',
+ 'Dunned open amount: #1' => 'Angemahnter, offener Betrag: #1',
'Dunning' => 'Mahnung',
'Dunning Amount' => 'gemahnter Betrag',
'Dunning Date' => 'Mahndatum',
'Dunning' => 'Mahnung',
'Dunning Amount' => 'gemahnter Betrag',
'Dunning Date' => 'Mahndatum',
'Dunning Process started for selected invoices!' => 'Mahnprozess für selektierte Rechnungen gestartet',
'Dunning number' => 'Mahnungsnummer',
'Dunning overview' => 'Mahnungsübersicht',
'Dunning Process started for selected invoices!' => 'Mahnprozess für selektierte Rechnungen gestartet',
'Dunning number' => 'Mahnungsnummer',
'Dunning overview' => 'Mahnungsübersicht',
+ 'Dunning status' => 'Mahnstatus',
'Dunnings' => 'Mahnungen',
'Duplicate in CSV file' => 'Duplikat in CSV-Datei',
'Duplicate in database' => 'Duplikat in Datenbank',
'Dunnings' => 'Mahnungen',
'Duplicate in CSV file' => 'Duplikat in CSV-Datei',
'Duplicate in database' => 'Duplikat in Datenbank',
'This group is valid for the following clients' => 'Diese Gruppe ist für die folgenden Mandanten gültig',
'This has been changed in this version, therefore please change the "old" bins to some real warehouse bins.' => 'Das wurde in dieser Version umgestellt, bitte ändern Sie die Freitext-Lagerplätze auf vorhandene Lagerplätze.',
'This has been changed in this version.' => 'Ab dieser Version ist dies nicht mehr so.',
'This group is valid for the following clients' => 'Diese Gruppe ist für die folgenden Mandanten gültig',
'This has been changed in this version, therefore please change the "old" bins to some real warehouse bins.' => 'Das wurde in dieser Version umgestellt, bitte ändern Sie die Freitext-Lagerplätze auf vorhandene Lagerplätze.',
'This has been changed in this version.' => 'Ab dieser Version ist dies nicht mehr so.',
+ 'This invoice\'s dunning level: #1' => 'Mahnstufe dieser Rechnung: #1',
'This is a very critical problem.' => 'Dieses Problem ist sehr schwerwiegend.',
'This is the client to be selected by default on the login screen.' => 'Dies ist derjenige Mandant, der im Loginbildschirm standardmäßig ausgewählt sein wird.',
'This is the default bin for parts' => 'Standard-Lagerplatz für Stammdaten/Waren',
'This is a very critical problem.' => 'Dieses Problem ist sehr schwerwiegend.',
'This is the client to be selected by default on the login screen.' => 'Dies ist derjenige Mandant, der im Loginbildschirm standardmäßig ausgewählt sein wird.',
'This is the default bin for parts' => 'Standard-Lagerplatz für Stammdaten/Waren',
<span class="plus[% IF is_credit_remaining_negativ %]0[% ELSE %]1[% END %]">[% LxERP.format_amount(creditremaining,0 ,'0') %]</span>
</td>
</tr>
<span class="plus[% IF is_credit_remaining_negativ %]0[% ELSE %]1[% END %]">[% LxERP.format_amount(creditremaining,0 ,'0') %]</span>
</td>
</tr>
-[%- IF max_dunning_level %]
+[%- IF max_dunning_level || dunning_description %]
- <th align="right">[% 'Max. Dunning Level' | $T8 %]:</th>
- <td>
- <b>[% max_dunning_level %]</b>; [% 'Dunning Amount' | $T8 %]: <b>[% LxERP.format_amount(dunning_amount,2) %]</b>
+ <th align="right" valign="top">[% LxERP.t8("Dunning status") %]</th>
+ <td valign="top">
+ [% IF dunning_description %]
+ <span class="dunned_invoice">[% LxERP.t8("This invoice's dunning level: #1", dunning_description) %]</span>
+ [% IF max_dunning_level %]<br>[% END %]
+ [% END %]
+ [% IF max_dunning_level %]
+ <span class="customer_dunning_level">
+ [% LxERP.t8("Customer's current maximum dunning level: #1", max_dunning_level) %]
+ <br>
+ [% LxERP.t8("Dunned open amount: #1", LxERP.format_amount(dunning_amount, 2)) %]
+ </span>
+ [% END %]