From: Mark Wells <mark@freeside.biz>
Date: Thu, 23 Apr 2015 18:51:17 +0000 (-0700)
Subject: calculate current day consistently for sync_bill_date + prorate_round_day, #34622
X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=06cb92dc485e9f46de39307f971907bfdef119a3

calculate current day consistently for sync_bill_date + prorate_round_day, #34622
---

diff --git a/FS/FS/part_pkg/flat.pm b/FS/FS/part_pkg/flat.pm
index 5fd269642..2201384e8 100644
--- a/FS/FS/part_pkg/flat.pm
+++ b/FS/FS/part_pkg/flat.pm
@@ -171,6 +171,12 @@ sub cutoff_day {
   if ( $self->option('sync_bill_date',1) ) {
     my $next_bill = $cust_pkg->cust_main->next_bill_date;
     if ( defined($next_bill) ) {
+      # careful here. if the prorate calculation is going to round to 
+      # the nearest day, this needs to always return the same result
+      if ( $self->option('prorate_round_day', 1) ) {
+        my $hour = (localtime($next_bill))[2];
+        $next_bill += 64800 if $hour >= 12;
+      }
       return (localtime($next_bill))[3];
     }
   }