CIBC EFT Record Layout - 80 Byte - Field Descriptions

File Header / Data Element Number / Character Position / Size / Contents / Data Element Name
1 / 1 / 1 / Value ‘1’ / Record Type ID
2 / 2-3 / 2 / AN / Filler
* 3 / 4-8 / 5 / N / Receiving Data Centre
4 / 9-13 / 5 / AN / Filler
* 5 / 14-23 / 10 / N / Originator Number
* 6 / 24-29 / 6 / N / + File Creation Date
* 7 / 30-33 / 4 / N / File Creation Number
8 / 34 / 1 / AN / Filler
* 9 / 35-38 / 4 / N / ++ Bank No. Inst. ID and Account
* 10 / 39-43 / 5 / N / Branch No. for Settlement
* 11 / 44-55 / 12 / AN / Account No. and Return
12 / 56-57 / 2 / AN / Filler
* 13 / 58-72 / 15 / AN / Originator’s Name
14 / 73-80 / 8 / AN / Filler

*Invalid data will cause file to be rejected.

+May be Julian or YYMMDD (must remain consistent throughout the file)

++Account for Settlement and Account for Returns are the same. Must be valid CIBC Current Account.

Note: Data elements marked ‘Filler’ must be left blank.

5.2aBatch Header (5)

Data Element Number / Character Position / Size / Contents / Data Element Name
1 / 1 / 1 / Value ‘5’ / Record Type ID
2 / 2-47 / 46 / AN / Filler
** 3 / 48-50 / 3 / N / + Transaction Type
4 / 51-60 / 10 / AN / + Descriptive Statement
** 5 / 61-66 / 6 / N / + Due Date
6 / 67-80 / 14 / AN / Filler

**Invalid data will cause items in batch to be rejected.

+Must be the same for entire batch.

5.2bDetail Record (6)

Data Element Number / Character Position / Size / Contents / Data Element Name
1 / 1 / 1 / Value ‘6’ / Record Type ID
2
2 / 2
2 / 1 / Value ‘C’
OR
Value ‘D’ / (DD Service) Credit Indicator
(PAP Service) Debit Indicator
3 / 3 / 1 / AN / Filler
** 4 / 4-7 / 4 / N / Institutional ID
** 5 / 8-12 / 5 / N / Institutional Branch No.
6 / 13-24 / 12 / AN / Payee/Payor’s Account No.
7 / 25-29 / 5 / AN / Filler
** 8 / 30-39 / 10 / N / Amount (Cdn$)
** 9 / 40-52 / 13 / AN / Cross Reference No.
** 10 / 53-74 / 22 / AN / Payee’s Name
11 / 75-80 / 6 / AN / Filler

**Invalid data will cause item to be rejected.

5.2cBatch Trailer (7)

Data Element Number / Character Position / Size / Contents / Data Element Name
1 / 1 / 1 / Value ‘7’ / Record Type ID
2 / 2-4 / 3 / N / + Transaction Type
3 / 5-10 / 6 / N / Batch Entry Count
4 / 11-20 / 10 / N / Hash Total
5 / 21-40 / 20 / AN / Filler
6 / 41-52 / 12 / N / Entry Dollar Total
7 / 53-80 / 28 / AN / Filler

+Same as batch header transaction type.

5.2dEnd of File Trailer Record (9)

Data Element Number / Character Position / Size / Contents / Data Element Name
1 / 1 / 1 / Value ‘9’ / Record Type ID
2 / 2-7 / 6 / N / Batch Count
3 / 8-13 / 6 / N / Detail Count
4 / 14-80 / 67 / AN / Filler

5.3 Record Layout - 80 Byte - Field Definitions

This section defines the field descriptions provided in the previous section (5.3).

Numeric Field

right justified

fill with zeros if field is blank

unsigned

Alphanumeric Field (AN)

left justified

fill with spaces if field is blank

File Rejection - Your file will be rejected if:

extraneous file header records exist

any field marked with an * is missing or invalid

Record Rejection - Detailed record (Type 6) will be rejected if any field marked with ** is invalid.

Invalid Record - A non-numeric amount on Type 6 record is assumed to be zero for accumulation purposes. Originator’s confirmation is required prior to processing (delay probably one day).

Out of Balance Condition - A discrepancy in balancing totals will require:

correction and retransmission; or

client confirmation (could be one day).

(Continued...)

Destination Data Centre - The numbers and their corresponding Data Centre locations are as follows (left justified):

01000Vancouver

01010Montreal

01020Toronto

01070Winnipeg

01090Calgary

Originator Number - (10N) A bank assigned number that identifies the client who is sending the DD/PAP file.

Creation Date - (6N) Format 0YYDDD (Julian date) or YYMMDD (converted to Julian). The file creation date and the file transmission date are usually the same. The file creation date can be up to seven calendar days before the transmission date. Creation dates cannot be future-dated.

Creation Number - (4N) File Creation Numbers are to be sequential and should be increased by 1 for each file created. The file will be rejected if a file number is duplicated or if there is an increase of 10 or more over the last file creation number.

