Payments Canada Developer Portal

FIF Data Model

Below you will find the response headers and data model that correspond to an FIF response.

Headers

For a single branch and the master extract, you will always receive these response headers. For the updated endpoint, they will be included unless you specify optional parameters. 

Header Name Description
CycleNumber* This represents the unique number of the weekly files generated by the FIF system. Increments by 1 on a weekly basis. Can be used for validation purposes.
EffectiveDate* Indicates when the information for a given response becomes effective for payment routing purposes.

Body

For a single branch, you will only receive one instance of the model. For the master extracts you will receive an array. For the updated endpoint you will receive a flag/value where the boolean (flag) identifies if the field has changed with the updated value indicated in the value field.

The following is the response layout depending on the API and accept header:


JSON

Field Name
Type and Description
branchClassification* string
This field identifies the type of branch. maximum of 2 characters. View the model.
branchDomicile string
To identify the commonly known name of the branch within a particular Town/City, e.g. Main and First Branch, or, as it would appear on a cheque. maximum of 36 characters.
civicAddress string
To identify the street address of the branch. maximum of 36 characters.
crossReferenceNumber string
When a branch is being closed, a Cross-Reference should be input in order that credit and debit items destined for that branch may be re-routed to an open branch. Also, for all sub-branches (02, 03, 05, 12, 13, 15, 22 or 25), it is mandatory that the parent branch be identified in the Cross-Reference field. maximum of 10 characters.
effectiveDate* string
This field identifies the date when the input is in effect.
englishInstitutionName* string
To identify the English version of the name of the financial institution. maximum of 36 characters.
exchangePoint* string
To indicate where payment instructions (tape and/or bulk paper) are to be exchanged. maximum of 6 characters.
frenchInstitutionName* string
To identify the French version of the name of the institution. maximum of 36 characters.
identificationNumber* string
To identify the branch of the institution, similar to DPRN but contains a check digit. maximum of 10 characters. It's composed of the institution number, transit number and check digit.
The leading 0 + the following 3 characters are the institution number
The following 5 characters are the transit number
the last number is the check digit.
transactionCode string
This field identifies the type of change required. The types of changes that can be made are: adding a new record ("1"), deleting a closed record ("2"), making changes to branch ("3"). 1 character maximum.
indirectCreditsAcctNumber string
This field identifies the Branch Number and Account Number of a Direct Clearer where an Indirect Clearer maintains an account for effecting credit payments. maximum of 10 characters.
indirectCreditsBranchIDNumber string
This field identifies the Branch Number and Account Number of a Direct Clearer where an Indirect Clearer maintains an account for effecting credit payments. maximum of 12 characters.
indirectMICRAcctNumber string
This field identifies the Institution Account Number of a Direct Clearer for the purpose of Magnetic Ink Character Recognition (MICR) encoding debit vouchers that are being drawn on Indirect Clearers. maximum of 10 characters.
indirectMICRBranchIDNumber string
This field identifies the Institution Branch of a Direct Clearer for the purpose of Magnetic Ink Character Recognition (MICR) encoding debit vouchers that are being drawn on Indirect Clearers. maximum of 12 characters.
languageCode* string
To identify the working language of the branch. 1 character maximum. View the model
postalAddress string
To identify the postal address of the branch. maximum of 36 characters.
postalCode string
To identify the postal code of the branch office. The postal code to be entered in this field is the code identified with the postal address. Postal Codes may be obtained from the Directory of Postal Codes Published by Canada Post. maximum of 7 characters.
provinceCode* string
To identify the province in which the branch is located. maximum of 2 characters.
servicabilityCode* string
To indicate the lead time required to deliver credit items on paper from the exchange point designated in the Exchange Point No. to the branch. 1 character maximum. View the model
status* string
Indicates status of a branch, whether opened, closed, or requiring a Cross-Reference. 1 character maximum. View the model
townCity* string
To identify the town or city in which the branch is located. maximum of 36 characters.

*Required data that will always be returned.


Text - Master

Data Element Number Character Position Data Element Size Data Element Name
1, 2 1-9 9 Filler
3 10-11 2 Branch Classification (formerly Institution Type)
4 12-21 10 Institution Identification Number
5 22 1 Status Indicator
6 23-32 10 Cross-Reference Number
7 33 1 Language Code
8 34-69 36 Institution Name (English)
9 70-105 36 Institution Name (French)
10 106-141 36 Branch Domicile
11 142-177 36 Civic Address
12 178-213 36 Postal Address
13 214-249 36 City/Town
14 250-253 4 Province Code
15 254-263 10 Postal Code
16 264-283 20 Country
17 284-305 22 Institution Identification Number for routing Indirect Clearer Credits
18 306-327 22 Indirect Clearer MICR Encoding Data
19 328 1 Serviceability Code
20 329-334 6 Exchange Point
21 335-344 10 Reserved
22 345-350 6 FIF Cycle Date
23 351-400 50 Filler

