Bank payment rules

Acme Standard Chartered Bank Singapore Payments (H2H)

This describes validations and allowed data formats for Acme payments going through Standard Chartered Bank (SCB) Singapore (SWIFT BIC: SCBLSG22XXX) over host-to-host (H2H) file integration. These rules are validated by Acme and further validated by the bank. These rules may be stricter than what the bank requires.

Supported types: FAST, GIRO, MEPS, SG_PAYROLL, BKTR, TT.

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
  • SCB Extended Character Set:

    • The 26 uppercase Latin letters A-Z
    • The 26 lowercase Latin letters a-z
    • The 10 digits 0-9
    • Space
    • The punctuation characters ! " # $ % & ' ( ) * + - . / : ; < = > ? @ [ ] ^ _ { }
    • Note that the comma , is not allowed in this character set.

ISO 20022 Migration

SCB address requirements

  • SCB is migrating to the ISO 20022 message standards. The address requirements below are part of this migration. Refer to ISO 20022 at Standard Chartered for an overview.
  • Under the SCB address guidelines, the beneficiary address.city (town name) and address.country become mandatory for all payment types, not only for MEPS and TT.
  • These address requirements become mandatory in November 2026.
  • Acme enforces address.city and address.country on every payment type, ahead of the bank's deadline. TT additionally requires address.line1 and address.postalCode; on the other types those two stay optional.

Payment Customer Reference

  • Use payments[N].customerReference as the unique identifier of your payments.
  • If customerReference is not provided, Acme generates a 13-character unique alphanumeric reference automatically.
  • The customerReference is sent to the bank as the end-to-end ID of the payment.

FAST

  • 4 characters purposeCode is mandatory for FAST payments. Refer to the list provided by The Association of Banks in Singapore (ABS).
  • The maximum amount for FAST payment is SGD 200,000 per transaction.
  • The payment currency must be SGD.
  • FAST payments are processed 24/7.
fieldpattern / charsetmax lengthmandatory/optional
payments[N].customerReferenceAlphanumeric16O
paymentDateYYYY-MM-DDM
payments[N].paymentDetailsSWIFT140O
payments[N].purposeCodeAlphanumeric4M
payments[N].bankChargeBearerSENDER, RECEIVER, or SHAREDO
payments[N].paymentAdviceEmails[N]Valid email address
Example: ["finance@company.com"]
150 per email (max 5 emails)O
payments[N].receiver.nameSWIFT70M
payments[N].receiver.bankBIC1111M
payments[N].receiver.bankAccountNumberAlphanumeric34M
payments[N].receiver.address.line1Free text70O
payments[N].receiver.address.line2Free text70O
payments[N].receiver.address.cityFree text35M (See ISO 20022 Requirements)
payments[N].receiver.address.postalCodeFree text16O
payments[N].receiver.address.countryISO 3166-1 alpha-22M (See ISO 20022 Requirements)

Example Request:

{
  "type": "FAST",
  "paymentDate": "2026-07-15",
  "senderAccountId": "intacc_0H3BQNTQGBW2W",
  "senderAccountCurrency": "SGD",
  "currency": "SGD",
  "payments": [
    {
      "amount": 10000,
      "customerReference": "INV001",
      "paymentDetails": "Payment for invoice 001",
      "purposeCode": "OTHR",
      "receiver": {
        "name": "Tan Ah Kow",
        "bank": "DBSSSGSGXXX",
        "bankAccountNumber": "9876543210",
        "address": {
          "city": "Singapore",
          "country": "SG"
        }
      }
    }
  ]
}

GIRO

  • 4 characters purposeCode is mandatory for GIRO payments. Refer to the list provided by The Association of Banks in Singapore (ABS).
  • The cut-off time for GIRO payments is 18:30 SGT. Files submitted by Acme to the bank after the cut-off are processed in the next processing window.
  • The payment currency must be SGD.
fieldpattern / charsetmax lengthmandatory/optional
payments[N].customerReferenceAlphanumeric16O
paymentDateYYYY-MM-DDM
payments[N].paymentDetailsSCB Extended140O
payments[N].purposeCodeAlphanumeric4M
payments[N].bankChargeBearerSENDER, RECEIVER, or SHAREDO
payments[N].paymentAdviceEmails[N]Valid email address
Example: ["finance@company.com"]
150 per email (max 5 emails)O
payments[N].receiver.nameSWIFT70M
payments[N].receiver.bankBIC1111M
payments[N].receiver.bankAccountNumberAlphanumeric34M
payments[N].receiver.address.line1Free text70O
payments[N].receiver.address.line2Free text70O
payments[N].receiver.address.cityFree text35M (See ISO 20022 Requirements)
payments[N].receiver.address.postalCodeFree text16O
payments[N].receiver.address.countryISO 3166-1 alpha-22M (See ISO 20022 Requirements)

