La risposta in breve
Perché il riferimento è il dato più prezioso del codice
Lo Swiss QR Code trasporta una decina di informazioni, ma una sola crea il legame tra il pagamento ricevuto e la fattura emessa: il riferimento. Chi paga lo vede solo di passaggio; la banca del creditore, invece, lo restituisce nell’avviso di accredito dettagliato (file camt.054), e il software contabile lo utilizza per abbinare automaticamente l’incasso. Senza riferimento strutturato, l’abbinamento si basa sull’importo, sul nome di chi paga o su un testo libero modificabile: tre informazioni poco affidabili.
Lo standard prevede due formati strutturati, esclusivi l’uno dell’altro, più l’assenza di riferimento:
Tipo (elemento Tp) |
Riferimento | Conto richiesto | Lunghezza |
|---|---|---|---|
| QRR | Riferimento QR | QR-IBAN | 27 cifre, sempre |
| SCOR | Creditor Reference ISO 11649 | IBAN ordinario | Da 5 a 25 caratteri alfanumerici |
| NON | Nessuno | IBAN ordinario | L’elemento riferimento resta vuoto |
Il riferimento QR: 27 cifre e un controllo modulo 10 ricorsivo
Il riferimento QR è puramente numerico, lungo esattamente 27 posizioni e non può essere composto unicamente da zeri. La sua struttura interna è libera: l’emittente vi colloca ciò che gli è utile, entro il limite di 26 cifre, e completa con zeri a sinistra. La 27ª cifra è la cifra di controllo.
Il calcolo passo per passo
L’algoritmo modulo 10 ricorsivo è quello del vecchio riferimento PVR. Percorre le 26 cifre da sinistra a destra con un «riporto» iniziale di 0 e una tabella di trasposizione.
| Ingresso (riporto + cifra) mod 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|---|
| Nuovo riporto | 0 | 9 | 4 | 6 | 8 | 2 | 7 | 1 | 3 | 5 |
Per ogni cifra: si sommano il riporto e la cifra, si prende il resto della divisione per 10 e si legge il nuovo riporto nella tabella. Alla fine, la cifra di controllo vale (10 − riporto) mod 10.
Esempio su un riferimento breve, 1234567:
| Cifra | Riporto prima | (riporto + cifra) mod 10 | Riporto dopo |
|---|---|---|---|
| 1 | 0 | 1 | 9 |
| 2 | 9 | 1 | 9 |
| 3 | 9 | 2 | 4 |
| 4 | 4 | 8 | 3 |
| 5 | 3 | 8 | 3 |
| 6 | 3 | 9 | 5 |
| 7 | 5 | 2 | 4 |
Riporto finale 4, cifra di controllo (10 − 4) mod 10 = 6. Il riferimento completo sarebbe 1234567 seguito da 6, completato con zeri a sinistra fino a 27 posizioni. Lo strumento di verifica applica questo calcolo e mostra la cifra attesa in caso di errore.
Progettare la propria numerazione
Tre domande da risolvere prima di configurare il software.
- La banca impone un prefisso? Alcune banche riservano le prime cifre a un identificativo del cliente (spesso sei cifre, eredità del numero di aderente PVR). Deve figurare in ogni riferimento.
- Cosa volete ritrovare nel riferimento? Lo schema corrente è
prefisso bancario+numero cliente+numero fattura, che permette di leggere il riferimento a occhio nudo durante un controllo. Altri riprendono unicamente il numero di fattura. - Un riferimento per fattura o per cliente? Per fattura per tutto ciò che deve essere abbinato automaticamente. Per cliente per i versamenti ricorrenti a importo libero (donazioni, acconti), dove viene accreditato solo il conto cliente.
Evitate di cambiare schema dopo la messa in produzione: i riferimenti già inviati continueranno ad arrivare per mesi.
La Creditor Reference: RF e controllo mod 97-10
La Creditor Reference è definita dalla norma internazionale ISO 11649 e si usa anche nei bonifici SEPA. Inizia con le lettere RF, seguite da due cifre di controllo e poi da 1 a 21 caratteri alfanumerici: in totale da 5 a 25 caratteri. Si associa esclusivamente a un IBAN ordinario e, dalla versione 2.4 delle Implementation Guidelines, è l’unico riferimento strutturato ammesso per una fatturazione in EUR.
Il calcolo passo per passo
Il controllo segue l’algoritmo ISO 7064 mod 97-10, lo stesso dell’IBAN.
- Prendere il riferimento senza i primi quattro caratteri e aggiungervi in coda
RF00. - Sostituire ogni lettera con il suo valore numerico: A = 10, B = 11 … Z = 35 (R = 27, F = 15).
- Calcolare il resto della divisione del numero ottenuto per 97.
- Le cifre di controllo valgono
98 − resto, su due posizioni.
Per verificare un riferimento esistente: spostare i primi quattro caratteri alla fine, convertire le lettere e assicurarsi che il resto modulo 97 valga 1. Su RF18 5390 0754 7034, la stringa 539007547034 + RF18 diventa 539007547034271518, il cui resto per 97 è 1: il riferimento è valido.
Stampa sulla sezione pagamento
Lo standard fissa la presentazione visibile di ogni riferimento, sotto il titolo «Riferimento»:
- riferimento QR: a blocchi, iniziando con 2 cifre e poi 5 gruppi di 5:
21 00000 00003 13947 14300 09017; - Creditor Reference: a blocchi di 4, l’ultimo dei quali può essere più corto:
RF18 5390 0754 7034. Gli zeri iniziali possono essere omessi nella parte visibile.
Nello Swiss QR Code il riferimento è codificato senza spazi.
Cosa restituisce la banca
Al momento del pagamento, il riferimento viaggia con l’ordine (messaggio pain.001 emesso dalla banca di chi paga) e torna al creditore nell’avviso di accredito dettagliato camt.054, elemento RmtInf/Strd/CdtrRefInf/Ref. Il software di fatturazione lo legge, ritrova la fattura aperta e la salda. In caso di pagamento parziale o multiplo, il riferimento permette di raggruppare gli incassi sulla stessa fattura.
Il tipo NON non trasporta nulla di strutturato: la comunicazione non strutturata (140 caratteri) torna così come l’ha lasciata chi paga, spesso modificata o vuota. Per questo motivo questa variante si limita ai volumi ridotti.
Errori frequenti
- Riferimento troncato a 26 cifre: manca la cifra di controllo, il codice viene rifiutato.
- Zeri iniziali eliminati nel codice: il riferimento deve essere codificato su 27 posizioni, solo la visualizzazione può ometterli.
- Riferimento QR con un IBAN ordinario, o Creditor Reference con un QR-IBAN: coppie vietate.
- Prefisso bancario dimenticato: il pagamento arriva, ma la banca può rifiutarlo o trattarlo come eccezione.
- Spazi codificati nel codice: il riferimento leggibile è raggruppato, quello codificato no.
- Riferimento riutilizzato da una fattura all’altra: abbinamento impossibile da automatizzare.
Prima di qualsiasi messa in produzione, fate passare una serie di fatture di prova nel portale di validazione di SIX e controllate qualche riferimento nel nostro strumento di verifica.
Fonti e riferimenti
- SIX Interbank Clearing, Implementation Guidelines svizzere per la QR-fattura, versione 2.3, capitolo 2.12 «Riferimenti cliente», elemento RmtInf e Allegato B «Modulo 10 ricorsivo». ↗
- ISO 11649:2009, Financial services — Core banking — Structured creditor reference to remittance information.
- ISO/IEC 7064:2003, Information technology — Security techniques — Check character systems (MOD 97-10).
- SIX, Portale di validazione QR-fattura. ↗