Skip to main content

BACS Export File format - SWIFT MT103

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
4!a2!a2!c[3!c]= BIC

Option B

[/1!a][/34x] = Party Identifier

[35x] = Location

Option C:

/34x = Party Identifier

Option D:

[/1!a][/34x] = Party Identifier
4*35x = Name & Address

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
4*35x = Name & Address

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.

Did this answer your question?