sqlradacct_hour.pm: don't truncate per byte/hour overage charges at 2 decimal places
[freeside.git] / FS / FS / part_pkg / sqlradacct_hour.pm
index 3cc46ac..a2b64c7 100644 (file)
@@ -73,6 +73,13 @@ use FS::part_pkg::flat;
   'weight' => 40,
 );
 
+sub price_info {
+    my $self = shift;
+    my $str = $self->SUPER::price_info;
+    $str .= " plus usage" if $str;
+    $str;
+}
+
 sub calc_recur {
   my($self, $cust_pkg, $sdate, $details ) = @_;
 
@@ -99,25 +106,25 @@ sub calc_recur {
   $output = 0 if $output < 0;
 
   my $totalcharge =
-    $total  * sprintf('%.2f', $self->option('recur_total_charge'));
+     sprintf('%.2f', $total * $self->option('recur_total_charge'));
   $totalcharge = $self->option('recur_total_cap')
     if $self->option('recur_total_cap')
     && $totalcharge > $self->option('recur_total_cap');
 
   my $inputcharge =
-    $input  * sprintf('%.2f', $self->option('recur_input_charge'));
+     sprintf('%.2f', $input * $self->option('recur_input_charge'));
   $inputcharge = $self->option('recur_input_cap')
     if $self->option('recur_input_cap')
     && $inputcharge > $self->option('recur_input_cap');
 
   my $outputcharge = 
-    $output * sprintf('%.2f', $self->option('recur_output_charge'));
+    sprintf('%.2f', $output * $self->option('recur_output_charge'));
   $outputcharge = $self->option('recur_output_cap')
     if $self->option('recur_output_cap')
     && $outputcharge > $self->option('recur_output_cap');
 
   my $hourscharge =
-    $hours * sprintf('%.2f', $self->option('recur_hourly_charge'));
+    sprintf('%.2f', $hours * $self->option('recur_hourly_charge'));
   $hourscharge = $self->option('recur_hourly_cap')
     if $self->option('recur_hourly_cap')
     && $hourscharge > $self->option('recur_hourly_cap');