Bugfix #435 Einkaufsrechnung mit Leistungsdatum zieht falsche Steuer
authorJan Büren <jan@kivitendo.de>
Wed, 8 Jul 2020 11:48:37 +0000 (13:48 +0200)
committerJan Büren <jan@kivitendo.de>
Wed, 8 Jul 2020 11:48:37 +0000 (13:48 +0200)
Steuer für die acc_trans sollte anhand von deliverdate berechnet werden.
An der Oberfläche wird die Steuer richtig angezeigt, die DATEV-Prüfung
beschwert sich aber glücklicherweise

SL/IR.pm

index 1ed136c..082e2aa 100644 (file)
--- a/SL/IR.pm
+++ b/SL/IR.pm
@@ -549,6 +549,7 @@ SQL
     if ($form->{currency} ne $defaultcurrency) && !$exchangerate;
 
 # record acc_trans transactions
+  my $taxdate = $form->{deliverydate} ? $form->{deliverydate} : $form->{invdate};
   foreach my $trans_id (keys %{ $form->{amount} }) {
     foreach my $accno (keys %{ $form->{amount}{$trans_id} }) {
       $form->{amount}{$trans_id}{$accno} = $form->round_amount($form->{amount}{$trans_id}{$accno}, 2);
@@ -575,7 +576,7 @@ SQL
                    ORDER BY startdate DESC LIMIT 1),
                   (SELECT link FROM chart WHERE accno = ?))|;
       @values = ($trans_id, $accno, $form->{amount}{$trans_id}{$accno},
-                 conv_date($form->{invdate}), $accno, conv_date($form->{invdate}), $project_id, $accno, conv_date($form->{invdate}), $accno);
+                 conv_date($form->{invdate}), $accno, conv_date($taxdate), $project_id, $accno, conv_date($taxdate), $accno);
       do_query($form, $dbh, $query, @values);
     }
   }