Cifra di controllo CUIT/CUIL Argentina
Inserisca 20-12345678 e otterrà la cifra di controllo 6, quindi il CUIT completo è 20-12345678-6; se digita 20-12345678-7 la convalida fallisce. Individua gli errori di battitura in fatture, anagrafiche fornitori e buste paga prima che creino problemi. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- CUIT
- 20-12345678
- Modalità di calcolo
- Compute
- Input
- 2012345678
- Cifra di controllo
- 6
- Con cifra di controllo
- 20123456786
I numeri CUIT e CUIL identificano persone e imprese nei flussi fiscali, di busta paga e bancari in Argentina. Ogni codice di undici cifre termina con una cifra di controllo derivata da una ponderazione fissa delle prime dieci cifre secondo la regola dell'AFIP (Administración Federal de Ingresos Públicos). Una cifra del corpo errata o una coppia scambiata spesso rompe tale checksum, quindi convalidare la cifra di controllo prima di emettere una fattura, aprire un fornitore o accettare un file di busta paga intercetta presto molti errori di digitazione.
Che cos'è la cifra di controllo CUIT/CUIL argentina e come funzionano i pesi
Un CUIT (Clave Única de Identificación Tributaria) o CUIL (Clave Única de Identificación Laboral) è un identificatore di undici cifre usato nei sistemi fiscali, previdenziali, bancari e commerciali argentini. La forma stampata è di solito XX-XXXXXXXX-X: un prefisso di tipo a due cifre, un corpo di otto cifre (spesso un numero di documento) e una cifra di controllo finale.
Quest'ultima cifra non è decorativa: viene calcolata in modo che una somma ponderata delle prime dieci cifre, con i moltiplicatori fissi cinque, quattro, tre, due, sette, sei, cinque, quattro, tre e due da sinistra a destra, produca un valore il cui resto modulo undici determini il controllo. Dopo aver sommato cifra per peso in ogni posizione, l'algoritmo prende undici meno (somma modulo undici). Se il risultato è undici la cifra di controllo è zero; se è dieci la cifra è nove; altrimenti il risultato è la cifra stessa.
Quando qualcuno digita 20-12345678-6 come 20-12345678-7, la somma non coincide più e la convalida fallisce. La stessa regola intercetta molte sostituzioni di una sola cifra in import ERP, gateway di fatturazione elettronica e moduli di onboarding HR in cui gli operatori riscrivono numeri da carta o PDF. Questo strumento applica quella ponderazione standard AFIP su cifre pure dopo la rimozione opzionale dei trattini.
Non interroga l'AFIP, non dimostra che un contribuente esista né assegna un codice di tipo: verifica solo che la stringa di cifre sia coerente con l'algoritmo di controllo pubblicato. Rispetto agli ausili CPF brasiliano o RFC messicano, la regola argentina è specifica di questo layout a undici cifre e di questi dieci moltiplicatori.
Dove le cifre di controllo CUIT si inseriscono nei flussi fiscali, di busta paga e commerciali
I sistemi di fatturazione elettronica e di addebito memorizzano il CUIT di cliente o fornitore su ogni documento legale; una sola cifra errata in fase di onboarding può inviare XML fiscale alla parte sbagliata o far fallire in seguito l'autorizzazione AFIP. Le piattaforme di busta paga e HR collegano un CUIL a ciascun dipendente; l'importazione batch di file di documento nazionale produce spesso errori di una cifra che il controllo intercetta prima della prima busta.
Banche e gateway di pagamento che accettano identificativi fiscali argentini per KYC o metadati di bonifico possono ricalcolare la cifra senza chiamare un registro esterno, filtrando presto rumore OCR e catture parziali. I team di prodotto che già espongono strumenti generali Luhn o ISO 7064 devono comunque usare questa capacità specifica CUIT per i campi di identificativo fiscale argentino affinché pesi, limiti di lunghezza e formato dei trattini corrispondano al dominio.
Non consideri una cifra di controllo CUIT corretta come prova che la persona o l'impresa sia correttamente identificata, attiva presso l'AFIP, autorizzata a fatturare o presente in un registro ufficiale: dimostra solo che la stringa di cifre è coerente con l'algoritmo di controllo CUIT/CUIL argentino.
Casi d'uso
Revisionare le colonne CUIT in file partner e di busta paga
Convalidi in batch ogni CUIT/CUIL di un import CSV e isoli le righe la cui cifra di controllo non corrisponde più al valore atteso ricalcolato.
Domande frequenti
Che cos'è la cifra di controllo CUIT/CUIL argentina?
È una cifra finale unica calcolata con i pesi AFIP 5,4,3,2,7,6,5,4,3,2 sulle prime dieci cifre e poi modulo 11 (11 si mappa su 0 e 10 su 9), così la maggior parte degli errori di una sola cifra rompe la checksum.
Cosa succede con lettere, spazi o lunghezza errata?
Fornisca solo cifre 0-9 (trattini opzionali); compute richiede dieci cifre e validate undici. Le attività di convalida fallite non vengono addebitate.
Lo strumento di cifra di controllo CUIT è gratis?
Lo strumento del browser è gratis e gira in locale.
Cosa succede quando il calcolo dà 10 o 11?
La regola sottrae da 11 il resto della divisione per 11 della somma ponderata. Se il risultato è 11 la cifra di controllo è 0, se è 10 diventa 9, e qualsiasi altro risultato è già la cifra di controllo.
Un CUIT valido prova che il contribuente esiste?
No. Lo strumento non interroga l'AFIP né alcun registro di contribuenti e non assegna il prefisso di tipo. Una cifra corretta indica solo che le cifre sono coerenti con la regola pubblicata.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/enc/cuit-argentina \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"cuit":"20-12345678"}'const res = await fetch("https://api.kit.forhosting.com/enc/cuit-argentina", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"cuit": "20-12345678"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/cuit-argentina",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"cuit": "20-12345678"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/cuit-argentina", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"cuit":"20-12345678"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"cuit":"20-12345678"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/cuit-argentina", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"cuit": "20-12345678"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.cuit_argentina",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Questa capacità calcola la cifra di controllo CUIT/CUIL a partire da un payload di dieci cifre (con o senza i trattini usuali), oppure convalida un numero completo di undici cifre che include già la cifra finale, e segnala l'input non valido invece di rimuovere in silenzio lettere o punteggiatura. La usi gratis nel browser o chiami l'API KIT al prezzo pubblicato; entrambi i percorsi eseguono la stessa aritmetica deterministica senza consultazione di rete e senza registro di contribuenti reali.
Che cos'è la cifra di controllo CUIT/CUIL argentina e come funzionano i pesi
Rispetto al Luhn mod-10 di carte e conti generali, lo schema CUIT usa un vettore di pesi fisso da sinistra a destra e il modulo undici, quindi non si deve riutilizzare un validatore Luhn sui campi CUIT. Sapere quale schema serve evita una falsa fiducia quando un'utilità generica di cifra di controllo accetta una stringa che non è un CUIT o CUIL ben formato.
Come calcolare una cifra di controllo o convalidare un CUIT/CUIL completo
Invii un campo cuit con cifre da zero a nove, opzionalmente separate dai trattini standard. La modalità validate attende un numero completo di undici cifre con la cifra di controllo finale (ad esempio 20-12345678-6 o 20123456786). Stringhe vuote, cuit assente, valori di mode non validi e lunghezze errate (non dieci cifre per compute, non undici per validate) falliscono prima di qualsiasi somma ponderata e non vengono addebitati. Preferisca compute quando assembla un CUIT da un prefisso di tipo e un corpo documento noti; preferisca validate quando un utente, un file partner o un'etichetta scansionata fornisce un numero completo e le serve un filtro booleano prima di una consultazione AFIP o di dati anagrafici interni. Gli spazi intorno al valore vengono tagliati; lettere, altra punteggiatura, trattini doppi o trattini iniziali o finali vengono rifiutati come input malformato con invalid_input così non accetta mai un valore ripulito in silenzio. La modalità compute è il predefinito: fornisca esattamente dieci cifre senza la cifra di controllo (ad esempio 20-12345678 o 2012345678) e il motore restituisce check_digit come stringa di un carattere, with_check come la stringa completa di undici cifre inclusa quella cifra, e formatted nella forma con trattini XX-XXXXXXXX-X usata su fatture e moduli. La risposta indica valid true quando la cifra ricalcolata coincide con l'ultima, e include sempre check_digit, expected_check_digit, payload senza l'ultima cifra e formatted per una visualizzazione coerente. Poiché il percorso è parse puro, senza orologio, fonte casuale né rete, lo stesso input produce sempre lo stesso JSON sullo strumento gratuito del browser e sull'API. A $0.002 per richiesta riuscita può filtrare import massivi di fornitori, moduli di onboarding e job ETL senza negoziare un livello su misura.
Dove le cifre di controllo CUIT si inseriscono nei flussi fiscali, di busta paga e commerciali
La modalità validate in ingresso blocca il salvataggio quando valid è false e può mostrare expected_check_digit affinché l'operatore corregga il modulo prima di scrivere il record.
Casi di integrazione
Filtrare i campi CUIT nei moduli fornitori e clienti
Quando un utente invia un CUIT completo, chiami la modalità validate e blocchi il salvataggio se valid è false, mostrando expected_check_digit per correggere un solo errore di digitazione prima di scrivere il record ERP.
Calcolare le cifre di controllo nella creazione o nel completamento di ID
Da un prefisso di tipo e un corpo di otto cifre, chiami la modalità compute e memorizzi with_check o formatted così ogni nuova stringa CUIT/CUIL porta la cifra finale corretta prima di stampa o esportazione.
Domande tecniche
Come calcola una cifra di controllo CUIT con questa API?
Invii un POST con cuit uguale alle dieci cifre di payload (trattini opzionali) e mode compute (o ometta mode). La risposta include check_digit, with_check e formatted come XX-XXXXXXXX-X.
Come convalida un CUIT o CUIL completo?
Invii un POST con la stringa completa di undici cifre e mode validate. La risposta include valid, check_digit, expected_check_digit, payload e formatted.