[freeside-commits] branch master updated. 194c16bf0af62048d118ad28e55f5e1eb5d92ffa
Mark Wells
mark at 420.am
Sat Jan 30 20:12:23 PST 2016
The branch, master has been updated
via 194c16bf0af62048d118ad28e55f5e1eb5d92ffa (commit)
from a7a1836a29ad86b033e8d858fe999d03af2c54e4 (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 194c16bf0af62048d118ad28e55f5e1eb5d92ffa
Author: Mark Wells <mark at freeside.biz>
Date: Fri Jan 29 17:12:07 2016 -0800
fix internal handling of monthly tax exemptions, from #34223
diff --git a/FS/FS/TaxEngine/internal.pm b/FS/FS/TaxEngine/internal.pm
index 4ca1ea8..91b547c 100644
--- a/FS/FS/TaxEngine/internal.pm
+++ b/FS/FS/TaxEngine/internal.pm
@@ -243,7 +243,9 @@ sub taxline {
exempt_monthly => 'Y',
year => $year,
month => $mon,
+ taxnum => $tax_object->taxnum,
});
+
$taxable_charged -= $addl;
}
# if they're using multiple months of exemption for a multi-month
@@ -257,10 +259,23 @@ sub taxline {
}
} # if exempt_amount
- $_->taxnum($tax_object->taxnum) foreach @new_exemptions;
-
# attach them to the line item
- push @{ $cust_bill_pkg->cust_tax_exempt_pkg }, @new_exemptions;
+ foreach my $ex (@new_exemptions) {
+
+ if ( $cust_bill_pkg->billpkgnum ) {
+ # the exempted item is already inserted (it should be, these days) so
+ # insert the exemption record now:
+ $ex->set('billpkgnum', $cust_bill_pkg->billpkgnum);
+ my $error = $ex->insert;
+ return "inserting tax exemption record: $error" if $error;
+
+ } else {
+ # defer it until the item is inserted
+ push @{ $cust_bill_pkg->cust_tax_exempt_pkg }, $ex;
+ }
+ }
+
+ # and remember we've used the exemption
push @existing_exemptions, @new_exemptions;
$taxable_charged = sprintf( "%.2f", $taxable_charged);
-----------------------------------------------------------------------
Summary of changes:
FS/FS/TaxEngine/internal.pm | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
More information about the freeside-commits
mailing list