From: Bernd Bleßmann Date: Thu, 18 Jun 2020 11:53:56 +0000 (+0200) Subject: S:DATEV:CSV: Lieferdatum als Leistungsdatum exportieren X-Git-Tag: release-3.5.6.1~170 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=46f028ef78a55580e7e33c2439cedd0e60bde998;p=kivitendo-erp.git S:DATEV:CSV: Lieferdatum als Leistungsdatum exportieren --- diff --git a/SL/DATEV.pm b/SL/DATEV.pm index 3766c1b60..026ec05cb 100644 --- a/SL/DATEV.pm +++ b/SL/DATEV.pm @@ -575,7 +575,7 @@ sub generate_datev_data { UNION ALL SELECT ac.acc_trans_id, ac.transdate, ac.gldate, ac.trans_id,gl.id, ac.amount, ac.taxkey, ac.memo, - gl.reference AS invnumber, NULL AS duedate, ac.amount as umsatz, NULL as deliverydate, gl.itime::date, + gl.reference AS invnumber, NULL AS duedate, ac.amount as umsatz, gl.deliverydate, gl.itime::date, gl.description AS name, NULL as ustid, '' AS vcname, NULL AS customer_id, NULL AS vendor_id, c.accno, c.description AS accname, c.taxkey_id as charttax, c.datevautomatik, c.id, ac.chart_link AS link, FALSE AS invoice, @@ -1051,6 +1051,9 @@ sub generate_datev_lines { if (($transaction->[$haben]->{'duedate'} // '') ne "") { $datev_data{belegfeld2} = $transaction->[$haben]->{'duedate'}; } + if (($transaction->[$haben]->{'deliverydate'} // '') ne "") { + $datev_data{leistungsdatum} = $transaction->[$haben]->{'deliverydate'}; + } } $datev_data{umsatz} = abs($umsatz); # sales invoices without tax have a different sign??? diff --git a/SL/DATEV/CSV.pm b/SL/DATEV/CSV.pm index 05598b12a..8b8e88598 100644 --- a/SL/DATEV/CSV.pm +++ b/SL/DATEV/CSV.pm @@ -478,8 +478,15 @@ my @kivitendo_to_datev = ( valid_check => sub { my ($check) = @_; return ($check =~ m/^(0|1)$/) }, }, # pos 114 { - kivi_datev_name => 'not yet implemented', - }, + kivi_datev_name => 'leistungsdatum', + csv_header_name => t8('Payment Date'), + max_length => 8, + type => 'Date', + default => '', + input_check => sub { my ($check) = @_; return 1 if ('' eq $check); return (ref (DateTime->from_kivitendo($check)) eq 'DateTime') }, + formatter => sub { my ($input) = @_; return '' if ('' eq $input); return DateTime->from_kivitendo($input)->strftime('%d%m%Y') }, + valid_check => sub { my ($check) = @_; return 1 if ('' eq $check); return ($check =~ m/^[0-9]{8}$/) }, + }, # pos 115 { kivi_datev_name => 'not yet implemented', }, diff --git a/locale/de/all b/locale/de/all index 4b8df10eb..c5f2a36c7 100755 --- a/locale/de/all +++ b/locale/de/all @@ -2300,6 +2300,7 @@ $self->{texts} = { 'Payables' => 'Verbindlichkeiten', 'Payment' => 'Zahlungsausgang', 'Payment / Delivery Options' => 'Zahlungs- und Lieferoptionen', + 'Payment Date' => 'Leistungsdatum', 'Payment Reminder' => 'Zahlungserinnerung', 'Payment Terms' => 'Zahlungsbedingungen', 'Payment Terms missing in row ' => 'Zahlungsfrist fehlt in Zeile ', diff --git a/locale/en/all b/locale/en/all index ac3dbed15..8415c1498 100644 --- a/locale/en/all +++ b/locale/en/all @@ -2300,6 +2300,7 @@ $self->{texts} = { 'Payables' => '', 'Payment' => '', 'Payment / Delivery Options' => '', + 'Payment Date' => '', 'Payment Reminder' => '', 'Payment Terms' => '', 'Payment Terms missing in row ' => '',