X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_main%2FBilling.pm;h=a5a38fdc238a3f0170ebba396916a31e877f9cc0;hb=4171d4440a6bf042f342095f13439a5f9d27487d;hp=44a4dbb04c393b8155f1e3f809213ce5cf28172c;hpb=9cdd008acdaa19127409188b51e25fe8c8b0b04b;p=freeside.git diff --git a/FS/FS/cust_main/Billing.pm b/FS/FS/cust_main/Billing.pm index 44a4dbb04..a5a38fdc2 100644 --- a/FS/FS/cust_main/Billing.pm +++ b/FS/FS/cust_main/Billing.pm @@ -1027,9 +1027,10 @@ sub _make_lines { || $cust_pkg->expire > $cmp_time ) ) { - + 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