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.
my ($tax, $diff);
if ($form->{taxincluded} *= 1) {
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 {
$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;
$form->{netamount} += $form->{"amount_$i"};
}
$form->{total_tax} += $form->{"tax_$i"} * -1;