BACS Export File format - SWIFT MT103
This format is used to create a BACS file that can be used by UK Banks and BACS Service Providers to produce a currency transfer.
MIG = Message Implementation Guideline
The MT103 message format is designed specifically to handle priority payment instructions.
SWIFT MT103 tags
Below are some examples of the tags used in the construction of a SWIFT MT103 message.
Tag 20
Tag | :20: |
SWIFT Field Name | Senders Reference |
Description | Reference for your account |
Format | 16x |
Presence | Mandatory |
Specific Values |
|
Usage Rules and Validation Requirements | The information quoted here will appear against the debit entry on your bank account. HSBC will truncate information longer than 16 characters. |
Example: :20:MT103TESTCASEFILE
Tag 32A
Tag | :32A: |
SWIFT Field Name | Value Date/Currency/Interbank Settled Amount |
Description | A type of Bank Operation |
Format |
6!n = Date
3!a = Currency
15d = Amount
|
Presence | Mandatory |
Specific Values |
|
Usage Rules and Validation Requirements |
Comma separator must be used for ccy units
When paying currency equivalent with unknown exchange rate use 0,00 in the amount. Only available for pre-authorised files. Must be followed by 33B.
|
Example: :32A:090324EUR100,00
Tag 57a
Tag | :57a: |
SWIFT Field Name | Account with Institution |
Description | This provides information about the institution that holds the account of the beneficiary |
Format |
Option A:
[/1!a][/34x] = Party Identifier
Option B
[/1!a][/34x] = Party Identifier
[35x] = Location
Option C:
/34x = Party Identifier
Option D:
[/1!a][/34x] = Party Identifier
|
Presence | Optional |
Specific Values |
Party Identifier may be used to indicate a national clearing system code.
The following codes may be used preceded by a double slash ('//'):
with options C :
CH 6!n CHIPS Universal Identifier
CP 4!n CHIPS Participant Identifier
FW 9!n Fedwire Routing Number
SC 6!n UK Domestic Sort Code
|
Usage Rules and Validation Requirements |
Use :57A: when quoting the SWIFT address;
Use :57C: when quoting the local bank code.
|
Example: :57A:CITIAU2X
Tag 59a
Tag | :59a: |
SWIFT Field Name | Beneficiary Customer |
Description | The account details of the beneficiary that will receive the funds. |
Format |
Option A
[/34x] = Account
4!a2!a2!c[3!c] = BIC/BEI
No letter option
[/34x] = Account
|
Presence | Mandatory |
Specific Values |
|
Usage Rules and Validation Requirements |
CHIPS UID in US
- //CHnnnnnn where (6n) is the CHIPS UID
|
Example:
:59:/387456789001
BENEFICIARY NAME 123456789012345678
ADDRESS LINE ONE 123456789012345678
ADDRESS LINE TWO 123456789012345678
ADDRESS LINE THREE 1234567890123456
IBAN Number : The composition of a IBAN number can be verified on the APACS website using the IBAN checker.
Message Specification
You should ask your Bank or BACS Service Provider whether they require header and trailer text to be included in your transmission.
Header Record
Field Name | Length | Status | Value | Comments |
Record Type | 01x | M | “H” |
|
Customer ID | 11x | M |
| To be provided by HSBC during implementation |
Map Format | 08xn | M | “x1030020” |
|
Type | 03xn | M | Spaces |
|
File reference | 35xn | M |
| This is assigned by customer and need to be unique per file for file duplication checking. |
File creation date | 10xn | M |
|
Format : ccyy/mm/dd
This should not 5 days earlier than current date.
|
File creation time | 08xn | M |
| Format : hh:mm:ss |
Example:
HABC00010001x1030020 MT103TESTCASEFILE 2005/04/0401:53:00
Trailer Record
Field Name | Length | Status | Value | Comments |
End of message | 01x | M | “-” |
|
Record type | 01x | M | “Z” |
|
Customer ID | 11x | M |
| To be provided by HSBC during implementation |
Map format | 08xn | M | “x1030020” |
|
File reference | 35xn | M |
|
This is assigned by customer and need to be unique per file for file duplication checking.
This must match that of the header.
|
File creation date | 10xn | M |
|
Format : ccyy/mm/dd
This should not 5 days earlier than current date.
|
File creation time | 08xn | M |
| Format : hh:mm:ss |
Record count | 09n | M |
| Number of records in the file including header and trailer |
Example:
-ZABC00010001x1030020MT103TESTCASEFILE 2005/04/0401:53:00000000003
SWIFT Character Set
VALID Characters in SWIFT
Valid characters in SWIFT are:
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9
/ - ? : ( ) . ' +
'carriage return', 'line feed' and 'space'
INVALID Characters in SWIFT
Invalid characters in SWIFT are:
, (comma) | ! | " |
£ | $ | % |
^ | & | * |
_ (underscore) | = | [ |
] | { | } |
; | @ | ~ |
# | | | \ |
< | > |
|
Attention:
Though { } (curly brackets) are valid SWIFT characters, they cannot be used within text of user-to-user messages and are therefore included in the table above.
Though : (colon) and - (hyphen) are valid SWIFT characters, they are not allowed as the first character of any line within a field. If a colon or hyphen is found as the first character of any line within a field, it must be replaced by a space.
