Skip to main content
πŸ“Š

How to Convert Bank Statements to XML Format

9 min readApril 8, 2026

Quick Answer

Bank statement XML, and camt.053 in particular, is a structured, machine-readable format used for ERP integration, automated processing, and long-term archiving. The reliable source for it is your bank's corporate banking channel. QuickBankConvert does not export XML or camt.053. What it can do is turn a PDF statement into clean CSV or Excel (free Google account) or JSON (Plus plan), which you or your integration team can then map into whatever XML structure your system expects.

Drop your bank statement here

PDF or OFX Β· Max 4.4 MB

Uploaded over an encrypted connection. We never ask for your bank login. Privacy

Preview free with no account. Free account to download.

Why Convert Bank Statements to XML?

Converting bank statements to XML (Extensible Markup Language) turns transaction data into a universal format that balances human readability with machine parseability. Its tagged structure lets both people and software read dates, amounts and descriptions consistently. For bank statement data, XML offers several advantages over formats like CSV or PDF:

Self-describing structure: XML tags explicitly name every piece of data β€” <Dt>2024-03-15</Dt> is unambiguous in a way that a CSV column position never is.

Hierarchical data representation: Bank statements have natural hierarchy (statement β†’ entry β†’ transaction details β†’ remittance information) that XML captures elegantly. Flat formats like CSV must denormalize this hierarchy, often losing context.

Schema validation: XML documents can be validated against an XSD schema, ensuring that every required field is present and correctly formatted before processing. This is critical for automated bank reconciliation.

Enterprise ERP integration: SAP, Oracle Financials, and Microsoft Dynamics 365 import bank statement XML in the ISO 20022 camt.053 format. Statements in that format enable automated reconciliation without manual data entry.

API and integration use: If you are building a financial application or integration, structured output (XML or JSON) is far more useful than a PDF for programmatic processing.

Callout: XML vs JSON for bank data

While JSON has largely replaced XML for web APIs, XML remains dominant in enterprise financial systems because ISO 20022 (the international banking standard) uses XML. If JSON is enough for your web app or data pipeline, QuickBankConvert supports JSON export on the Plus plan β€” see our JSON conversion guide.


What Is Camt.053, the ISO 20022 Bank Statement XML Standard?

ISO 20022 is the international standard for financial messaging. Within ISO 20022, the camt.053 message type (Cash Management β€” Bank to Customer Statement) is the standardized format for bank account statements delivered in XML.

camt.053 is used by:

  • Major European banks (Deutsche Bank, ING, BNP Paribas, Santander)
  • Australian banks (ANZ, NAB, Westpac, Commonwealth Bank)
  • Asian banks (DBS, HSBC Asia, Standard Chartered)
  • Banks serving corporate customers in SEPA (Single Euro Payments Area)

camt.053 document structure:

<Document>
  <BkToCstmrStmt>
    <GrpHdr>
      <!-- Group header: message ID, creation datetime -->
    </GrpHdr>
    <Stmt>
      <!-- Statement: account info, statement period, balances -->
      <Bal>
        <!-- Opening and closing balance entries -->
      </Bal>
      <Ntry>
        <!-- Individual statement entry (transaction) -->
        <Amt Ccy="EUR">250.00</Amt>
        <CdtDbtInd>DBIT</CdtDbtInd>
        <ValDt><Dt>2024-03-15</Dt></ValDt>
        <NtryDtls>
          <!-- Transaction details, remittance info -->
        </NtryDtls>
      </Ntry>
    </Stmt>
  </BkToCstmrStmt>
</Document>

The <Ntry> element represents one transaction entry, which may contain multiple <TxDtls> sub-elements if the bank consolidates batch transactions.


How to Get Bank Statement Data into XML

There are two realistic routes, and which one you take depends on whether your bank can supply XML itself.

Route 1: Ask Your Bank for camt.053

If you need camt.053 for SAP, Oracle, or Dynamics, start with your bank. Corporate and business banking portals often offer camt.053 statement downloads or a scheduled delivery to your ERP. A bank-issued file carries the bank's own references, transaction codes, and remittance details, which a PDF does not fully contain. Ask your relationship manager or the bank's cash management desk which statement formats are available for your account.

Route 2: Convert the PDF to Structured Data, Then Map It to XML

When all you have is PDF statements β€” older periods, a closed account, or a bank with no XML service β€” convert the PDF into structured rows first and build the XML from those.

Step 1: Download your bank statement PDF. Obtain the PDF from your bank's online portal for the period you need. Downloading by month rather than quarter makes reconciliation period matching cleaner.

Step 2: Upload to QuickBankConvert. Navigate to QuickBankConvert and upload your PDF. It works with standard PDF statements from most banks. The file travels over an encrypted connection and is parsed on QuickBankConvert's servers, usually in under a minute. Uploading several PDFs at once is a Pro plan feature; otherwise convert them one at a time.

Step 3: Check the preview. You get an on-screen preview of the parsed transactions with no account needed. Compare dates, descriptions, and amounts against the PDF before you rely on them.

Step 4: Download CSV or JSON. Sign in with a free Google account to download CSV or Excel (5 statements a month). JSON export is part of the Plus plan ($29/month) and is usually the easier starting point for a script.

Step 5: Transform and validate. Map the rows into your target XML with a short script, an XSLT/ETL step, or your ERP's own import mapping, adding the account identification, statement period, and balances from the PDF. Then validate the result against the appropriate schema:

  • camt.053 schema: Available from the ISO 20022 website
  • Generic XML schema: Defined by your integration team

