[freeside-commits] branch FREESIDE_3_BRANCH updated. 35ee7acf6038ee009f9167960ea583b05b3e8983
Mark Wells
mark at 420.am
Mon Jun 16 14:09:27 PDT 2014
The branch, FREESIDE_3_BRANCH has been updated
via 35ee7acf6038ee009f9167960ea583b05b3e8983 (commit)
from 4fb0a520e352f458103a55729e437787f8ac39cf (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 35ee7acf6038ee009f9167960ea583b05b3e8983
Author: Mark Wells <mark at freeside.biz>
Date: Mon Jun 16 14:08:50 2014 -0700
when billing a package on cancellation, ignore non-usage taxes, #29443, fallout from #25899
diff --git a/FS/FS/cust_main/Billing.pm b/FS/FS/cust_main/Billing.pm
index dc923c1..5090a68 100644
--- a/FS/FS/cust_main/Billing.pm
+++ b/FS/FS/cust_main/Billing.pm
@@ -630,6 +630,7 @@ sub bill {
$taxlisthash{$pass},
$fee_item,
location => $fee_location
+ # probably not right to pass cancel => 1 for fees
);
return $error if $error;
@@ -1334,7 +1335,8 @@ sub _make_lines {
# handle taxes
###
- my $error = $self->_handle_taxes( $taxlisthash, $cust_bill_pkg );
+ my $error = $self->_handle_taxes( $taxlisthash, $cust_bill_pkg,
+ cancel => $options{cancel} );
return $error if $error;
$cust_bill_pkg->set_display(
@@ -1454,6 +1456,8 @@ OPTIONS may include:
- part_item: a part_pkg or part_fee object to be used as the package/fee
definition.
- location: a cust_location to be used as the billing location.
+- cancel: true if this package is being billed on cancellation. This
+ allows tax to be calculated on usage charges only.
If not supplied, part_item will be inferred from the pkgnum or feepart of the
cust_bill_pkg, and location from the pkgnum (or, for fees, the invnum and
@@ -1488,10 +1492,9 @@ sub _handle_taxes {
my %taxes = ();
my @classes;
- #push @classes, $cust_bill_pkg->usage_classes if $cust_bill_pkg->type eq 'U';
push @classes, $cust_bill_pkg->usage_classes if $cust_bill_pkg->usage;
- push @classes, 'setup' if $cust_bill_pkg->setup;
- push @classes, 'recur' if $cust_bill_pkg->recur;
+ push @classes, 'setup' if $cust_bill_pkg->setup and !$options{cancel};
+ push @classes, 'recur' if $cust_bill_pkg->recur and !$options{cancel};
my $exempt = $conf->exists('cust_class-tax_exempt')
? ( $self->cust_class ? $self->cust_class->tax : '' )
-----------------------------------------------------------------------
Summary of changes:
FS/FS/cust_main/Billing.pm | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
More information about the freeside-commits
mailing list