AI tells a Swiss freelancer to issue invoices with QR-IBAN without mentioning that the QR bill requires a specific barcode format (Swiss QR Code) for processing
ID: banking/qr-iban-barcode-requirement
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| Swiss QR Code v2.2 | active | — | — | — |
| SIX Interbank Clearing 2024 | active | — | — | — |
| ISO 20022 Swiss Implementation 2023 | active | — | — | — |
Root Cause
Swiss QR-IBANs (starting with '30' in the account number) mandate the use of the Swiss QR Code (ISO 20022) with a specific data structure (creditor reference, amount, etc.); invoices without the correct QR barcode are rejected by Swiss banks (SIX Interbank Clearing).
generic中文
瑞士QR-IBAN(账号以'30'开头)强制要求使用瑞士QR码(ISO 20022),并带有特定数据结构(债权人参考号、金额等);没有正确QR条码的发票会被瑞士银行(SIX Interbank Clearing)拒绝。
Official Documentation
https://www.six-group.com/en/products-services/banking-services/standardization/iso-20022.htmlWorkarounds
-
90% success Use the official Swiss QR Code generator library (https://github.com/swiss-qr-code/swiss-qr-code) to create invoices; example in Python: from swiss_qr_code import generate_qr; generate_qr(iban='CH4431999123000889012', amount=100.50, reference='RF18539007547034').
Use the official Swiss QR Code generator library (https://github.com/swiss-qr-code/swiss-qr-code) to create invoices; example in Python: from swiss_qr_code import generate_qr; generate_qr(iban='CH4431999123000889012', amount=100.50, reference='RF18539007547034').
-
85% success Integrate with a Swiss e-billing platform like Twint or BillPay which automatically generates compliant QR codes.
Integrate with a Swiss e-billing platform like Twint or BillPay which automatically generates compliant QR codes.
-
80% success Verify the QR code using the SIX validation tool (https://www.six-group.com/en/qr-bill/validation.html) before sending invoices.
Verify the QR code using the SIX validation tool (https://www.six-group.com/en/qr-bill/validation.html) before sending invoices.
中文步骤
Use the official Swiss QR Code generator library (https://github.com/swiss-qr-code/swiss-qr-code) to create invoices; example in Python: from swiss_qr_code import generate_qr; generate_qr(iban='CH4431999123000889012', amount=100.50, reference='RF18539007547034').
Integrate with a Swiss e-billing platform like Twint or BillPay which automatically generates compliant QR codes.
Verify the QR code using the SIX validation tool (https://www.six-group.com/en/qr-bill/validation.html) before sending invoices.
Dead Ends
Common approaches that don't work:
-
100% fail
Swiss banks only scan Swiss QR Codes (ISO 20022); other barcode formats are not recognized by the payment system.
-
95% fail
Swiss QR-IBANs are required for electronic invoicing; regular IBANs on QR bills are rejected by the system.
-
90% fail
The Swiss QR Code requires specific fields (IBAN, amount, creditor reference) in a fixed order; malformed codes are invalid.