From: Philip Reetz
Date: Thu, 16 Mar 2006 09:41:37 +0000 (+0000)
Subject: Probleme bei der Behandlung von Buchungen mit Steuerkorrektur behoben
X-Git-Tag: release-2.4.0^2~308
X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=628eba876898489f6796125d75ef044444100032;p=kivitendo-erp.git
Probleme bei der Behandlung von Buchungen mit Steuerkorrektur behoben
---
diff --git a/SL/AP.pm b/SL/AP.pm
index d490739f7..3d7b84081 100644
--- a/SL/AP.pm
+++ b/SL/AP.pm
@@ -100,24 +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"};
}
+ $form->{"tax_$i"} =
+ $form->round_amount($form->{"tax_$i"} * $form->{exchangerate}, 2);
+ $form->{netamount} += $form->{"amount_$i"};
}
- $form->{total_tax} += $form->{"tax_$i"} * -1;
+ $form->{total_tax} += $form->{"tax_$i"};
}
# adjust paidaccounts if there is no date in the last row
diff --git a/SL/AR.pm b/SL/AR.pm
index 42f8c1cc7..fe687ee86 100644
--- a/SL/AR.pm
+++ b/SL/AR.pm
@@ -103,23 +103,28 @@ sub post_transaction {
$form->{AR_amounts}{"amount_$i"}{taxkey} = $form->{"taxkey_$i"};
$sth->finish;
- if (!$form->{"korrektur_$i"}) {
- if ($form->{taxincluded} *= 1) {
- $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"};
+ if ($form->{taxincluded} *= 1) {
+ if (!$form->{"korrektur_$i"}) {
+ $tax =
+ $form->{"amount_$i"} -
+ ($form->{"amount_$i"} / ($form->{"taxrate_$i"} + 1));
} 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"};
}
+ $form->{"tax_$i"} =
+ $form->round_amount($form->{"tax_$i"} * $form->{exchangerate}, 2);
+ $form->{netamount} += $form->{"amount_$i"};
}
+
$form->{total_tax} += $form->{"tax_$i"};
}