summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2010-12-02 19:03:59 +0000
committerivan <ivan>2010-12-02 19:03:59 +0000
commitc4d93a5108349d5a96569daf0dc3a62ddde43508 (patch)
treeb2165fd2a1c126d49ed575157090457bd61d2d7c
parenta5f64abe4b8058ea60c8e78ad9758470caef8d3e (diff)
count locations as accounts for cch taxation only when tax-pkg_address is on
-rw-r--r--FS/FS/tax_rate.pm18
1 files changed, 12 insertions, 6 deletions
diff --git a/FS/FS/tax_rate.pm b/FS/FS/tax_rate.pm
index ef4333ba9..d8ee87520 100644
--- a/FS/FS/tax_rate.pm
+++ b/FS/FS/tax_rate.pm
@@ -18,6 +18,7 @@ use DBIx::DBSchema;
use DBIx::DBSchema::Table;
use DBIx::DBSchema::Column;
use FS::Record qw( qsearch qsearchs dbh dbdef );
+use FS::Conf;
use FS::tax_class;
use FS::cust_bill_pkg;
use FS::cust_tax_location;
@@ -455,12 +456,17 @@ sub taxline {
return $self->_fatal_or_null( 'fee with minute unit type' );
} elsif ($self->unittype == 2) { #account
- #$taxable_units = 1;
- #number of distinct locations
- my %seen = ();
- foreach (@cust_bill_pkg) {
- $taxable_units++
- unless $seen{$_->cust_pkg->locationnum}++;
+
+ my $conf = new FS::Conf;
+ if ( $conf->exists('tax-pkg_address') ) {
+ #number of distinct locations
+ my %seen = ();
+ foreach (@cust_bill_pkg) {
+ $taxable_units++
+ unless $seen{$_->cust_pkg->locationnum}++;
+ }
+ } else {
+ $taxable_units = 1;
}
} else {