add option to disable late fee taxes
authorivan <ivan>
Wed, 19 Aug 2009 21:27:16 +0000 (21:27 +0000)
committerivan <ivan>
Wed, 19 Aug 2009 21:27:16 +0000 (21:27 +0000)
FS/FS/part_event/Action/cust_bill_fee_percent.pm
FS/FS/part_event/Action/fee.pm
FS/FS/part_event/Action/pkg_referral_credit_pkg.pm

index 9206c6a..c853393 100644 (file)
@@ -16,7 +16,10 @@ sub option_fields {
     'percent'  => { label=>'Percent', size=>2, },
     'reason'   => 'Reason',
     'taxclass' => { label=>'Tax class', type=>'select-taxclass', },
-    'nextbill' => { label=>'Hold late fee until next invoice', type=>'checkbox', value=>'Y' },
+    'nextbill' => { label=>'Hold late fee until next invoice',
+                    type=>'checkbox', value=>'Y' },
+    'setuptax' => { label=>'Late fee is tax exempt',
+                    type=>'checkbox', value=>'Y' },
   );
 }
 
@@ -32,9 +35,10 @@ sub do_action {
     sprintf('%.2f', $cust_bill->owed * $self->option('percent') / 100 );
 
   my %charge = (
-    'amount'     => $amount,
-    'pkg'        => $self->option('reason'),
-    'taxclass'   => $self->option('taxclass'),
+    'amount'   => $amount,
+    'pkg'      => $self->option('reason'),
+    'taxclass' => $self->option('taxclass'),
+    'setuptax' => $self->option('setuptax'),
   );
 
   $charge{'start_date'} = $cust_main->next_bill_date #unless its more than N months away?
index 6450225..c700301 100644 (file)
@@ -12,7 +12,10 @@ sub option_fields {
     'charge'   => { label=>'Amount', type=>'money', }, # size=>7, },
     'reason'   => 'Reason',
     'taxclass' => { label=>'Tax class', type=>'select-taxclass', },
-    'nextbill' => { label=>'Hold late fee until next invoice', type=>'checkbox', value=>'Y' },
+    'nextbill' => { label=>'Hold late fee until next invoice',
+                    type=>'checkbox', value=>'Y' },
+    'setuptax' => { label=>'Late fee is tax exempt',
+                    type=>'checkbox', value=>'Y' },
   );
 }
 
@@ -26,7 +29,8 @@ sub do_action {
   my %charge = (
     'amount'   => $self->option('charge'),
     'pkg'      => $self->option('reason'),
-    'taxclass' => $self->option('taxclass')
+    'taxclass' => $self->option('taxclass'),
+    'setuptax' => $self->option('setuptax'),
   );
 
   $charge{'start_date'} = $cust_main->next_bill_date #unless its more than N months away?
index 08cf9a8..eb9b510 100644 (file)
@@ -38,6 +38,7 @@ sub _calc_referral_credit {
 
   my $what = $self->option('what');
 
+  #false laziness w/Condition/cust_payments_pkg.pm
   if ( $what eq 'base_recur_permonth' ) { #huh.  yuck.
     if ( $part_pkg->freq !~ /^\d+$/ ) {
       die 'WARNING: Not crediting customer '. $cust_main->referral_custnum.