projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
508f9f8
)
if asked to credit a zero-amount line item, skip it rather than throwing an error...
author
Mark Wells
<mark@freeside.biz>
Mon, 17 Oct 2016 22:16:40 +0000
(15:16 -0700)
committer
Mark Wells
<mark@freeside.biz>
Mon, 17 Oct 2016 23:08:33 +0000
(16:08 -0700)
FS/FS/cust_credit.pm
patch
|
blob
|
history
diff --git
a/FS/FS/cust_credit.pm
b/FS/FS/cust_credit.pm
index
aebf259
..
6249713
100644
(file)
--- a/
FS/FS/cust_credit.pm
+++ b/
FS/FS/cust_credit.pm
@@
-728,10
+728,12
@@
sub calculate_tax_adjustment {
if ($recur) {
$recur -= $cust_bill_pkg->credited('', '', setuprecur => 'recur') || 0;
}
if ($recur) {
$recur -= $cust_bill_pkg->credited('', '', setuprecur => 'recur') || 0;
}
+ # Skip line items that have been completely credited.
+ next if ($setup + $recur) == 0;
my $setup_ratio = $setup / ($setup + $recur);
my $setup_ratio = $setup / ($setup + $recur);
- # Calculate the fraction of tax to credit: it's the fraction of this
charge
- # (either setup or recur) that's being credited.
+ # Calculate the fraction of tax to credit: it's the fraction of this
+ #
charge
(either setup or recur) that's being credited.
my $charged = ($setuprecur eq 'setup') ? $setup : $recur;
next if $charged == 0; # shouldn't happen, but still...
my $charged = ($setuprecur eq 'setup') ? $setup : $recur;
next if $charged == 0; # shouldn't happen, but still...
@@
-900,7
+902,7
@@
sub credit_lineitems {
my $invnum = $cust_bill_pkg->invnum;
$need_to_unapply -= $cust_bill_pkg->owed($setuprecur);
my $invnum = $cust_bill_pkg->invnum;
$need_to_unapply -= $cust_bill_pkg->owed($setuprecur);
-
next
if $need_to_unapply < 0.005;
+
return
if $need_to_unapply < 0.005;
my $error;
# then unapply payments one at a time (partially if need be) until the
my $error;
# then unapply payments one at a time (partially if need be) until the