NAME
Finance::AMEX::Transaction::GRRCN::Summary - Parse AMEX Global Reconciliation (GRRCN) Summary Rows
VERSION
version 0.005
SYNOPSIS
use Finance::AMEX::Transaction;
my $epraw = Finance::AMEX::Transaction->new(file_type => 'GRRCN');
open my $fh, '<', '/path to GRRCN file' or die "cannot open GRRCN 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 GRRCN 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::GRRCN::Summary object.
my $record = Finance::AMEX::Transaction::GRRCN::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 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->[4]->{PAYMENT_DATE}->[0]; # 39
RECORD_TYPE
This field contains the Record identifier, which will always be “SUMMARY” for the Summary Record.
PAYEE_MERCHANT_ID
This field contains the American Express-assigned Service Establishment (SE) Number of the Merchant receiving the payment/settlement.
SETTLEMENT_ACCOUNT_TYPE_CODE
This field contains the Settlement Account Type.
Valid values include the following:
If unused, this field will be space filled (fixed format) or blank (delimited formats).
AMERICAN_EXPRESS_PAYMENT_NUMBER
This field contains the American Express-assigned Payment/Settlement Number. This reference number may be used by the American Express Payee for reconciliation purposes.
PAYMENT_DATE
This field contains the Payment Date scheduled in American Express systems. The date that funds are actually available to the payee's depository institution may differ from the date reported in this field.
The format is: YYYYMMDD
PAYMENT_CURRENCY
This field contains the Alphanumeric ISO Code for the Payment (Settlement) currency.
UNIQUE_PAYMENT_REFERENCE_NUMBER
This field contains a Unique Payment Reference (UPR) reserved for use by specific Merchants. If unused, this field will be character space filled (fixed format) or blank (delimited formats).
PAYMENT_NET_AMOUNT
This field contains the actual Payment or Net Amount, expressed in the Payment (Settlement) currency. This is an amount credited to the payee's account for the activities listed in the detail submission records. Will be signed negative to represent a debit amount.
Calculation for Payment Net Amount = Payment Gross Amount - Payment Discount Amount - Payment Service Fee Amount - Payment Tax Amount + Payment Adjustment Amount + Opening Debit Balance Amount.
The format for all amount fields is that they are 16 bytes in length in CNNNNNNNNNNNNNNN format.
- C = an alphanumeric value which indicates whether the amount is a credit or debit value. In the case of a credit amount a character space will appear in this position. In the case of a debit amount a minus (‘-’) will be in this position.
- N = Numeric value right aligned with leading zeros. Assumed two decimal places but will vary according to currency.
PAYMENT_GROSS_AMOUNT
This field contains the Payment Gross Amount which is the sum of all the submission gross amounts in this payment/settlement, expressed in the Payment (Settlement) currency.
For formats of amount values, see description in PAYMENT_NET_AMOUNT.
PAYMENT_DISCOUNT_AMOUNT
This field contains the total Discount Amount for the payment/settlement, expressed in the Payment (Settlement) currency. For a normal settlement where American Express makes a credit payment to the Merchant's account, the payment discount amount will be signed positive. If the settlement results in a debit to the Merchant's account (i.e., no payment is made) then the payment discount amount will be negative.
For formats of amount values, see description in PAYMENT_NET_AMOUNT.
For U.S. and Canada Merchants using Gross Pay, this field is for information purposes only. Aggregated Discount and Service Fees to be debited will be recorded in the Fees &Revenues Record on the date of debit from the Merchant's account.
PAYMENT_SERVICE_FEE_AMOUNT
This field contains the Service Fee Amount, expressed in the Payment (Settlement) currency.
For a normal settlement where American Express makes a credit payment to the Merchant's account, any service fee amount will be signed positive. If the settlement results in a debit from the Merchant's account (i.e., no payment is made) then the payment service fee amount will be negative.
For formats of amount values, see description in PAYMENT_NET_AMOUNT.
For U.S. and Canada Merchants using Gross Pay, this field is for information purposes only. Aggregated Discount and Service Fees to be debited will be recorded in the Fees & Revenues Record on the date of debit from the Merchant's account.
PAYMENT_ADJUSTMENT_AMOUNT
This field contains the Payment Adjustment Amount, expressed in the Payment (Settlement) currency. This reflects the net amount of all adjustment and chargeback records included in this summary. This field will be signed negative to represent a debit amount.
For formats of amount values, see description in PAYMENT_NET_AMOUNT.
PAYMENT_TAX_AMOUNT
This field contains the Payment Tax Amount, expressed in the Payment (Settlement) currency, which is only applicable to the following specific markets:
LAC Mexico / Bahamas / Panama / Argentina
JAPA Australia / India / Japan
EMEA Germany / Austria
Multi-Currency Mexico / Australia
If unused, this field will be space filled (fixed format) or blank (delimited formats). For a normal settlement where American Express makes a credit payment to the Merchant's account, any tax amount will be signed positive. If the settlement results in a debit from the Merchant's account (i.e., no payment is made) then the payment tax amount will be negative.
For formats of amount values, see description in PAYMENT_NET_AMOUNT.
OPENING_DEBIT_BALANCE_AMOUNT
This field contains any current Debit Balance on the SE account for information, expressed in the Payment (Settlement) currency. If present this will always be signed as a negative amount.
For formats of amount values, see description in PAYMENT_NET_AMOUNT.
This field will be space filled (fixed format) or blank (delimited) if there is no debit balance.
PAYEE_DIRECT_DEPOSIT_NUMBER
This field contains the Payee's Direct Deposit Account Number to which the payment was transferred.
This field is only used in the U.S. and Canada and will be space filled (fixed format) or blank (delimited) if not in this market or not available.
BANK_ACCOUNT_NUMBER
This field contains the ABA Bank Number to which the payment was transferred.
This field is only used in the U.S. and Canada and will be character space filled (fixed format) or blank (delimited) if not in this market or not available.
INTERNATIONAL_BANK_ACCOUNT_NUMBER
This field is only used for markets where an International Bank Account Number (IBAN) is available. Otherwise it will be character space filled (fixed format) or blank (delimited) if not in this market or not available.
BANK_IDENTIFIER_CODE
This field contains the Bank Identifier Code (BIC) of the bank/branch, also known as a “Swift Code”.
This field is only used for markets where a BIC is available. Otherwise it will be character space filled (fixed format) or blank (delimited) if not in this market or not available.
NAME
Finance::AMEX::Transaction::GRRCN::Summary - Object methods for AMEX Reconciliation file summary 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.