summaryrefslogtreecommitdiff
path: root/FS/FS/pay_batch
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2015-02-28 00:44:37 -0600
committerJonathan Prykop <jonathan@freeside.biz>2015-02-28 00:44:37 -0600
commit76c0399b07a8bc7d5642eeafa75b4862033bd7b5 (patch)
treea94bf58075fbca8c42c0ed940fb3d8f9bcd9ab65 /FS/FS/pay_batch
parent1ac4a177bd93ad7a97a45aacb66aa0bc9c23726b (diff)
RT#33582: RBC return batch processing failure [added comments]
Diffstat (limited to 'FS/FS/pay_batch')
-rw-r--r--FS/FS/pay_batch/RBC.pm14
1 files changed, 14 insertions, 0 deletions
diff --git a/FS/FS/pay_batch/RBC.pm b/FS/FS/pay_batch/RBC.pm
index a9b670dcc..f86eb37ba 100644
--- a/FS/FS/pay_batch/RBC.pm
+++ b/FS/FS/pay_batch/RBC.pm
@@ -11,6 +11,20 @@ my ($client_num, $shortname, $longname, $trans_code, $i);
$name = 'RBC';
# Royal Bank of Canada ACH Direct Payments Service
+# Meaning of initial characters in records:
+# 0 - header row, skipped by begin_condition
+# 1 - Debit Detail Record (only when subtype is 0)
+# 2 - Credit Detail Record, we die with a parse error (shouldn't appear in freeside-generated batches)
+# 3 - Account Trailer Record (appears after Returned items, we skip)
+# 4 - Client Trailer Record, indicates end of batch in end_condition
+#
+# Subtypes (27th char) indicate different kinds of Debit/Credit records
+# 0 - Credit/Debit Detail Record
+# 3 - Error Message Record
+# 4 - Foreign Currency Information Records
+# We skip all subtypes except 0
+#
+# additional information available at https://www.rbcroyalbank.com/ach/file-451806.pdf
%import_info = (
'filetype' => 'fixed',
'formatre' =>