summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2015-07-13 13:17:10 -0700
committerIvan Kohler <ivan@freeside.biz>2015-07-13 13:17:10 -0700
commit8f1f857ffd2f01a543bdef6b8486ad8c90bd302a (patch)
treed045d5be888726187fd3ff004ef55832fc567d2b
parent927f612f345d8fc14e1c5f6966e01fddb1763b27 (diff)
batchconfig-nacha-origin_name
-rw-r--r--FS/FS/Conf.pm7
-rw-r--r--FS/FS/pay_batch/nacha.pm11
2 files changed, 15 insertions, 3 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index b384d85af..c31414914 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -3975,6 +3975,13 @@ and customer address. Include units.',
},
{
+ 'key' => 'batchconfig-nacha-origin_name',
+ 'section' => 'billing',
+ 'description' => 'Configuration for NACHA batching, Origin name (defaults to company name, but sometimes bank name is needed instead.)'.
+ 'type' => 'text',
+ },
+
+ {
'key' => 'batch-manual_approval',
'section' => 'billing',
'description' => 'Allow manual batch closure, which will approve all payments that do not yet have a status. This is not advised unless needed for specific payment processors that provide a report of rejected rather than approved payments.',
diff --git a/FS/FS/pay_batch/nacha.pm b/FS/FS/pay_batch/nacha.pm
index 0361304e3..befba09a2 100644
--- a/FS/FS/pay_batch/nacha.pm
+++ b/FS/FS/pay_batch/nacha.pm
@@ -47,7 +47,12 @@ $DEBUG = 0;
my $origin = $1;
my $company = $conf->config('company_name', $pay_batch->agentnum);
- $company = substr(uc($company). (' 'x23), 0, 23);
+
+ my $origin_name = $conf->config('batchconfig-nacha-origin_name')
+ || $company;
+ $origin_name = substr(uc($origin_name). (' 'x23), 0, 23);
+
+ $company = substr(uc($company). (' 'x16), 0, 16);
my $now = time;
@@ -78,7 +83,7 @@ $DEBUG = 0;
'10'. #Blocking Factor
'1'. #Format code
$dest_name. #Immediate Destination Name / 23 char bank name
- $company. #Immediate Origin Name / 23 char company name
+ $origin_name. #Immediate Origin Name / 23 char company name
$refcode. "\n". #Reference Code (internal/optional)
###
@@ -88,7 +93,7 @@ $DEBUG = 0;
'5'. #Record Type Code
'225'. #Service Class Code (220 credits only,
# 200 mixed debits & credits)
- substr($company, 0, 16). #on cust. statements
+ $company. #on cust. statements
(' 'x20 ). #20 char "company internal use if desired"
$origin. #Company Identification (Immediate Origin)
'PPD'. #others?