Skip to main content

Bank of Scotland BACS

Bank of Scotland BACS

This information is provided for guidance only; you should always confirm the details before passing the file to BACS software.

Abbreviations used in this topic

Acronyms

Abbreviation

Description

BAI

Bank Administration Institute

Note: the formats described here adhere to Bank of Scotland's interpretation of BAI

COL

Corporate Online

CSV

Comma Separated Verb record format

End User

The person who uses Corporate Online

EOF

End of File

UHL

User Header Label

Data Format Notations

The following notations are used to describe the field types and their length, unless otherwise stated.

Note: These are only abbreviations used later within this document and are not themselves a definition of field formats.

Abbreviation

Description

F

'F' in front of a field type indicates the field has FIXED length

V

'V' in front of a field type indicates the field has VARIABLE length

X (**)

Alphanumeric characters allowed. The value in brackets specifies the maximum size permissable. Fixed length fields are padded with trailing spaces.

9 (**)

Numeric characters allowed. The value in brackets specifies the maximum size permissable. Fixed length fields are padded with leading zeros.

Z9(**).99

This is an amount field. The value in brackets describes the length of the number. The decimal point describes if there is a decimal point or not. Note that no leading zeros are applied.

Date

Represents a date. The exact format is specified by example.

EXPORTING FROM CORPORATE ONLINE

INTRODUCTION

Exporting of data is provided to allow Service Users to import posting and balance summaries into other applications. The export process is applicable to posted transactions created by the following accounts types as used by Corporate Online.

Main Account Type

Classification

UK Accounts

Cheque
Deposit
Loan

International

Currency Current

EXPORTING DATA FORMATS

Data can be exported from a number of screens, the format available for download is dependent upon which screen / information is being downloaded:

Screen/ Information

Format

View Account Balance

COL CSV

Statement

BAI / COL CSV

Sterling Report

COL CSV

International Report

COL CSV

Account Group Download

COL CSV

Audit Log

COL CSV

Foreign Exchange Trade History

COL CSV

A single account can be downloaded from the View Account Balance and Statement screens. Multiple sterling accounts can be downloaded from the Sterling Report and Account Group Download screens.

Multiple international accounts can only be downloaded from the International Report screen.

PROCESSING

The export operation is initiated by clicking the download button. Where a COL CSV file is available only, you will be asked to save the file to your pc. Where there is a choice offering different types of download file, you will be asked to enter a filename and choose what kind of file is required.

The format of each kind of file and information downloaded are dependent upon which screen within Corporate Online is used.

STERLING ACCOUNT Sample File

Deposit,EARL GREY DEVELOPMENTS TEST,80999906008504,"0.48 GBP","01/01/2011","0.00 GBP","0.00 GBP","0.48 GBP","0.00 GBP","0.48 GBP","0.48 GBP","0.00 GBP","0.48 GBP","0.00 GBP","0.48 GBP","0.00 GBP","0.48 GBP","0.00 GBP","0.48 GBP","0.00 GBP","0.48 GBP"

The format of this file for a Sterling account is:

Field

Description and Format

Account Type

VX(**)

Account Name

VX(**)

Sort Code & Account Number

F9(14)

Current Balance

VX(**)

Uncleared Funds

VX(**)

Cleared Balance

VX(**)

Close of Business Balance

VX(**)

Debit Transaction Total

VX(**)

Credit Transaction Total

VX(**)

Date as At

DD/MM/YYYY

Projected Cleared Balance +1

VX(**)

Funds Due to Clear +1

VX(**)

Projected Cleared Balance +2

VX(**)

Funds Due to Clear +2

VX(**)

Projected Cleared Balance 3+

VX(**)

Funds Due to Clear 3+

VX(**)

Available Funds for Payment

VX(**)

Note: If user preferences are set to display amounts in Euro, then both the Sterling value and Euro equivalent will be downloaded.

INTERNATIONAL ACCOUNT Sample File ( currency with a 10 digit account number)

International,Customer Currency(Current) Acc,99999USD01,"-167.07 USD","-185.07 USD","-211.07 USD","-232.07 USD","-232.07 USD","-232.07 USD","-232.07 USD","01/01/2011"

Sample File (currency with a sort code and account number)

International,Customer Currency(Current) Acc, 12345612345678,"-167.07 USD","-185.07 USD","-211.07 USD","-232.07 USD","-232.07 USD","-232.07 USD","-232.07 USD","01/01/2011"

The format of this file for an International Account is:

Field

Description and Format

Value

Type of Account

FX(13)

“International”

Account Name

VX(**)

-

Account Number

VX(14)

-

Balance

VX(**)

e.g. 23.76 USD

Projected Balance Today

VX(**)

-

Date as At

DD/MM/YYYY

-

STATEMENTS AND ACCOUNT GROUP DOWNLOAD

Only the COL format is available on the Account Group Download screen (ACC or TRN file). A Service User may export historic balance information and transaction information for UK and International accounts.

A Service User may export information for a single account or for all accounts within the same group. The Service User may select the file name and type for the export (ACC for account balances, and TRN for Account Transactions).

File extensions are:

FILE TYPE

EXTENSION

Sterling Account Position info. -

*******.ACC

Sterling Account Transactions -

*******.TRN

International Account Position info -

*******.ACC

International Account Transactions -

*******.TRN

COL format files are ASCII files. All fields are separated by commas. All fields are enclosed in quotations, including numbers. If a text field contains a quotation mark, then the quotation mark is replaced by two adjacent quotation marks.

All balance fields are signed. If they are negative, the amount is preceded by a minus sign. No plus sign is used for positive balances.

The transaction amount is not signed, but an indicator is used to show if the transaction type is either D (Debit) or C (Credit).

