summaryrefslogtreecommitdiff
path: root/FS/FS/cust_credit.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2012-12-20 23:01:07 -0800
committerIvan Kohler <ivan@freeside.biz>2012-12-20 23:01:07 -0800
commit61e988d7675346395d24f1d7a2e89f4d90b95a6c (patch)
tree74c237252efa498e006e41e51204d15d91ff4b12 /FS/FS/cust_credit.pm
parent469f31f261476205bc9cf2d59335b8c30aa5e016 (diff)
credit line items interface: set credit amounts, RT#18676
Diffstat (limited to 'FS/FS/cust_credit.pm')
-rw-r--r--FS/FS/cust_credit.pm14
1 files changed, 9 insertions, 5 deletions
diff --git a/FS/FS/cust_credit.pm b/FS/FS/cust_credit.pm
index dfe55fb..9fd2d01 100644
--- a/FS/FS/cust_credit.pm
+++ b/FS/FS/cust_credit.pm
@@ -5,6 +5,7 @@ use base qw( FS::otaker_Mixin FS::cust_main_Mixin FS::Record );
use vars qw( $conf $unsuspendauto $me $DEBUG
$otaker_upgrade_kludge $ignore_empty_reasonnum
);
+use List::Util qw( min );
use Date::Format;
use FS::UID qw( dbh getotaker );
use FS::Misc qw(send_email);
@@ -806,19 +807,22 @@ sub credit_lineitems {
foreach my $location ( $tax_cust_bill_pkg->cust_bill_pkg_tax_Xlocation ) {
- $location->cust_bill_pkg_desc($taxline->desc); #ugh @ that kludge
+ #support partial credits: use $amount if smaller
+ # (so just distribute to the first location? perhaps should
+ # do so evenly...)
+ my $loc_amount = min( $amount, $location->amount);
- #$taxtotal += $location->amount;
- $amount -= $location->amount;
+ #$taxtotal += $loc_amount
+ $amount -= $loc_amount;
#push @taxlines,
# #[ $location->desc, $taxline->setup, $taxlocnum, $taxratelocnum ];
# [ $location->desc, $location->amount, $taxlocnum, $taxratelocnum ];
- $cust_credit_bill{$invnum} += $location->amount;
+ $cust_credit_bill{$invnum} += $loc_amount;
push @{ $cust_credit_bill_pkg{$invnum} },
new FS::cust_credit_bill_pkg {
'billpkgnum' => $tax_cust_bill_pkg->billpkgnum,
- 'amount' => $location->amount,
+ 'amount' => $loc_amount,
'setuprecur' => 'setup',
'billpkgtaxlocationnum' => $location->billpkgtaxlocationnum,
'billpkgtaxratelocationnum' => $location->billpkgtaxratelocationnum,