USD cross-border payment from a UK account to a US supplier.
A payment initiation file for United Kingdom on the priority-payment rail, shipped in pain.001.001.03, pain.001.001.09, generated and checked by pain001 0.0.70. It is a synthetic example built from the public scheme rulebooks: no real party, account or bank guideline behind it.
Files#
| Edition | Payment file | ISO 20022 JSON twin | Provenance record |
|---|---|---|---|
pain.001.001.03 |
gb.international.usd.pain.001.001.03.xml | gb.international.usd.pain.001.001.03.iso.json | gb.international.usd.pain.001.001.03.provenance.yaml |
pain.001.001.09 |
gb.international.usd.pain.001.001.09.xml | gb.international.usd.pain.001.001.09.iso.json | gb.international.usd.pain.001.001.09.provenance.yaml |
The twin is the same payment in the ISO 20022 Registration Authority's JSON convention, lossless in both directions; its JSON Schema (2020-12) is published per edition: pain.001.001.03, pain.001.001.09. An agent can produce a twin that validates against the schema and hand it to the library to render the XML.
Run it in your browser#
Open this scenario in the demo: the pain001 library loads in a Python runtime in your browser, rebuilds the file from the 1 record(s) below, checks it against the cbpr-cross-border rulebook and the official XSD, and shows the JSON twin. Nothing leaves your machine.
The flat records the library rebuilds it from (the CSV pipeline's own column names):
id,date,nb_of_txs,ctrl_sum,initiator_name,payment_information_id,payment_method,batch_booking,service_level_code,requested_execution_date,debtor_name,debtor_account_IBAN,debtor_agent_BIC,charge_bearer,payment_id,payment_amount,currency,creditor_agent_BIC,creditor_name,remittance_information,initiator_postal_code,initiator_town_name,initiator_country_code,initiator_address_line,initiator_lei,debtor_postal_code,debtor_town_name,debtor_country_code,debtor_address_line,debtor_lei,debtor_account_currency,uetr,creditor_postal_code,creditor_town_name,creditor_country_subdivision,creditor_country_code,creditor_address_line,creditor_account_number,creditor_account_scheme,creditor_agent_clearing_system,creditor_agent_member_id,purpose_code,debtor_agent_town_name,debtor_agent_country_code,creditor_agent_town_name,creditor_agent_country_code,payment_currency
ELMRD-INTL-20260916-01,2026-09-16T10:00:00,1,18500.00,Elm Road Developments Ltd,INTL-20260916-01,TRF,false,URGP,2026-09-16,Elm Road Developments Ltd,GB36KGFR97386824311654,CDMXGB80,SHAR,PO-2026-0916-7781,18500.00,USD,TXRPUSY0,Cascade Millwork Inc,PO 2026-0916-7781 millwork,SW1A 1AA,London,GB,14 Elm Road,0000001ODT6PK08RLJ71,SW1A 1AA,London,GB,14 Elm Road,0000001ODT6PK08RLJ71,GBP,e507a755-8cd9-4634-85cb-c1af0981bc63,97204,Portland,OR,US,1200 Pine Street,4412345678,BBAN,USABA,021000021,GDDS,London,GB,New York,US,USD
How the library checked it#
- Official XSD: passed.
- ISO message definition rules: passed.
- Rail profile
cbpr-cross-border: passed, 1 warning(s). - Rail profile
anti-duplicate: passed.
Confidence derived: built from the public rulebook or implementation guide; no published sample was available to compare.
Where the content comes from#
- CGI-MP pain.001 V09 implementation guide (read 2026-09-10)
SHA-256 of each file is in its provenance record. Your bank's own usage guideline is not represented here: apply it privately with the library's overlay tooling.