epic-ts
[kivitendo-erp.git] / SL / Taxkeys.pm
index cf3463b..a682dc2 100644 (file)
@@ -60,7 +60,7 @@ sub get_tax_info {
 
   if (!$self->{handles}->{get_tax_info}) {
     $self->{queries}->{get_tax_info} = qq|
-      SELECT t.rate AS taxrate, t.taxnumber, t.taxdescription, t.chart_id AS taxchart_id,
+      SELECT t.rate AS taxrate, c.accno as taxnumber, t.taxdescription, t.chart_id AS taxchart_id,
         c.accno AS taxaccno, c.description AS taxaccount
       FROM taxkeys tk
       LEFT JOIN tax t   ON (tk.tax_id  = t.id)
@@ -78,7 +78,8 @@ sub get_tax_info {
   }
 
   my $sth = $self->{handles}->{get_tax_info};
-  do_statement($form, $sth, $self->{queries}->{get_tax_info}, $params{taxkey}, $params{transdate});
+  # Lieferdatum (deliverydate) ist entscheidend für den Steuersatz
+  do_statement($form, $sth, $self->{queries}->{get_tax_info}, $params{taxkey}, $params{deliverydate} || $params{transdate});
 
   my $ref = $sth->fetchrow_hashref() || { };
 
@@ -106,7 +107,7 @@ sub get_full_tax_info {
   my @all_taxkeys = map { $_->{taxkey} } (selectall_hashref_query($form, $form->get_standard_dbh(), qq|SELECT DISTINCT taxkey FROM tax WHERE taxkey IS NOT NULL|));
 
   foreach my $taxkey (@all_taxkeys) {
-    my $ref = $self->get_tax_info('transdate' => $params{transdate}, 'taxkey' => $taxkey);
+    my $ref = $self->get_tax_info('transdate' => $params{transdate}, 'taxkey' => $taxkey, 'deliverydate' => $params{deliverydate});
 
     $tax_info{taxkeys}->{$taxkey}            = $ref;
     $tax_info{accnos}->{$ref->{taxchart_id}} = $ref if ($ref->{taxchart_id});