RT# 77964 - Fixed error where deferring date did not work when waive setup fee was...
[freeside.git] / FS / FS / cust_main / Billing.pm
index 44a4dbb..51b49e4 100644 (file)
@@ -1030,6 +1030,7 @@ sub _make_lines {
     
     warn "    bill setup\n" if $DEBUG > 1;
 
+    unless ( $cust_pkg->waive_setup ) {
         $lineitems++;
 
         $setup = eval { $cust_pkg->calc_setup( $time, \@details, \%setup_param ) };
@@ -1049,6 +1050,12 @@ sub _make_lines {
           $setup_billed_currency = delete $setup_param{'billed_currency'};
           $setup_billed_amount   = delete $setup_param{'billed_amount'};
         }
+    }
+
+    if ($cust_pkg->waive_setup && $part_pkg->plan eq "prorate") {
+      $lineitems++;
+      $setup = 0 if $part_pkg->prorate_setup($cust_pkg, $time);
+    }
 
     if ( $cust_pkg->get('setup') ) {
       # don't change it