Corporates make millions of dollars Payments and Receipts by using different payment methods, i.e. ACH, EDI, Wire, Checks, etc. Some years ago, it was a tedious job to reconcile the Book Bank Balance vs Bank Balance manually, due to a large volume of transactions. With the change in technology, Corporates developed their formats (custom) to import the Bank Statements into their system and reconcile the payments and receipts. However, the challenge that emerged was that, if you change your ERP/ Accounting system or change the Bank, you need to develop the new format as the existing format may not be useful or meaningless.

To have uniformity in the Bank formats, BAI (Bank Administration Institute) developed a generic format and it is widely accepted by most of the Banks in USA. That format is called BAI2 format.

The Big Idea

With digitization in every field, traditional methods of Banks have been drastically changed. Manual processes, i.e. sending hard copies of Bank statements to customers has been changed and the bank started providing the bank statements in electronic formats. Now Banks have accepted common formats across the globe which is not only benefitting them but also to their customers. BAI2 format is one of them and the same has been successfully adopted by all the ERP’s and Oracle Applications is not an exception.

What is BAI2

BAI2 format is getting used by Corporates to import the Bank statements in the system and will be used for reconciliation. BAI2 file format is a standardized set of codes which comes in text format. It contains the data related to AP Payments (negotiable and void status) and Receipts (remittance status).

Below mentioned are the Record Types used in BAI2 format:


Record Code Record Name Purpose Description
01 File Header Begins File The file header marks the beginning of a file. It identifies the sender and the receiver of the transmission, and it describes the structure of the file
02 Group Header Begins First Group The group header identifies a group of accounts, all of which are from the same originator and include the same As-of-Date.
03 Account Identifier First Account This record identifies the account number and reports summary and status information. Summary information may be accompanied by an item count and funds availability distribution. And 03 record must be used to identify each account. 03 records cannot report transaction detail. Detail is reported in record 16.
16 Transaction Detail First Account Detail This record reports transaction detail with accompanying text and reference numbers.
49 Account Trailer Ends First Account The Account Trailer record provides account-level control totals.
88 Continuation Continues Previous 03 Record The “Record Code” field is followed by a continuation of the preceding record. The format is exactly the same as in the preceding record. If the preceding record ended within a text field, the text continues in the 88 records. If the preceding record did not end within the text field, the 88 record continues with whatever field follows the final field in the preceding physical record. Do not split non-text fields between records. If a non-text field is begun in one record, it must be completed in that record. The following 88 record may continue with the next field.
98 Group Trailer Ends Second Group The Group Trailer record provides group level control totals.
99 File Trailer Ends File The File Trailer record provides file control totals. All fields are required.

Commonly used BAI2 Transaction Codes in Oracle Applications.

Code Description Transaction Type
172 Correction to Deposit Deposit Correction
173 Bank-Prepared Deposit Reversal
254 Posting Error Correction Credit Miscellaneous
275 Miscellaneous Receipts Miscellaneous
399 Miscellaneous Credit Miscellaneous
475 Check Disbursement Checks

Sample File Template bai2_blog The Audience:

This document will help the Organizations where Oracle Application is already implemented, and not importing the Bank statements or those wanting to move from other ERP/legacy system to Oracle Applications and wanted to Import Bank Statements. This will also help BSA’s who are working on Oracle Applications.

Pain Points

All corporate faces the issue of Reconciliation between Book Bank Balance vs Bank Balance.

Generic reasons

  • Manual method of reconciliation.
  • Huge volume of Payments and Receipts
  • The Bank is not providing Bank statement on a timely basis

Transaction level reasons

  • Suppliers not depositing the checks on a timely basis
  • Customers have transferred the money directly into Bank Account without providing details
  • Check bounce or insufficient balance issue
  • In above mentioned situations, Accountant finds it difficult to reconcile the balances.

Format reasons

  • Custom formats will not be useful if you are changing the Bank.

Reasons to use the BAI2 format

  • Standard format created after considering the corporate need
  • Accepted by most of the Banks in the USA
  • Easy to use
  • Low maintenance
  • Can be used even if you change the Bank.

Prerequisite for BAI2 Configurations in Oracle Applications.

  • Bank / Bank Branch/Bank Account: Bank/ Bank Branch/Bank Account details need to be entered in the system which is going to send the BAI2 file.
  • Transaction Code: Define Transactions Code same as BAI2 specifications
  • Parse Rule Sets: commonly used to parse data from the statement line addenda field into more specific statement line fields (for automatic reconciliation only).
  • Transmission Configuration: Define SFTP server name / Remote File and Directory Name/ Decryption Key etc.

BAI2 file import and Reconciliation Process
For Accounts Payable (AP)

  • Make Payment to Suppliers
  • Send Positive Pay file to Bank
  • Supplier will deposit the check in the Bank
  • Void payments by Corporate, if required
  • BAI2 file import by using Transmission configurations (by schedule program- Process electronic bank statements)
  • In Cash Management, Auto-Reconciliation program in Cash Management (Schedule Program) to reconcile the payments or Manual reconciliation

For Accounts Receivables (AR)

  • Payments received in the Bank
  • Download the statement from Bank Portal
  • Create Receipts and apply against the transactions
  • BAI2 file import by using Transmission configuration (by schedule program-Process electronic bank statement)
  • In Cash Management, Auto-Reconciliation program in Cash Management (Schedule Program) to reconcile the payments or Manual reconciliation

** Auto reconciliation program can be part of Process electronic bank statement program**


To summarize, with digitization, reconciliation between Book Bank Balance and Bank Balance has become easy. Standard Bank statement format such as BAI2, is a good option for the same. It is simple to implement, helps to reconcile and expedite the Period close and makes Accountants' life easy.

Subscribe to our email Newsletter

Popular Posts


About the Author

profile image

Manish Deo

Sr. Solution Architect

Manish Deo holds a master’s degree in finance and is a Sr. Solution Architect at Jade Global. He has 16+ years of experience in EBS & Fusion Implementation, Upgrade, Enhancement & Support plus 4 years of Domain experience. He is an Oracle Financials Cloud General Ledger Certified Implementation specialist. During his work-ex, he has provided multiple solutions for Procure to Pay, Order to Cash & Integration Projects in Oracle 11i, R12 & Fusion.

About the Author

profile image

Deovrat Patky

Associate Analyst

Deovrat Patky hold a degree in information technology and is an associate analyst at Jade Global. He has worked on Fusion Implementations as a Technical analyst.

How Can We Help You?