summaryrefslogtreecommitdiff
path: root/FS/FS
diff options
context:
space:
mode:
authorChristopher Burger <burgerc@freeside.biz>2018-11-12 10:09:26 -0500
committerChristopher Burger <burgerc@freeside.biz>2018-11-12 10:09:26 -0500
commite4c1781de43835fea0f2997c35de2395d06f220f (patch)
tree8b9b1a69c625cc06bdf1b77aa552e7b1f372f0ce /FS/FS
parent8736115c9857c7779baf5d4f54a06a72d6f5ed06 (diff)
RT# 81594 - fix package churn report to properly get future revenue value of changed packages
Diffstat (limited to 'FS/FS')
-rw-r--r--FS/FS/Report/Table.pm5
1 files changed, 4 insertions, 1 deletions
diff --git a/FS/FS/Report/Table.pm b/FS/FS/Report/Table.pm
index 7c4f973..d7b100d 100644
--- a/FS/FS/Report/Table.pm
+++ b/FS/FS/Report/Table.pm
@@ -973,12 +973,15 @@ sub revenue_pkg {
my $sql;
+## if package has changed and has not reached next due date it will not be in h_cust_bill.
+## this causes problems with future months, needed to use change_pkgnum instead.
+
if ($status eq "active") {
$sql = "SELECT DISTINCT ON (revenue.pkgnum) revenue.pkgnum AS pkgnum, revenue.recur AS revenue
FROM $from
JOIN part_pkg ON (cust_pkg.pkgpart = part_pkg.pkgpart)
JOIN cust_main ON (cust_pkg.custnum = cust_main.custnum)
- JOIN h_cust_bill_pkg AS revenue ON (cust_pkg.pkgnum = revenue.pkgnum AND cust_pkg.history_date < $speriod )
+ JOIN h_cust_bill_pkg AS revenue ON ((cust_pkg.pkgnum = revenue.pkgnum OR cust_pkg.change_pkgnum = revenue.pkgnum) AND cust_pkg.history_date < $speriod )
";
}
elsif ($status eq "setup") {