Text - Updated

Character Position Data Element Size Data Element Name Data Element Description Contents
1-6 6 Version FIF Version Data
7 1 TranCode Transaction Code Data
8-9 2 DirFlag Directory Flag, always  00 00
10-11 2 InstType Branch Classification Data
12-21 10 IdNumber Identification Number Data
22 1 StatusInd Status Indicator Data
23-32 10 XrefNumber Cross-Reference Number Data
33 1 LangPrefCode Language Preference Code Data
34-69 36 InstNameEng Institution Name (English) Data
70-105 36 InstNameFre Institution Name (French) Data
106-141 36 BrDomicile Branch Domicile Data
142-177 36 CvAddress Civic Address Data
178-213 36 PoAddress Postal Address Data
214-249 36 CvTownCity Town/City Data
250-253 4 CvProv Province Code Data
254-263 10 PoCode Postal Code Data
264-283 20 CvCountry Country Data
284-293 10 CrBoa Inst. I.D. No. NBFI Credits -Branch of Account Data
294-305 12 CrAcct Inst. I.D. No. NBFI Credits -Account Number Data
306-315 10 MicrBoa NBFI MICR Encoding Data -Branch of Account Data
316-327 12 MicrAcct NBFI MICR Encoding Data -Account Number Data
328 1 ServCode Serviceability Code Data
329-334 6 ExchangePt Exchange Point Number Data
335-344 10 ForBankTransit Foreign Bank Transit Number Data
345-350 6 StartEffDate Effective Date Data
351-375 25 fill2 Filler Blank
376 1 DAT Start effective date change indicator flag 0 or 1 *
377 1 FBK Foreign bank transit change indicator flag 0 or 1 *
378 1 XCH Exchange point change indicator flag 0 or 1 *
379 1 SRV Serviceability code change indicator flag 0 or 1 *
380 1 DAC MICR acct change indicator flag 0 or 1 *
381 1 DEB MICR unit id change indicator flag 0 or 1 *
382 1 CAC NMFI credit acct change indicator flag 0 or 1 *
383 1 CRD NMFI credit unit id change indicator flag 0 or 1 *
384 1 CNY Country change indicator flag 0 or 1 *
385 1 PSC Postal code change indicator flag 0 or 1 *
386 1 PRV Province code change indicator flag 0 or 1 *
387 1 CTY City change indicator flag 0 or 1 *
388 1 PSA Postal address change indicator flag 0 or 1 *
389 1 CVC Civic address change indicator flag 0 or 1 *
390 1 BRD Branch domicile change indicator flag 0 or 1 *
391 1 INF Institution name French change indicator flag 0 or 1 *
392 1 INE Institution name English change indicator flag 0 or 1 *
393 1 LAN Language code change indicator flag 0 or 1 *
394 1 XRF Cross-Reference number change indicator flag 0 or 1 *
395 1 STA Status indicator change indicator flag 0 or 1 *
396 1 IDN Identification number, always 0 0
397 1 ITP Branch Classification 0 or 1 *
398 1 DIR Element indicates whether the branch has been opened or reopened  0 or 1 *
399 1 TRN Element hard-coded in the application, always 0 0
400 1 PRI Element indicates whether the branch has been opened or reopened  0 or 1 *
* 0 = no change, 1 = change
 

Branch Classifications

  Banks   Non- Banks
Code Branch Type Code Branch Type
1 Branch 10 Branch
2 Sub-Branch* 11 Branch Non-Member
3 Season Sub-Branch 12 Sub-Branch*
4 Department 13 Season Sub-Branch
5 Sub-Branch (Pseudo Numbered)** 14 Department
    15 Sub-Branch (Pseudo Numbered)**
* A Sub-Branch that does its own accounting ** A Sub-Branch that does not do its own accounting

Status Indicator

  • V = A branch or sub-branch to which debits and credits can be directly routed.
  • C = A closed record.
  • X = Cross-referenced (e.g. seasonally closed branch, or a sub- branch that may be open for business but has its debits and credits directed to another branch).

Language Code

  • E - English
  • F - French

Serviceability Code

  • Serviceability Code 0 — Credit transactions will be exchanged on the earlier of (i) the business day prior to the due date, where the credit transactions are available for exchange; or (ii) the due date.
  • Serviceability Code 1 — Credit transactions will be exchanged one business day before the due date.
  • Serviceability Code 2 — Credit transactions will be exchanged two business days before the due date.