Account icon

Account statements for business accounts

Automate reconciliation and provide your users with transaction reports.

View source

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. If your balance account is linked to an Adyen-issued card, transactions processed with that card also appear in the statement.

Requirements

Before you begin, take into account the following requirements and preparations.

Requirement Description
Integration type You must have an Adyen for Platforms integration that supports business accounts.
API credentials Generate an API key for Report user for the balance platform. Your API credential must have the following role:
  • Merchant Report Download
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 (BAI) codes for standardized transaction classification. Enabled or disabled
Summary Includes a transaction summary block for an overview of totals, grouped by bank transaction code. Included by default
Date format
Required
Defines which date is used for transactions in the statement. Value date or booking date
Summarized file Generates an additional daily CAMT.053 file where individual transaction entries are replaced by aggregated totals. These totals are grouped by BAI codes. Enabled or disabled

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. In the body of the webhook, note the following fields:

    • balanceAccount: An object that contains information about the balance account that the account statement is for.
    • fileName: The name of the file that corresponds to this account statement.
    • downloadUrl: The URL from where you must download the account statement.
  2. Download the account statement by making a GET request to the URL included in the downloadUrl field. In the request, you can use the -o flag to specify a custom name for the downloaded file.


Account statement elements

All CAMT.053 statements provided by Adyen have the same XML structure. The high-level structure is:

  • BankToCustomerStatement (BkToCstmrStmt)
    • GroupHeader (GrpHdr)
    • Statement (Stmt)
      • Account (Acct)
      • Balance (Bal)
      • Entry (Ntry)
      • Transaction summary (TxsSummry)
        • EntryDetails (NtryDtls)
          • TransactionDetails (TxDtls)

Each element in the hierarchy contains nested child elements. The following sections explain the most relevant child elements within each parent element.

This block contains metadata for the entire statement message, including general information about the statement and its 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.

This block 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
<ElctrncSeqNb> Electronic Sequence Number The sequential number of the statement that corresponds to the batch sequence number reflected in the <Id> field
<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

This block identifies the account that the statement applies to.

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.

This block reports balances at specific points in time. An account statement can contain multiple <Bal> elements. Depending on the configuration, Adyen reports either booked balances (OPBD, CLBD) or available balances (OPAV, CLAV).

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 date. The <Dt> element uses the date-only format (YYYY-MM-DD).
<Avlbty> Availability Information about the availability of the balance.

This block lists the booked debit and credit entries that affect 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.

This block 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 BAI 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.

This block contains information about the 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.

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 Bank Transaction Code

Each transaction entry in a CAMT.053 statement includes a Bank Transaction Code (<BkTxCd>) element, which classifies it using the ISO 20022 structure and helps you identify its type and direction.

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. Most transactions on Adyen's balance platform use the PMNT (Payments) domain. The PMNT domain also includes additional families, such as CCRD (Customer Card Transactions) for issuing-related transactions. Adyen uses additional domains for specific transaction types:

    • ACMT (Account Management) for interest payouts
    • CAMT (Cash Management) for top-ups
  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 Used for
Domain PMNT Payment N/A All payment-related transaction types
ACMT Account Management N/A Interest payouts
CAMT Cash Management N/A Top-ups and account balancing
Family RRCT Received Real-Time Credit Instant or real-time inbound transfers
RCDT Received Credit Credit Inbound ACH, wire, same-day, cross-border, and internal transfers
IRCT Initiated Real-Time Debit Instant or real-time outbound transfers
ICDT Initiated Credit Debit Outbound ACH, wire, same-day, cross-border, and internal transfers
MCOP Miscellaneous Credit Operations Credit Interest payouts
ACCB Account Balancing Credit Top-ups
RDDT Received Direct Debits Debit Received direct debits
CCRD Customer Card Transactions N/A Card-based issuing transactions (refunds, captures, chargebacks, ATM withdrawals)
Sub-family ACDT Account Deposit N/A Standard deposits, such as instant or ACH
SDVA Same-Day Value N/A Fast or same-day transfers
PRCT Priority Credit N/A Urgent or wire transfers
XBCT Cross-border Credit N/A Transfers through correspondent banks
BOOK Booked Transfer N/A Internal (book) transfers
OTHR Other N/A General or uncategorised transfers
RRTN Return N/A Returns or rejections
INTR Interest Credit Interest payouts
TOPG Topping Credit Account top-ups
PMDD Pre-Mandated Direct Debit Debit Received direct debits
OTHR Other N/A Issuing card transactions not covered by a more specific code

The following example shows how ISO 20022 represents an inbound wire transfer. The <BkTxCd> element combines the Domain, Family, and SubFamily codes to classify the transaction:

Transfers API fields and Bank Transaction Codes

The following table shows how the category, type, and priority fields in the Transfers API map to the ISO 20022 Bank Transaction Code used in the statement. Use this table to correlate transactions between the Transfers API and the CAMT.053 statement.

