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
- The 26 uppercase Latin letters
-
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.
- The 26 uppercase Latin letters
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) andaddress.countrybecome mandatory for all payment types, not only forMEPSandTT. - These address requirements become mandatory in November 2026.
- Acme currently enforces the full receiver address only for
TTpayments but we recommend providingaddress.cityandaddress.countryfor all payment types to future-proof your payment instructions.
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
info
- 4 characters
purposeCodeis mandatory forFASTpayments. 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
currencymust be SGD. - FAST payments are processed 24/7.
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| payments[N].customerReference | Alphanumeric | 16 | O |
| paymentDate | YYYY-MM-DD | M | |
| payments[N].paymentDetails | SWIFT | 140 | O |
| payments[N].purposeCode | Alphanumeric | 4 | M |
| payments[N].bankChargeBearer | SENDER, RECEIVER, or SHARED | O | |
| payments[N].paymentAdviceEmails[N] | Valid email address Example: ["finance@company.com"] | 150 per email (max 5 emails) | O |
| payments[N].receiver.name | SWIFT | 70 | M |
| payments[N].receiver.bank | BIC11 | 11 | M |
| payments[N].receiver.bankAccountNumber | Alphanumeric | 34 | M |
| payments[N].receiver.address.line1 | Free text | 70 | O |
| payments[N].receiver.address.line2 | Free text | 70 | O |
| payments[N].receiver.address.city | Free text | 35 | O (See ISO 20022 Requirements) |
| payments[N].receiver.address.postalCode | Free text | 16 | O |
| payments[N].receiver.address.country | ISO 3166-1 alpha-2 | 2 | O (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
info
- 4 characters
purposeCodeis mandatory forGIROpayments. 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
currencymust be SGD.
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| payments[N].customerReference | Alphanumeric | 16 | O |
| paymentDate | YYYY-MM-DD | M | |
| payments[N].paymentDetails | SCB Extended | 140 | O |
| payments[N].purposeCode | Alphanumeric | 4 | M |
| payments[N].bankChargeBearer | SENDER, RECEIVER, or SHARED | O | |
| payments[N].paymentAdviceEmails[N] | Valid email address Example: ["finance@company.com"] | 150 per email (max 5 emails) | O |
| payments[N].receiver.name | SWIFT | 70 | M |
| payments[N].receiver.bank | BIC11 | 11 | M |
| payments[N].receiver.bankAccountNumber | Alphanumeric | 34 | M |
| payments[N].receiver.address.line1 | Free text | 70 | O |
| payments[N].receiver.address.line2 | Free text | 70 | O |
| payments[N].receiver.address.city | Free text | 35 | O (See ISO 20022 Requirements) |
| payments[N].receiver.address.postalCode | Free text | 16 | O |
| payments[N].receiver.address.country | ISO 3166-1 alpha-2 | 2 | O (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
info
- The minimum amount is SGD 50,000 per payment.
purposeCodeis optional forMEPSpayments.- The payment
currencymust be SGD.
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| payments[N].customerReference | Alphanumeric | 16 | O |
| paymentDate | YYYY-MM-DD | M | |
| payments[N].paymentDetails | SWIFT | 140 | O |
| payments[N].purposeCode | Alphanumeric | 4 | O |
| payments[N].bankChargeBearer | SENDER, RECEIVER, or SHARED | O | |
| payments[N].paymentAdviceEmails[N] | Valid email address Example: ["finance@company.com"] | 150 per email (max 5 emails) | O |
| payments[N].receiver.name | SWIFT | 70 | M |
| payments[N].receiver.bank | BIC11 | 11 | M |
| payments[N].receiver.bankAccountNumber | Alphanumeric | 34 | M |
| payments[N].receiver.address.line1 | Free text | 70 | O |
| payments[N].receiver.address.line2 | Free text | 70 | O |
| payments[N].receiver.address.city | Free text | 35 | O (See ISO 20022 Requirements) |
| payments[N].receiver.address.postalCode | Free text | 16 | O |
| payments[N].receiver.address.country | ISO 3166-1 alpha-2 | 2 | O (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
info
purposeCodeis mandatory forSG_PAYROLLpayments.- Allowed values are
SALAorSAL(Salary),BONUorBON(Bonus), andOTHRorOTH(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
currencymust be SGD.
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| payments[N].customerReference | Alphanumeric | 16 | O |
| paymentDate | YYYY-MM-DD | M | |
| payments[N].paymentDetails | SCB Extended | 140 | O |
| payments[N].purposeCode | SALA or SAL or BONU or BON or OTHR or OTH | 4 | M |
| payments[N].bankChargeBearer | SENDER, RECEIVER, or SHARED | O | |
| payments[N].paymentAdviceEmails[N] | Valid email address Example: ["finance@company.com"] | 150 per email (max 5 emails) | O |
| payments[N].receiver.name | SWIFT | 70 | M |
| payments[N].receiver.bank | BIC11 | 11 | M |
| payments[N].receiver.bankAccountNumber | Alphanumeric | 34 | M |
| payments[N].receiver.address.line1 | Free text | 70 | O |
| payments[N].receiver.address.line2 | Free text | 70 | O |
| payments[N].receiver.address.city | Free text | 35 | O (See ISO 20022 Requirements) |
| payments[N].receiver.address.postalCode | Free text | 16 | O |
| payments[N].receiver.address.country | ISO 3166-1 alpha-2 | 2 | O (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).
info
receiver.bankis required for H2H book transfers. Use SCB Singapore's BICSCBLSG22XXX.receiver.nameaccepts the SCB Extended Character Set.purposeCodeis optional for book transfers.
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| payments[N].customerReference | Alphanumeric | 16 | O |
| paymentDate | YYYY-MM-DD | M | |
| payments[N].paymentDetails | SWIFT | 140 | O |
| payments[N].purposeCode | Alphanumeric | 4 | O |
| payments[N].bankChargeBearer | SENDER, RECEIVER, or SHARED | O | |
| payments[N].paymentAdviceEmails[N] | Valid email address Example: ["finance@company.com"] | 150 per email (max 5 emails) | O |
| payments[N].receiver.name | SCB Extended | 70 | M |
| payments[N].receiver.bank | BIC11 | 11 | M |
| payments[N].receiver.bankAccountNumber | Alphanumeric | 34 | M |
| payments[N].receiver.address.line1 | Free text | 70 | O |
| payments[N].receiver.address.line2 | Free text | 70 | O |
| payments[N].receiver.address.city | Free text | 35 | O (See ISO 20022 Requirements) |
| payments[N].receiver.address.postalCode | Free text | 16 | O |
| payments[N].receiver.address.country | ISO 3166-1 alpha-2 | 2 | O (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
info
paymentDetailsis mandatory forTTpayments.- The beneficiary address is mandatory for
TTpayments. You must provideline1,city,postalCode, andcountry. TTpayments accept any valid ISO 4217 currency.
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| payments[N].customerReference | Alphanumeric | 16 | O |
| paymentDate | YYYY-MM-DD | M | |
| payments[N].paymentDetails | SWIFT | 140 | M |
| payments[N].purposeCode | Alphanumeric | 4 | O |
| payments[N].bankChargeBearer | SENDER, RECEIVER, or SHARED | O | |
| payments[N].paymentAdviceEmails[N] | Valid email address Example: ["finance@company.com"] | 150 per email (max 5 emails) | O |
| payments[N].receiver.name | SWIFT | 140 | M |
| payments[N].receiver.bank | BIC11 | 11 | M |
| payments[N].receiver.bankAccountNumber | Alphanumeric | 34 | M |
| payments[N].receiver.address.line1 | Free text | 70 | M |
| payments[N].receiver.address.line2 | Free text | 70 | O |
| payments[N].receiver.address.city | Free text | 35 | M |
| payments[N].receiver.address.postalCode | Free text | 16 | M |
| payments[N].receiver.address.country | ISO 3166-1 alpha-2 | 2 | M |
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:
| Status | Description |
|---|---|
PROCESSING | Status upon creation. |
SUBMITTED | Payment file uploaded to SCB. Awaiting acknowledgment and final confirmation. |
COMPLETED | Payment confirmed successful by the bank. |
FAILED | Payment rejected by the bank. Check underlyingErrorMessage for details. |