summaryrefslogtreecommitdiff
path: root/FS/FS/cust_main
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-10-24 21:58:40 -0700
committerIvan Kohler <ivan@freeside.biz>2013-10-24 21:58:40 -0700
commita6d62e3bc88e63d71fc972303210aec5464b2219 (patch)
treefb2531475a47ecfb18d7a88ae7ebb24d2f47e11e /FS/FS/cust_main
parentca00186e5e6b7eee73140546cde55758f81ed4de (diff)
fix next-bill-ignore-time, RT#24318, RT#24476, RT#12570
Diffstat (limited to 'FS/FS/cust_main')
-rw-r--r--FS/FS/cust_main/Billing.pm7
1 files changed, 6 insertions, 1 deletions
diff --git a/FS/FS/cust_main/Billing.pm b/FS/FS/cust_main/Billing.pm
index 0a364f509..b8a71d4a9 100644
--- a/FS/FS/cust_main/Billing.pm
+++ b/FS/FS/cust_main/Billing.pm
@@ -373,6 +373,11 @@ sub bill {
my $time = $options{'time'} || time;
my $invoice_time = $options{'invoice_time'} || $time;
+ my $cmp_time = ( $conf->exists('next-bill-ignore-time')
+ ? day_end( $time )
+ : $time
+ );
+
$options{'not_pkgpart'} ||= {};
$options{'not_pkgpart'} = { map { $_ => 1 }
split(/\s*,\s*/, $options{'not_pkgpart'})
@@ -480,7 +485,7 @@ sub bill {
my $next_bill = $cust_pkg->getfield('bill') || 0;
my $error;
# let this run once if this is the last bill upon cancellation
- while ( $next_bill <= $time or $options{cancel} ) {
+ while ( $next_bill <= $cmp_time or $options{cancel} ) {
$error =
$self->_make_lines( 'part_pkg' => $part_pkg,
'cust_pkg' => $cust_pkg,