Muss aktiv in der Mandantenkonfiguration (Feature -> SEPA) aktiviert werden.
Entweder wird ein vorhandenes Skontoziel als Ausführungsdatum an
die Bank/Export übergeben oder die Netto-Fälligkeit.
Skonto geht vor Netto. Bei beiden Verfahren wird ein Puffer
in Tagen (Standard 0) abgezogen.
sdonumber => { type => 'text' },
sepa_creditor_id => { type => 'text' },
sepa_reference_add_vc_vc_id => { type => 'boolean', default => 'false' },
+ sepa_set_duedate_as_default_exec_date => { type => 'boolean', default => 'false' },
+ sepa_set_skonto_date_as_default_exec_date => { type => 'boolean', default => 'false' },
+ sepa_set_skonto_date_buffer_in_days => { type => 'integer', default => '0' },
servicenumber => { type => 'text' },
shipped_qty_fill_up => { type => 'boolean', default => 'true', not_null => 1 },
shipped_qty_item_identity_fields => { type => 'array', default => '{parts_id}', not_null => 1 },
# override default payment_type selection and set it to the one chosen by the user
# in the previous step, so that we don't need the logic in the template
+ my $subtract_days = $::instance_conf->get_sepa_set_skonto_date_buffer_in_days;
+ my $set_skonto_date = $::instance_conf->get_sepa_set_skonto_date_as_default_exec_date;
+ my $set_duedate = $::instance_conf->get_sepa_set_duedate_as_default_exec_date;
foreach my $bt (@bank_transfers) {
+ # add a good recommended exec date
+ # set to skonto date if exists or to duedate
+ # in both cases subtract the same buffer (if configured, default 0)
+ $bt->{recommended_execution_date} =
+ $set_skonto_date && $bt->{payment_type} eq 'with_skonto_pt' ?
+ DateTime->from_kivitendo($bt->{skonto_date})->subtract(days => $subtract_days)->to_kivitendo
+ : $set_duedate && $bt->{duedate} ?
+ DateTime->from_kivitendo($bt->{duedate} )->subtract(days => $subtract_days)->to_kivitendo
+ : undef;
+
+
foreach my $type ( @{$bt->{payment_select_options}} ) {
if ( $type->{payment_type} eq $bt->{payment_type} ) {
$type->{selected} = 1;
- Verknüpfte Belege um die Verknüpfung von Beleg nach E-Mail-Journal erweitert.
- Filter nach Abteilungen für Lieferplan
- Eindeutigkeit bei Rechnungsnummern von Kreditoren. (Es erfolgt eine Warnung bei Duplikaten (Überprüfung auf Lieferant mit Rechnungsnummer))
- - Mit SEPA-Export verknüpft Kreditorenbelege (Einkaufsrechnung oder Kreditorenbuchungen) können nicht mehr gelöscht oder storniert werden.
+ - Mit dem SEPA-Export verknüpfte Kreditorenbelege (Einkaufsrechnung oder Kreditorenbuchungen) können nicht mehr gelöscht oder storniert werden.
- Tab "Belege" beim Kunden und Lieferanten. Offene Rechnungen, Aufträge
werden angezeigt. Eine Umsatz und Mahnstatistik können in Tabs geöffnet
werden. Belegtypen Angebote, Aufträge (Kunden), bzw Preisanfragen,
Lieferantenaufträge (Lieferanten) sowie die Belege Rechnungen, Emails,
Briefe können in weiteren Tabs angezeigt werden.
+ - SEPA-Export. Überweisungsdatum vorbelegen, entweder die Fälligkeit oder falls vorhanden das Skonto-Datum.
+ Das Skonto-Datum hat Priorität vor der letzten Fälligkeit.
+ Zusätzlich kann ein Puffer in Tagen vom Zahlungsziel abgezogen werden (Standard 0). Das Verhalten muss für jeden
+ Mandanten unter Mandantenkonfiguration -> Features -> SEPA aktiv eingeschaltet werden.
Bugfixes:
- Bugfix #336 Beim Drucken mehrerer Rechnung aus dem Bericht heraus mit aktiviertem DMS bricht mit Fehlermeldung ab
'Import result' => 'Import-Ergebnis',
'Import scanned documents' => 'Importiere gescannte Dateien',
'Importdate' => 'Importdatum',
+ 'In addition to the above date functions, subtract the following amount of days from the calculated date as a buffer.' => 'Der folgende Puffer in Tagen wird von den beiden obigen vorausberechneten Daten abgezogen.',
'In order to do that hit the button "Delete transaction".' => 'Drücken Sie dafür auf den Button "Buchung löschen".',
'In order to migrate the old folder structure into the new structure you have to chose which client the old structure will be assigned to.' => 'Um die alte Ordnerstruktur in die neue Struktur zu migrieren, müssen Sie festlegen, welchem Mandanten die bisherige Struktur zugewiesen wird.',
'In order to use kivitendo you have to create at least a client, a user and a group.' => 'Um kivitendo zu nutzen, müssen Sie mindestens einen Mandanten, einen Benutzer und eine Gruppe anlegen.',
'Set fields' => 'Felder setzen',
'Set lastcost' => 'EK-Preis übernehmen',
'Set sellprice' => 'VK-Preis übernehmen',
+ 'Set the invoice duedate as the default execution date for SEPA export.' => 'Das Fälligkeitsdatum des Belegs als Ausführungsdatum im SEPA-Export setzen.',
+ 'Set the invoice skonto date (if exists) as the default execution date for SEPA export.' => 'Das Skonto-Datum des Belegs als Ausführungsdatum im SEPA-Export setzen. Hat Priorität vor dem Fälligkeitsdatum.',
'Set to paid missing' => 'Fehlbetrag setzen',
'Settings' => 'Einstellungen',
'Setup Menu' => 'Menü-Variante',
--- /dev/null
+-- @tag: sepa_recommended_execution_date
+-- @description: Einstellung, ob bei SEPA Überweisungen zusätzlich die Lieferanten-/Kundennummer im Verwendungszweck angezeigt wird
+-- @depends: release_3_5_2
+
+ALTER TABLE defaults ADD COLUMN sepa_set_duedate_as_default_exec_date boolean DEFAULT FALSE;
+ALTER TABLE defaults ADD COLUMN sepa_set_skonto_date_as_default_exec_date boolean DEFAULT FALSE;
+ALTER TABLE defaults ADD COLUMN sepa_set_skonto_date_buffer_in_days integer DEFAULT 0;
<td align="right">[% LxERP.t8('Add Customer/Vendor Number as a reference add-on for SEPA export.') %]</td>
<td>[% L.yes_no_tag('defaults.sepa_reference_add_vc_vc_id', SELF.defaults.sepa_reference_add_vc_vc_id) %]</td>
</tr>
-
+ <tr>
+ <td align="right">[% LxERP.t8('Set the invoice duedate as the default execution date for SEPA export.') %]</td>
+ <td>[% L.yes_no_tag('defaults.sepa_set_duedate_as_default_exec_date', SELF.defaults.sepa_set_duedate_as_default_exec_date) %]</td>
+ </tr>
+ <tr>
+ <td align="right">[% LxERP.t8('Set the invoice skonto date (if exists) as the default execution date for SEPA export.') %]</td>
+ <td>[% L.yes_no_tag('defaults.sepa_set_skonto_date_as_default_exec_date', SELF.defaults.sepa_set_skonto_date_as_default_exec_date) %]</td>
+ </tr>
+ <tr>
+ <td align="right">[% LxERP.t8('In addition to the above date functions, subtract the following amount of days from the calculated date as a buffer.') %]</td>
+ <td>[% L.input_tag('defaults.sepa_set_skonto_date_buffer_in_days', LxERP.format_amount(SELF.defaults.sepa_set_skonto_date_buffer_in_days, 0), style=style) %]</td>
+ </tr>
<tr><td class="listheading" colspan="4">[% LxERP.t8("Experimental Features") %]</td></tr>
<tr>
<td align="right">[% LxERP.t8('Enable experimental features') %]</td>
</td>
<td align="left" [%- IF bank_transfer.within_skonto_period %]style="background-color: LightGreen"[%- END %]>[%- IF bank_transfer.skonto_amount %] [% LxERP.format_amount(bank_transfer.percent_skonto, 2) %] % = [% LxERP.format_amount(bank_transfer.skonto_amount, 2) %] € [% 'until' | $T8 %] [% bank_transfer.skonto_date %] [% END %]</td>
<td nowrap>
- [% L.date_tag('bank_transfers[].requested_execution_date', bank_transfer.requested_execution_date) %]
+ [% L.date_tag('bank_transfers[].requested_execution_date', bank_transfer.recommended_execution_date) %]
</td>
</tr>
[%- END %]