STERLING ACCOUNT POSITION files hold details of historic balances for a UK accounts. The format of all amounts is Amount(18).99 These include projected balance as well as credit and debits. Notice the fixed decimal notation '.' zero amounts will be presented by a fixed length number “0.00”. The string will be padded with leading spaces.

FIELD

DESCRIPTION AND FORMAT

Sort Code -

F9(6)

Account Number -

F9(8)

Account Name -

VX(35)

Account type -

VX(35)

Balance date

YYYY/MM/DD

Ledger Balance -

FZ(16).99

Cleared Balance -

VX(**)

Projected Balance +1

VX(**)

Projected Balance +2 -

VX(**)

Projected Balance 3+ -

VX(**)

Today's Debits -

FZ(18).99

Today's Credits -

FZ(16).99

Example:

"123456","012346578901","Mr. Smith's Account",,"20110101","44.69",,,,,," 184488.69"," 184488.69"<CR><LF>

FIELD

DESCRIPTION AND FORMAT

VALUE

Posting Date -

YYYY/MM/DD

-

Amount

FZ(16).99

-

Transaction Code -

FX(3)

-

Transaction Description -

FX(80)

-

Transaction Type -

FX(1) -

“C” or “D”, Credit or Debit

Forward Posted Flag -

FX(1)“F”

“F”

Sorting Code -

F9(6)

-

Account Number -

F9(6)

-

Example:

"19960925"," 86.00","BGC","003747","D","F","121257","02561237"<CR><LF>

CURRENCY ACCOUNT POSITION files hold details of historic balances for International accounts.

Note: All amounts values have V Z(16).XXX where XXX is the number of decimal points used in the currency.

Refer to this table if your currency account contains 10 digits.

FIELD

DESCRIPTION AND FORMAT

Account Name

VX(35)

Client Number

