User Tools

Site Tools


Define a Positive Pay Application

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                     
 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                                   
 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.

Record Type

Entering a question mark at the record type prompt and press enter.

  8/11/07                 iSeries Positive Pay  5.0                   PP0467C3  
               Select a Record Type                                             
   1-Select                                                  ansmission         
                                                             aud: 9600          
   Opt  Type     Description                                 dem: BSCELSRC      
          H       - Header Record                            8003889231         
          D       - Detail Record                                               
          T       - Trailer Record                                              
    F1=Help   F3=Exit   F12=Previous                         11111              
                                                             11111 BID='XXXXXXX 
    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                                   
 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.

Field Type

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  
               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
    F1=Help   F3=Exit   F12=Previous                         11111              
                                                             11111 BID='XXXXXXX 
    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                                   
 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.

Map Field

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  
                    Select a Field Map                                          
                    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                                   
 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.

List of valid Reserve MAP (Type M) fields:

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) 

List of valid Reserve CALCULATED (Type C) fields:

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.

Record Start

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.

Field Start and End

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  
               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                              
    F1=Help   F3=Exit   F12=Previous                         11111              
                                                             11111 BID='XXXXXXX 
    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                                   
 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.

Transfer Library and File

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

Void Program and Library

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

Process Zero Dollar Checks

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.

Baud, Modem and Phone

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.

Configure FTP (F8)

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:

                            Configure FTP                          
        Use FTP  . .: H   Y=Yes N=No S=FTPS H=sFTP                 
        Domain. . . :                       
        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:

  • Domain This value requires either the IP address or the host name of the FTP server supplied by the bank.
  • User Name Enter in the bank supplied user name.
  • Password Enter the bank supplied password.
  • Confirm Confirm the password entered.
  • Port Enter port number.
  • Encryption Enter encryption type. (F4 will display list)
  • FTP Mode Enter FTP type to be used
  • Target Path Enter in the source directory path containing the transmission file.
  • Target File Enter in the source file.

sFTP Only:

  • Remote FIle
  • Retry File
  • Retain Logs
  • Retain sFTP Path

The F2=Option is used to point to new SSH Key files by displaying the following screen:

                      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:

                      OpenPGP encryption                             
  Encryption Type. . : *PGPCLRSGN *NONE *PGP *PGPSIGN *PGPCLRSGN     
  Path To Public Key.: /home/XXX/       
  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 will be created into folder /home/qsecofr.

2. Create PGP keys: On the iSeries command line, run command: GENKEYPAIR PUBLIC('/home/XXX/') PRIVATE('/home/XXfolder/ABC-pgp-2016.08.03') PASS(dfm) NAME('ABC, INC') EMAIL( EXPIRE(730)

The private key file ABC-pgp-2016.08.03 and public key file will be created into folder /home/XXfolder/

3. Exchange public keys with Bank: Send (or) the SSH and PGP public key files and 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.

Report Specifications (F9)

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.

                         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.

pub/definepositivepayapplication.txt · Last modified: 2018/08/09 21:23 by kkramer