Selecting option 1 from the Positive menu will allow you to determine if the bank definition has been previously defined. Use Option F6=ADD to add a new application.
8/11/07 iSeries Positive Pay 5.0 PP0467C1 09:18:28 Positive Pay Definition QSECOFR 1=Select 3=Copy 4=Delete 8=Extract 9=Transmit 10=Extract and Transmit 11=View Transmission File 12=View Audit Trail Opt Application Description INFORMTEST INFORM TEST POS PAY WELLFARGO Wells Fargo Transmission Bottom F1=Help F3=Exit F6=Add F23=More Options
Should the definition already exist in the list, it would need to be modified. The one item that would likely require modification would be a header record containing an account number and password. Otherwise the majority of the definition is already specified.
In the likelihood that the definition exists for your bank, place a one next to the definition and press the enter key. The subsequent screen should appear.
8/11/07 iSeries Positive Pay 4.0 PP0467C3 09:20:50 Positive Pay Definition QSECOFR Pay Name: WELLFARGO Description: Wells Fargo Transmission Transfer File: FILE80 Transfer Library: FMG Void Program: *NONE Void Library: *NONE Baud: 9600 Account: 1111111111 Modem: BSCELSRC Process zero Dollar checks: N Phone: T18003889231 Seq Record External Record Field Date # Type Type Field Start Start End Format Fixed Value 10 H F 1 1 17 $$DIR ID=11111111 20 H F 1 1 30 $$ADD ID=11111111 BID='XXXXXXX 30 H F 31 1 16 XXXXXXXXXXXXXXX' 40 D M VRCHK# 1 1 10 50 D M VRPDTF 11 1 6 5 60 D M VRACCT 17 1 10 70 D F 27 1 3 320 80 D M VRPAMT 30 2 11 90 D F 40 1 12 More... F1=Help F3=Exit F8=Configure FTP F9=Configue Report
The definition above accomplishes two tasks. First, the table with the sequence numbers in the left-hand column describes the file layout that the bank expects to be transmitted. Second, the parameters detailed in the upper portion of the screen specify the communication requirements.
When checks are processed through iChecks and positive pay is enabled, all of the conceivable information that may be required for reporting purposes is collected into a generic file. Using the mapping definition above this generic file may be cut, and tailored to suit the specific needs required by the bank.
The table below illustrates a typical bank header layout for positive pay.
Description | Position | Format | Comments |
---|---|---|---|
New Issue ID | 01-01 | Character | Value ‘*’ |
Account Number | 02-11 | Numeric | Account Number left zero fill |
Current Date | 12-19 | Numeric | Format YYYYMMDD |
Filler | 20-79 | Character | |
New issue record | 80-80 | Character | Value ‘I’ |
The procedures that follow outline how to translate from the bank definition to inFORM Decisions’s Positive Pay definition.
The column labeled sequence identifies the order in which the definition should be process. These sequence numbers are already pre-filled.
The next column, record type, defines the type of record being described. In this instance the letter H signifies the definition as a header record, and the letter corresponds to the bank layout above.
Entering a question mark at the record type prompt and press enter.
8/11/07 iSeries Positive Pay 5.0 PP0467C3 QSECOFR Select a Record Type 1-Select ansmission aud: 9600 Opt Type Description dem: BSCELSRC H - Header Record 8003889231 D - Detail Record T - Trailer Record More... Value F1=Help F3=Exit F12=Previous 11111 11111 BID='XXXXXXX XXX' 40 D M VRCHK# 1 1 10 50 D M VRPDTF 11 1 6 5 60 D M VRACCT 17 1 10 70 D F 27 1 3 320 80 D M VRPAMT 30 2 11 90 D F 40 1 12 More... F1=Help F3=Exit F8=Configure FTP F9=Configue Report
In addition to defining the record type as header record type, other possible record types may be entered here in the order that they should appear in the transaction file. Usually a detail record follows a header record and can be identified so with the letter ‘D’. These records will contain check data from the generic file. A trailer record subsequently follows a listing of detail records, and contains summary information of the previous detail records. Trailer records are defined with the letter ‘T’.
Not only may the bank require header, detail and trailer information for checks issued, but also for checks which have been voided or cancelled. The record type letters for the void header, void detail and void trailer are ‘ U’, ‘V’ and ‘W’ respectively.
Positioning the cursor in the field type prompt and entering a question mark here will display the list of field types as shown below:
8/11/07 iSeries Positive Pay 5.0 PP0467C3 QSECOFR Select a field type 1-Select ansmission aud: 9600 Opt Type Description dem: BSCELSRC C - Calculated field definition 8003889231 F - Fixed or Constant field definition M - Mapped field definition Value F1=Help F3=Exit F12=Previous 11111 11111 BID='XXXXXXX XXX' 40 D M VRCHK# 1 1 10 50 D M VRPDTF 11 1 6 5 60 D M VRACCT 17 1 10 70 D F 27 1 3 320 80 D M VRPAMT 30 2 11 90 D F 40 1 12 More... F1=Help F3=Exit F8=Configure FTP F9=Configue Report
What is the difference between the values of this field type and how do they correspond to our header record table from the bank?
First, the calculated field would be any field that would not already be collected in our generic file, and would not be a fixed constant value. Examples of a calculated value would be the total check issues count, the total check amount, and the current date. Referencing our sample specification sheet from the bank, current date, is requested. This corresponds to a calculated field.
The next field type in the list, specifies a constant value. This is value does not change and is specified in the Constant Value column. Again referencing our bank specification, we can see that there are three constants: New Issue ID, New Issue Record and Filler. All the values are constant. All the variables have corresponding values in the constant value column.
Lastly, the mapped field definition specifies that we are mapping information from the flashPAY400 generic file to the bank file. Only one value from the sample bank specific can be categorized as a mapped field, namely account number.
Should the field type contain a letter M for mapped field type, a field name from the iSeries Postive Pay generic file needs to be specified. Again by entering a question mark in the Map Field column and pressing enter, a list of available fields will display.
8/11/07 iSeries Positive Pay 5.0 PP0467C3 QSECOFR Select a Field Map ansmission 1-Select Field aud: 9600 Opt Field Name Description dem: BSCELSRC VRPPID - Positive Pay ID 8003889231 VRACCT - Disbursement Account VRCHK# - Check Number VRPDTF - Paid Date VRPAMT - Amount Paid Value VRSDTF - Stop Payment Date 11111 VRCDTF - Cleared Date 11111 BID='XXXXXXX VRPAYE - Check Payee XXX' VOPPID - Void Positive Pay ID VOVDTF - Void Date + F1=Help F3=Exit F12=Previous 90 D F 40 1 12 More... F1=Help F3=Exit F8=Configure FTP F9=Configue Report Press enter to confirm.
From our example, we can see that the account number should be in the header record. A quick glance at the pick list will reveal that the second entry in the list, VRACCT, contains the description Disbursement Account. Select this field simply by placing a 1 in the Opt column. Note also that the list contains fields with ‘Void’ in the description. These ‘Void’ fields come from a generic void file and are separate and apart from the generic check issue file. Voids will be discussed in further in this chapter.
VRPPID - Positive Pay ID VRACCT - Disbursement Account VRCHK# - Check Number VRPDTF - Paid Date VRPAMT - Amount Paid VRSDTF - Stop Payment Date VRCDTF - Cleared Date VRPAYE - Check Payee * See note below VOPPID - Void Positive Pay ID VOVDTF - Void Date VORSN - Void Reason VOCHK# - Void Check Number VOACCT - Void Account Number VOPDTF - Void Process Date VOPAMT - Void Check Amount VOPCUR - Void Check Currency VOPAYE - Void Check Payee* Note on Payee: VRPAYE contains either the mapped data from PAYEE; OR data from PAYEE1 and PAYEE2 combined. To put the payee into two different positions on the positive pay file, you would map VRPAYE twice. i.e.
120 D M VRPAYE 123 1 25 This will pick up mapped data from PAYEE1 on iChecks (1-25 of VRPAYE) 130 D M VRPAYE 183 26 50 This will pick up mapped data from PAYEE2 on iChecks (26-50 of VRPAYE)
TOTRAMT - Total Check Amount TOTRCNT - Total Check Count TOTVAMT - Total Void Amount TOTVCNT - Total Void Count CURDATE - Current Date HSHCHKI - Hash Check Issues HSHCHKV - Hash Check Voids HSHCHKA - Hash Issue Voids TOTVRCT - Total Void Issue Count TOTVRAM - Total Void Issue Amount TOTMRC9 - Mellon Bank (Record 9) Total of record types (1,2,5,6,8,9) but not the sign in record.
The record start column simply specifies the starting position of the field. Note how the starting position in our sample bank layout matches the starting position for the second header record.
The field start and end column delimit the starting and ending position inclusive of either the mapped, calculated, or constant field. In most cases the field starting position for mapped fields be will be 1. The exception to this rule will be in defining the starting and ending position of a calculated field, namely total checks issues, total voids recorded, total amount of issued checks, and total amount of voided checks.
Since these are calculated fields, Positive Pay 400 stores these values in memory with a predefined length. The tallied values use a variable with a precession of 8 decimal places, so the ending value should be 8 which represents the cent place. The accumulated values use a variable with a precession of 15 decimal places and likewise the ending value should be 15. When determining the starting position for these calculated values simply measure from right to left.
The format field only applies to mapped date fields and to calculated date fields. What the specification determines is the format of the date. To select the desired format place a question mark in the format field and press enter. The screen below appears:
8/11/07 iSeries Positive Pay 4.0 PP0467C3 QSECOFR Select a Date Format 1-Select ansmission aud: 9600 Opt Format Description dem: BSCELSRC 1 - CCYYMMDD Century Year Month Day 8003889231 2 - MMDDCCYY Month Day Century Year 3 - DDMMCCYY Day Month Century Year More... Value F1=Help F3=Exit F12=Previous 11111 11111 BID='XXXXXXX XXX' 40 D M VRCHK# 1 1 10 50 D M VRPDTF 11 1 6 ? 60 D M VRACCT 17 1 10 70 D F 27 1 3 320 80 D M VRPAMT 30 2 11 90 D F 40 1 12 More... F1=Help F3=Exit F8=Configure FTP F9=Configue Report Press enter to confirm.
The constant value should contain a value if a field type of F is selected. Recall that the record type of F designates a fixed field. No delimiters are required to surround the fixed value. When defining a fixed value that has a length of between one and 30 characters, the constant prompt will accommodate the length of the value. However, should the value exceed 30 characters in length, a second consecutive record entry will be required in the Positive Pay application.
Simply, this value represents the file that will contain the positive pay information that will be transmitted to the bank. Once the information is transmitted, an additional file member is added to the file. This member is named aptly with a date and time stamp. Then the contents of the member, in this instance, FILE80, transmitted to the bank are copied to the date stamped member. FMG/FILE80 represents the default values for this file, and most likely should remain so. The exception to this rule would come into affect if more than a single Positive Pay application were placed into production, thus processing transactions for more than a single bank
This contains a program that will populate the Positive Pay400 file containing checks that have been either voided or canceled. Think of it as a preprocessing program. For CGC customers, two programs have been created to extract current voided checks from both the Accounts payable file and the Payroll file. For the Accounts Payable file the program name is PPR3008, and for the Payroll file the program name is PPR3005
This switch determines whether or not to send checks that have zero dollars in the amount to the bank. Such would be the case if the check run contains direct deposit checks. The value defaults to N, and under normal circumstances should remain so.
The prompt here contains the value of the account number being transmitted to the bank. The value should be left justified and not contain any embedded blanks.
The baud rate should conform to the speed that the bank expects the transmission to be received. Though the default value for the baud rate is 2400, the value may be raised to improve efficiency.
The Modem is actually the device description contained on the AS/400 and under normal circumstances the default value should suffice.
In order to send the transmission file to the bank, the bank modem number is necessary. In some cases the correct phone number is already supplied, otherwise the bank should supply the phone number.
Alternatively, a positive pay application may be configured to transmit via FTP file transfer protocol .
Pressing the F8 function key from within the postive pay application displays the following configuration screen:
PP0467W2 Configure FTP Use FTP . .: H Y=Yes N=No S=FTPS H=sFTP Domain. . . : fts4.mfts.ABC.com User Name . : abc20089 Password. . : Confirm . . : Port: *SECURE *SECURE *DFT 1-65535 Encryption .: *SSL *SSL *NONE F4=LIST FTP Mode . .: *PASSIVE *ACTIVE *PASSIVE Target Path : ARP01 Target File : ABCFile-up.txt sFTP Only: Remote File : Retrv File : / Lib/File Retain Logs : / Lib/File Retain sFTP Path : F2=Option F3=Exit F4=Prompt F10=Save F12=Cancel
The paramters values for the configuration are descriped in detail below:
sFTP Only:
The F2=Option is used to point to new SSH Key files by displaying the following screen:
PP0467W3 Additional Parameters -o CheckHostIP=no -o PasswordAuthentication=no -o IdentityFile=.ssh/ABC-id_rsa F3=EXIT F10=SAVE F12=CANCEL
The F4 = Prompt in the encryption field will display the following screen:
PP0467W4 OpenPGP encryption Encryption Type. . : *PGPCLRSGN *NONE *PGP *PGPSIGN *PGPCLRSGN Path To Public Key.: /home/XXX/ABC-pgp-2014.09.08.pub Path To Private Key: /home/XXX/ABC-pgp-2014.09.08 Key PassWord. . . .: abcpw
Note: To install or renew SSH PGP Signatures you must contact your bank and do the following:
1. Create SSH keys: Login as QSECOFR into IBM I, open Qshell console, run the command ssh-keygen -t rsa -N “”. When it prompts for the name, enter a name i.e. ABC_rsa, the private key file ABC_rsa and public key file ABC_rsa.pub will be created into folder /home/qsecofr.
2. Create PGP keys: On the iSeries command line, run command: GENKEYPAIR PUBLIC('/home/XXX/ABC-pgp-2016.08.03.pub') PRIVATE('/home/XXfolder/ABC-pgp-2016.08.03') PASS(dfm) NAME('ABC, INC') EMAIL(ABC.com) EXPIRE(730)
The private key file ABC-pgp-2016.08.03 and public key file ABC-pgp-2016.08.03.pub will be created into folder /home/XXfolder/
3. Exchange public keys with Bank: Send (or) the SSH and PGP public key files ABC-pgp-2016.08.03.pub and ABC-id_rsa.pub to the Bank
In order to upload the files to the Bank, you can sign through their website using a web browser or contact their Transmission Control Center using your User ID and Password.
If your require assistance with key generation and/or implementation, contact inFORM Decisions and we can assist as a Professional Service.
Generating an audit trail report of both the detail and summary records is an option within Positive Pay. Not only can this report be useful for internal audits, but also the report may be required to be faxed to the bank in order to verify an electronic transmission. Such is the case with Amsouth Bank and Fleet Bank, and other banks.
Pressing the F9 key will pop up the report specification screen as shown in the illustration below.
PP0467W1 Report Specifications Report Library/Out Queue. . : QGPL QPRINT Save/Hold/Detail/Summary . .: Y N Form Overlay Option Process with Form Application: Print File. . . . . . . . . .: PPF150 Form Application. . . . . . .: Print Engine. . . . . . . . .: Perform Archive/Delete. . . .: Archive Library/Out Queue . .: Destination Library/Out Queue: Print Portrait. . . . . . . .: F1=Help F12=Previous
Note that the two sections contain Report Specifications and Form Overlay Option.
The Report Specification simply defines the out queue, hold and spool file attributes, and whether to generate the detail and summary portions of the report. If Report Specifications are not defined the report will be generated to the output queue QPRINT in QGPL. The report also is a normal SCS report file.
The Form Overlay Option allows the report specified above to be processed through iDocs' print immediate. If this option is specified the Out Queue defined above can not be associated with a writer. Once the SCS report file has been generated, the report is reformatted and merged with an overlay.