summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/cust_bill_pkg.pm4
-rw-r--r--FS/FS/cust_credit.pm9
2 files changed, 7 insertions, 6 deletions
diff --git a/FS/FS/cust_bill_pkg.pm b/FS/FS/cust_bill_pkg.pm
index 594c9e668..bf71f397e 100644
--- a/FS/FS/cust_bill_pkg.pm
+++ b/FS/FS/cust_bill_pkg.pm
@@ -985,8 +985,8 @@ charge. If called on a tax line, returns nothing.
sub part_X {
my $self = shift;
- if ( $self->override_pkgpart ) {
- return FS::part_pkg->by_key($self->override_pkgpart);
+ if ( $self->pkgpart_override ) {
+ return FS::part_pkg->by_key($self->pkgpart_override);
} elsif ( $self->pkgnum ) {
return $self->cust_pkg->part_pkg;
} elsif ( $self->feepart ) {
diff --git a/FS/FS/cust_credit.pm b/FS/FS/cust_credit.pm
index adaf17aa3..e67da6bef 100644
--- a/FS/FS/cust_credit.pm
+++ b/FS/FS/cust_credit.pm
@@ -22,6 +22,7 @@ use FS::cust_event;
use FS::agent;
use FS::sales;
use FS::cust_credit_void;
+use FS::cust_bill_pkg;
use FS::upgrade_journal;
$me = '[ FS::cust_credit ]';
@@ -793,7 +794,6 @@ Example:
=cut
#maybe i should just be an insert with extra args instead of a class method
-use FS::cust_bill_pkg;
sub credit_lineitems {
my( $class, %arg ) = @_;
my $curuser = $FS::CurrentUser::CurrentUser;
@@ -919,9 +919,10 @@ sub credit_lineitems {
# recalculate taxes with new amounts
$taxlisthash{$invnum} ||= {};
- my $part_pkg = $cust_bill_pkg->part_pkg
- if $cust_bill_pkg->pkgpart_override;
- $cust_main->_handle_taxes( $taxlisthash{$invnum}, $cust_bill_pkg );
+ if ( $cust_bill_pkg->pkgnum or $cust_bill_pkg->feepart ) {
+ $cust_main->_handle_taxes( $taxlisthash{$invnum}, $cust_bill_pkg );
+ } # otherwise the item itself is a tax, and assume the caller knows
+ # what they're doing
}
###