NAME

Finance::AMEX::Transaction::EPRAW::Detail::Other - Parse AMEX Reconciliation Files (EPRAW) Chargeback Detail Rows

VERSION

version 0.005

SYNOPSIS

use Finance::AMEX::Transaction;

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

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

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

# to parse a single line

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

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::EPRAW::Detail::Other object.

my $record = Finance::AMEX::Transaction::EPRAW::Detail::Other->new(line => $line);

type

This will always return the string OTHER_DETAIL.

print $record->type; # OTHER_DETAIL

line

Returns the full line that is represented by this object.

print $record->line;

field_map

Returns an arrayref of hashrefs 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_DATE field
print $record->field_map->[3]->{PAYMENT_DATE}->[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_SE_NUMBER

This field contains the Service Establishment (SE) Number of the merchant being reconciled, which may not necessarily be the same SE receiving payment (see AMEX_PAYEE_NUMBER).

This is the SE Number under which the transactions were submitted, which usually corresponds to the physical location.

SE_UNIT_NUMBER

This field contains the merchant-assigned SE Unit Number (usually an internal, store identifier code) that corresponds to a specific store or location.

If no value is assigned, this field is character space filled.

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 “2”, a Record Type code that indicates that this is a Detail Record.

DETAIL_RECORD_TYPE

This field contains the Detail Record Type Code that indicates the type of record used in this transaction. For Other Fees and Revenues Detail Records, valid entries include the following:

40 = Assets Billing
41 = Take-One Comissions
50 = Other Fees

AMEX_PROCESS_DATE

This field contains the American Express Transaction Processing Date, which is used to determine the payment date.

The format is: YYYYDDD

YYYY = Year
DDD = Julian Date

ASSET_BILLING_AMOUNT

This field contains the total Asset Billing Amount charged to the merchant for physical assets provided by American Express.

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   0000000011J
$345.05    0000003450E   0000003450N
 $22.70    0000000227{   0000000227}

ASSET_BILLING_DESCRIPTION

This field contains a brief description of the physical assets provided by American Express that correspond to the amount in ASSET_BILLING_AMOUNT.

TAKE_ONE_COMMISSION_AMOUNT

This field contains the Commission Amount paid to the merchant for processing Take-One applications.

TAKE_ONE_DESCRIPTION

This field contains the Take-One Description, a brief explanation that corresponds to the payment in TAKE_ONE_COMMISSION_AMOUNT.

OTHER_FEE_AMOUNT

This field contains the Amount of Other Fees charged to the merchant.

OTHER_FEE_DESCRIPTION

This field contains the Other Fee description, a brief description that corresponds to the amount in OTHER_FEE_AMOUNT.

ASSET_BILLING_TAX

This field contains the tax assessed on the assets that correspond to ASSET_BILLING_AMOUNT.

PAY_IN_GROSS_INDICATOR

This field contains a code that indicates whether this Other Fees and Revenues Detail Record transports data associated with the recovery of a Pay-in-Gross (PIG) discount amount.

Valid entries include the following:

Y = Yes; this record contains a PIG recovery fee.
~ = All other occurrences.

Note: Tilde (~) represents a character space. If unused, this field is character space filled.

SERVICE_AGENT_MERCHANT_ID

This field contains the external, third party Service Agent Merchant ID number.

NAME

Finance::AMEX::Transaction::EPRAW::Detail::Other - Object methods for AMEX Reconciliation file chargeback detail records.

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.