AI 告诉瑞士自由职业者使用 QR-IBAN 开具发票,但没有提到 QR 账单需要特定的条码格式才能自动处理
AI tells a Swiss freelancer to issue invoices with QR-IBAN without mentioning that the QR bill requires a specific barcode format for automated processing
ID: banking/switzerland-qr-bill-barcode-format
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| Swiss QR Bill Standard v2.0 (2022) | active | — | — | — |
| SIX QR Bill Library v3.1 | active | — | — | — |
| ISO 20022 Payment Initiation v4.0 | active | — | — | — |
根因分析
瑞士 QR 账单需要标准化的条码(瑞士 QR 码),具有特定的数据结构(基于 ISO 20022),包含 IBAN、金额和收款人信息;使用不带正确格式的纯 QR-IBAN 会导致付款被拒绝或人工处理延迟。
English
Swiss QR bills require a standardized barcode (Swiss QR Code) with a specific data structure (ISO 20022-based) containing the IBAN, amount, and creditor info; using a plain QR-IBAN without the proper format leads to payment rejection or manual processing delays.
官方文档
https://www.six-group.com/en/products-services/banking-services/payment-transactions/qr-bill.html解决方案
-
Use the official SIX QR Bill library (https://github.com/ebanking-ch/qrbill) to generate compliant QR codes.
-
Validate the QR code using the SIX QR Bill validator tool: https://www.qrbill.ch/validator/
-
Example code to generate a Swiss QR bill (Python using qrbill library): from qrbill import QRBill my_bill = QRBill( account='CH4431999123000889012', creditor={ 'name': 'Jane Doe', 'pcode': '1000', 'city': 'Lausanne', 'country': 'CH' }, amount=199.95, currency='CHF' ) my_bill.as_svg('invoice_qr.svg') print('QR bill generated successfully')
无效尝试
常见但无效的做法:
-
95% 失败
Swiss QR bills require a structured payload (e.g., 'SPC' prefix, version, amount, etc.); generic QR codes are not recognized by Swiss banking apps.
-
80% 失败
The QR bill standard mandates the amount; without it, the payment is rejected by the bank's automated system.
-
75% 失败
The QR bill format was updated in 2022 (version 2.0); older libraries produce invalid barcodes.