Swiss QR-bill
Swiss QR-bill erstattede de schweiziske orange og røde indbetalingsgiroer i juli 2020. Det er en ISO 20022 Customer Credit Transfer Initiation (pain.001)-nyttelast gengivet som en QR med et obligatorisk schweizisk kors i midten. Enhver schweizisk bank accepterer den; ingen schweizisk bank accepterer noget andet.
ISO-grundlag: ISO 20022
pain.001 Customer Credit Transfer Initiation. Obligatorisk siden: 1. juli 2020. Ældre orange/røde indbetalingsgiroer udfaset 30. september 2022.
Hvad det er
Nyttelasten er en nylinje-adskilt (CRLF) liste med 32 felter fordelt i syv blokke:
QRType → Altid "SPC" Version → 0200 (v2.3) Coding → 1 (Latin-1) [Creditor Information] ← 7 felter (IBAN + adresse) [Ultimate Creditor] ← 7 felter (valgfri, normalt tomme) [Payment Amount Information] ← 3 felter (beløb, valuta, forfaldsdato) [Ultimate Debtor] ← 7 felter (valgfri) [Payment Reference] ← 2 felter (referencetype + reference) [Additional Information] ← 2 felter (ustruktureret besked + regningsinfo) [Alternative Procedures] ← 2 felter (valgfri, sjældent brugt)
Den resulterende QR sidder i et betalingsdelblok i den nederste tredjedel af fakturaen. Enhver schweizisk bankapp (UBS, ZKB, PostFinance, Raiffeisen, Neon, Yuh, Revolut CH) læser den nativt.
QR-IBAN vs. almindelig IBAN
En "QR-IBAN" er en særlig schweizisk IBAN, hvor det 5-cifrede bankkodeinterval er 30000–31999. QR-IBANer kræver en struktureret QR-reference (QRR, 27 cifre, mod-10-kontrol). Almindelige schweiziske IBANer accepterer kreditorreference (SCOR, RFC 8905) eller ingen reference.
| Kreditor IBAN-type | Gyldige referencetyper | Bemærkninger |
|---|---|---|
| QR-IBAN (bankkode 30000–31999) | QRR (27-cifret, mod-10) | Påkrævet. SCOR og NON er ugyldige. |
| Almindelig IBAN (CH eller LI) | SCOR eller NON | QRR er ugyldig, kun QR-IBAN. |
Kanoniske testvektorer
| Tilfælde | Input | Referencetype |
|---|---|---|
| Minimal (almindelig IBAN, intet beløb, ingen reference) | iban=CH9300762011623852957 | NON |
| Almindelig IBAN med beløb + ustruktureret besked | (samme som ovenfor)amount=100.00 | NON |
| QR-IBAN med QRR-reference | iban=CH4431999123000889012 | QRR |
| Liechtenstein IBAN | iban=LI0508800000021904015 | NON |
Live schweizisk IBAN-validering
Valideringen nedenfor kontrollerer de tre schweizisk-specifikke regler: (1) landekoden er CH eller LI, (2) længden er præcist 21, (3) ISO 7064 mod-97-kontrolsummen godkendes. Indsat input normaliseres (store/små bogstaver og mellemrum fjernes).
Almindelige faldgruber
- Forkert referencetype til IBAN-typen. En QR-IBAN med en NON- eller SCOR-reference afvises i banken. En almindelig IBAN med en QRR-reference afvises også. Abundera vælger automatisk den rigtige type; håndbyggede kodere tager ofte fejl her.
- Manglende schweizisk kors-overlay. QR-bill-specifikationen kræver et 7 mm × 7 mm schweizerflag (hvidt kors på rødt, med 1 mm hvid kant) centreret på QR. Dette er ikke valgfrit, bankernes OCR-pipeline bruger det som QR-bill-signatur. Abundera tilføjer det automatisk.
- QR-modulets fejlkorrektionsniveau. Specifikationen kræver ECC-niveau M. Højere eller lavere ECC-niveauer giver en QR, der ser rigtig ud, men afvises i banken.
- Adressefelts længde. Kreditors navn, gade, postnummer, by, hver begrænset til 70 Latin-1-tegn. For lange strenge afkortes lydløst af nogle kodere, hvilket ødelægger afstemningen.
- Kun valuta CHF eller EUR. Swiss QR-bill understøtter kun to valutaer. Alle andre valutaer afvises.
- Reference mod-10 vs. mod-97. QRR-referencer bruger en mod-10 rekursiv kontrolsum (Luhn-variant). Må ikke forveksles med mod-97 IBAN-kontrolsummen. Håndbyggede referencegeneratorer Luhn-tjekker ofte forkert.
- Latin-1, ikke UTF-8. Felt
Codinger "1" = Latin-1. Ikke-Latin-1-tegn (ä/ö/ü overlever; kyrillisk/kinesisk gør det ikke) ødelægger nogle ældre bankapper.
Scannerkompatibilitet
| Læser | Support | Bemærkninger |
|---|---|---|
| UBS Mobile / PostFinance / ZKB-app | Nativt | Enhver schweizisk bankapp læser QR-bills nativt. |
| Neon / Yuh / Revolut CH | Nativt | Neobanker håndterer hele pain.001-nyttelasten. |
| iOS Kamera | Nej | iOS behandler en QR-bill som en rå streng, ingen parsing. Brugeren skal åbne en bankapp. |
| Android Kamera / Google Lens | Nej | Samme, ingen nativ parsing. |
| Kommerciel OCR (f.eks. regningsbetalingstjenester) | Ja | Bankkvalitets-OCR-værktøj læser QR-bills ind i AP/AR-pipelines. |
Se også
- /swiss-qr-bill-generator/, generatoren med IBAN-validering integreret.
- /standards/, tilbage til standardsoversigten.
- SIX Implementation Guidelines, den autoritative specifikation.