+% #pkg change handling
+% next if $skip_pkg->{$cust_pkg->pkgnum};
+% if ($cust_pkg->change_to_pkgnum) {
+% #if change is on or before next bill date, use new pkg
+% next if $cust_pkg->expire <= $cust_pkg->bill;
+% #if change is after next bill date, use old (this) pkg
+% $skip_pkg->{$cust_pkg->change_to_pkgnum} = 1;
+% }
+%
+% my $pkg_amount = 0;
+%
+% #add recurring amounts for this package and its billing add-ons
+% foreach my $l_part_pkg ( $part_pkg->self_and_bill_linked ) {
+% $pkg_amount += $l_part_pkg->base_recur($cust_pkg);
+% }
+%
+% #subtract amounts for any active discounts
+% #(there should only be one at the moment, otherwise this makes no sense)
+% foreach my $cust_pkg_discount ( $cust_pkg->cust_pkg_discount_active ) {
+% my $discount = $cust_pkg_discount->discount;
+% #and only one of these for each
+% $pkg_amount -= $discount->amount;
+% $pkg_amount -= $amount * $discount->percent/100;
+% }
+%
+% $pkg_amount *= ( $cust_pkg->quantity || 1 );
+%
+% $amount += $pkg_amount;
+%
+% }
+
+ <TR>
+ <TH ALIGN="right"><% emt( ucfirst($freq_pretty). ' recurring' ) %></TH>
+ <TD><% $money_char. sprintf('%.2f', $amount) %></TD>
+ </TD>
+ </TR>
+% }