# 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`
- **Domain:** banking
- **Category:** protocol_error
- **Error Code:** `SIX_QR_CODE_REJECTION`
- **Verification:** ai_generated
- **Fix Rate:** 80%

## 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).

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| Swiss QR Code v2.2 | active | — | — |
| SIX Interbank Clearing 2024 | active | — | — |
| ISO 20022 Swiss Implementation 2023 | active | — | — |

## Workarounds

1. **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').** (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').
   ```
2. **Integrate with a Swiss e-billing platform like Twint or BillPay which automatically generates compliant QR codes.** (85% success)
   ```
   Integrate with a Swiss e-billing platform like Twint or BillPay which automatically generates compliant QR codes.
   ```
3. **Verify the QR code using the SIX validation tool (https://www.six-group.com/en/qr-bill/validation.html) before sending invoices.** (80% success)
   ```
   Verify the QR code using the SIX validation tool (https://www.six-group.com/en/qr-bill/validation.html) before sending invoices.
   ```

## Dead Ends

- **** — Swiss banks only scan Swiss QR Codes (ISO 20022); other barcode formats are not recognized by the payment system. (100% fail)
- **** — Swiss QR-IBANs are required for electronic invoicing; regular IBANs on QR bills are rejected by the system. (95% fail)
- **** — The Swiss QR Code requires specific fields (IBAN, amount, creditor reference) in a fixed order; malformed codes are invalid. (90% fail)
