UBS Switzerland pain.001 Common Errors
UBS applies additional validation rules on top of the Swiss CH.03 profile. These are the most common errors seen in UBS pain.001 submissions and how to fix them.
What the UBS overlay adds
The UBS pain.001 profile is built on top of the Swiss Payment Standards CH.03 profile (pain.001.001.09.ch.03.xsd). UBS adds its own restrictions and mandatory fields on top of CH.03, which itself adds restrictions on top of the base ISO 20022 pain.001.001.09.
This means a UBS submission must pass three layers of profile validation simultaneously: base ISO 20022, CH.03, and UBS-specific rules. A file that passes CH.03 may still be rejected by UBS.
UBS validation stack
ISO 20022 pain.001.001.09 (base XSD)
└── CH.03 Swiss Payment Standards overlay
└── UBS bank-specific overlay
└── Your file must pass all threeMost common UBS rejection causes
These are the rejection patterns seen most frequently in UBS pain.001 submissions:
Frequent UBS-specific rejection causes
1. Wrong document type
UBS requires pain.001.001.09 — not pain.001.001.03
Detected via namespace: urn:iso:std:iso:20022:tech:xsd:pain.001.001.09
2. Missing or invalid BIC (BIC11 vs BIC8)
UBS requires UBSWCHZH80A or similar full BIC11 format in some contexts
Generic BIC8 (UBSWCHZH) may be rejected depending on transaction type
3. CtrlSum mismatch
Same as any CH.03 submission — see CtrlSum Mismatch guide
Float precision is the most frequent cause
4. Unsupported characters in Nm or AdrLine
UBS enforces SWIFT Basic Latin — no umlauts, accents, or special symbols
5. Missing MndtRltdInf for direct debits (wrong instrument)
pain.001 is for credit transfers only — direct debits use pain.008UBS-specific field requirements
UBS requires a valid SvcLvl (Service Level) code. For Swiss domestic payments, SEPA is not valid — use CHT (Swiss Internal Transfer) or the appropriate domestic code.
The Purp (Purpose) element is strongly recommended for UBS submissions even when it is optional in the base schema. UBS uses it for payment routing and classification.
Correct SvcLvl for UBS domestic payments
<SvcLvl>
<Cd>NURG</Cd> <!-- Non-urgent Swiss domestic payment -->
</SvcLvl>
<!-- For urgent payments -->
<SvcLvl>
<Cd>URGP</Cd>
</SvcLvl>Validate against the UBS profile
The UBS profile (pain.001.001.09.ch.03.ubs) is available in the validator. Select the UBS Switzerland profile to run all three validation layers — ISO 20022 base, CH.03, and UBS overlay — against your file simultaneously.