summaryrefslogtreecommitdiff
path: root/FS/FS/TaxEngine
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-06-21 14:02:12 -0700
committerIvan Kohler <ivan@freeside.biz>2017-06-21 14:02:12 -0700
commitb7098a86b745e95dfba07bab93a6ef3e3c911236 (patch)
tree2761109b41aea3b14cdc900ecc23819cbe64f87b /FS/FS/TaxEngine
parent09e21d010060855f842bcf6a5edec82ff705ddf6 (diff)
fix fees vs. tax refactor, RT#76366
Diffstat (limited to 'FS/FS/TaxEngine')
-rw-r--r--FS/FS/TaxEngine/internal.pm35
1 files changed, 18 insertions, 17 deletions
diff --git a/FS/FS/TaxEngine/internal.pm b/FS/FS/TaxEngine/internal.pm
index 3e3e7e5..df2d609 100644
--- a/FS/FS/TaxEngine/internal.pm
+++ b/FS/FS/TaxEngine/internal.pm
@@ -100,8 +100,6 @@ sub taxline {
foreach my $cust_bill_pkg (@$taxables) {
- my $cust_pkg = $cust_bill_pkg->cust_pkg;
- my $part_pkg = $cust_bill_pkg->part_pkg;
my @new_exemptions;
my $taxable_charged = $cust_bill_pkg->setup + $cust_bill_pkg->recur
or next; # don't create zero-amount exemptions
@@ -125,25 +123,28 @@ sub taxline {
$taxable_charged = 0;
}
+
+ if ( my $part_pkg = $cust_bill_pkg->part_pkg ) {
- if ( ($part_pkg->setuptax eq 'Y' or $tax_object->setuptax eq 'Y')
- and $cust_bill_pkg->setup > 0 and $taxable_charged > 0 ) {
+ if ( ($part_pkg->setuptax eq 'Y' or $tax_object->setuptax eq 'Y')
+ and $cust_bill_pkg->setup > 0 and $taxable_charged > 0 ) {
- push @new_exemptions, FS::cust_tax_exempt_pkg->new({
- amount => $cust_bill_pkg->setup,
- exempt_setup => 'Y'
- });
- $taxable_charged -= $cust_bill_pkg->setup;
+ push @new_exemptions, FS::cust_tax_exempt_pkg->new({
+ amount => $cust_bill_pkg->setup,
+ exempt_setup => 'Y'
+ });
+ $taxable_charged -= $cust_bill_pkg->setup;
+ }
- }
- if ( ($part_pkg->recurtax eq 'Y' or $tax_object->recurtax eq 'Y')
- and $cust_bill_pkg->recur > 0 and $taxable_charged > 0 ) {
+ if ( ($part_pkg->recurtax eq 'Y' or $tax_object->recurtax eq 'Y')
+ and $cust_bill_pkg->recur > 0 and $taxable_charged > 0 ) {
- push @new_exemptions, FS::cust_tax_exempt_pkg->new({
- amount => $cust_bill_pkg->recur,
- exempt_recur => 'Y'
- });
- $taxable_charged -= $cust_bill_pkg->recur;
+ push @new_exemptions, FS::cust_tax_exempt_pkg->new({
+ amount => $cust_bill_pkg->recur,
+ exempt_recur => 'Y'
+ });
+ $taxable_charged -= $cust_bill_pkg->recur;
+ }
}