} elsif ( $self->unittype == 2 ) {
+ my $locationnum = $cust_bill_pkg->tax_locationnum
+ || $cust_main->ship_locationnum;
# per account
- $units = 1 unless $seen{$cust_bill_pkg->tax_locationnum};
- $seen{$cust_bill_pkg->tax_locationnum} = 1;
+ $units = 1 unless $seen{$locationnum};
+ $seen{$locationnum} = 1;
} else {
# Unittype 19 is used for prepaid wireless E911 charges in many states.
'locationtaxid' => $self->location,
'taxable_cust_bill_pkg' => $cust_bill_pkg,
'taxratelocationnum' => $taxratelocationnum,
+ 'taxclass' => $class,
});
push @tax_locations, $tax_location;
'edate' => '',
'itemdesc' => $name,
'cust_bill_pkg_tax_rate_location' => [ $_ ],
+ # Make the charge class easily accessible; we need it for tax-on-tax
+ # applicability. RT#36830.
+ '_class' => $_->taxclass,
});
$_->set('tax_cust_bill_pkg' => $tax_item);
push @tax_items, $tax_item;