summaryrefslogtreecommitdiff
path: root/FS/FS/tax_rate.pm
diff options
context:
space:
mode:
authorivan <ivan>2011-04-15 22:52:22 +0000
committerivan <ivan>2011-04-15 22:52:22 +0000
commite92fa2f0535551a4e4cd92d10ccbcf930a5e5e62 (patch)
treed5e3bfc75a93cfcdfb9314c66b4af616923ba646 /FS/FS/tax_rate.pm
parent3682c553fa1ba99465273250a10c8b9993d3ae81 (diff)
fix new tax report w/FS::tax_rate_location->location_sql, RT#12332
Diffstat (limited to 'FS/FS/tax_rate.pm')
-rw-r--r--FS/FS/tax_rate.pm23
1 files changed, 13 insertions, 10 deletions
diff --git a/FS/FS/tax_rate.pm b/FS/FS/tax_rate.pm
index 12cdc4f..c0e8c89 100644
--- a/FS/FS/tax_rate.pm
+++ b/FS/FS/tax_rate.pm
@@ -1892,10 +1892,15 @@ sub generate_liability_report {
$taxes{$label}->{'url_param'} =
join(';', map { "$_=". uri_escape($t->$_) } @params);
- my $taxwhere = "FROM cust_bill_pkg $addl_from $where AND payby != 'COMP' ".
- "AND ". FS::tax_rate_location->location_sql( map { $_ => $t->$_ }
- @taxparams
- );
+ my $payby_itemdesc_loc =
+ " payby != 'COMP' ".
+ "AND itemdesc = ? OR ? = '' AND itemdesc IS NULL ".
+ "AND ". FS::tax_rate_location->location_sql( map { $_ => $t->$_ }
+ @taxparams
+ );
+
+ my $taxwhere =
+ "FROM cust_bill_pkg $addl_from $where AND $payby_itemdesc_loc";
my $sql = "SELECT SUM(amount) $taxwhere AND cust_bill_pkg.pkgnum = 0";
@@ -1903,12 +1908,10 @@ sub generate_liability_report {
$tax += $x;
$taxes{$label}->{'tax'} += $x;
- my $creditfrom = " JOIN cust_credit_bill_pkg USING (billpkgnum,billpkgtaxratelocationnum) ";
- my $creditwhere = "FROM cust_bill_pkg $addl_from $creditfrom $where ".
- "AND payby != 'COMP' ".
- "AND ". FS::tax_rate_location->location_sql( map { $_ => $t->$_ }
- @taxparams
- );
+ my $creditfrom =
+ "JOIN cust_credit_bill_pkg USING (billpkgnum,billpkgtaxratelocationnum)";
+ my $creditwhere =
+ "FROM cust_bill_pkg $addl_from $creditfrom $where $payby_itemdesc_loc";
$sql = "SELECT SUM(cust_credit_bill_pkg.amount) ".
" $creditwhere AND cust_bill_pkg.pkgnum = 0";