diff options
author | Ivan Kohler <ivan@freeside.biz> | 2013-01-20 11:42:56 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2013-01-20 11:42:56 -0800 |
commit | 6f254619bd2cc7e7b3cc94f90b6a33c568db974e (patch) | |
tree | 894ca8693d58add8544d48bbbc7eaad9ef731562 /FS/FS/part_pkg.pm | |
parent | 795aa783f79e6d286ffcbd8ce4d00ede5aa5c003 (diff) |
commissions based on actual invoiced amounts, RT#21002
Diffstat (limited to 'FS/FS/part_pkg.pm')
-rw-r--r-- | FS/FS/part_pkg.pm | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm index d4c420f5b..0d6f8a137 100644 --- a/FS/FS/part_pkg.pm +++ b/FS/FS/part_pkg.pm @@ -1450,6 +1450,29 @@ sub recur_cost_permonth { sprintf('%.2f', $self->recur_cost / $self->freq ); } +=item cust_bill_pkg_recur CUST_PKG + +Actual recurring charge for the specified customer package from customer's most +recent invoice + +=cut + +sub cust_bill_pkg_recur { + my($self, $cust_pkg) = @_; + my $cust_bill_pkg = qsearchs({ + 'table' => 'cust_bill_pkg', + 'addl_from' => 'LEFT JOIN cust_bill USING ( invnum )', + 'hashref' => { 'pkgnum' => $cust_pkg->pkgnum, + 'recur' => { op=>'>', value=>'0' }, + }, + 'order_by' => 'ORDER BY cust_bill._date DESC, + cust_bill_pkg.sdate DESC + LIMIT 1 + ', + }) or return 0; #die "use cust_bill_pkg_recur credits with once_perinv condition"; + $cust_bill_pkg->recur; +} + =item format OPTION DATA Returns data formatted according to the function 'format' described |