Acme Citibank Brazil Payments
This describes validations / allowed data formats for Acme payments going
through Citibank Brazil (BIC: CITIBRBRXXX). These will be validated by Acme and further validated by
the bank. These rules may be stricter than what the bank requires.
Field paths below match batch payloads (payments[N].… per inlined payment).
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
-
Citi restrictions:
- For SWIFT character set: do not start a field with any of the following characters:
/,-,:
- For SWIFT character set: do not start a field with any of the following characters:
Supported payment types (Citi Brasil)
| Type | Description | Currency | Amount / notes |
|---|---|---|---|
BR_BOLETO | Boleto (bank slip) | BRL only | 1–99,999,999 (minor units) |
BR_UTILITY | Utility bill (barcode) | BRL only | 1–99,999,999 |
BR_TAX_BARCODE | Tax payment (receiver.barCode) | BRL only | 1–99,999,999 |
BR_DIPHASED | Diphased transfer | BRL only | 1–99,999,999 |
BR_PIX | PIX | BRL only | 1–99,999,999 |
BR_BOLETO
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| customerReference | Alphanumeric | 15 | M |
| paymentDetails | Optional; /PMD* / /LALx/ prefix rules if prefixed | 140 | O |
| receiver.barCode | Numeric, 44 - 47 digits | 47 | M |
| paymentAdviceEmails | Valid email, max 1 | 50 per email | O |
| receiver.name | SWIFT | 70 | M |
| receiver.taxId | Alphanumeric | 20 | M |
| receiver.branchId | Numeric | 8 | O |
| receiver.address.line1 | SWIFT | 35 | O |
| receiver.address.line2 | SWIFT | 35 | O |
| receiver.address.city | SWIFT | 35 | O |
| receiver.address.state | SWIFT | 35 | O |
| receiver.address.postalCode | SWIFT | 16 | O |
| receiver.address.country | ISO 3166-1 alpha-2 | 2 | O |
BR_UTILITY
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| customerReference | Alphanumeric | 15 | M |
| paymentDetails | Optional; /PMD* / /LALx/ prefix rules if prefixed | 140 | O |
| receiver.barCode | Numeric, 44 - 48 digits, starts with 8 | 48 | M |
| receiver.name | SWIFT | 70 | M |
| receiver.bank | Alphanumeric (BIC) | 11 | O |
| receiver.branchId | Numeric, 4 digits | 4 | O |
| receiver.address.line1 | SWIFT | 35 | O |
| receiver.address.line2 | SWIFT | 35 | O |
| receiver.address.city | SWIFT | 35 | O |
| receiver.address.state | SWIFT | 35 | O |
| receiver.address.postalCode | SWIFT | 16 | O |
| receiver.address.country | ISO 3166-1 alpha-2 | 2 | O |
BR_TAX_BARCODE
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| customerReference | Alphanumeric | 15 | M |
| taxDate | yyyy-MM-dd (optional) | 10 | O |
| paymentDetails | Optional remittance | 140 | O |
| receiver.barCode | Numeric | 50 | M |
| receiver.name | SWIFT | 70 | M |
| receiver.bank | Alphanumeric (BIC) | 11 | O |
| receiver.branchId | Numeric, 4 digits | 4 | O |
| receiver.address.line1 | SWIFT | 35 | O |
| receiver.address.line2 | SWIFT | 35 | O |
| receiver.address.city | SWIFT | 35 | O |
| receiver.address.state | SWIFT | 35 | O |
| receiver.address.postalCode | SWIFT | 16 | O |
| receiver.address.country | ISO 3166-1 alpha-2 | 2 | O |
BR_DIPHASED
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| customerReference | Alphanumeric | 15 | M |
| paymentDetails | Optional; /PMD* / /LALx/ prefix rules if prefixed | 140 | O |
| instructionForSenderBank | Forbidden (omit) | — | — |
| paymentAdviceEmails | Valid email, max 1 | 50 per email | O |
| receiver.name | SWIFT | 70 | M |
| receiver.bankAccountNumber | Numeric, 6–10 digits | 10 | M |
| receiver.localRoutingIdentifier | Numeric (bank code) | 8 | O |
| receiver.taxId | Alphanumeric | 20 | M |
| receiver.branchId | Numeric | 8 | M |
| receiver.address.line1 | SWIFT | 35 | M |
BR_PIX
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| customerReference | Alphanumeric | 32 | M |
| paymentDetails | Optional; /PMD* / /LALx/ prefix rules if prefixed | 140 | O |
| instructionForSenderBank | Forbidden (omit) | — | — |
| paymentAdviceEmails | Valid email, max 1 | 50 per email | O |
| receiver.name | SWIFT | 80 | M |
| receiver.bankAccountNumber | Alphanumeric | 34 | M |
| receiver.localRoutingIdentifier | Numeric (bank code) | 8 | M |
| receiver.taxId | Alphanumeric | 20 | M |
| receiver.branchId | Numeric | 8 | M |
| receiver.address.line1 | SWIFT | 35 | M |
Bank references
bankReference is AcctSvcrRef, else ClrSysRef, from Citi's status report on the payment. bankReferences lists every reference Citi sent, keyed by Citi's field name: AcctSvcrRef, ClrSysRef and StsId, as Citi sends them.
On your Citi statement: the line shows a different Citi reference. Find the payment by your customerReference.
What the names mean:
AcctSvcrRef: Citi's own reference for the transaction.ClrSysRef: the clearing system's reference.StsId: the id of Citi's status entry.
A rejected payment keeps the references from the report that rejected it.
A completed payment sent as a file returns:
{
"bankReference": "01720322200000001",
"bankReferences": {
"AcctSvcrRef": "01720322200000001"
}
}