Institutional ID and Account for Settlement and Returns - This identifies the CIBC Current Account to be used to post the entry for the total amount of transactions collected and for any items which are returned.

Bank and Transit Number - (9N) Format abbbccccc, where:

a =Constant zero

b =Institution Number

c =Branch Number

(Continued...)

Account Number - (12AN) - Should be left justified and should include embedded spaces or dashes.

Originator’s Name - (15AN) Transmission program does not perform any editing. Subsequent programs will reject a file if this field is left blank.

Transaction Codes - (3N) If a transaction is assigned a non-numeric transaction code, the transaction will be rejected. Subsequent programs will perform an edit for invalid transaction codes.

Descriptive Statement - This message will appear on the payee’s/payor’s descriptive bank statement, where applicable.

Due Date - (6N) 0YYDDD (Julian date) or YYMMDD (converted to Julian). It must be no more than 30 days for Direct Deposit and 173 days for Pre-Authorized Payment prior to creation date and not more than 100 days after the creation date. If a due date falls on a bank holiday or weekend, the entry to the payee will be made the next business day.

Note: The date format must be consistent with the file creation date.

Amount Field - (10N) Must be greater than zero, no decimals.

Cross Reference Number - (13AN) This number identifies the payor/payee for the originator. It is used for traces/recall and returned items.

Payee/Payor Name - (22AN) Must not be blank.

Batch Header to Trailer Check - Bytes 2-4 of this batch trailer will be the same as the transaction batch code.

Batch Entry Count - (6N) This is the total number of Type 6 records in a batch.

(Continued...)

Hash Totals - (10N) Fill with numeric characters (i.e. 9999999999).

Entry Dollar Total - (12N) This is the total dollar value of Type 6 record in a batch.

Run Totals to File Trailer Reconciliation -

a)Batch CountTotal number of Type 5 records in a file

b)Detail CountTotal number of Type 6 records in a file.

5.4Record Layout - Illustrations for 80 Byte

The following are representations of actual file records which have been segregated into individual data elements. The fields containing zeros are fillers used for illustration purposes only; actual file would use blank spaces.

5.4aRecord Type 1 (File Header)

1 / 00 / 01020 / 00000 / 0102012345 / 920704 / 0001 / 0 / 0010 / 02042 / 0837696 / 00 / ABC Co. / 00000000
Client Name
account number
branch transit number
institution ID
first file is 0001, increments of 1 thereafter
may be YY/MM/DD or Julian
assigned by CIBC
receiving data centre
always a ‘1’

5.4bRecord Type 5 (Batch Header)

5 / 0000000000000000000000000000000000000000000000 / 450 / Mortgage / 980704 / 00000000000000
may be YY/MM/DD or Julian
client generated
assigned by CIBC
always a ‘5’

5.4cRecord Type 6 (Debit Detail)

6 / D / 0 / 0010 / 01232 / 3034521 / 00000 / 0000015343 / 451038995 / NEWTON, ISSAC / 000000
account holder
client generated
amount (no decimal point)
account number (left justified)
branch transit number
Institution ID
‘D’ = debit
always a ‘6’

5.4dRecord Type 6 (Credit Detail)

6 / C / 0 / 0010 / 01232 / 3034521 / 00000 / 0000015343 / 451038905 / NEWTON, ISSAC / 000000
‘C’ = credit

The fields are as previous for Debit Detail with the exception of the second field.

5.4eRecord Type 7 (Batch Trailer)

7 / 450 / 000200 / 9999999999 / 00000000000000000000 / 000000425634 / 0000000000000000000000000000
total dollar amount of all records Type 6 in batch
fill with 9’s
total # of all records Type 6 in the batch
same as in batch header
always a ‘7’

5.4fRecord Type 9 (File Trailer)

9 / 000015 / 000531 / 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
total number of records Type 6 in entire file
number of batches in entire file
always a ‘9’

5.4gExample of a Transmitted File

The following is an example of what a file resembles after submission to the CIBC

Note: In this example we use zeros as fillers, and we recommend that customers do the same.

1 01020 01020608789306150001 0010065726015816 VARIOUS INC.

5 450PAYMENTS 930618

6C 0010057725513636 0000079325reference Fiona Carrie

6C 0828690621436286649 0000012840reference Virginia Jouras

6C 0003038825046362 0000062556reference Lisa Bond

6C 0002106526115829 0000057931reference Christopher Lyth

6C 0010007620680060 0000066424reference Sean Fitzpatrick

6C 0004338420282766 0000061387reference John Naylor

6C 0003077425061825 0000061498reference Andy Hammond

6C 0001237828026944 0000057756reference Kim Morley

6C 0828620320256809549 0000045326reference Sandra Watkins

6C 0003040027508450 0000050243reference Lorne Caster

6C 0001001820014564 0000061325reference Theresa Basilone

6C 0010000220837636 0000079565reference Greg Evans

74500000129999999999 000001422211

9000001000012

Note: For pre-authorized payment, value of position 2 must be “D”.

For direct deposit, value of position 2 must be “C”.

Need line feed, carriage return after each 80 Byte Record.