Account icon

Account statements

Automate reconciliation and provide your users with transaction reports.

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:
  • Bank_Download ReportsRole
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
Required
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
Required
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:

  1. Adyen sends a balancePlatform.report.created webhook message to your configured endpoint in the Customer Area. The webhook includes the balanceAccount, fileName, and downloadUrl fields.
  1. Use the download URL to retrieve the statement file with a GET request.

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
                └─ TxDtls
BankToCustomerStatement
    ├─ GroupHeader
    └─ Statement
        ├─ Account
        ├─ Balance
        └─ Entry
            └─ EntryDetails
                └─ TransactionDetails

Each block is described below.

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.

Each represents one account and one currency. A file can contain multiple statements.

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

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.

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:
  • OPBD – Opening booked balance
  • OPAV – Opening available balance
  • CLBD – Closing booked balance
  • CLAV – Closing available balance
<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.

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.

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.

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:

  1. Domain: The broad functional area. On Adyen's balance platform, this is always PMNT (Payments).
  2. Family: The category of transaction, for example, RCDT for Received Credit/Inbound.
  3. 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

See also