FX(5

Currency Code

FX(3)

Account Number

FX(2)

Account Type

VX(35)

Balance Date

YYYY/MM/DD

Overnight Balance

FZ(16).XXX

Total Debits

FZ(16).XXX

Total Credits

FZ(16).XXX

Example:

"International Account1","02013","USD","01","","20110101"," 13611.191",,,,,,"157.063"," 39.193"<CR><LF>

Refer to this table if your currency account contains a sort code and account number.

FIELD

DESCRIPTION AND FORMAT

Account Name

VX(35)

Sort Code

FX(6)

Account Number

FX(8)

Not Used

FX(2)

Balance Date

YYYYMMDD

Overnight Balance

FZ(16).XXX

Total Debits

FZ(16).XXX

Total Credits

FZ(16).XXX

Example:

"International Account1","123456","12345678","","20110101","13611.11",,,,,"157.063","39.193"<CR><LF>

CURRENCY ACCOUNT TRANSACTION files hold details of account movements for International accounts. Currency account transactions are only produced for posted transactions.

Note: All amounts values have F Amount(16).XXX where XXX is the number of decimal points used in the currency.

Refer to this table if your currency account contains a sort code and account number.

FIELD

DESCRIPTION AND FORMAT

VALUE

Value Date

YYYYMMDD

-

Amount -

FZ(13).9999

-

Transaction Ref.

FX(80)

-

Customer Ref. -

Not used

-

Transaction Type -

FX(1) -

“C” or “D”, Credit or Debit

Forward Posting Flag -

FX(1) -

“F”

Processing Date -

YYYYMMDD

-

Sort Code

F9(6)

-

Account Number

F9(8)

-

Example:

"20110101","674635.0000","G384532396",,"DBT","F",20110101","123456","12345678"<CR><LF>

Refer to this table if your currency account contains 10 digits.

FIELD

DESCRIPTION AND FORMAT

VALUE

Value Date

YYYY/MM/DD

-

Amount -

FZ(14).9999

-

Transaction Ref.

FX(80)

-

Customer Ref.

VX(18)

Not used

Transaction Type

FX(1) -

“C” or “D”, Credit or Debit

Forward Posting Flag

FX(1)

“F”

Processing Date

YYYY/MM/DD

-

Client Number

F9(5)

-

Currency Code

FX(3)

-

Account Number

F9(2)

-

Example:

"20110101","67435.0000","G384532396",,"DBT","F","20110101","02013","USD","04"<CR><LF>

Refer to this table if your currency account contains a sort code and account number.

STATEMENTS BAI FORMAT –

BAI format is defined by Bank Administration Institute. The version defined here is the interpretation used by Bank of Scotland. BAI is a delimited ASCII format. Under Bank of Scotland's implementation, each file will be an ASCII sequential file with a fixed record length of 80 characters.

A BAI export may only be performed on a single account. A date range must be supplied.

The BAI format defines a file of data with the following record structure:

File Header

Group Header (for each day's data)

Account Header (for each account for the given day, includes balance)

Transaction Details (for each transaction item for the given account on given day)

Account Trailer

Group Trailer

File Trailer

A record consists of a two byte record type followed by a number of fields. Each field is separated by a comma. With only one exception, the end of the last field in a record is indicated by a forward slash</>. As the record is fixed length, space padding is applied to the record so that it occupies the full 80 characters. The record is then terminated with a <CR><LF> pair (making the total length 82 characters).

The exception is when the record is a continuation record and the last field is a string. In this case the field itself is space padded so that the record occupies the full 80 character length. The record is then terminated with a <CR><LF> pair.

The BAI file is terminated by a <CONTROL-Z>.

A list of record types is given below:

COMMAND

DESCRIPTION

01

File Header

02

Group Header

03

Account Header (for each account, includes balance)

16

Transaction Details (for each transaction item)

49

Account Trailer

88

Continuation marker

98

Group Trailer

99

File Trailer

Every field is an ASCII presentation of string or number. Strings are NOT embedded in quotes. All fields are of variable length. (Note: for clarity, examples given in this document don't show all 80 characters as many are likely to be empty.)

File Header Format (01)

Only one file header record will appear in each exported file. The format of the record will be:

01,s-id,r-id,c-date,c-time,file-id,rec-len,blk-size,version/

FIELD

FORMAT

DESCRIPTION

VALUE

s-id

X(9)

The sender identifier for Corporate Online,
alphanumeric

corpline1

r-id

X(13)

The receiver identifier for the customer, alphanumeric

site.siteIdentifier

c-date

YY/MM/DD

The date the file was created, format

-

c-time

HH/MM

The time the file was created

-

file-id

-

unique sequence number for each file created with
the same creation date

site.BAIFileId

rec-len

9(2)

physical record length, always 80

80

blk-size

9(1)

number of physical records in a block, always 1

1

version

9(1)

BAI version number, always 2

2

Example:

The first line displays character positions, the second line shows an example format.

12345678901234567890123456789012345678901234567890123456789012345678901234567890

01, corpline1,abcdefghijk02,110101,1642,3,80,1,2/

Character 81 = <CR>, 82 = <LF>

Group Header Format (02)

One group header will appear for each day of exported data. The format of the record will be:

02,r-id,o-id,status,a-date,a-time,curr,modifier/

FIELD

FORMAT

DESCRIPTION

VALUE

r-id

X(13)

the receiver identifier, same as the file header

.siteIdentifier

-

o-id

X(9)

the originator identifier, same as for sender identifier

in File Header

corpline1

-

status

X(1)

Always 1

1

a-date

YY/MM/DD

as of date, i.e. date to which data applies

-

-

a-time

HH/MM

as of time, always 2400

-

2400

curr

X(3)

default currency code for account group

-

GBP

modifier

9(1)

-

2

Example:

The first line displays character positions, the second line shows an example format.

02,abcdefghijk02, corpline1,1,110101 ,2400,GBP,2/

Character 81 = <CR>, 82 = <LF>

Account Header (03)

An account header, recording balance information, is included for each account written to the file. Three records are used to hold the account header one prefixed with the account header identifier, and two continuation records. The formats of the records are: –

03,ac-no,curr,tc1,am1,,,tc2,am2,,,tc3,am3,,,tc4,am4,ic4/

88,tc5,am5,ic5,/

88,tc6,am6,,,tc7,am7,,/

Notes:
1. Account Headers end with the ic5 field (i.e. fields tc6 onwards are omitted).
2. The number of decimal places for an amount field is implied by the currency.

FIELD

FORMAT AT

DESCRIPTION

VALUE - UK ACC

VALUE - INTL. ACC

ac-no

X(12)

For sterling accounts, this will be the last 4 digits of the sort
code plus the 8 digit account number. For currency
account's the format is, 9(5) X(3) 9(2)

acc.sortCode

+

acc.accountNo

acc.accountNo

curr

X(3)

currency code of the account (GBP for sterling accounts)

GBP

acc.currencyCode

tc1

9(3)

type code for 1st summary item, always 015 (closing
balance)

015

015

am1

-

Amount of 1st summary item, i.e. closing balance for the
day being output, signed

closedLedgerBal

closedClearedBal

(empty)

-

Empty field

-

-

(empty)

-

Empty field

-

-

tc2

9(3)

type code for 2nd summary item, always 045 (closing
balance)

045

045

am2

-

Amount of 2nd summary item, i.e. closing balance for day
being output, signed, same as am1

closedLedgerBal

closedClearedBal

(empty)

-

Empty field

-

-

(empty)

-

Empty field

-

-

tc3

9(3)

type code for 3rd summary item, always 040 (opening
balance)

040

040

am3

-

amount of 3rd summary item, i.e. closing balance for day
being output, signed, same as am1

closedLedgerBal

closedClearedBal

(empty)

-

Empty field

-

-

tc4

9(3)

type code for 4th summary item, always 400 (total debits)

400

400

am4

-

amount of 4th summary item, i.e. total amount of all debits
for day being output

ranDebitAmt
Plus0

tranDebitAmt
Plus0

ic4

-

item count for 4th summary item, i.e. total number of debit
items

tranDebitCount
Plus0

tranDebitCount
Plus0

(empty)

-

Empty field

-

-

tc5

9(3)

type code for 5th summary item, always 100 (total credits)

100

100

am5

-

amount of 5th summary item, i.e. total amount of all credits

tranCreditAmt
Plus0

tranCreditAmt
Plus0

ic5

-

item count for 5th summary item, i.e. total number of credit
items

tranCreditCount
Plus0

tranCreditCount
Plus0

tc6

9(3)

type code for 6th summary item, always 072 (day 1 float)

072

072

am6

9(1)

amount of 6th summary item, i.e. day 1 float, signed

0

0

(empty)

-

Empty field

-

-

(empty)

-

Empty field

-

-

tc7

9(3)

type code for 7th summary item, always 074 (day 2+ float)

074

074

am7

9(1)

amount of 7th summary item, i.e. day 2+ float, signed

0

0

(empty)

-

Empty field

-

-

Transaction type codes are always present in all records even when its corresponding amount is zero. Such amounts
are always set to zero. This ensures that the field is never empty.

Example:

The first line displays character positions, the second line shows an example format.

Sterling Account Example:

03,000100021113,GBP,015,11278477,,,045,11278477,,,040,11278477,,/

88,400,4213365,14,,100,188448869,6,/

88,072,0,,,074,0,,/

Currency Account Example:

03,00609 USD 01,USD,015,-3460,,,045,-3460,,,040,-3460,,/
88,400,0,0,,100,6632,43,/
For each record character 81 = <CR>, 82 = <LF> –

Transaction Details

A transaction details record is included for each transaction for the account specified by the account header for the date specified by the group header. The formats of the records are:

16,tc,amount,f-type,v-date,,,/
88,d...d/

Note: All currency account balance and transaction amounts are being displayed multiplied by a factor of 100 e.g a transaction / balance of 0.01 will export as 100 and not as 1.

FIELD

DESCRIPTION

VALUE

tc

type code for the transaction, always 399 (miscellaneous
credit) for all credits or 699 (miscellaneous debit) for all debits

399 or 699

amount

amount of transaction, unsigned

m.amount

f-type

funds type, always 0 (immediate availability) for sterling
accounts, always V (value dated) for currency accounts

0 or V

v-date

value date, only appears for currency accounts (DD/MM/YYYY)

m.postingValueDate or blank

(empty)

Empty Field

-

(empty)

Empty Field

-

d...d

description of transaction, continued as necessary,
each line padded to 80 characters including “88,”.

Sterling transactions :
m.descriptor or
Currency transaction :
m.descriptor or

Example:

The first line displays character positions, the second line shows an example format.

For a currency credit transaction:

16,399,123456789012345678,V,110101,,,/

88,Currency transaction: transaction narrative

Sterling debit transaction:

16,699,123456789012345678,0,,,,/

88,Sterling transactions : transaction narrative

For each record character 81 = <CR>, 82 = <LF> –

Note: There is always a space before and after the colon in the description field.

Account Trailer

The format of this record is: 49,tot-amnt,no-rec/

FIELD

DESCRIPTION AND FORMAT

VALUE

tot-amnt

checksum total of all amounts in account header and
all amounts in transaction detail records

Unsigned addition of am1 to
am7 in header record, and amounts
in transaction detail records

no-rec

checksum total of records for this account, including
account header and trailer, and all continuation
records

-

Example:

The first line displays character positions, the second line shows an example format.

49,92539296,126/

For this record character 81 = <CR>, 82 = <LF> –

Group Trailer

The format of this record is:

98,tot-amnt,no-acs,no-rec/

FIELD

DESCRIPTION AND FORMAT

tot-amnt

checksum total of all amounts in Account
Trailer records for this group

no-acs

not used

no-rec

checksum total number of records for this group,
including group header and trailer

Example:

The first line displays character positions, the second line shows an example format.

98,7728504576,61,237/

For this record character 81 = <CR>, 82 = <LF> –

File Trailer

The format of this record is:

99,tot-amnt,no-gps,no-rec/

FIELD

DESCRIPTION AND FORMAT

tot-amnt

checksum total of all amount totals in Group
Trailer records for this file.

no-gps

total number of groups in this file.

no-rec

checksum total of all record totals in Group
Trailer records for this file.

Example:

The first line displays character positions, the second line shows an example format.

99,7728504576,1,239/

For this record character 81 = <CR>, 82 = <LF> –

STERLING REPORT

This download file is designed for use in a spreadsheet or similar application.

Each account within the report will have seventeen fields of data downloaded. After the account data there
are then two blank lines of space, and all the fields are totalled up.

Each account reported will show the following fields:

FIELD

DESCRIPTION AND FORMAT

Sorting Code -

VX(8) -

Account Number -

F9(8)

Account Name

VX(35)

Close of Business Balance

VZ(**).99 -

Close of Business Cleared Balance -

VZ(**).99

Credits

VZ(**).99

Debits -

VZ(**).99

Real Time Cleared Balance -

VZ(**).99

Clearing Cheques +1 -

VZ(**).99

Clearing Cheques +2 -

VZ(**).99

Clearing Cheques 3+

VZ(**).99

Projected Cleared Balance +1 -

VZ(**).99

Projected Cleared Balance +2 -

VZ(**).99

Projected Cleared Balance 3+ -

VZ(**).99

Funds Available for Payment

VZ(**).99

Not Used

-

Date as at

DD/MM/YYYY

Carriage Return

-

INTERNATIONAL REPORT

This download file is designed for use in a spreadsheet or similar application.

Each account within the report will have nine fields of data downloaded. After the account data there are then
two blank lines of space, and all Sterling Equivalent balance fields are totalled up.

Each account reported will show the following fields:

FIELD

DESCRIPTION AND FORMAT

VALUE

Account Name

FX(30)

“Customer Currency(Current) Acc”

Account Number

FX(10)

-

Close of Business Balance

VZ(**).XXX

Depending on currency

Date of COB Balance

DD/MM/YYYY

-

Current Balance

VZ(**).XXX

Depending on currency

Date of Current Balance

DD/MM/YYYY

-

Conversion Rate

VX(**).XXXXXX

Depending on Currency e.g. 1.34256

Sterling Equivalent COB

VZ(**).99

-

Sterling Equivalent Current Balance

VZ(**).99

-

Carriage Return

-

-

AUDIT LOG

This download file is designed for use in a spreadsheet or similar application.

Each entry within the report will have five fields of data downloaded.

Each audit log entry reported will show the following fields:

FIELD

DESCRIPTION AND FORMAT

Date Time

DD/MM/YYYY, HH:MM:SS

Username

VX(**)

IP Address

VX(15)

Session ID

VX(10)

Event Description

VX(100)

FOREIGN EXCHANGE TRADE HISTORY –

This download file is designed for use in a spreadsheet or similar application.

Each entry within the report will have nine fields of data downloaded.

Each audit log entry reported will show the following fields:

FIELD

DESCRIPTION AND FORMAT

Trade ID

FX(6)

Dealing Name

VX(**)

Buy Amount & CCY

VX(**)

Sell Amount & CCY

VX(**)

Rate

VX(**)

Trade Date

DD/MM/YYYY

Type

VX(**)

Value Date

DD/MM/YYYY

User ID

VX(**)

IMPORTING INTO CORPORATE ONLINE

INTRODUCTION

Payment instructions may be imported from ASCII format files.

1) COL:

In COL format one input file can contain the following record types:
Inter Account Funds Transfer (Sterling and Currency) Domestic Payments, CHAPS, International Payments, Faster Payments.

2) BACS:

Bacs format is used for Bacs Direct only.

Notes: International Drafts, International Payments with Live Rates and Foreign Exchange transfers cannot be imported

FILE VALIDATION

A check will be made of the overall file. If any file error is encountered, then processing is stopped and an on-screen message will be displayed.

Payments are not directly created from the import file, instead a template is created and payments may be generated from the template. –

If errors are present in the import file, a template may still successfully be created.

ACCESS CONTROL

In order to create a payment instruction within the system the Service User must have the appropriate facility to process the instruction type, qualified by the account.

However, as a template is created by the import file, these limits and facilities are not checked until the user tries to convert the template to payments.

The Service User must also be allowed to 'Administer Beneficiaries'.

PROCESSING

When the import function is selected, the Service User is presented with a file open dialogue which is used to specify the file to be imported. The system then reads the selected file, and validates its contents as described in the following section:

If the file is valid, then the payments are imported into Corporate Online and a message informs the user of completion.

COL FORMAT IMPORT FILE

The COL file is an ASCII format, comma delimited file. The following rules apply to the file:

  • A new line is used to delimit a record.

  • All fields, whether mandatory or optional, must be separated by a comma delimiter. Where an optional field has no entry, two comma delimiters will be adjacent to one another.

  • Amount fields are of variable length, leading zeros suppressed.

  • If the batch name already exists, no payments are imported.

  • The length of a numeric field must not exceed its permissible length.

  • The length of a character field must not exceed its permissible length (as detailed in the format).

The file consists of a header record, a number of instruction records and a trailer record.

Fields (both alpha or numeric) can be enclosed in double quotation marks (double quotes). Within a character string which is enclosed in double quotes, two adjacent double quotes are interpreted as one double quote to be included within the input field (and not as the double quote that terminates the character string).

Examples of valid input text strings are in the following table:

STRING IN INPUT FILE

RESULTING INPUT STRING

...,Non-quoted string,...

Non-quoted string

...,“Quoted string”,...

Quoted string

...,“Quoted string, containing a comma”,...

Quoted string, containing a comma

...,“Payee is “”John Smith””, London”,...

Payee is “John Smith”, London

...,“Payee is 'John Smith', London”,...

Payee is 'John Smith', London

The following default field values are applied:

  • Default value for a missing optional numeric field is zero.

  • Default value for a missing optional character field is an empty string.

  • Amount fields with missing decimal points which are pre-defined to have a decimal point, are treated as having zero decimal point.

File Header

The format for the file header record is:

FIELD NAME

CONTENT OR FORMAT

MANDATORY/OPTIONAL

Record Code

F X(3) “HEA”

M

Batch Name

V X (24) -

M

Example:

"HEA","filename"

Sterling Inter Account Funds Transfer This record holds details of a transfer between Sterling accounts. –

FIELD NAME

CONTENT OR FORMAT

MANDATORY / OPTIONAL -

OBJECT MAPPING (PAYMENT)

Record Identifier

F X(3), “STE”

M

-

Debit Sort Code

F 9(6)

M

DebitAccount 1

Debit A/C Number

F 9(8)

M

DebitAccount 1

Credit Sort code

F 9(6)

M

Beneficiary Account 2

Credit A/C Number

F 9(8)

M

Beneficiary Account 2

Transfer Amount

V Z(9).99

M

Amount

Intended Payment
Date

FDate (DD/MMM/YY)

O

PaymentDate

Reference

V X(18)

O

Statement Reference

Notes:
1 Debit Sort Code and Debit A/C Number must match a valid account in the system.
2 Credit Sort Code and Credit A/C Number must match a valid account in the system.

Example:

"STE","123456","00080914","120103","00107446","1.01","01JAN11","Transfer No 123A"

Currency Inter Account Funds Transfer This record holds details of a transfer between Currency accounts. –

FIELD NAME

CONTENT OR FORMAT

MANDATORY / OPTIONAL -

OBJECT MAPPING(PAYMENT)

Record Identifier

F X(3). “CUR”

M

-

Currency Debit 10 digit A/C
Number or Currency debit Sort
Code and A/C Number

F X(10)

M

DebitAccount 1

Currency Credit 10 digit A/C
Number or Currency credit
Sort Code and A/C Number

F X(10)

M

Beneficiary Account 2

Currency Amount

V Z(14)

M

Amount 3

Payment Date

FDate (DD/MMM/YY)

O

PaymentDate

Reference

V X(18)

O

Statement Reference

Notes:
1 The Currency Debit A/C Number must match a valid account in the system.
2 The Currency Credit A/C Number must match a valid account in the system.
3 The decimal place is implied by the currency.

Example:

"CUR","01234USD03","01234USD02",12345,"01JAN11","Transfer No 123A"

Normal Domestic Payments Value This record holds details of a Domestic Payment. The object mapping column shows the NDP object attributes that are populated by the record. –

FIELD NAME

CONTENT OR FORMAT

MANDATORY / OPTIONAL -

OBJECT MAPPING (PAYMENT)

Record Identifier

F X(3),“NDP”

M

-

Debit Sort Code

F 9(6)

M

debitAccId.sortCode1

Debit A/C Number

F 9(8)

M

debitAccId.number1

Credit Sort code

F 9(6)

M

sortCode

Credit A/C Number

F 9(8)

M

BACSaccountNo

Amount

V Z(9).99

M

amount

Beneficiary Name

V X(18)

M

benName, benAccountName

Remitter Reference

V X(18)

M

Reference / remitter reference

Value Date

FDate(DD/MMM/YY)

M

ValueDate

Remitter Name

VX(18)

O

not used

Example:

"NDP",012345,01234567,012345,01234567,0123,"Beneficiary","Reference","01JAN11"

Faster Payments Service Value This record holds details of a Faster Payment. The object mapping column shows the FPS object attributes that are populated by the record. –

FIELD NAME

CONTENT OR FORMAT

MANDATORY / OPTIONAL -

OBJECT MAPPING (PAYMENT)

Record Identifier

F X(3),“FPS”

M

-

Debit Sort Code

F 9(6)

M

debitAccId.sortCode1

Debit A/C Number

F 9(8)

M

debitAccId.number1

Credit Sort code

F 9(6)

M

sortCode

Credit A/C Number

F 9(8)

M

BACSaccountNo

Amount

V Z(9).99

M

amount

Beneficiary Name

V X(18)

M

benName, benAccountName

Remitter Reference

V X(18)

M

Reference / remitter reference

Value Date

FDate(DD/MMM/YY)

M

ValueDate

Remitter Name

VX(18)

O

not used

Notes: 1 Debit Sort Code and Debit A/C Number must match a valid account in the system.

Example:

"FPS",012345,01234567,012345,01234567,0123,"Beneficiary","Reference","01JAN11"

CHAPS This record holds details of a CHAPS Payment. The object mapping column shows the CHAPS object
Attributes that are populated by the record. –

FIELD NAME

CONTENT OR FORMAT

MANDATORY / OPTIONAL -

OBJECT MAPPING (PAYMENT)

Record Identifier

FChar(3),“EDP”

M

-

Debit Sort Code

F 9(6) -

M

debitAccId.sortCode1

Debit a/c Number -

F 9(8)

M

debitAccId.number1

Credit Sort code -

F 9(6) -

M

SortCode

Credit a/c Number -

V X(20)

M

CHAPSAccountNo

Amount -

V Z(9).99

M

amount

Beneficiary Name -

V X(35)

M

benName, benAccountName

Beneficiary Address1 -

V X(35)

M

benAddress

Beneficiary Address2

V X(35)

M

benAddress

Beneficiary Address3 -

V X(35)

M

benAddress

Bank Name -

V X(35)

O

benBankName

Bank Address 1 -

V X(35)

M

benBankAddress

Bank Address 2 -

V X(35)

M

benBankAddress

Bank Address 3 -

V X(35)

M

benBankAddress

Payment Reference -

V X(18)

O

reference

Advise Beneficiary -

V X(1) “Y” or “N” M

M

adviseBeneficiary

Payment Details 1 -

V X(35)

O

paymentDetails

Payment Details 2 -

V X(35)

O

paymentDetails

Payment Details 3 -

V X(35)

O

paymentDetails

Payment Details 4 -

V X(35)

O

not used

Inf. to Payee Bank 1 -

V X(35)

O

infoToPayingBank

Inf. to Payee Bank 2 -

V X(35)

O

infoToPayingBank

Inf. to Payee Bank 3 -

V X(35)

O

infoToPayingBank

Inf. to Payee Bank 4 -

V X(35)

O

infoToPayingBank

Inf. to Payee Bank 5 -

V X(35)

O

not used

Inf. to Payee Bank 6 -

V X(35)

O

not used

IBAN Flag

F X(1), T or F

O

enables use of IBAN

Beneficiary IBAN M

V X(34)

M if IBAN flag true

ben.IBAN

Swift BIC Flag

F X(1), T or F

O

ben.BeneficiaryBank
AddressType =
SwiftAddress or
NameAndAddress

Swift BIC

V X(34)

M, if Swift flag true

ben.BankSwiftAddress

Email Confirmation Flag

F X(1), T or F

O
M, when Email conf
flag true

ben.EmailConfirmation

ben.EmailConfirmationAddress

Email Confirmation
Address

V X(100)

O
M, when Email conf
flag true

ben.EmailConfirmation

ben.EmailConfirmationAddress

Notes: 1 Debit Sort Code and Debit A/C Number must match a valid account in the system.

Example:

"EDP",123456,12345678,123456,12345678,0.01,"Ben Name","Ben Add1","Ben Add2","Ben Add3","BnkName","BnkAddr1","BnkAddr2","BnkAddr3","Pay Ref","Y","Pay D1","Pay D2","Pay D3","Pay D4","Inf1","Inf2","Inf3", "Inf4","Inf5","Inf6"

International Payment value This record holds details of an International Payment. The object mapping column shows the International Payment object attributes that are populated by the record. –

Charging instructions available depend on various factors. Please refer to section 3 for further information.

FIELD NAME

CONTENT OR FORMAT

MANDATORY / OPTIONAL -

OBJECT MAPPING (PAYMENT)

Record Identifier

FX(3) “INP”

M

-

Sterling Debit A/C Flag

FX(1)“T” or “F” -

M

1

Debit Sort Code

F9(6)

M1

debitAccid.sortCode

Debit A/C Number -

F9(8)

M1

debitAccid.number

Currency Debit 10 digit A/C
Number or Currency debit
Sort Code and A/C Number

FX(10)

M1

-

Beneficiary A/C Number -

VX(34)

M

intlAccountNo

Amount -

Z9(12).99

M

amount

Beneficiary Name -

VX(35)

M

benName, benAccountName

Beneficiary Address1 -

VX(35) -

M

benAddress

Beneficiary Address2 -

VX(35) -

O

benAddress

Beneficiary Address3 -

VX(35) -

O

benAddress

Bank Name -

VX(35)

M

benBankName

Bank Address 1 -

VX(35) -

M

benBankAddress

Bank Address 2 -

VX(35) -

O

benBankAddress

Empty field -

VX(35) -

O

not used

Currency Sent -

VX(3)

M

CurrSent2

Currency of Amount -

VX(3)

M

CurrAmount2

Instructions to Bank -

F9(1)

O

Not used

Priority Processing -

FX(1) “Y”

M

priorityProcessing

Charging Instructions -

F9(1) -

M

ChargingInstructions3

Remitter Reference -

VX(18) -

M

Reference

Conversion Rate -

VX(15)

O

Not Used

Forward Contract Number -VX(10) -

Forward Contract Number -VX(10) -

O

Not Used

Deal Number

V9(4)

O

Not Used

Payment Details 1 -

VX(35) -

O

paymentDetails

Payment Details 2 -

VX(35) -

O

paymentDetails

Payment Details 3 -

VX(35) -

O

paymentDetails

Payment Details 4 -

VX(35) -

O

paymentDetails

Country Code

FX(2)

M

CountryCode4

Beneficiary A/c Name -

VX(35) -

M

Beneficiary.AccountName

Payment Date

FDate(DDMMMYY)

O

-

Use Swift flag

FX(1), T or F

O

Ben.BeneficiaryBank
AddressType =
SwiftAddress or
NameAndAddress

Swift / BIC

VX(34)

M, if Swift flag

Beneficiary.BankSwiftAdd

Inst. to Paying Bank 1

VX(35)

O

Payment.InstructionsToPayingBank

Inst. to Paying Bank 2

VX(35)

O

Payment.InstructionsToPayingBank

Inst. to Paying Bank 3

VX(35)

O

Payment.InstructionsToPayingBank

Inst. to Paying Bank 4 -

VX(35)

O

Payment.InstructionsToPayingBank

Notes:
1. If the debit account is a sterling account (Sterling Debit A/C Flag = “T”) then the debit sort code and account number must be specified, and the currency account Number field is not used.
If the debit account is an international account (Sterling Debit A/C Flag = “F”) then the 10 digit currency account number or currency sort code and account number must be specified.

2. The currency must match a valid currency in the system.
AED UAE DIRHAM, ILS ISRAELI SHEKEL, SAR SAUDI ARABIAN RIYAL, AUD AUSTRALIAN DOLLAR, INR INDIAN RUPE, SEK SWEDISH KRONOR, JPY JAPAN YEN, SGD SINGAPORE DOLLARS, BHD BAHRAINI DINA, KWD KUWAITI DINAR, THB THAILAND BAHT, CAD CANADIAN DOLLARS, NOK NORWEGIAN KRONE, TRY TURKISH LIRA, CHF SWISS FRANC, NZD NEW ZEALAND DOLLAR, USD UNITED STATES DOLLAR, CZK CZECH KORUNA, OMR OMANI RIAL, DKK DANISH KRONE, ZAR SOUTH AFRICAN RAND, PHP PHILIPPINE PESO, EUR EURO, PKR PAKISTAN RUPEE, GBP GREAT BRITISH POUND,
HKD HONG KONG DOLLARS, PLN POLAND ZLOTY, HUF HUNGARIAN FORINT, QAR QATARI RIAL

3. Charging Instructions must have the value '1', '2' or '3'.
Charge code field within International Payment import file, controls two flags on the International payment (1) Pay Remitting Bank Charges and (2) Pay Receiving Bank Charges.
Charge Code --Charge Flags
1 ------------ (1) T (2) F You pay Bank of Scotland charges only
2 ------------ (1) F (2) F All charges borne by beneficiary
3 ------------ (1) T (2) T You pay all charges
Please note that if the payment is in an EU/EEA currency and is not leaving the EU/EEA the following charging scenarios are applicable;
If a currency conversion is required the charging options applicable are;
Charge Code --Charge Flags
1 ------------ (1) T (2) F You pay Bank of Scotland charges only
Or
3 ------------ (1) T (2) T You pay all charges
If no currency conversion is required the only charging option applicable is;
Charge Code --Charge Flags
1 ------------ (1) T (2) F You pay Bank of Scotland charges only
If the payment is a non EU/EEA currency or is being sent out with the EU/EEA there are no charging restrictions. ------------------------------------––

4. If the Country Code supplied does not match a code present on the system, then an error will be reported and the file will not be imported.
NO Norway, AU Australia, GG Guernsey, PL Poland, AT Austria, HK Hong Kong, PT Portugal, BS Bahamas, HU Hungary, RO Romania, BH Bahrain, IS Iceland, SA Saudi Arabia, BE Belgium, IN India, SG Singapore, BG Bulgaria, IE Ireland, SK Slovakia, CA Canada, IM Isle of Man, SI Slovenia, KY Cayman Islands, IT Italy, ZA South Africa, CN China, JM Jamaica, ES Spain, CY Cyprus, JP Japan, SE Sweden, CZ Czech Republic, JE Jersey, CH Switzerland, DK Denmark, KW Kuwait, TW Taiwan, EG Egypt, LV Latvia, TH Thailand, EE Estonia, LI Lichtenstein, TR Turkey, FI Finland, LT Lithuania, AE United Arab Emirates, FR France, LU Luxembourg, US United States of America, DE Germany, MT Malta, VG British Virgin Islands, GB Great Britain, NL Netherlands, GR Greece, NZ New Zealand

Example:

"INP","T",123456,12345678,,12,123456,"Ben","Ben Ad1","Ben Ad2","Ben Ad3","Bank Name",“Bank Ad1","Bank Ad2","Bank Ad3","GBP","USD","Bank's Inst","Prio Pro”,"Inst Char","Remit's Ref","Contract Rate","For Contract Num",,"Pay Det1","Pay Det2","Pay Det3","Pay Det4","US"

Trailer Value The format for the file trailer record is: –

Import & ExFIELD NAME

CONTENT OR FORMAT

MANDATORY/OPTIONAL

Record Code

F X(3) “TRA”

M

No of Payments

F 9(4)

M

Example:

"TRA",0012 <CR>

BACS FORMAT IMPORT FILE

Bacs Format is used to create Bacs Direct Payment instructions only.

Bacs file format consist of a single file with any number of records in the file. The Bacs input file name is used as the Batch name. No existing batch can have this name, or the error message “A batch with the same name already exists. Rename the file and try again.” is produced.

Each record is delimited by a new line. There may be any number of records prior to the User Header Label these are ignored. The User Header Label is optional. If no User Header Label is present then the first record must be a payment record. –

If no UHL is present then the processing date is set to the next working day.

There may be any number of records between the last CONTRA record and the User Trailer Label these are ignored. –

These records must be identified by EOF in the Label Identifier field.

Any records after the User Trailer Label are ignored.

The following is an example of Bacs file format.

Header Records

-

Optional any number prior to UHL–

User Header Label 1

-

Optional

Payment record

-

-

Payment record

-

-

-

:

Payment record group repeated N times

Payment record

-

-

Contra record

-

-

Payment record

-

-

Payment record

-

-

-

:

Payment record group repeated N times

Payment record

-

-

Contra record

-

-

End of File 1

-

End of file records are optional

End of File 2

-

-

User Trailer Label 1

-

-

BACS USER HEADER LABEL

FIELD NAME

CONTENT OR FORMAT

MANDATORY/OPTIONAL

Record identifier

F X(3) “UHL”

M

Label Number

F 9(1)

M

Filler

F X(1)

M

Value Date

F 9(5) YYDDD

M

Notes: The Value date for each payment will be set to the Value date as above. The date is in Julian format. The date
must be a valid payment date.

Example:

UHL1 11277

PAYMENT RECORD (Bacs Credit Section)

Payment records are used to generate Bacs Credits (within a Bacs Direct Payment). They are validated in the
same way as for on-line payments. Beneficiary details are therefore mandatory. All payment records prior to a
Contra record must have the same remitter sort code and account number. If this is not true the batch data will
be rejected with error “The Bacs payment account number does not match that of the preceding record.”

NAME

CONTENT OR FORMAT

MANDATORY/OPTIONAL

OBJECTS MAPPING (BCSINS)

Beneficiary Sort Code -

F 9(6) -

M -

sortCode

Beneficiary Account No. -F 9(8) -

Beneficiary Account No. -F 9(8) -

M

BACSAccountNo

Filler

F X(1)

O

Not used

Transaction Code

F 9(2).
0-98 acceptable
(99 reserved for Contra record)

M

Not used

Remitters Sort Code

F 9(6)

M

debitAccId.sortCode1

Remitters Account No.

F 9(8)

M

debitAccid.Number1

Filler -

F X(4)

O

Not used

Amount -

F 9(11)

M -

amount in pence

Remitters Name

F X(18)

M -

Not used

Remitters Reference -

F X(18) -

M -

BACSMandateRef

Beneficiary Name

F X(18)

M

M benName
benAccountName

Notes: 1 Debit Sort Code and Debit A/C Number must match a valid account in the system.

Example:

1201030110030401712010300107446000000000000500Remitters Name Remitters Refer Beneficiary Name

CONTRA Record The CONTRA record is to be checked to ensure that the amount in the Contra record is equal to the
value of preceding payment records. Contra record by itself does not generate a payment record. If the amounts do not
match, the batch file will be rejected with error “A Contra record did not equal the sum of its Payment records”. –

FIELD NAME

CONTENT OR FORMAT

MANDATORY/OPTIONAL

Remitters Sort Code1

F 9(6) -

M

Remitters Account Number1

F 9(8) -

M

Filler

F X(1)

O

Transaction Code

F 9(2), “99” -

M

Remitters Sort Code1

F 9(6) -

M

Remitters Account Number1

F 9(8) -

M

Filler

F X(4)

O

Amount2

F 9(11), in pence

M

Remitters Narrative

F X(18) -

O

Record Label

F X(18), “CONTRA”

M

Beneficiary Name

F X(18)

O (Not used)

Notes:
1 Must match previous records
2 Must match sum of previous records. This value is in pence, i.e. 2 decimal places implied.

Example:

12345601234567099123456012345123412345678901 Remitters NarrativCONTRA Beneficiary Name12

User Trailer Label If the validation of this record fails then it will reject the batch with error “The Trailer
Record values do not match the sum of Payment records”. ––

NAME

CONTENT OR FORMAT

MANDATORY/OPTIONAL

Record Label

F X(4),UTL1 -

M

Total Value of Debits1

F 9(13), value in pence -

M

Total Value of Credits1

F9(13), value in pence

M

Total Number of Debits2

F9(7) -

M

Total Number of Credits3

F9(7) -

M

Notes:
1 The value of credits must equal the value of debits, which must be equal to the value of all preceding payment records.
2 The number of debits must equal the number of Contra records.
3 The number of credits must equal the number of Payments records.

Example:

UTL11234567890123123456789012312345671234567<CR>

Did this answer your question?