Example Request:

{
  "type": "GIRO",
  "paymentDate": "2026-07-15",
  "senderAccountId": "intacc_0H3BQNTQGBW2W",
  "senderAccountCurrency": "SGD",
  "currency": "SGD",
  "payments": [
    {
      "amount": 10000,
      "customerReference": "INV002",
      "paymentDetails": "Payment for invoice 002",
      "purposeCode": "OTHR",
      "receiver": {
        "name": "Tan Ah Kow",
        "bank": "OCBCSGSGXXX",
        "bankAccountNumber": "9876543210",
        "address": {
          "city": "Singapore",
          "country": "SG"
        }
      }
    }
  ]
}

MEPS

  • The minimum amount is SGD 50,000 per payment.
  • purposeCode is optional for MEPS payments.
  • The payment currency must be SGD.
fieldpattern / charsetmax lengthmandatory/optional
payments[N].customerReferenceAlphanumeric16O
paymentDateYYYY-MM-DDM
payments[N].paymentDetailsSWIFT140O
payments[N].purposeCodeAlphanumeric4O
payments[N].bankChargeBearerSENDER, RECEIVER, or SHAREDO
payments[N].paymentAdviceEmails[N]Valid email address
Example: ["finance@company.com"]
150 per email (max 5 emails)O
payments[N].receiver.nameSWIFT70M
payments[N].receiver.bankBIC1111M
payments[N].receiver.bankAccountNumberAlphanumeric34M
payments[N].receiver.address.line1Free text70O
payments[N].receiver.address.line2Free text70O
payments[N].receiver.address.cityFree text35M (See ISO 20022 Requirements)
payments[N].receiver.address.postalCodeFree text16O
payments[N].receiver.address.countryISO 3166-1 alpha-22M (See ISO 20022 Requirements)

Example Request:

{
  "type": "MEPS",
  "paymentDate": "2026-07-15",
  "senderAccountId": "intacc_0H3BQNTQGBW2W",
  "senderAccountCurrency": "SGD",
  "currency": "SGD",
  "payments": [
    {
      "amount": 5000000,
      "customerReference": "INV003",
      "paymentDetails": "Payment for invoice 003",
      "receiver": {
        "name": "Tan Ah Kow",
        "bank": "UOVBSGSGXXX",
        "bankAccountNumber": "9876543210",
        "address": {
          "city": "Singapore",
          "country": "SG"
        }
      }
    }
  ]
}

SG_PAYROLL

  • purposeCode is mandatory for SG_PAYROLL payments.
  • Allowed values are SALA or SAL (Salary), BONU or BON (Bonus), and OTHR or OTH (Other).
  • The cut-off time for PAYROLL payments is 18:30 SGT. Files submitted by Acme to the bank after the cut-off are processed in the next processing window.
  • The payment currency must be SGD.
fieldpattern / charsetmax lengthmandatory/optional
payments[N].customerReferenceAlphanumeric16O
paymentDateYYYY-MM-DDM
payments[N].paymentDetailsSCB Extended140O
payments[N].purposeCodeSALA or SAL or BONU or BON or OTHR or OTH4M
payments[N].bankChargeBearerSENDER, RECEIVER, or SHAREDO
payments[N].paymentAdviceEmails[N]Valid email address
Example: ["finance@company.com"]
150 per email (max 5 emails)O
payments[N].receiver.nameSWIFT70M
payments[N].receiver.bankBIC1111M
payments[N].receiver.bankAccountNumberAlphanumeric34M
payments[N].receiver.address.line1Free text70O
payments[N].receiver.address.line2Free text70O
payments[N].receiver.address.cityFree text35M (See ISO 20022 Requirements)
payments[N].receiver.address.postalCodeFree text16O
payments[N].receiver.address.countryISO 3166-1 alpha-22M (See ISO 20022 Requirements)

Example Request:

