NAME
Finance::AMEX::Transaction::EPPRC::Detail::ChargeSummaryPricing - Parse AMEX Transaction/Invoice Level Reconciliation (EPPRC) Summary of Charge (SOC) Level Pricing Rows
VERSION
version 0.005
SYNOPSIS
use Finance::AMEX::Transaction;
my $epraw = Finance::AMEX::Transaction->new(file_type => 'EPPRC');
open my $fh, '<', '/path to EPPRC file' or die "cannot open EPPRC file: $!";
while (my $record = $epraw->getline($fh)) {
if ($record->type eq 'SOC_PRICING') {
print $record->AMEX_PROCESS_DATE . "\n";
}
}
# to parse a single line
my $record = $epraw->parse_line('line from an EPPRC file');
if ($record->type eq 'SOC_PRICING') {
...
}
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::EPPRC::Detail::ChargeSummaryPricing object.
my $record = Finance::AMEX::Transaction::EPPRC::Detail::ChargeSummaryPricing->new(line => $line);
type
This will always return the string SOC_PRICING.
print $record->type; # SOC_PRICING
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_YEAR field
print $record->field_map->[3]->{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_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 Summary of Charge (SOC) Detail Record.
DETAIL_RECORD_TYPE
This field contains the Detail Record Type code that indicates the type of record used in this transaction. For Summary of Charge (SOC) Level Pricing Records, this entry is always “12”
FEE_CODE
This field contains a Fee Code that corresponds to preceding SOC Detail Record. For valid SOC Level Pricing Record Fee Codes, see below:
Sr. No. Fee Code Fee Description
61 EP Expresspay Service Fee
62 EF ACH Service Fee
63 PG PIG Service Fee
FEE_DESCRIPTION
This field contains the Fee Description that corresponds to the amount in FEE_CODE.
DISCOUNT_RATE
This field contains the Discount Rate (decimal place value) used to calculate the amount American Express charged a merchant for the services that correspond to the preceding SOC Detail Record.
Note: This field is not used when this record transports data for Automated Clearing House (ACH), Expresspay or Pay in Gross (PIG) fees.
This value may be a debit or credit rate. The format is a 1-digit “sign”, followed by an 8-digit “rate”.
For a debit (a negative rate), the first position is a minus sign; and a “negative .003 (.3%)” would appear as:
0
123456789
-00000300
For a credit (a positive rate), the first position is a plus sign; and a “positive .003 (.3%)” would appear as:
0
123456789
+00000300
If unused, position 1 in this field contains a character space; and the remaining positions are zero filled.
DISCOUNT_AMOUNT
This field contains the Discount Amount that American Express charged a merchant for the services that correspond to the preceding SOC Detail Record.
Note: This field is not used when this record transports data for Automated Clearing House (ACH), Expresspay or Pay in Gross (PIG) fees.
This value may be a debit or credit amount; and the format is a 1-digit “sign”, followed by a 14-digit “dollar amount”.
For a debit (a negative amount), the first position is a minus sign; and a “negative $1005.05” would appear as:
0 1
123456789012345
-00000000100505
For a credit (a positive amount), the first position is a plus sign; and a “positive $1005.05” would appear as:
0 1
123456789012345
+00000000100505
If unused, position 1 in this field contains a character space; and the remaining positions are zero filled.
FEE_RATE
This field contains the Fee Rate (decimal place value) used to calculate the amount American Express charged a merchant for a fee (described in the FEE_CODE and FEE_ DESCRIPTION fields in this record) that corresponds to the preceding SOC Detail Record. For more information, see FEE_CODE and FEE_ DESCRIPTION.
This value may be a debit or credit rate. The format is a 1-digit “sign”, followed by an 8-digit “rate”.
See examples of negative and positive entries under DISCOUNT_RATE.
If unused, position 1 in this field contains a character space; and the remaining positions are zero filled.
FEE_AMOUNT
This field contains the Fee Amount American Express charged a merchant for a fee (described in the FEE_CODE and FEE_DESCRIPTION fields in this record) that corresponds to the preceding SOC Detail Record. For more information, see FEE_CODE and FEE_DESCRIPTION.
This value may be a debit or credit amount. The format is a 1-digit “sign”, followed by a 14-digit “amount”.
See examples of negative and positive entries under DISCOUNT_AMOUNT.
If unused, position 1 in this field contains a character space; and the remaining positions are zero filled.
MERCHANT_ID
This field contains the external, third party Service Agent Merchant ID number when applicable. Otherwise this field will be space filled.
NAME
Finance::AMEX::Transaction::EPPRC::Detail::ChargeSummaryPricing - Object methods for AMEX Reconciliation file summary of charge level pricing 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.