Fehler bei Splitbuchungen beseitigt, wenn mit Steuer inkl. gebucht wurde
$form->{transdate}, 'buy');
}
for $i (1 .. $form->{rowcount}) {
$form->{transdate}, 'buy');
}
for $i (1 .. $form->{rowcount}) {
- $form->{AR_amounts}{"amount_$i"} = (split(/--/, $form->{"AR_amount_$i"}))[0];
+ $form->{AR_amounts}{"amount_$i"} =
+ (split(/--/, $form->{"AR_amount_$i"}))[0];
}
($form->{AR_amounts}{receivables}) = split(/--/, $form->{ARselected});
}
($form->{AR_amounts}{receivables}) = split(/--/, $form->{ARselected});
- ($form->{AR}{receivables}) = split(/--/, $form->{ARselected});
+ ($form->{AR}{receivables}) = split(/--/, $form->{ARselected});
$form->{exchangerate} =
($exchangerate)
$form->{exchangerate} =
($exchangerate)
$form->{taxincluded} = 0 if ($form->{amount} == 0);
for $i (1 .. $form->{rowcount}) {
$form->{taxincluded} = 0 if ($form->{amount} == 0);
for $i (1 .. $form->{rowcount}) {
- ($form->{"taxkey_$i"}, $NULL) = split /--/, $form->{"taxchart_$i"};
+ ($form->{"taxkey_$i"}, $NULL) = split /--/, $form->{"taxchart_$i"};
$query =
qq| SELECT c.accno, t.rate FROM chart c, tax t where c.id=t.chart_id AND t.taxkey=$form->{"taxkey_$i"}|;
$sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
$query =
qq| SELECT c.accno, t.rate FROM chart c, tax t where c.id=t.chart_id AND t.taxkey=$form->{"taxkey_$i"}|;
$sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
- ($form->{AR_amounts}{"tax_$i"}, $form->{"taxrate_$i"}) = $sth->fetchrow_array;
- $form->{AR_amounts}{"tax_$i"}{taxkey} = $form->{"taxkey_$i"};
+ ($form->{AR_amounts}{"tax_$i"}, $form->{"taxrate_$i"}) =
+ $sth->fetchrow_array;
+ $form->{AR_amounts}{"tax_$i"}{taxkey} = $form->{"taxkey_$i"};
$form->{AR_amounts}{"amount_$i"}{taxkey} = $form->{"taxkey_$i"};
$sth->finish;
if (!$form->{"korrektur_$i"}) {
if ($form->{taxincluded} *= 1) {
$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));
+ $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"};
$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 {
+ $form->{"tax_$i"} = $form->{"amount_$i"} * $form->{"taxrate_$i"};
+ $form->{"tax_$i"} =
+ $form->round_amount($form->{"tax_$i"} * $form->{exchangerate}, 2);
- $form->{"tax_$i"} = $form->{"amount_$i"} * $form->{"taxrate_$i"};
- $form->{"tax_$i"} = $form->round_amount($form->{"tax_$i"} * $form->{exchangerate}, 2);
}
$form->{total_tax} += $form->{"tax_$i"};
}
}
$form->{total_tax} += $form->{"tax_$i"};
}
WHERE c.accno = '$form->{AR_amounts}{"amount_$i"}'),
$form->{"amount_$i"}, '$form->{transdate}', $project_id, '$taxkey')|;
$dbh->do($query) || $form->dberror($query);
WHERE c.accno = '$form->{AR_amounts}{"amount_$i"}'),
$form->{"amount_$i"}, '$form->{transdate}', $project_id, '$taxkey')|;
$dbh->do($query) || $form->dberror($query);
- if ($form->{"tax_$i"} !=0) {
+ if ($form->{"tax_$i"} != 0) {
+
# insert detail records in acc_trans
# insert detail records in acc_trans
- $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate,
+ $query =
+ qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate,
project_id, taxkey)
VALUES ($form->{id}, (SELECT c.id FROM chart c
WHERE c.accno = '$form->{AR_amounts}{"tax_$i"}'),
project_id, taxkey)
VALUES ($form->{id}, (SELECT c.id FROM chart c
WHERE c.accno = '$form->{AR_amounts}{"tax_$i"}'),
# add recievables
$query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate,
project_id)
# add recievables
$query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate,
project_id)
$form->{receivables}, '$form->{transdate}', $project_id)|;
$dbh->do($query) || $form->dberror($query);
$form->{receivables}, '$form->{transdate}', $project_id)|;
$dbh->do($query) || $form->dberror($query);
# add paid transactions
for my $i (1 .. $form->{paidaccounts}) {
if ($form->{"paid_$i"} != 0) {
# add paid transactions
for my $i (1 .. $form->{paidaccounts}) {
if ($form->{"paid_$i"} != 0) {
$form->{duedate} = $duedate if $duedate;
$form->{oldcustomer} = "$form->{customer}--$form->{customer_id}";
$form->{duedate} = $duedate if $duedate;
$form->{oldcustomer} = "$form->{customer}--$form->{customer_id}";
+ $form->{rowcount} = 1;
+
# currencies
@curr = split /:/, $form->{currencies};
chomp $curr[0];
# currencies
@curr = split /:/, $form->{currencies};
chomp $curr[0];
# if there is a value we have an old entry
my $j = 0;
my $k = 0;
# if there is a value we have an old entry
my $j = 0;
my $k = 0;
- print(STDERR Dumper($form->{acc_trans}));
for $i (1 .. scalar @{ $form->{acc_trans}{$key} }) {
if ($key eq "AR_paid") {
$j++;
for $i (1 .. scalar @{ $form->{acc_trans}{$key} }) {
if ($key eq "AR_paid") {
$j++;
$akey = $key;
$akey =~ s/AR_//;
$akey = $key;
$akey =~ s/AR_//;
- if ($key eq "AR_tax") {
+ if ($key eq "AR_tax" || $key eq "AP_tax") {
$form->{"${key}_$form->{acc_trans}{$key}->[$i-1]->{accno}"} =
"$form->{acc_trans}{$key}->[$i-1]->{accno}--$form->{acc_trans}{$key}->[$i-1]->{description}";
$form->{"${akey}_$form->{acc_trans}{$key}->[$i-1]->{accno}"} =
$form->{"${key}_$form->{acc_trans}{$key}->[$i-1]->{accno}"} =
"$form->{acc_trans}{$key}->[$i-1]->{accno}--$form->{acc_trans}{$key}->[$i-1]->{description}";
$form->{"${akey}_$form->{acc_trans}{$key}->[$i-1]->{accno}"} =
$form->{"${akey}_$form->{acc_trans}{$key}->[$i-1]->{accno}"};
$withholdingrate +=
$form->{"$form->{acc_trans}{$key}->[$i-1]->{accno}_rate"};
$form->{"${akey}_$form->{acc_trans}{$key}->[$i-1]->{accno}"};
$withholdingrate +=
$form->{"$form->{acc_trans}{$key}->[$i-1]->{accno}_rate"};
- }
- print(STDERR $form->{acc_trans}{$key}->[$i - 1]->{amount}, " ACC_TRANS\n");
- print(STDERR "$key KEY, $k Zeile\n");
$index = $form->{acc_trans}{$key}->[$i - 1]->{index};
$form->{"tax_$index"} = $form->{acc_trans}{$key}->[$i - 1]->{amount};
$index = $form->{acc_trans}{$key}->[$i - 1]->{index};
$form->{"tax_$index"} = $form->{acc_trans}{$key}->[$i - 1]->{amount};
+ $totaltax += $form->{"tax_$index"};
($totaltax + $totalwithholding) * $form->{"amount_$i"} / $totalamount;
$tax = $form->round_amount($taxamount, 2);
$diff += ($taxamount - $tax);
($totaltax + $totalwithholding) * $form->{"amount_$i"} / $totalamount;
$tax = $form->round_amount($taxamount, 2);
$diff += ($taxamount - $tax);
- $form->{"amount_$i"} += $tax;
+ $form->{"amount_$i"} += $form->{"tax_$i"};
}
$form->{amount_1} += $form->round_amount($diff, 2);
}
}
$form->{amount_1} += $form->round_amount($diff, 2);
}
- # check if calculated is equal to stored
- if ($form->{taxincluded} && $form->{taxrate} && $withholdingrate) {
- if ($form->{"taxrate"} > 0) {
- $taxamount =
- $form->round_amount(
- ($form->{amount_1} - ($form->{amount_1} / ($form->{taxrate} + 1))),
- 2);
- } else {
- $taxamount =
- $form->round_amount(
- ($totalamount + $totaltax + $totalwithholding) * $withholdingrate /
- (1 - $withholdingrate),
- 2
- ) * $form->{"taxrate"} / $withholdingrate;
- }
- } else {
- $taxamount = $totalamount * $form->{"taxrate"};
- }
$taxamount = $form->round_amount($taxamount, 2);
$form->{tax} = $taxamount;
$taxamount = $form->round_amount($taxamount, 2);
$form->{tax} = $taxamount;
- $form->{invtotal} = $totalamount + $totaltax + $totalwithholding;
+ $form->{invtotal} = $totalamount + $totaltax;
$form->{locked} =
($form->datetonum($form->{transdate}, \%myconfig) <=
$form->{locked} =
($form->datetonum($form->{transdate}, \%myconfig) <=
s/option>\Q$form->{$item}\E/option selected>$form->{$item}/;
}
$selectAR_amount_unquoted = $form->{selectAR_amount};
s/option>\Q$form->{$item}\E/option selected>$form->{$item}/;
}
$selectAR_amount_unquoted = $form->{selectAR_amount};
- $taxchart = $form->{taxchart};
- map { $form->{$_} =~ s/\"/"/g } qw(AR_amount selectAR_amount AR taxchart);
+ $taxchart = $form->{taxchart};
+ map { $form->{$_} =~ s/\"/"/g }
+ qw(AR_amount selectAR_amount AR taxchart);
# format amounts
$form->{exchangerate} =
# format amounts
$form->{exchangerate} =
$button1 = qq|
<td><input name=transdate id=transdate size=11 title="$myconfig{dateformat}" value=$form->{transdate}></td>
<td><input type=button name=transdate id="trigger1" value=|
$button1 = qq|
<td><input name=transdate id=transdate size=11 title="$myconfig{dateformat}" value=$form->{transdate}></td>
<td><input type=button name=transdate id="trigger1" value=|
- . $locale->text('button')
- . qq|></td>
+ . $locale->text('button') . qq|></td>
|;
$button2 = qq|
<td><input name=duedate id=duedate size=11 title="$myconfig{dateformat}" value=$form->{duedate}></td>
<td><input type=button name=duedate id="trigger2" value=|
|;
$button2 = qq|
<td><input name=duedate id=duedate size=11 title="$myconfig{dateformat}" value=$form->{duedate}></td>
<td><input type=button name=duedate id="trigger2" value=|
- . $locale->text('button')
- . qq|></td></td>
+ . $locale->text('button') . qq|></td></td>
$amount = $locale->text('Amount');
$project = $locale->text('Project');
for $i (1 .. $form->{rowcount}) {
# format amounts
$amount = $locale->text('Amount');
$project = $locale->text('Project');
for $i (1 .. $form->{rowcount}) {
# format amounts
- $form->{"amount_$i"} = $form->format_amount(\%myconfig, $form->{"amount_$i"}, 2);
+ $form->{"amount_$i"} =
+ $form->format_amount(\%myconfig, $form->{"amount_$i"}, 2);
$form->{"tax_$i"} = $form->format_amount(\%myconfig, $form->{"tax_$i"}, 2);
$selectAR_amount = $selectAR_amount_unquoted;
$form->{"tax_$i"} = $form->format_amount(\%myconfig, $form->{"tax_$i"}, 2);
$selectAR_amount = $selectAR_amount_unquoted;
- $selectAR_amount =~ s/option value=\"$form->{"AR_amount_$i"}\"/option value=\"$form->{"AR_amount_$i"}\" selected/;
+ $selectAR_amount =~
+ s/option value=\"$form->{"AR_amount_$i"}\"/option value=\"$form->{"AR_amount_$i"}\" selected/;
$tax = $taxchart;
$tax_selected = $form->{"taxchart_$i"};
$tax =~ s/value=\"$tax_selected\"/value=\"$tax_selected\" selected/;
$tax =
$tax = $taxchart;
$tax_selected = $form->{"taxchart_$i"};
$tax =~ s/value=\"$tax_selected\"/value=\"$tax_selected\" selected/;
$tax =
- qq|<td><select id="taxchart_$i" name="taxchart_$i">$tax</select></td>|;
+ qq|<td><select id="taxchart_$i" name="taxchart_$i">$tax</select></td>|;
$form->{invtotal} = $form->format_amount(\%myconfig, $form->{invtotal}, 2);
print qq|
$form->{invtotal} = $form->format_amount(\%myconfig, $form->{invtotal}, 2);
print qq|
<table width=100%>
<tr class=listheading>
<th colspan=6 class=listheading>|
<table width=100%>
<tr class=listheading>
<th colspan=6 class=listheading>|
- . $locale->text('Incoming Payments')
- . qq|</th>
+ . $locale->text('Incoming Payments') . qq|</th>
-# $form->{selectAR_amount} = $form->{AR_amount};
-# $form->{selectAR_amount} =~
-# s/value=\"$form->{AR_amountselected}\"/value=\"$form->{AR_amountselected}\" selected/;
+ # $form->{selectAR_amount} = $form->{AR_amount};
+ # $form->{selectAR_amount} =~
+ # s/value=\"$form->{AR_amountselected}\"/value=\"$form->{AR_amountselected}\" selected/;
$form->{selectAR} = $form->{AR};
$form->{selectAR} = $form->{AR};
for $i (1 .. $form->{rowcount}) {
$form->{"amount_$i"} =
$form->parse_amount(\%myconfig, $form->{"amount_$i"});
for $i (1 .. $form->{rowcount}) {
$form->{"amount_$i"} =
$form->parse_amount(\%myconfig, $form->{"amount_$i"});
- $form->{"tax_$i"} =
- $form->parse_amount(\%myconfig, $form->{"tax_$i"});
+ $form->{"tax_$i"} = $form->parse_amount(\%myconfig, $form->{"tax_$i"});
if ($form->{"amount_$i"}) {
push @a, {};
$j = $#a;
if ($form->{"amount_$i"}) {
push @a, {};
$j = $#a;
$form->{invtotal} =
($form->{taxincluded}) ? $form->{invtotal} : $form->{invtotal} + $totaltax;
$form->{invtotal} =
($form->{taxincluded}) ? $form->{invtotal} : $form->{invtotal} + $totaltax;
$button1 = qq|
<td><input name=transdatefrom id=transdatefrom size=11 title="$myconfig{dateformat}">
<input type=button name=transdatefrom id="trigger1" value=|
$button1 = qq|
<td><input name=transdatefrom id=transdatefrom size=11 title="$myconfig{dateformat}">
<input type=button name=transdatefrom id="trigger1" value=|
- . $locale->text('button')
- . qq|></td>
+ . $locale->text('button') . qq|></td>
|;
$button2 = qq|
<td><input name=transdateto id=transdateto size=11 title="$myconfig{dateformat}">
<input type=button name=transdateto name=transdateto id="trigger2" value=|
|;
$button2 = qq|
<td><input name=transdateto id=transdateto size=11 title="$myconfig{dateformat}">
<input type=button name=transdateto name=transdateto id="trigger2" value=|
- . $locale->text('button')
- . qq|></td>
+ . $locale->text('button') . qq|></td>
$option .= $locale->text('Closed');
}
$option .= $locale->text('Closed');
}
- @columns =
- $form->sort_columns(
+ @columns = $form->sort_columns(
qw(transdate id invnumber ordnumber name netamount tax amount paid datepaid due duedate notes employee shippingpoint shipvia)
qw(transdate id invnumber ordnumber name netamount tax amount paid datepaid due duedate notes employee shippingpoint shipvia)
foreach $item (@columns) {
if ($form->{"l_$item"} eq "Y") {
foreach $item (@columns) {
if ($form->{"l_$item"} eq "Y") {