NAME

Finance::AMEX::Transaction::EPTRN::Summary - Parse AMEX Transaction/Invoice Level Reconciliation (EPTRN) Summary Rows

VERSION

version 0.005

SYNOPSIS

use Finance::AMEX::Transaction;

my $epraw = Finance::AMEX::Transaction->new(file_type => 'EPTRN');
open my $fh, '<', '/path to EPTRN file' or die "cannot open EPTRN file: $!";

while (my $record = $epraw->getline($fh)) {

 if ($record->type eq 'SUMMARY') {
   print $record->PAYMENT_DATE . "\n";
 }
}

# to parse a single line

my $record = $epraw->parse_line('line from an EPTRN  file');
if ($record->type eq 'SUMMARY') {
  ...
}

DESCRIPTION

You would not normally be calling this module directly, it is one of the possible return objects from a call to Finance::AMEX::Transaction's getline method.

METHODS

new

Returns a new Finance::AMEX::Transaction::EPTRN::Summary object.

my $record = Finance::AMEX::Transaction::EPTRN::Summary->new(line => $line);

type

This will always return the string SUMMARY.

print $record->type; # SUMMARY

line

Returns the full line that is represented by this object.

print $record->line;

field_map

Returns a hashref where the name is the record name and the value is an arrayref of the start position and length of that field.

# print the start position of the PAYMENT_YEAR field
print $record->field_map->{PAYMENT_YEAR}->[0]; # 31

AMEX_PAYEE_NUMBER

This field contains the Service Establishment (SE) Number of the merchant that received the payment from American Express.

Note: SE Numbers are assigned by American Express.

AMEX_SORT_FIELD_1

This field is always zero filled in the Summary Record.

AMEX_SORT_FIELD_2

This field is always zero filled in the Summary Record.

PAYMENT_YEAR

This field contains the Payment Year that corresponds to the entry in the Julian Date subfield of PAYMENT_NUMBER.

PAYMENT_NUMBER

This field contains the Payment Number, a reference number used by the American Express Payee to reconcile the daily settlement to the daily payment.

PAYMENT_NUMBER_DATE

The Julian date of the payment.

PAYMENT_NUMBER_TYPE

An alpha character assigned by the American Express settlement system.

PAYMENT_NUMBER_NUMBER

The Number of the payment.

RECORD_TYPE

This field contains the constant literal “1”, a Record Type code that indicates that this is a Summary Record.

DETAIL_RECORD_TYPE

This field contains the Detail Record Type code that indicates the type of record used in this transaction.

For Summary Records, this entry is always “00” (zeros).

PAYMENT_DATE

This field contains the Payment Date, which is the date the funds are actually available to the payee’s depository institution.

The format is: YYYYDDD

YYYY = Year
DDD = Julian Date

PAYMENT_AMOUNT

This field contains the actual Payment Amount paid to the payee for the activities listed in the Detail Records.

Note: For US Dollar (USD) and Canadian Dollar (CAD) transactions, two decimal places are implied.

A debit amount (positive) is indicated by an upper-case alpha code used in place of the last digit in the amount.

The debit codes and their numeric equivalents are listed below:

1=A
2=B
3=C
4=D
5=E
6=F
7=G
8=H
9=I
0={

A credit amount (negative) is also indicated by an upper-case alpha code used in place of the last digit in the amount.

The credit codes and their numeric equivalents are listed below:

1=J
2=K
3=L
4=M
5=N
6=O
7=P
8=Q
9=R
0=}

The following are examples of how amounts would appear:

Amount    Debit          Credit
  $1.11   0000000011A    0000000227}
$345.05   0000003450E    0000003450N
 $22.70   0000000227{    0000000011J

DEBIT_BALANCE_AMOUNT

This field contains the Debit Balance Amount, which is a negative value if the merchant has an opening debit balance for the payment listed in PAYMENT_AMOUNT.

ABA_BANK_NUMBER

This field contains the ABA Bank Number to which the value in PAYMENT_AMOUNT, was transferred through the ACH banking system.

SE_DDA_NUMBER

This field contains the payee’s Direct Deposit Account Number to which the value in PAYMENT_AMOUNT, was transferred through the ACH banking system.

NAME

Finance::AMEX::Transaction::EPTRN::Summary - Object methods for AMEX Transaction/Invoice Level Reconciliation (EPTRN) Summary Rows

AUTHOR

Tom Heady <cpan@punch.net>

COPYRIGHT AND LICENSE

This software is copyright (c) 2022 by ZipRecruiter/Tom Heady.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.