[freeside-commits] freeside/FS/FS/pay_batch td_eftack264.pm, NONE, 1.1.2.2 td_eftret80.pm, NONE, 1.1.2.2
Mark Wells
mark at wavetail.420.am
Wed Jan 19 16:31:36 PST 2011
Update of /home/cvs/cvsroot/freeside/FS/FS/pay_batch
In directory wavetail.420.am:/tmp/cvs-serv20253
Added Files:
Tag: FREESIDE_2_1_BRANCH
td_eftack264.pm td_eftret80.pm
Log Message:
TD EFT batch import formats, RT#10545
--- NEW FILE: td_eftack264.pm ---
package FS::pay_batch::td_eftack264;
use strict;
use vars qw(@ISA %import_info %export_info $name);
use Date::Format 'time2str';
use FS::Conf;
use FS::Record qw(qsearch);
=head1 NAME
td_eftack264 - TD Commercial Banking EFT 264 byte acknowledgement file
=cut
$name = 'td_eftack264';
%import_info = (
'filetype' => 'fixed',
'formatre' =>
'^(.)(.{9})(.{10})(.{4})(.{3})(.{10})(.{6})(.{9})(.{12}).{25}(.{15})(.{30})(.{30})(.{10})(.{19})(.{9})(.{12}).{15}.{22}(..)(.{11})$',
'fields' => [ qw(
recordtype
count
origid
fcn
cpacode
paid
duedate
bank
payinfo
shortname
custname
longname
origid2
paybatchnum
retbranch
retacct
usdcode
invfield
) ],
'hook' => sub {
my $hash = shift;
$hash->{'_date'} = time;
$hash->{'paid'} = sprintf('%.2f', $hash->{'paid'} / 100);
$hash->{'payinfo'} =~ s/^(\S+).*/$1/; # remove trailing spaces
$hash->{'payinfo'} = $hash->{'payinfo'} . '@' . $hash->{'bank'};
},
'approved' => sub { 0 },
'declined' => sub { 1 },
'skip_condition' => sub {
my $hash = shift;
$hash->{'recordtype'} ne 'D'; # Debit Detail record
},
'close_condition' => sub { 0 },
);
%export_info = ( filetype => 'NONE' );
1;
--- NEW FILE: td_eftret80.pm ---
package FS::pay_batch::td_eftret80;
use strict;
use vars qw(@ISA %import_info %export_info $name);
=head1 NAME
td_eftret80 - TD Commercial Banking EFT 80 byte returned item file
=cut
$name = 'td_eftret80';
%import_info = (
'filetype' => 'fixed',
'formatre' => '^(.)(.{20})(..)(.)(.{6})(.{19})(.{9})(.{12})(.{10})$',
'fields' => [ qw(
recordtype
custname
reason
verified
duedate
paybatchnum
bank
payinfo
amount
) ],
'hook' => sub {
my $hash = shift;
$hash->{'_date'} = time;
$hash->{'paid'} = sprintf('%.2f', $hash->{'paid'} / 100);
$hash->{'payinfo'} =~ s/^(\S+).*/$1/; # these often have trailing spaces
$hash->{'payinfo'} = $hash->{'payinfo'} . '@' . $hash->{'bank'};
},
'approved' => sub { 0 },
'declined' => sub { 1 },
'skip_condition' => sub {
my $hash = shift;
$hash->{'recordtype'} ne 'D'; #Detail record
},
'close_condition' => sub { 0 }, # never close just from this
);
%export_info = ( filetype => 'NONE' );
1;
More information about the freeside-commits
mailing list