Adyen provides account statements in the industry-standard CAMT.053 format, which is part of the ISO 20022 financial messaging standard. CAMT.053 uses structured codes to classify the type and status of each transaction. This ensures consistency and interoperability across financial institutions.
Account statements summarize the financial activity in a business account for a specific period, such as a day or a month. You can use these auditable statements to reconcile balances and provide detailed transaction reports to your users.
Requirements
Before you begin, take into account the following requirements and preparations.
| Requirement | Description |
|---|---|
| Integration type | You must have an Adyen business accounts integration. |
| API credentials | Generate an API key for Report user for the balance platform. Your API credential must have the following role:
|
| Webhooks | Your server must be able to receive and accept webhooks. You must subscribe to the balancePlatform.report.created webhook. |
| Setup steps | Reach out to your Adyen contact to:
|
Account statement settings
When you contact Adyen to enable the feature, you can customize the following statement configurations:
| Feature | Required | Description | Options |
|---|---|---|---|
| Timeframe | Sets the reporting frequency. | Daily, monthly, or both | |
| BAI codes | Enables Bank Administration Institute codes for standardized transaction classification. | Enabled or disabled | |
| Summary | Includes a transaction summary block for an overview of totals. | Included or excluded | |
| Date format | Defines which date is used for transactions in the statement. | Value date or booking date |
Download an account statement
Adyen automatically generates account statements. When a statement is ready:
- Adyen sends a balancePlatform.report.created webhook message to your configured endpoint in the Customer Area. The webhook includes the
balanceAccount,fileName, anddownloadUrlfields.
- Use the download URL to retrieve the statement file with a
GETrequest.
Account statement elements
Adyen provides account statements in ISO 20022 CAMT.053 format. Each CAMT.053 statement follows a fixed XML hierarchy. This section explains the key blocks and their corresponding XML tags. The CAMT.053 statement has the following high-level structure:
BkToCstmrStmt
├─ GrpHdr
└─ Stmt
├─ Acct
├─ Bal
└─ Ntry
└─ NtryDtls
└─ TxDtlsBankToCustomerStatement
├─ GroupHeader
└─ Statement
├─ Account
├─ Balance
└─ Entry
└─ EntryDetails
└─ TransactionDetailsEach block is described below.
1. Group header block (GrpHdr)
Metadata for the entire statement message. Includes general information about the statement and its intended recipient.
| Tag | Element name | Description |
|---|---|---|
<GrpHdr> |
Group Header | Container for metadata regarding the statement message and recipient. |
<MsgId> |
Message Identification | Adyen-generated unique ID of the statement message. |
<CreDtTm> |
Creation Date Time | The date and time the statement was generated. |
<MsgRcpt> |
Message Recipient | Contains information regarding the legal entity of the balance platform owner. |
<Nm> |
Name | The name of the legal entity receiving the statement. |
<PstlAdr> |
Postal Address | The mailing address of the message recipient. |
<PstCd> |
Post Code | The postal code of the recipient. |
<TwnNm> |
Town Name | The city or town of the recipient. |
<CtrySubDvsn> |
Country Sub Division | The state, province, or region of the recipient. |
<Ctry> |
Country | The ISO country code of the recipient. |
<AdrLine> |
Address Line | Up to 7 lines of additional address information. |
<MsgPgntn> |
Message Pagination | Used if the statement is split across multiple files. |
<PgNb> |
Page Number | The current page number of the message. |
<LastPgInd> |
Last Page Indicator | Indicates whether this is the final page of the statement. |
<AddtlInf> |
Additional Information | General additional information regarding the message. |
2. Statement block (Stmt)
Each
| Tag | Element name | Description |
|---|---|---|
<Stmt> |
Statement | Main container for a specific account statement |
<Id> |
Identification | Unique identifier for the statement |
<CreDtTm> |
Creation Date Time | The date and time this statement block was created |
<FrToDt> |
From To Date | Container for the reporting period of the statement |
<FrDtTm> |
From Date Time | The start date and time of the reporting period |
<ToDtTm> |
To Date Time | The end date and time of the reporting period |
<CpyDplctInd> |
Copy Duplicate Indicator | Indicates whether the statement is a copy or duplicate |
<RptgSrc> |
Reporting Source | Identifies the reporting source |
<AddtlStmtInf> |
Additional Statement Information | Additional details about the statement |
3. Account details (Stmt/Acct)
Identifies the account the statement applies to. The <Acct> element contains details about the business account for which the statement was generated.
| Tag | Element name | Description |
|---|---|---|
<Acct> |
Account | Container for account details. |
<Id> |
Identification | Unique identifier for the account. |
<IBAN> |
IBAN | Adyen-issued IBAN, used if the account is a SEPA bank account. |
<Othr> |
Other | Container for non-IBAN identifiers. |
<Othr><Id> |
Identification | Account number for US or UK bank accounts, or the Adyen business account ID for generic accounts. |
<Ccy> |
Currency | The three-letter ISO currency code of the account. |
4. Balances (Bal)
Reports balances at specific points in time. Multiple <Bal> elements can appear within an account statement. Depending on the configuration, either booked balances (OPBD, CLBD) or value balances (OPAV, CLAV) are reported.
The statement reports balances as either booked or available:
- Booked balances show transactions that have been fully processed and recorded on the account.
- Available balances show the funds you can use, after taking into account pending debits or credits.
| Tag | Element name | Description |
|---|---|---|
<Bal> |
Balance | Container for opening and closing balance data. |
<Tp> |
Type | Container for the balance type. |
<CdOrPrtry> |
Code Or Proprietary | Indicates whether a standard ISO code or a proprietary code is used. |
<Cd> |
Code | Balance type code. Common values include:
|
<Amt> |
Amount | The balance amount, including the currency as an attribute, for example, Ccy="EUR". |
<CdtDbtInd> |
Credit Debit Indicator | Indicates whether the balance is credit (CRDT) or debit (DBIT). |
<Dt> |
Date | Container for the balance timestamp. |
<DtTm> |
Date Time | The date and time the balance was recorded. |
<Avlbty> |
Availability | Information about the availability of the balance. |
5. Entries (Stmt/Ntry)
Each <Ntry> represents a booked debit or credit that affects the account balance. Multiple entries can appear in a statement.
| Tag | Element name | Description |
|---|---|---|
<Ntry> |
Entry | Container for a single transaction booked on the account. |
<NtryRef> |
Entry Reference | Adyen-generated unique identifier for the transaction. |
<Amt> |
Amount | The transaction amount, including the currency as an attribute (for example, Ccy="EUR"). |
<CdtDbtInd> |
Credit Debit Indicator | Indicates whether the entry is credit (CRDT) or debit (DBIT). |
<Sts> |
Status | The status of the entry, typically BOOK (Booked). |
<BookgDt> |
Booking Date | Container for the date the transaction was booked. |
<DtTm> (under <BookgDt>) |
Date Time | The date and time the transaction was booked. |
<ValDt> |
Value Date | Container for the date the funds become available or are debited. |
<DtTm> (under <ValDt>) |
Date Time | The date and time of the value date. |
<AcctSvcrRef> |
Account Servicer Reference | Adyen-generated identifier for the transaction. |
<BkTxCd> |
Bank Transaction Code | Structured classification (domain, family, sub-family) for the transaction. |
<Domn> |
Domain | The broad business area, such as PMNT (Payments). |
<Fmly> |
Family | Defines the transaction type within a domain, such as ICDT (Issued Credit Transfer). |
<SubFmlyCd> |
Sub Family Code | Granular classification, such as BOOK (Internal book transfer). |
<NtryDtls> |
Entry Details | Container for detailed transaction information. |
6. Transaction details (Stmt/Ntry/NtryDtls/TxDtls)
The <TxDtls> element contains information about a transfer associated with the transaction, including:
- Your transfer reference.
- The Adyen-generated transfer ID.
These identifiers help you reconcile activity on the business account.
| Tag | Element name | Description |
|---|---|---|
<TxDtls> |
Transaction Details | Container for detailed information about the transfer related to the transaction. |
<Refs> |
References | Container for identifiers associated with the transfer. |
<AcctSvcrRef> |
Account Servicer Reference | Adyen-generated identifier for the transfer (corresponds to the id field in the API). |
<InstrId> |
Instruction Identification | Your reference for the transfer. |
<EndToEndId> |
End To End Identification | Reference intended for the beneficiary. |
<TxId> |
Transaction Identification | Adyen-generated internal reference used for tracing and debugging. |
<RmtInf> |
Remittance Information | Container for remittance-related data. |
<Ustrd> |
Unstructured | Description, memo, or remittance information for the transfer. |
7. Transaction summary (Stmt/TxsSummry)
Provides aggregated totals for the reporting period. The <TtlNtries> element summarizes entries by Bank Transaction Code (ISO 20022), showing:
- The number of entries.
- The total amount (
<Sum>) per code.
Each Bank Transaction Code can also be mapped to a corresponding BAI2 code.
| Tag | Element name | Description |
|---|---|---|
<TxsSummry> |
Transaction summary | Container for transaction totals. |
<TtlNtries> |
Total entries | Total number and amount of entries. |
<TtlCdtNtries> |
Total credit entries | Total number and amount of credit entries. |
<TtlDbtNtries> |
Total debit entries | Total number and amount of debit entries. |
<TtlNtriesPerBkTxCd> |
Total entries per bank transaction code | Totals grouped by bank transaction code. |
<NbOfNtries> |
Number of entries | Number of entries. |
<Sum> |
Sum | Total gross amount. |
<TtlNetNtryAmt> |
Net total entry amount | Net total amount. |
<CdtDbtInd> |
Credit/debit indicator | Indicates whether totals represent credits or debits. |
<BkTxCd> |
Bank transaction code | Structured transaction classification (domain, family, and sub-family) defined by ISO 20022. |
Example account statement
The following example shows a CAMT.053 account statement file. It includes the group header, account details, an opening booked balance (OPBD), and an entry with its corresponding transaction details.
ISO 20022 component reference
In a CAMT.053 account statement, each transaction entry includes a Bank Transaction Code (<BkTxCd>) element. This element classifies the transaction using the ISO 20022 Bank Transaction Code structure. This structure helps you identify the type and direction of the transaction.
ISO 20022 uses a three-tier classification system to define Bank Transaction Codes. This hierarchy moves from broad business areas to granular transaction details:
- Domain: The broad functional area. On Adyen's balance platform, this is always PMNT (Payments).
- Family: The category of transaction, for example, RCDT for Received Credit/Inbound.
- SubFamily: The specific outcome or method, for example, ACDT for Account Deposit.
The following table explains the codes:
| Category | Code | Transfer name | Direction | Transfer outcome | Used for |
|---|---|---|---|---|---|
| Domain | PMNT | Payment | N/A | N/A | All payment-related transaction types |
| Family | RRCT | Received Real-Time | Inbound | N/A | Instant or real-time inbound transfers |
| RCDT | Received Credit | Inbound | N/A | Inbound ACH, wire, same-day, cross-border, and internal transfers | |
| IRCT | Initiated Real-Time | Outbound | N/A | Instant or real-time outbound transfers | |
| ICDT | Initiated Credit | Outbound | N/A | Outbound ACH, wire, same-day, cross-border, and internal transfers | |
| Sub-family | ACDT | Account Deposit | N/A | Success | Standard deposits, such as instant or ACH |
| SDVA | Same-Day Value | N/A | Success | Fast or same-day transfers | |
| PRCT | Priority Credit | N/A | Success | Urgent or wire transfers | |
| XBCT | Cross-border Credit | N/A | Success | Transfers via correspondent banks | |
| BOOK | Booked Transfer | N/A | Success | Internal (book) transfers | |
| OTHR | Other | N/A | Success | General or uncategorised transfers | |
| Any | RRTN | Return | N/A | Reversal | Returns, reversals, or rejections |
BAI codes (optional)
BAI codes are a set of classification codes defined by the Bank Administration Institute. They are widely used in the BAI2 file format and are common across banking systems for categorizing transactions. When enabled, BAI codes are included in the CAMT.053 statement to provide additional transaction classification alongside ISO 20022 codes. This mapping focuses on the series used for active payment and transfer methods:
- 100 to 200 series: Successful inbound deposits and credit returns.
- 400 to 500 series: Successful outbound disbursements and debit reversals.
Credits (inbound)
Transactions where funds are deposited into the business account.
All returned credit transactions use the same ISO 20022 return code (RRTN) per transfer family.
| Transfer type | ISO 20022 (Booked) | ISO 20022 (Returned) | BAI2 (Booked) | BAI2 (Returned) |
|---|---|---|---|---|
| Instant or real-time | PMNT/RRCT/ACDT | PMNT/RRCT/RRTN | 158 | 496 |
| ACH | PMNT/RCDT/ACDT | PMNT/RCDT/RRTN | 165 | 557 |
| Fast or same-day | PMNT/RCDT/SDVA | PMNT/RCDT/RRTN | 165 | 557 |
| Urgent or wire | PMNT/RCDT/PRCT | PMNT/RCDT/RRTN | 195 | 496 |
| Cross-border | PMNT/RCDT/XBCT | PMNT/RCDT/RRTN | 208 | 496 |
| Internal or book | PMNT/RCDT/BOOK | PMNT/RCDT/RRTN | 206 | 496 |
| Other | PMNT/RCDT/OTHR | PMNT/RCDT/RRTN | 195 | 496 |
Debits (outbound)
Transactions where funds are sent or withdrawn from the business account.
All returned debit transactions use the same ISO 20022 return code (RRTN) per transfer family.
| Transfer type | ISO 20022 (Booked) | ISO 20022 (Returned) | BAI2 (Booked) | BAI2 (Returned) |
|---|---|---|---|---|
| Instant or real-time | PMNT/IRCT/ACDT | PMNT/IRCT/RRTN | 458 | 196 |
| Regular or ACH | PMNT/ICDT/ACDT | PMNT/ICDT/RRTN | 466 | 168 |
| Fast or same-day | PMNT/ICDT/SDVA | PMNT/ICDT/RRTN | 466 | 168 |
| Urgent or wire | PMNT/ICDT/PRCT | PMNT/ICDT/RRTN | 495 | 196 |
| Cross-border | PMNT/ICDT/XBCT | PMNT/ICDT/RRTN | 508 | 196 |
| Internal or book | PMNT/ICDT/BOOK | PMNT/ICDT/RRTN | 506 | 196 |
| General or other | PMNT/ICDT/OTHR | PMNT/ICDT/RRTN | 495 | 266 |