Skip to main content

Acme HSBC Bank Singapore Payments

This describes validations / allowed data formats for Acme payments going through HSBC Bank Singapore. These will be validated by Acme and further validated by the bank. These rules may be stricter than what the bank requires.

Common Definitions

  • SWIFT Character Set:

    • The 26 uppercase Latin letters A-Z
    • The 26 lowercase Latin letters a-z
    • The 10 digits 0-9
    • Forward slash /
    • Hyphen -
    • Question mark ?
    • Colon :
    • Left and right parentheses ( )
    • Full stop .
    • Comma ,
    • Single quote '
    • Plus sign +
    • Space
  • BIC11:

    • 11-character Bank Identifier Code

General notes

  • The receiver.address.country must be an uppercase 2-letter ISO 3166 country code (e.g. SG for Singapore).
  • The format for BIC (used in receiver.bank) is strictly validated using [A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3})? (as specified in ISO20022 BICFIIdentifier).

GIRO

Important
  • The paymentSetCode for GIRO payments is a 3 character optional code configured on HSBCnet to group payment instructions under a specific access or entitlement group. Use this field to restrict payroll transaction access on HSBCnet. The value must match an existing payment set code configured in HSBCnet, please contact the bank for the appropriate code(s) to set.
fieldpattern / charsetmax lengthmandatory/optional
paymentSetCodeSWIFT
Example: E01
3O
payments[N].customerReferenceSWIFT12M
payments[N].paymentDetailsSWIFT140O
payments[N].bankChargeBearerSENDER or RECEIVER or SHARED
Default to SENDER if not provided.
O
payments[N].receiver.nameSWIFT140M
payments[N].receiver.bankBIC1111M
payments[N].receiver.bankAccountNumberAlphanumeric34M
payments[N].receiver.address.line1SWIFT35O
payments[N].receiver.address.line2SWIFT35O
payments[N].receiver.address.citySWIFT35O
payments[N].receiver.address.stateSWIFT35O
payments[N].receiver.address.postalCodeSWIFT16O
payments[N].receiver.address.countrySWIFT2O

FAST

fieldpattern / charsetmax lengthmandatory/optional
payments[N].customerReferenceSWIFT16M
payments[N].paymentDetailsSWIFT140O
payments[N].receiver.nameSWIFT140M
payments[N].receiver.bankBIC1111M
payments[N].receiver.bankAccountNumberAlphanumeric34M
payments[N].receiver.address.line1SWIFT35O
payments[N].receiver.address.line2SWIFT35O
payments[N].receiver.address.citySWIFT35O
payments[N].receiver.address.stateSWIFT35O
payments[N].receiver.address.postalCodeSWIFT16O
payments[N].receiver.address.countrySWIFT2O

PAYNOW

fieldpattern / charsetmax lengthmandatory/optional
payments[N].customerReferenceSWIFT16M
payments[N].paymentDetailsSWIFT140O
payments[N].receiver.proxyTypeNRIC or MOBILE or UEN or VPAM
payments[N].receiver.proxyValue
for NRIC or FIN
9 uppercase alphanumeric characters9M
payments[N].receiver.proxyValue
for MOBILE
+ followed by 7 to 15 digits
Example: +6588880000
16M
payments[N].receiver.proxyValue
for UEN
9 to 13 alphanumeric characters13M
payments[N].receiver.proxyValue
for VPA
Mobile followed by # and 4 alphanumeric characters
Example: +6588880000#Grab
or
UEN followed by UEN followed by # and 4 alphanumeric characters
Example: +UEN1234567#Grab
21M
payments[N].receiver.address.line1SWIFT35O
payments[N].receiver.address.line2SWIFT35O
payments[N].receiver.address.citySWIFT35O
payments[N].receiver.address.stateSWIFT35O
payments[N].receiver.address.postalCodeSWIFT16O
payments[N].receiver.address.countrySWIFT2O

MEPS

fieldpattern / charsetmax lengthmandatory/optional
payments[N].customerReferenceSWIFT16M
payments[N].paymentDetailsSWIFT140O
payments[N].bankChargeBearerSENDER or RECEIVER or SHARED
Default to SHARED if not provided.
O
payments[N].receiver.nameSWIFT35M
payments[N].receiver.bankBIC1111M
payments[N].receiver.bankAccountNumberAlphanumeric34M
payments[N].receiver.address.line1SWIFT35O
payments[N].receiver.address.line2SWIFT35O
payments[N].receiver.address.citySWIFT35O
payments[N].receiver.address.stateSWIFT35O
payments[N].receiver.address.postalCodeSWIFT16O
payments[N].receiver.address.countrySWIFT2O

TT

Important
  • The paymentDetails is conditionally mandatory for TT to specific countries in Asia including Bangladesh, India, Malaysia, Mauritius, the Philippines, Sri Lanka, Vietnam and Indonesia.
  • Specify the purpose of payments (PoP) according to the local regulatory guidelines for each country. Please contact the bank for the latest Asia Purpose of Payment Formatting Guide.
  • Note: As part of the requirements, for TT payments to Malaysia, please append the prefix "REMI/" before populating the purpose of payment. Example: "REMI/Manufactured Goods"
fieldpattern / charsetmax lengthmandatory/optional
payments[N].customerReferenceSWIFT16M
payments[N].paymentDetailsSWIFT
Example: Manufactured Goods
140CM
payments[N].bankChargeBearerSENDER or RECEIVER or SHARED
Default to SHARED if not provided.
O
payments[N].receiver.nameSWIFT35M
payments[N].receiver.bankBIC1111M
payments[N].receiver.intermediaryBankBIC1111O
payments[N].receiver.bankAccountNumberAlphanumeric34M
payments[N].receiver.address.line1SWIFT35O
payments[N].receiver.address.line2SWIFT35O
payments[N].receiver.address.citySWIFT35O
payments[N].receiver.address.stateSWIFT35O
payments[N].receiver.address.postalCodeSWIFT16O
payments[N].receiver.address.countrySWIFT2O