r1157 rueckgaengig gemacht (aus Testzwecken)
[kivitendo-erp.git] / SL / AP.pm
index 8be0c8f..0d13229 100644 (file)
--- a/SL/AP.pm
+++ b/SL/AP.pm
@@ -76,6 +76,9 @@ sub post_transaction {
                            $form->{exchangerate} * -1,
                          2);
     $amount += ($form->{"amount_$i"} * -1);
+
+    # parse tax_$i for later
+    $form->{"tax_$i"} = $form->parse_amount($myconfig, $form->{"tax_$i"}) * -1;
   }
 
   # this is for ap
@@ -97,22 +100,28 @@ sub post_transaction {
     $form->{AP_amounts}{"amount_$i"}{taxkey} = $form->{"taxkey_$i"};
 
     $sth->finish;
-    if (!$form->{"korrektur_$i"}) {
-      if ($form->{taxincluded} *= 1) {
+    if ($form->{taxincluded} *= 1) {
+      if (!$form->{"korrektur_$i"}) {
         $tax =
           $form->{"amount_$i"} -
           ($form->{"amount_$i"} / ($form->{"taxrate_$i"} + 1));
-        $amount = $form->{"amount_$i"} - $tax;
-        $form->{"amount_$i"} = $form->round_amount($amount, 2);
-        $diff += $amount - $form->{"amount_$i"};
-        $form->{"tax_$i"} = $form->round_amount($tax, 2);
-        $form->{netamount} += $form->{"amount_$i"};
       } else {
+        $tax = $form->{"tax_$i"};
+      }
+      $amount = $form->{"amount_$i"} - $tax;
+      $form->{"amount_$i"} = $form->round_amount($amount, 2);
+      $diff += $amount - $form->{"amount_$i"};
+      $form->{"tax_$i"} = $form->round_amount($tax, 2);
+      $form->{netamount} += $form->{"amount_$i"};
+    } else {
+      if (!$form->{"korrektur_$i"}) {
         $form->{"tax_$i"} = $form->{"amount_$i"} * $form->{"taxrate_$i"};
-        $form->{"tax_$i"} =
-          $form->round_amount($form->{"tax_$i"} * $form->{exchangerate}, 2);
-        $form->{netamount} += $form->{"amount_$i"};
+      } else {
+        $tax = $form->{"tax_$i"};
       }
+      $form->{"tax_$i"} =
+        $form->round_amount($form->{"tax_$i"} * $form->{exchangerate}, 2);
+      $form->{netamount} += $form->{"amount_$i"};
     }
     $form->{total_tax} += $form->{"tax_$i"} * -1;
   }
@@ -142,14 +151,7 @@ sub post_transaction {
 
   # amount for total AP
   $form->{payables} = $form->{invtotal};
-  print(STDERR $form->{payables},
-        " Payables\n",
-        $form->{invtotal},
-        " Invtotal\n",
-        $form->{netamount},
-        " Netamount\n",
-        $form->{total_tax},
-        " Total_Tax\n\n");
+
   my ($query, $sth);
 
   # if we have an id delete old records
@@ -449,7 +451,7 @@ sub ap_transactions {
   push @a, "employee" if $self->{l_employee};
   my $sortorder = join ', ', $form->sort_columns(@a);
   $sortorder = $form->{sort} if $form->{sort};
-  
+
   $query .= "WHERE $where
              ORDER by $sortorder";