Transfer API category Transfer API type Transfer API priority Direction Bank Transaction Code
bank bankTransfer regular Credit PMNT/RCDT/ACDT
bank bankTransfer regular Debit PMNT/ICDT/ACDT
bank bankTransfer fast Credit PMNT/RCDT/SDVA
bank bankTransfer fast Debit PMNT/ICDT/SDVA
bank bankTransfer wire Credit PMNT/RCDT/PRCT
bank bankTransfer wire Debit PMNT/ICDT/PRCT
bank bankTransfer instant Credit PMNT/RRCT/ACDT
bank bankTransfer instant Debit PMNT/IRCT/ACDT
bank bankTransfer crossBorder Credit PMNT/RCDT/XBCT
bank bankTransfer crossBorder Debit PMNT/ICDT/XBCT
bank bankTransfer internal Credit PMNT/RCDT/BOOK
bank bankTransfer internal Debit PMNT/ICDT/BOOK
internal internalTransfer N/A Credit PMNT/RCDT/BOOK
internal internalTransfer N/A Debit PMNT/ICDT/BOOK
internal internalDirectDebit N/A Debit PMNT/ICDT/BOOK
internal interestPayout N/A Credit ACMT/MCOP/INTR
topUp capture N/A Credit CAMT/ACCB/TOPG
issuedCard payment N/A Credit PMNT/CCRD/OTHR
issuedCard payment N/A Debit PMNT/CCRD/OTHR
bank bankTransfer N/A Debit PMNT/RDDT/PMDD

(Optional) Codes from the Bank Administration Institute

To enable BAI codes for your account statements, reach out to your Adyen contact.

BAI codes are a set of classification codes defined by the Bank Administration Institute. Financial institutions use these codes in the BAI file format to categorize transactions.

When enabled, Adyen includes BAI codes in the CAMT.053 statement to provide additional transaction classification alongside ISO 20022 codes. The following tables cover the codes for active payment and transfer methods.

Credits

These transactions deposit funds into the business account.

All returned credit transactions use the same ISO 20022 return code (RRTN) per transfer family.

Transfer type Bank Transaction Code - booked transaction Bank Transaction Code - returned or rejected transaction BAI - booked transaction BAI - returned or rejected transaction
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
Interest ACMT/MCOP/INTR N/A 354 N/A
Top-up CAMT/ACCB/TOPG N/A 275 N/A

Debits

These transactions send or withdraw funds from the business account.

All returned debit transactions use the same ISO 20022 return code (RRTN) per transfer family.

Transfer type Bank Transaction Code - booked transaction Bank Transaction Code - returned or rejected transaction BAI - booked transaction BAI - returned or rejected transaction
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
Received direct debit PMNT/RDDT/PMDD N/A 455 N/A

Transactions with Adyen-issued cards

A business account and an Adyen-issued card can be linked to the same balance account. In this case, transactions processed with this Adyen-issued card also appear in the CAMT.053 statement.

Issuing transfer type Bank Transaction Code - booked transaction BAI - booked transaction
Incoming transfer PMNT/CCRD/OTHR 399
Outgoing transfer PMNT/CCRD/OTHR 699
Capture PMNT/CCRD/OTHR 699
Capture reversal PMNT/CCRD/OTHR 252
ATM withdrawal PMNT/CCRD/OTHR 595
ATM withdrawal reversal PMNT/CCRD/OTHR 252
Chargeback PMNT/CCRD/OTHR 399
Chargeback reversal PMNT/CCRD/OTHR 552
Refund PMNT/CCRD/OTHR 399
Refund reversal PMNT/CCRD/OTHR 552
Second presentment PMNT/CCRD/OTHR 699
Second chargeback PMNT/CCRD/OTHR 399

(Optional) Summarized account statement

In addition to the standard account statement, Adyen can generate a daily summarized account statement. Financial institutions commonly use this format, which makes reconciliation easier when you process transactions with multiple institutions.

The following table shows the differences between the standard and summarized account statements.

Feature Standard statement Summarized statement
Entries One <Ntry> for each transaction. One <Ntry> for each BAI code group.
Bank Transaction Code <Domn> or <Prtry>, not both. Both <Domn> and <Prtry>.
Date format <DtTm> (date and time) <Dt> (date only)
Transaction summary <TxsSummry> included when configured. <TxsSummry> always included, with totals for each BAI code.

Adyen groups transactions that share a BAI code into one <Ntry> and totals their amounts. For example, 69,493 outbound ACH transactions on the same day all share BAI code 466 and appear as one <Ntry>:

The following table describes the fields in each summarized entry.

Tag Element name Description
<NtryRef> Entry Reference Adyen-generated reference that identifies the BAI code group and statement date (for example, SUMMARY-BAI466-20260108). Use the shared <ElctrncSeqNb> to cross-reference entries with the detailed file.
<Amt> Amount The total amount for all transactions with this BAI code.
<CdtDbtInd> Credit Debit Indicator Indicates the net credit (CRDT) or debit (DBIT) direction of the group.
<Sts> Status The status of the entry. Always BOOK.
<BookgDt><Dt> Booking Date The booking date in date-only format (YYYY-MM-DD).
<ValDt><Dt> Value Date The value date in date-only format (YYYY-MM-DD).
<BkTxCd><Domn> ISO Domain Code The ISO 20022 domain, family, and sub-family codes for the transaction type. Unlike the standard statement, both <Domn> and <Prtry> appear in the same entry.
<BkTxCd><Prtry> BAI Proprietary Code The BAI code and issuer identifier for the transaction type.
<NtryDtls><TxDtls><RmtInf><Ustrd> Remark The description of the transaction group, with the count and type name, for example, REMARK=69493 REGULAR OR ACH DEBITS.

See also