From 0b5ea482d5cb6685d3866a8940dc90eb6e8157cf Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Sat, 28 Feb 2015 13:14:57 -0800 Subject: [PATCH] change interaction between unsuspend_adjust_bill and unused_credit_suspend, #31651 --- FS/FS/cust_pkg.pm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index 40f3a4e8f..3c9eab85f 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -1676,15 +1676,20 @@ sub unsuspend { and ! $self->option('no_suspend_bill',1) ) or $hash{'order_date'} == $hash{'susp'} - or $self->part_pkg->option('unused_credit_suspend') - or ( defined($reason) and $reason->unused_credit ) ) { $adjust_bill = 0; } - # then add the length of time suspended to the bill date if ( $adjust_bill ) { - $hash{'bill'} = ( $hash{'bill'} || $hash{'setup'} ) + $inactive + if ( $self->part_pkg->option('unused_credit_suspend') + or ( $reason and $reason->unused_credit ) ) { + # then the customer was credited for the unused time before suspending, + # so their next bill should be immediate. + $hash{'bill'} = time; + } else { + # add the length of time suspended to the bill date + $hash{'bill'} = ( $hash{'bill'} || $hash{'setup'} ) + $inactive; + } } $hash{'susp'} = ''; -- 2.20.1