Sample of XML output
Here is a sample ISO 20022 XML document illustrating typical bank statement data with anonymized personal information and both debit and credit transactions.
XML output sample
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02">
<BkToCstmrStmt>
<GrpHdr>
<MsgId>20241113-001</MsgId>
<CreDtTm>2024-11-13T12:00:00</CreDtTm>
</GrpHdr>
<Stmt>
<Id>20241113-001</Id>
<FrToDt>
<FrDtTm>2023-01-01T00:00:01</FrDtTm>
<ToDtTm>2023-12-31T23:59:59</ToDtTm>
</FrToDt>
<Acct>
<Id>
<IBAN>XX00XXXX0000000000000</IBAN>
</Id>
<Ccy>USD</Ccy>
<Ownr>
<Nm>John Doe</Nm>
<PstlAdr>
<StrtNm>1234 Main St, Dummy City, DC 12345</StrtNm>
</PstlAdr>
<Id>
<PrvtId>
<Othr>
<Id>999999-99999</Id>
<SchmeNm>
<Cd>NIDN</Cd>
</SchmeNm>
</Othr>
</PrvtId>
</Id>
</Ownr>
<Svcr>
<FinInstnId>
<BIC>XXXXUS00</BIC>
<Nm>Dummy Bank</Nm>
<PstlAdr>
<StrtNm>5678 Bank Ave, Dummy Town, DT 67890</StrtNm>
</PstlAdr>
<Othr>
<Id>123456789</Id>
<SchmeNm>
<Cd>COID</Cd>
</SchmeNm>
</Othr>
</FinInstnId>
</Svcr>
</Acct>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>OPBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="USD">1000.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2023-01-01</Dt>
</Dt>
</Bal>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>CLBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="USD">500.00</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<Dt>
<Dt>2023-12-31</Dt>
</Dt>
</Bal>
<Ntry>
<Amt Ccy="USD">150.00</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<BookgDt>
<Dt>2023-03-15</Dt>
</BookgDt>
<ValDt>
<Dt>2023-03-15</Dt>
</ValDt>
<NtryDtls>
<TxDtls>
<RltdPties>
<Dbtr>
<Nm>Example Store</Nm>
</Dbtr>
</RltdPties>
<RmtInf>
<Ustrd>Purchase - Ref#123456</Ustrd>
</RmtInf>
</TxDtls>
</NtryDtls>
<AddtlNtryInf>Remaining balance: 850.00</AddtlNtryInf>
</Ntry>
<Ntry>
<Amt Ccy="USD">200.00</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<BookgDt>
<Dt>2023-05-20</Dt>
</BookgDt>
<ValDt>
<Dt>2023-05-20</Dt>
</ValDt>
<NtryDtls>
<TxDtls>
<RltdPties>
<Dbtr>
<Nm>Dummy Online Service</Nm>
</Dbtr>
</RltdPties>
<RmtInf>
<Ustrd>Subscription - Ref#654321</Ustrd>
</RmtInf>
</TxDtls>
</NtryDtls>
<AddtlNtryInf>Remaining balance: 650.00</AddtlNtryInf>
</Ntry>
<Ntry>
<Amt Ccy="USD">500.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<BookgDt>
<Dt>2023-08-10</Dt>
</BookgDt>
<ValDt>
<Dt>2023-08-10</Dt>
</ValDt>
<NtryDtls>
<TxDtls>
<RltdPties>
<Cdtr>
<Nm>Example Company</Nm>
</Cdtr>
</RltdPties>
<RmtInf>
<Ustrd>Salary - August</Ustrd>
</RmtInf>
</TxDtls>
</NtryDtls>
<AddtlNtryInf>Remaining balance: 1150.00</AddtlNtryInf>
</Ntry>
<Ntry>
<Amt Ccy="USD">300.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<BookgDt>
<Dt>2023-10-05</Dt>
</BookgDt>
<ValDt>
<Dt>2023-10-05</Dt>
</ValDt>
<NtryDtls>
<TxDtls>
<RltdPties>
<Cdtr>
<Nm>Dummy Employer Inc.</Nm>
</Cdtr>
</RltdPties>
<RmtInf>
<Ustrd>Bonus Payment</Ustrd>
</RmtInf>
</TxDtls>
</NtryDtls>
<AddtlNtryInf>Remaining balance: 1450.00</AddtlNtryInf>
</Ntry>
</Stmt>
</BkToCstmrStmt>
</Document>
XML schema
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02" targetNamespace="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02" elementFormDefault="qualified">
<xs:element name="Document">
<xs:complexType>
<xs:sequence>
<xs:element name="BkToCstmrStmt" type="BkToCstmrStmtType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="BkToCstmrStmtType">
<xs:sequence>
<xs:element name="GrpHdr" type="GrpHdrType"/>
<xs:element name="Stmt" type="StmtType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="GrpHdrType">
<xs:sequence>
<xs:element name="MsgId" type="xs:string"/>
<xs:element name="CreDtTm" type="xs:dateTime" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="StmtType">
<xs:sequence>
<xs:element name="Id" type="xs:string"/>
<xs:element name="FrToDt" type="FrToDtType"/>
<xs:element name="Acct" type="AcctType"/>
<xs:element name="Bal" type="BalType" maxOccurs="unbounded"/>
<xs:element name="Ntry" type="NtryType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FrToDtType">
<xs:sequence>
<xs:element name="FrDtTm" type="xs:dateTime"/>
<xs:element name="ToDtTm" type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AcctType">
<xs:sequence>
<xs:element name="Id">
<xs:complexType>
<xs:sequence>
<xs:element name="IBAN" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Ccy" type="xs:string"/>
<xs:element name="Ownr" type="OwnrType"/>
<xs:element name="Svcr" type="SvcrType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="OwnrType">
<xs:sequence>
<xs:element name="Nm" type="xs:string"/>
<xs:element name="PstlAdr" type="PstlAdrType"/>
<xs:element name="Id" type="PrvtIdType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PstlAdrType">
<xs:sequence>
<xs:element name="StrtNm" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PrvtIdType">
<xs:sequence>
<xs:element name="PrvtId">
<xs:complexType>
<xs:sequence>
<xs:element name="Othr" type="OthrType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="OthrType">
<xs:sequence>
<xs:element name="Id" type="xs:string"/>
<xs:element name="SchmeNm">
<xs:complexType>
<xs:sequence>
<xs:element name="Cd" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SvcrType">
<xs:sequence>
<xs:element name="FinInstnId" type="FinInstnIdType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FinInstnIdType">
<xs:sequence>
<xs:element name="BIC" type="xs:string"/>
<xs:element name="Nm" type="xs:string"/>
<xs:element name="PstlAdr" type="PstlAdrType"/>
<xs:element name="Othr" type="OthrType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BalType">
<xs:sequence>
<xs:element name="Tp">
<xs:complexType>
<xs:sequence>
<xs:element name="CdOrPrtry">
<xs:complexType>
<xs:sequence>
<xs:element name="Cd" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Amt" type="AmtType"/>
<xs:element name="CdtDbtInd" type="xs:string"/>
<xs:element name="Dt" type="DtType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AmtType">
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="Ccy" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="DtType">
<xs:sequence>
<xs:element name="Dt" type="xs:date"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="NtryType">
<xs:sequence>
<xs:element name="Amt" type="AmtType"/>
<xs:element name="CdtDbtInd" type="xs:string"/>
<xs:element name="BookgDt" type="DtType"/>
<xs:element name="ValDt" type="DtType"/>
<xs:element name="NtryDtls" type="NtryDtlsType"/>
<xs:element name="AddtlNtryInf" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="NtryDtlsType">
<xs:sequence>
<xs:element name="TxDtls" type="TxDtlsType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TxDtlsType">
<xs:sequence>
<xs:element name="RltdPties">
<xs:complexType>
<xs:sequence>
<xs:choice>
<xs:element name="Dbtr" type="PartyType"/>
<xs:element name="Cdtr" type="PartyType"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="RmtInf">
<xs:complexType>
<xs:sequence>
<xs:element name="Ustrd" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PartyType">
<xs:sequence>
<xs:element name="Nm" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Last updated