Bank Formats - Overview

EFT Processing installs with a number of system defined file formats.  These formats are contained in a file formats.ini which is found in the ..\Sage\ELxxA directory.

Additional bank formats are added on demand by the Orchid support team for supported versions of EFT Processing.

Amending File Formats

The formats.ini file should never be changed on site. In the latest product updates, the formats.ini file includes a hash calculation to ensure the file is not tampered with. If the file is amended in anyway, it cannot be used in Create EFT File and you will receive an error message.

To change an existing bank format (or create a new one), copy the original bank format from the formats.ini file to the userformats.ini file and make the required changes.

Note: If you change the default formats.ini file, you get a "File Hash" Error when using the file in Create EFT File function.

When upgrading

If upgrading from a prior version with customisations done in the formats.ini file, you need to copy the changes to the formats.ini to the userformats.ini. Refer to details in Upgrading EFT Processing Key Steps

Sections in the ini file

The formats.ini file include multiple sections.

Each bank is a section in the ini file.  A section is denoted by Square Brackets for example :

[USA_WF] for the Wells Fargo bank layout.

Within each section, you can define the following

[] - Unique ID of the File format in Square brackets

- description of the bank layout

Note: Render=API - Do not change this line

File format includes several sections: 

1. Extra field declaration, including validations, label and help tips

  • BSB or sort code name - customised for the bank layout

  • BSB or sort code size - customised for the bank layout

  • Account name - customised for the bank layout

  • Account size - customised for the bank layout

  • Up to 10 extra fields on the Bank file

  • Up to 50 extra fields on the Vendor file

  • Up to 50 extra fields on the Customer file

2. Row Declaration

Each row type can have multiple lines with a number at the end to indicate the sequence. DetailAP1 and DetailAP2

  • The definition of the header row(s) - general header for all transactions or an A/P specific header or an A/R specific header

  • The definition of the detail  row(s) - general detail for all transactions or an A/P specific detail or an A/R specific detail

  • The definition of the footer row(s) - general footer for all transactions or an A/P specific detail or an A/R specific footer

Example:

HeaderAP="A000000001[OriginatorIdNumber:%10C][FileCreationNumber:%04D]..”

DetailAP = "C[RecordCount:%09D][OriginatorIdNumber:%-10C]460.”

FooterAP = "Z[RecordCount:%09D][[TransactionTotalInCents:%014D] ..”

Rows can include fields from

Example: Bank Setup Validation and renaming.

[USA_WF]

Name="USA Wells Fargo ACH"

BSBSize=9

AccountSize=9:17

BSBNumber="R/T Number"

AccountNumber="Account Number"

AccountName="Account Name"

SourceExtra1="Application ID"

SourceExtra2="Remote ID (RID)"

SourceExtra3="File ID"

SourceExtra4="Company ID"

Header=

BatchHeader=

DetailAR=

DetailAP=

BatchFooter=

Footer=

Validation examples:

Example: Bank Setup Validation and renaming.
BSBSize=9 BSB Number will be validated to 9 in length
AccountSize=9:17Account Number will be validated to be between 9 and 17 in length
BSBNumber="R/T Number"BSB Number will be re-labeled R/T Number
AccountNumber="Account Number"Account Number will be Account Number
AccountName="Account Name" Account Name will be labeled Account Name
SourceExtra1="Application ID" one extra field on the Bank will be enabled called "Application ID"
SourceExtra2="Remote ID (RID)"second extra field on the Bank will be enabled called "Remote ID (RID)
SourceExtra3="File ID"Third extra field on the Bank will be enabled called "File ID"
SourceExtra4="Company ID"Fourth extra field on the Bank will be enabled called "Company ID"

BSBSize is the size of the BSB field. This can either be one number, which means the BSB is a fixed size, or two numbers in the format min:max.

AccountSize is the size of the Account Number field. This can either be one number, which means the Account Number is a fixed size, or two numbers in the format min:max.

Note: The Size is used for data validation.

Making a field required

Use ! in front of a field name. EFT will check if the field has a value.

Example: [!DestAccountNumber] means that the Vendor Bank Account field cannot be blank when creating the EFT File.

RENDER=API

Since the latest product update for Sage 300 version 2019, EFT Processing includes two dll engines to generate the EFT Files: 

  • The original dll ELEFT.dll works only with Sage 300. It includes support for optional fields on AP Payments and AR Receipts headers. However, it doesn't support LUA functions for conditional formulas in the file. While this dll is supported, enhancements are not added to it.

  • EFT.dll works with various ERP Applications. It includes standard predefined fields and includes support for LUA statements to write conditional statements in the file format. Any enhancements to EFT Processing are done in the EFT.dll only. To use the newer dll, the file format must include the line RENDER=API.

Note: If the RENDER=API is deleted or omitted, EFT Processing will use the ELEFT.dll.

Tips when converting from an older format to render=API

With the latest dll, you can't include the Sage 300 table names directly into the formats.ini or userformats.ini. You need to use the pre-defined field names.

Example:

For example, you need replace the fields below:

Fields [CSCOM.*] in Company Profile, change to [Company.*]

Field [ELCUS.EMAIL] for email address, change to [DestAdviceEmail].

Field [APTCR.IDRMIT] for cheque number, change to [FirstCheque]

Field [APTCR.DOCNBR] for Document Number, change to [DocNum]

Field [APTCR.CODECURN] for Vendor Currency Code, change to [Dest.ccy]