{
  "type": "SG_PAYROLL",
  "paymentDate": "2026-07-15",
  "senderAccountId": "intacc_0H3BQNTQGBW2W",
  "senderAccountCurrency": "SGD",
  "currency": "SGD",
  "payments": [
    {
      "amount": 350000,
      "customerReference": "PAYROLL07",
      "paymentDetails": "July salary",
      "purposeCode": "SALA",
      "receiver": {
        "name": "Tan Ah Kow",
        "bank": "DBSSSGSGXXX",
        "bankAccountNumber": "9876543210",
        "address": {
          "city": "Singapore",
          "country": "SG"
        }
      }
    }
  ]
}

BKTR

Book transfers move funds between accounts within SCB Singapore (SCBLSG22XXX).

  • receiver.bank is required for H2H book transfers. Use SCB Singapore's BIC SCBLSG22XXX.
  • receiver.name accepts the SCB Extended Character Set.
  • purposeCode is optional for book transfers.
fieldpattern / charsetmax lengthmandatory/optional
payments[N].customerReferenceAlphanumeric16O
paymentDateYYYY-MM-DDM
payments[N].paymentDetailsSWIFT140O
payments[N].purposeCodeAlphanumeric4O
payments[N].bankChargeBearerSENDER, RECEIVER, or SHAREDO
payments[N].paymentAdviceEmails[N]Valid email address
Example: ["finance@company.com"]
150 per email (max 5 emails)O
payments[N].receiver.nameSCB Extended70M
payments[N].receiver.bankBIC1111M
payments[N].receiver.bankAccountNumberAlphanumeric34M
payments[N].receiver.address.line1Free text70O
payments[N].receiver.address.line2Free text70O
payments[N].receiver.address.cityFree text35M (See ISO 20022 Requirements)
payments[N].receiver.address.postalCodeFree text16O
payments[N].receiver.address.countryISO 3166-1 alpha-22M (See ISO 20022 Requirements)

Example Request:

{
  "type": "BKTR",
  "paymentDate": "2026-07-15",
  "senderAccountId": "intacc_0H3BQNTQGBW2W",
  "senderAccountCurrency": "SGD",
  "currency": "SGD",
  "payments": [
    {
      "amount": 10000,
      "customerReference": "INV004",
      "paymentDetails": "Internal fund transfer",
      "receiver": {
        "name": "Tan Ah Kow",
        "bank": "SCBLSG22XXX",
        "bankAccountNumber": "9876543210",
        "address": {
          "city": "Singapore",
          "country": "SG"
        }
      }
    }
  ]
}

TT

  • paymentDetails is mandatory for TT payments.
  • The beneficiary address is mandatory for TT payments. You must provide line1, city, postalCode, and country.
  • TT payments accept any valid ISO 4217 currency.
fieldpattern / charsetmax lengthmandatory/optional
payments[N].customerReferenceAlphanumeric16O
paymentDateYYYY-MM-DDM
payments[N].paymentDetailsSWIFT140M
payments[N].purposeCodeAlphanumeric4O
payments[N].bankChargeBearerSENDER, RECEIVER, or SHAREDO
payments[N].paymentAdviceEmails[N]Valid email address
Example: ["finance@company.com"]
150 per email (max 5 emails)O
payments[N].receiver.nameSWIFT140M
payments[N].receiver.bankBIC1111M
payments[N].receiver.bankAccountNumberAlphanumeric34M
payments[N].receiver.address.line1Free text70M
payments[N].receiver.address.line2Free text70O
payments[N].receiver.address.cityFree text35M
payments[N].receiver.address.postalCodeFree text16M
payments[N].receiver.address.countryISO 3166-1 alpha-22M

Example Request:

{
  "type": "TT",
  "paymentDate": "2026-07-15",
  "senderAccountId": "intacc_0H3BQNTQGBW2W",
  "senderAccountCurrency": "SGD",
  "currency": "USD",
  "payments": [
    {
      "amount": 250000,
      "customerReference": "INV005",
      "paymentDetails": "Payment for invoice 005",
      "receiver": {
        "name": "John Smith",
        "bank": "CHASUS33XXX",
        "bankAccountNumber": "123456789",
        "address": {
          "line1": "270 Park Avenue",
          "city": "New York",
          "postalCode": "10017",
          "country": "US"
        }
      }
    }
  ]
}

Payment Response

Payment status definitions:

StatusDescription
PROCESSINGStatus upon creation.
SUBMITTEDPayment file uploaded to SCB. Awaiting acknowledgment and final confirmation.
COMPLETEDPayment confirmed successful by the bank.
FAILEDPayment rejected by the bank. Check underlyingErrorMessage for details.

On this page