Be realistic about this route: a statement rebuilt from a PDF will not include bank transaction codes or end-to-end references that never appeared on the PDF.


How Is an XML Bank Statement Structured?

A bank statement XML file β€” whether camt.053 or a simpler generic structure β€” contains the following information layers:

Level 1: Document / Group Header

  • Message creation timestamp
  • Unique message identifier
  • Number of statements in the file

Level 2: Statement Header

  • Account identification (IBAN, account number, bank BIC)
  • Statement period (from/to dates)
  • Currency
  • Sequence number

Level 3: Balances

<Bal>
  <Tp><CdOrPrtry><Cd>OPBD</Cd></CdOrPrtry></Tp>  <!-- Opening balance -->
  <Amt Ccy="USD">1500.00</Amt>
  <CdtDbtInd>CRDT</CdtDbtInd>
  <Dt><Dt>2024-03-01</Dt></Dt>
</Bal>

Level 4: Transaction Entries

Each <Ntry> element contains:

XML ElementContent
<Amt>Transaction amount with currency attribute
<CdtDbtInd>CRDT (credit/deposit) or DBIT (debit/withdrawal)
<ValDt>Value date of the transaction
<BkTxCd>Bank transaction code (type classification)
<NtryRef>Entry reference number
<AddtlNtryInf>Additional narrative information

Level 5: Transaction Details

Within <NtryDtls>, each <TxDtls> contains:

  • Remittance information (invoice references, payment descriptions)
  • Counterparty details (name, IBAN)
  • Instructed amount (for foreign currency transactions)
  • End-to-end reference IDs

Should You Use XML, OFX, or CSV for Bank Data?

FeatureXML (camt.053)OFXCSV
Human readableModerateModerateYes
Self-describingYesYesNo
Hierarchical dataYesLimitedNo
Schema validationYes (XSD)LimitedNo
ERP integrationExcellentGoodVia mapping
File sizeLargeModerateSmall
Developer friendlyYesYesYes
StandardizedISO 20022OFX specificationNone
Accounting softwareERP onlyQuickBooks, QuickenUniversal
Available from QuickBankConvertNoNo (QBO and QIF on Plus)Yes

Choose XML when:

  • Integrating with SAP, Oracle, or Dynamics ERP
  • Building an application that processes bank data programmatically
  • You need schema-validated, auditable data
  • Long-term archiving of financial records in an open standard

Choose an OFX-family file when:

  • Importing into QuickBooks, Quicken, or Sage
  • You need US accounting software compatibility

Choose CSV when:

  • Importing into any general-purpose tool
  • Working with Excel or Google Sheets directly
  • Sending data to an accountant
  • You need an intermediate format to map into your own XML

Common Use Cases for Bank Statement XML

SAP Bank Reconciliation

SAP's Bank Statement Import (transaction code FF.5 or FEBP) accepts camt.053 XML. Corporations with SAP ERP systems can configure automated bank statement import: as soon as the XML arrives (via SFTP or uploaded to SAP), the system creates clearing entries, matches open items, and posts differences.

For periods before the XML feed was configured, ask the bank whether it can reissue historical statements as camt.053. If it cannot, structured rows extracted from the PDFs are the raw material for a backfill your SAP team builds.

Oracle Financials Cash Management

Oracle Fusion Cash Management supports camt.053 and BAI2 formats for bank statement import. The camt.053 path is preferred for international banking because it carries more remittance detail, enabling better automatic matching of bank transactions to Oracle AR/AP records.

Accounts Payable Reconciliation

When a company's AP team needs to reconcile supplier payments against bank entries, bank-issued camt.053 XML provides the remittance reference information (invoice numbers, payment IDs) embedded in <RmtInf> elements. This enables automated matching of payments to invoices without manual lookup.

Custom Financial Integration

Developers building internal finance tools or data pipelines often need bank transaction data in a programmable format. QuickBankConvert has no API, but the JSON or CSV file you download from it can be loaded by a script and reshaped into XML, removing the manual retyping step and the errors it introduces.


XML is the format of choice for enterprise banking integration. While less common for individual use than CSV, camt.053 provides a level of structure, validation, and automation capability that flat formats do not. Get it from your bank where you can. Where you only have PDFs, QuickBankConvert gets you from PDF to clean CSV or JSON, and the last step into XML is a mapping job on your side.

Sources and Further Reading

Frequently Asked Questions

What is camt.053 and do I need it?

camt.053 is the ISO 20022 standard for bank account statements in XML format. It is used by European and international banks for corporate banking. You need camt.053 if your ERP system (SAP, Oracle, Dynamics) is configured to import bank statements in this format for automated reconciliation.

Can I convert a US bank statement to XML?

Not directly with QuickBankConvert, which does not export XML or camt.053. You can convert the PDF to CSV or Excel (free Google account) or JSON (Plus plan) and then map those rows into the XML structure your system needs with a script or your ERP's import tools. If your bank offers camt.053 through its business banking service, that is the better source.

What software imports bank statement XML files?

SAP, Oracle Financials, Microsoft Dynamics 365, and other enterprise ERP systems import camt.053 XML for bank reconciliation. Generic XML can also be processed by any software that accepts XML input, including custom integration scripts.

Is XML a good format for long-term bank statement storage?

XML is an excellent format for long-term storage because it is plain text, human-readable, and self-describing. Unlike proprietary formats like QFX, XML files will remain readable by any software for the foreseeable future. The downside is file size β€” XML is more verbose than CSV.

Ready to convert your bank statement?

Free to preview. No bank login. Results in about a minute.

Convert a statement