summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2015-04-23 11:51:17 -0700
committerMark Wells <mark@freeside.biz>2015-04-23 11:51:17 -0700
commit06cb92dc485e9f46de39307f971907bfdef119a3 (patch)
tree2f866473985abc6f1690c4bd2897180fcdfee128
parent97566b78dd87ce4f0cda7885d7ca40414b2e69c3 (diff)
calculate current day consistently for sync_bill_date + prorate_round_day, #34622
-rw-r--r--FS/FS/part_pkg/flat.pm6
1 files changed, 6 insertions, 0 deletions
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];
}
}