From f21a9f30d3dc0bab67741cb32c0357b1632e9c8b Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Fri, 26 Jul 2019 11:39:50 -0700 Subject: [PATCH] fix invoicing prorate packages when bill date is edited manually before first billing, RT#83503 --- FS/FS/part_pkg/prorate_Mixin.pm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/FS/FS/part_pkg/prorate_Mixin.pm b/FS/FS/part_pkg/prorate_Mixin.pm index 9252143b9..7eac2af5b 100644 --- a/FS/FS/part_pkg/prorate_Mixin.pm +++ b/FS/FS/part_pkg/prorate_Mixin.pm @@ -190,8 +190,7 @@ set, in which case it postpones the next bill to the cutoff day. =cut sub prorate_setup { - my $self = shift; - my ($cust_pkg, $sdate) = @_; + my ($self, $cust_pkg, $time) = @_; my @cutoff_days = $self->cutoff_day($cust_pkg); if ( @cutoff_days and $self->option('prorate_defer_bill', 1) ) { if ( $cust_pkg->setup ) { @@ -205,11 +204,11 @@ sub prorate_setup { # For some reason (probably user override), the bill date has been set even # though the package isn't billing yet. Start billing as though that was the # start date. - $$sdate = $cust_pkg->bill; + $time = $cust_pkg->bill; $cust_pkg->setup($cust_pkg->bill); } # Now figure the start and end of the period that contains the start date. - my ($mnow, $mend, $mstart) = $self->_endpoints($sdate, @cutoff_days); + my ($mnow, $mend, $mstart) = $self->_endpoints($time, @cutoff_days); # If today is the cutoff day, set the next bill and setup both to # midnight today, so that the customer will be billed normally for a # month starting today. -- 2.11.0