BACS HOBS
BACS File Specification for Bank of Scotland BACS
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.
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 it is present then the first record must be a Payment record.
If it is not 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.
Please note that because HOBS has a limit of 200 payments per file, a number of sequentially named files will be created.
Data Format Notation
The following notations are used to describe the field types and their length.
Abbreviations
|
Descriptions
|
F
|
F in front of the field type indicates the field has FIXED length.
|
V
|
V in front of the field type indicates the field has VARIABLE length.
|
X(**)
|
Alphanumeric characters. The value in the bracket specifies the maximum
Size permissible. Fixed length fields are padded with trailing spaces.
|
9(**)
|
Numeric characters. The value in the bracket specifies the maximum size
Permissible. Fixed length fields are padded with leading zeros.
|
Z9(**).99
|
This is the amount field. **describes the fixed length of the number. The
Decimal point describes if there is a decimal point or not.
Note: No leading zeros will be applied.
|
Date
|
Represents a date. The exact format will be specified by example.
|
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.
Name
|
Content or Format
|
Mandatory/Optional
|
Beneficiary Sort Code
|
F 9 (6)
|
M
|
Beneficiary Account No
|
F 9 (8)
|
M
|
Filler
|
F X (1)
|
O
|
Transaction Code
|
F 9 (2)
0 – 98 acceptable
(99 reserved for Contra record)
|
M
|
Remitters Sort Code
|
F 9 (6)
|
M
|
Remitters Account No
|
F 9 (8)
|
M
|
Filler
|
F X (4)
|
O
|
Amount (in pence)
|
F 9 (11)
|
M
|
Remitters Name
|
F X (18)
|
M
|
Remitters Reference
|
F X (18)
|
M
|
Beneficiary Name
|
F X (18)
|
M
|
Example:
1201030110030401712010300107446000000000000500Remitters Name Remitters Refer Beneficiary Name
Contra Record
The Contra record is checked to ensure that the amount in this record is equal to the sum of all the preceding Payment records. Contra record by itself does not generate a Payment record.
Name
|
Content or Format
|
M/O
|
Remitters Sort Code
|
F 9(6)
|
M
|
Remitters Account Number
|
F 9(8)
|
M
|
Filler
|
F X(1)
|
O
|
Transaction Code
|
F 9(2), 99
|
M
|
Remitters Sort Code
|
F 9(6)
|
M
|
Remitters Account Number
|
F 9(8)
|
M
|
Filler
|
F X(4)
|
O
|
Amount
|
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:
Must match sum of previous records. This value is in pence, i.e. 2 decimal places implied.
Example:
1234560123456709912345601234567123412345678901Remitters NarrativCONTRA Beneficiary Name12
User Trailer Label
Name
|
Content or format
|
Mandatory/Optional
|
Record Label
|
F X(4),UTL1
|
M
|
Total Value of Debits
|
F 9(13), value in pence
|
M
|
Total Value of Credits
|
F 9(13), value in pence
|
M
|
Total Number of Debits
|
F9(7)
|
M
|
Total Number of Credits
|
F9(7)
|
M
|
Notes:
The value of Credits must equal the value of Debits, which must be equal to the value of all preceding Payment records.
The number of Debits must equal the number of Contra records.
The number of Credits must equal the number of Payment records.
Example:
UTL11234567890123123456789012312345671234567
