RT#37465: RBC PAD error when calculating totals
authorJonathan Prykop <jonathan@freeside.biz>
Fri, 31 Jul 2015 23:21:14 +0000 (18:21 -0500)
committerJonathan Prykop <jonathan@freeside.biz>
Fri, 31 Jul 2015 23:31:09 +0000 (18:31 -0500)
FS/FS/pay_batch/RBC.pm

index 47fc8d4..53f8108 100644 (file)
@@ -90,7 +90,6 @@ $name = 'RBC';
       my( $hash, $total, $line ) = @_;
       return "Can't process Credit Detail Record, aborting import"
         if ($hash->{'recordtype'} eq '2');
-      $totaloffset = sprintf("%.2f", $totaloffset / 100 );
       $total += $totaloffset;
       $total = sprintf("%.2f", $total);
       # We assume here that this is an 'All Records' or 'Input Records' report.
@@ -109,10 +108,16 @@ $name = 'RBC';
       #we already declined it this run, no takebacks
       if ($declined->{$hash->{'paybatchnum'}}) {
         #file counts this as part of total, but we skip
-        $totaloffset += $hash->{'paid'}
+        $totaloffset += sprintf("%.2f", $hash->{'paid'} / 100 )
           if $hash->{'status'} eq ' '; #false laziness with 'approved' above
         return 1;
       }
+      #skipping W for now (maybe it should be declined?)
+      if ($hash->{'status'} eq 'W') {
+        #file counts this as part of total, but we skip
+        $totaloffset += sprintf("%.2f", $hash->{'paid'} / 100 );
+        return 1;
+      }
       return 
         ($hash->{'recordtype'} eq '3') || #Account Trailer Record, concludes returned items
         ($hash->{'subtype'} ne '0'); #error messages, etc, too late to apply to previous entry