summaryrefslogtreecommitdiff
path: root/bin/is.pl
diff options
context:
space:
mode:
authoreinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2007-07-21 17:14:15 +0000
committereinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2007-07-21 17:14:15 +0000
commit65e1d575e4fec9395074525e8f1cff8ee1899d13 (patch)
treef9d16f1c7828684043a9fa141cf96528d060833d /bin/is.pl
parented1d4414cb15a901ecca5e5f96c88f44025c34ec (diff)
Correcting cumulative tax display issues, bug 1745757
git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/branches/1.2@1433 4979c152-3d1c-0410-bac9-87ea11338e46
Diffstat (limited to 'bin/is.pl')
-rwxr-xr-xbin/is.pl28
1 files changed, 10 insertions, 18 deletions
diff --git a/bin/is.pl b/bin/is.pl
index 0ad26029..52e29a58 100755
--- a/bin/is.pl
+++ b/bin/is.pl
@@ -507,7 +507,7 @@ sub form_header {
}
sub form_footer {
-
+ _calc_taxes();
$form->{invtotal} = $form->{invsubtotal};
if ( ( $rows = $form->numtextrows( $form->{notes}, 35, 8 ) ) < 2 ) {
@@ -538,20 +538,17 @@ qq|<textarea name=intnotes rows=$rows cols=35 wrap=soft>$form->{intnotes}</texta
}
if ( !$form->{taxincluded} ) {
- my @taxes = Tax::init_taxes( $form, $form->{taxaccounts} );
- foreach $item (@taxes) {
- my $taccno = $item->account;
- $form->{invtotal} += $form->round_amount(
- $form->{"${taccno}_rate"} * $form->{"${taccno}_base"}, 2);
+ foreach $item (keys %{$form->{taxes}}) {
+ my $taccno = $item;
+ $form->{invtotal} += $form->round_amount($form->{taxes}{$item}, 2);
$form->{"${taccno}_total"} =
- $form->format_amount( \%myconfig,
- $form->{"${taccno}_rate"} * $form->{"${taccno}_base"}, 2 );
+ $form->format_amount( \%myconfig,
+ $form->round_amount( $form->{taxes}{$item}, 2 ), 2 );
$tax .= qq|
<tr>
<th align=right>$form->{"${taccno}_description"}</th>
<td align=right>$form->{"${taccno}_total"}</td>
- </tr>
- | if $form->{"${taccno}_base"};
+ </tr>|;
}
$form->{invsubtotal} =
@@ -811,7 +808,7 @@ qq|<td align=center><input name="memo_$i" size=11 value="$form->{"memo_$i"}"></t
}
sub update {
-
+ $form->{taxes} = {};
$form->{exchangerate} =
$form->parse_amount( \%myconfig, $form->{exchangerate} );
@@ -988,13 +985,8 @@ sub update {
for ( split / /, $form->{"taxaccounts_$i"} ) {
$form->{"${_}_base"} += $amount;
}
- if ( !$form->{taxincluded} ) {
- my @taxes =
- Tax::init_taxes( $form, $form->{"taxaccounts_$i"},
- $form->{taxaccounts} );
- $amount +=
- Tax::calculate_taxes( \@taxes, $form, $amount, 0 );
- }
+
+
$form->{creditremaining} -= $amount;