diff options
author | Jonathan Prykop <jonathan@freeside.biz> | 2015-07-31 18:21:14 -0500 |
---|---|---|
committer | Jonathan Prykop <jonathan@freeside.biz> | 2015-07-31 18:25:11 -0500 |
commit | 6a24b8134d19a68339b927c9887f796ba7a04e0e (patch) | |
tree | ae8785c166c31a70bf05b13f6401eb44449dbd0d /FS/FS/pay_batch | |
parent | 180889a6af35a509edd0622473c5d6f5e07b836e (diff) |
RT#37465: RBC PAD error when calculating totals
Diffstat (limited to 'FS/FS/pay_batch')
-rw-r--r-- | FS/FS/pay_batch/RBC.pm | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/FS/FS/pay_batch/RBC.pm b/FS/FS/pay_batch/RBC.pm index 47fc8d4..53f8108 100644 --- a/FS/FS/pay_batch/RBC.pm +++ b/FS/FS/pay_batch/RBC.pm @@ -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 |