ISO 20022 Credit Transfer — pain.001 (XML)
A sample ISO 20022 customer credit-transfer initiation (pain.001.001.09) — a single payment with debtor/creditor parties, IBANs, BICs, amount, and remittance info. IBANs are published documentation examples; a fixture for testing payment-message parsers and bank integrations.
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09">
<CstmrCdtTrfInitn>
<GrpHdr>
<MsgId>NOVUS-SAMPLE-0001</MsgId>
<CreDtTm>2026-01-15T09:30:00</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>1250.00</CtrlSum>
<InitgPty><Nm>Example Trading Ltd</Nm></InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId>PMT-0001</PmtInfId>
<PmtMtd>TRF</PmtMtd>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>1250.00</CtrlSum>
<ReqdExctnDt><Dt>2026-01-16</Dt></ReqdExctnDt>
<Dbtr><Nm>Example Trading Ltd</Nm></Dbtr>
<DbtrAcct><Id><IBAN>GB33BUKB20201555555555</IBAN></Id></DbtrAcct>
<DbtrAgt><FinInstnId><BICFI>BUKBGB22</BICFI></FinInstnId></DbtrAgt>
<CdtTrfTxInf>
<PmtId><EndToEndId>INV-2026-0042</EndToEndId></PmtId>
<Amt><InstdAmt Ccy="EUR">1250.00</InstdAmt></Amt>
<CdtrAgt><FinInstnId><BICFI>DEUTDEFF</BICFI></FinInstnId></CdtrAgt>
<Cdtr><Nm>Beispiel Lieferant GmbH</Nm></Cdtr>
<CdtrAcct><Id><IBAN>DE89370400440532013000</IBAN></Id></CdtrAcct>
<RmtInf><Ustrd>Invoice INV-2026-0042</Ustrd></RmtInf>
</CdtTrfTxInf>
</PmtInf>
</CstmrCdtTrfInitn>
</Document>
Specifications
- Standard
- ISO 20022 pain.001.001.09
- Transactions
- 1
- Note
- sample; IBANs are published documentation examples
What is a .xml file?
XML (Extensible Markup Language) is a verbose, self-describing markup language using nested tags, attributes, and namespaces to represent structured, hierarchical data. It supports schemas, entities, and validation and underlies many document and data formats. It remains common in enterprise, publishing, and interchange contexts.
How to use this file
Use an example XML file to test parsers, namespace and schema validation, XPath queries, and protection against entity-expansion and external-entity attacks.
How to use this file for testing
“ISO 20022 Credit Transfer — pain.001 (XML)” is a deterministic Novus Examples fixture for Data import, Conversion testing, Schema validation. Realistic faker-generated datasets with documented schemas for testing import and ETL flows.
Documented properties for this file: XML · 1,241 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Data fixtures document their exact quirks — delimiters, encodings, null handling, schema, and row counts — in the spec table. Point your parser or importer at the file and assert it handles the documented edge cases; clean and deliberately-messy siblings make before/after diffs straightforward.
Code examples
import xml.etree.ElementTree as ET
tree = ET.parse("iso20022-pain001.xml")
root = tree.getroot()
print(root.tag, [c.tag for c in root][:5])Related files
- csvBank Transactions (CSV, 60 rows)A bank-transaction statement — 60 debits and credits across three accounts (masked numbers) with running balances, categories, and merchants. Synthetic data for testing statement parsers, categorisation, and reconciliation.

- jsonBank Transactions (JSON, 60 records)The bank transactions as a JSON array — the format twin of the CSV, for import and reconciliation testing.

- jsonAvro Schema Evolution - Backward-CompatibleThe compatible Avro record schema for reader/writer compatibility tests. Backward compatible for old records: nullable email is added with a null default.

- jsonAvro Schema Evolution - BaselineThe baseline Avro record schema for reader/writer compatibility tests. Reference writer schema: id and name are strings.

- jsonAvro Schema Evolution - BreakingThe breaking Avro record schema for reader/writer compatibility tests. Breaking relative to baseline: id changes to long and tenantId has no default.

- jsonColumnar Nulls Schema (JSON)JSON description of nullable columns in the null-heavy columnar fixtures.

Generated by generation/data_domains.py. Free for any use, no attribution required — license.