Fehler bei Kreditorenbuchungen exklusive Steuern mit Fremdwährungen
authorSven Schöling <s.schoeling@linet-services.de>
Fri, 7 Jan 2011 16:09:16 +0000 (17:09 +0100)
committerSven Schöling <s.schoeling@linet-services.de>
Fri, 7 Jan 2011 16:09:16 +0000 (17:09 +0100)
Fix zu Bug 1547: Wurden Kreditorenbuchungen mit Steuern ohne Steuern im Preis
inbegriffen mit einer Fremdwährung gebucht, wurde die Steuer doppelt in die
Fremdwährung umgerechnet. Der Bug geht zurück auf die Splitbuchungen.

Btw.: Das korrektur Feld ist seit 5d44361c86fe35b3fb0485f2dbface7cf6d73b1d
nicht mehr benutzt, und wurde hier für AP gleich mit entfernt.

SL/AP.pm

index 245d1ab..39a68a4 100644 (file)
--- a/SL/AP.pm
+++ b/SL/AP.pm
@@ -108,26 +108,14 @@ sub post_transaction {
 
     my ($tax, $diff);
     if ($form->{taxincluded} *= 1) {
-      if (!$form->{"korrektur_$i"}) {
-        $tax =
-          $form->{"amount_$i"} -
-          ($form->{"amount_$i"} / ($form->{"taxrate_$i"} + 1));
-      } else {
-        $tax = $form->{"tax_$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 {
-      if (!$form->{"korrektur_$i"}) {
-        $form->{"tax_$i"} = $form->{"amount_$i"} * $form->{"taxrate_$i"};
-      } else {
-        $tax = $form->{"tax_$i"};
-      }
-      $form->{"tax_$i"} =
-        $form->round_amount($form->{"tax_$i"} * $form->{exchangerate}, 2);
+      $form->{"tax_$i"} = $form->{"amount_$i"} * $form->{"taxrate_$i"};
       $form->{netamount} += $form->{"amount_$i"};
     }
     $form->{total_tax} += $form->{"tax_$i"} * -1;