SEPA SCT salary batch with structured and unstructured remittance.
A payment initiation file for Germany on the sepa-credit-transfer rail, shipped in pain.001.001.03, pain.001.001.09, pain.001.001.13, 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 |
de.sepa.sct-salary.pain.001.001.03.xml | de.sepa.sct-salary.pain.001.001.03.iso.json | de.sepa.sct-salary.pain.001.001.03.provenance.yaml |
pain.001.001.09 |
de.sepa.sct-salary.pain.001.001.09.xml | de.sepa.sct-salary.pain.001.001.09.iso.json | de.sepa.sct-salary.pain.001.001.09.provenance.yaml |
pain.001.001.13 |
de.sepa.sct-salary.pain.001.001.13.xml | de.sepa.sct-salary.pain.001.001.13.iso.json | de.sepa.sct-salary.pain.001.001.13.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, pain.001.001.13. 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 2 record(s) below, checks it against the sepa-sct 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,creditor_account_IBAN,remittance_information,category_purpose_code,initiator_street_name,initiator_building_number,initiator_postal_code,initiator_town_name,initiator_country_code,initiator_id,initiator_id_scheme,debtor_street_name,debtor_building_number,debtor_postal_code,debtor_town_name,debtor_country_code,debtor_id,debtor_id_scheme,creditor_postal_code,creditor_town_name,creditor_country_code,purpose_code,payment_currency
MSTR-SAL-2026-09,2026-09-25T10:00:00,2,6230.50,Musterfirma GmbH,SAL-2026-09,TRF,true,SEPA,2026-09-28,Musterfirma GmbH,DE09028457998082047609,OPSHDEW0,SLEV,SAL-2026-09-0001,3250.00,EUR,XOZFDEA0,Anna Beispiel,DE65261964603287767307,Gehalt September 2026,SALA,Hauptstraße,12,80331,München,DE,DE98ZZZ09999999999,BANK,Hauptstraße,12,80331,München,DE,DE98ZZZ09999999999,BANK,10115,Berlin,DE,SALA,EUR
MSTR-SAL-2026-09,2026-09-25T10:00:00,2,6230.50,Musterfirma GmbH,SAL-2026-09,TRF,true,SEPA,2026-09-28,Musterfirma GmbH,DE09028457998082047609,OPSHDEW0,SLEV,SAL-2026-09-0002,2980.50,EUR,DQBJDEN0,Max Mustermann,DE74157667219201256428,,SALA,Hauptstraße,12,80331,München,DE,DE98ZZZ09999999999,BANK,Hauptstraße,12,80331,München,DE,DE98ZZZ09999999999,BANK,20095,Hamburg,DE,SALA,EUR
How the library checked it#
- Official XSD: passed.
- ISO message definition rules: passed.
- Rail profile
sepa-sct: passed. - 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#
- EPC125-05 SEPA Credit Transfer Rulebook 2025 v1.0 (read 2026-09-10)
- EPC132-08 Customer-to-PSP SCT Implementation Guidelines 2025 (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.