[freeside-commits] branch master updated. 94c7f944bc5836e071ff3484cbba7e5b94e075a3

Ivan ivan at 420.am
Wed Jun 21 14:02:11 PDT 2017


The branch, master has been updated
       via  94c7f944bc5836e071ff3484cbba7e5b94e075a3 (commit)
      from  54632ad75498381c88e32850f7dda39965f7ad33 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 94c7f944bc5836e071ff3484cbba7e5b94e075a3
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Wed Jun 21 14:01:54 2017 -0700

    fix fees vs. tax refactor, RT#76366

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;
+      }
 
     }
 

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/TaxEngine/internal.pm |   35 ++++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 17 deletions(-)




More information about the freeside-commits mailing list