diff options
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/cust_bill_pkg.pm | 4 | ||||
-rw-r--r-- | FS/FS/cust_credit.pm | 9 |
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 } ### |