Cifra di controllo GSTIN India
Per il corpo 27AAPFU0939F1Z il carattere di controllo è V, e il GSTIN completo diventa 27AAPFU0939F1ZV. Calcoli quest'ultimo carattere per un modulo o un'importazione, oppure verifichi il GSTIN di un fornitore prima di salvarlo. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Numero
- 27AAPFU0939F1Z
- Modalità di calcolo
- Compute
- Input
- 27AAPFU0939F1Z
- Carattere di controllo
- V
- Con cifra di controllo
- 27AAPFU0939F1ZV
Un GSTIN indiano (Goods and Services Tax Identification Number) è un identificativo fiscale alfanumerico di quindici caratteri usato su fatture, e-way bill e registri di iscrizione. L’ultimo carattere è di controllo e deriva dai primi quattordici con una regola fissa di pesi in base trentasei, così una lettera o una cifra digitata male di solito fa fallire la convalida prima che il numero venga memorizzato. Questa capacità implementa quell’algoritmo in stile ufficiale: mappa ogni carattere su un punto di codice da zero a trentacinque, moltiplica per fattori alternati uno e due da sinistra, ripiega ogni prodotto con divisione intera per trentasei più resto, somma gli hash e mappa il residuo complementare tra zero e nove oppure A e Z. Usi la modalità compute quando dispone solo del corpo di quattordici caratteri e le serve il carattere finale per un modulo o un import di dati anagrafici; usi validate quando un partner, un ERP o un utente invia un GSTIN completo di quindici caratteri e le serve un flag valid chiaro più il carattere atteso per i messaggi di errore.
Come si calcola il carattere di controllo del GSTIN indiano
Un GSTIN ha sempre quindici caratteri quando è scritto senza spazi né punteggiatura. Per calcolarlo, prenda solo i primi quattordici caratteri e converta ciascuno con l’alfabeto da zero a nove e poi da A a Z, così zero mappa al codice zero e Z al codice trentacinque. Da sinistra, moltiplichi i punti di codice successivi per i fattori alternati uno, due, uno, due e così via.
Per ogni prodotto P, aggiunga il quoziente intero di P diviso trentasei più P modulo trentasei a una somma parziale. Dopo le quattordici posizioni, prenda la somma modulo trentasei, la sottragga da trentasei, riduca di nuovo modulo trentasei affinché un resto zero diventi codice di controllo zero, e mappi il codice risultante con lo stesso alfabeto. La stringa completa di quindici caratteri deve portare esattamente quel carattere finale.
L’algoritmo è deterministico e locale: nessuna chiamata di rete al portale GST, nessun catalogo di contribuenti e nessun orologio. Rispetto ai validatori multi-paese, l’intento di ricerca è stretto: chi serve un calcolatore della cifra di controllo GSTIN dell’India su corpi di quattordici caratteri, non un verificatore generico di VAT o EIN.
Casi d'uso
Auditare le colonne GSTIN negli export ERP e CRM
Convalidi in batch ogni GSTIN di quindici caratteri in un file fornitori o clienti e metta in quarantena le righe il cui carattere di controllo non coincide più con il valore atteso ricalcolato.
Domande frequenti
Che cos’è la cifra di controllo del GSTIN indiano?
È il quindicesimo carattere di un GSTIN, calcolato con punti di codice base-36 e fattori alternati sui primi quattordici caratteri, così errori di digitazione e import sono di solito intercettati prima che l’identificativo sia memorizzato o stampato su una fattura fiscale.
Cosa succede con lunghezza errata, simboli o forma non valida?
Un GSTIN completo il cui carattere di controllo non coincide restituisce valid false. Le attività di convalida fallite non vengono fatturate.
Lo strumento della cifra di controllo GSTIN dell’India è gratuito?
Lo strumento nel browser è gratuito e gira in locale.
Cosa indica ogni parte di un GSTIN?
Le prime due cifre sono il codice dello Stato, i dieci caratteri successivi il PAN del contribuente, il tredicesimo distingue le entità con lo stesso PAN, il quattordicesimo di solito è Z e l'ultimo è il carattere di controllo.
Quando conviene calcolare e quando verificare un GSTIN?
Calcoli quando ha solo i primi 14 caratteri e le manca l'ultimo per completare il numero. Verifichi quando riceve un GSTIN completo di 15 caratteri e vuole sapere se il carattere finale torna.
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/gstin-india \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"27AAPFU0939F1Z"}'const res = await fetch("https://api.kit.forhosting.com/enc/gstin-india", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "27AAPFU0939F1Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/gstin-india",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "27AAPFU0939F1Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/gstin-india", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"27AAPFU0939F1Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"27AAPFU0939F1Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/gstin-india", 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
{
"number": "27AAPFU0939F1Z"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.gstin_india",
"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
Input non alfanumerici, lunghezze errate e corpi che non rispettano la forma standard stato più PAN falliscono con invalid_input invece di una pulizia silenziosa, così non memorizza mai un ID fiscale a metà. La stessa aritmetica pura gira gratis nel browser e al prezzo API pubblicato.
Come si calcola il carattere di controllo del GSTIN indiano
Le prime due cifre codificano lo stato; i dieci caratteri successivi sono il permanent account number (PAN) del contribuente nello schema familiare di cinque lettere, quattro cifre e una lettera; il tredicesimo carattere distingue entità che condividono lo stesso PAN; il quattordicesimo è tipicamente Z per un’iscrizione ordinaria del contribuente; e il quindicesimo è il carattere di controllo che non deve inventare a mano.
Contratto di input, modalità e comportamento in errore
Invii un campo number che contenga solo caratteri da A a Z e da zero a nove; le minuscole vengono convertite automaticamente in maiuscole. Una lunghezza errata è un errore esplicito che nomina la modalità e la lunghezza inviata—quattordici per compute, quindici per validate—così i form client mostrano un messaggio preciso senza indovinare. Stringhe vuote, number mancante, valori di mode non validi e corpi che falliscono la forma stato più PAN falliscono prima di fidarsi della somma pesata e non vengono fatturati. Preferisca compute quando emette o completa identificativi; preferisca validate quando subordina una ricerca o un import a un GSTIN completo da un utente o da un file partner. Spazi, punti, trattini, barre e altri simboli sono rifiutati come input non alfanumerico con invalid_input affinché un valore troncato in silenzio non raggiunga mai lo storage. La modalità compute è il predefinito: il motore richiede esattamente quattordici caratteri nella forma standard del corpo GSTIN (stato a due cifre, segmento PAN di cinque lettere, quattro cifre e una lettera, poi due caratteri finali di entità e valore predefinito), restituisce check_character come un solo carattere e with_check come il GSTIN di quindici caratteri che può stampare o persistere. La modalità validate richiede esattamente quindici caratteri; la risposta riporta valid true quando il carattere finale coincide con l’expected_check_character ricalcolato e include payload (i primi quattordici), i caratteri dati e attesi, e length quindici. Alias come gstin, code e text sono accettati per lo stesso campo di payload, così le integrazioni che già parlano di «gstin» non devono rinominare. Poiché il percorso è pure parse senza orologio, sorgente casuale né rete, lo stesso corpo JSON produce sempre lo stesso risultato sullo strumento gratuito del browser e sull’API a $0.002 per richiesta riuscita.
Dove le cifre di controllo GSTIN entrano nei flussi reali
I portali di conti da pagare convalidano GSTIN di quindici caratteri all’onboarding fornitori così una sola trasposizione non crea un fornitore fantasma e uno scostamento di pagamento in reverse charge. I job di qualità dati scorrono ogni colonna GSTIN in un export CRM o ERP, chiamano la modalità validate e mettono in quarantena le righe con valid false—catturando sia modifiche umane sia bug dei generatori. Non tratti un controllo GSTIN superato come prova di iscrizione attiva presso l’autorità fiscale o di un regime specifico; dimostra solo che il carattere base-36 è coerente con il corpo di quattordici caratteri sotto i pesi alternati standard. I team finance e anagrafica ricevono corpi interni di quattordici caratteri e devono aggiungere il carattere di controllo ufficiale del GSTIN prima di scrivere l’identificativo su fatture fiscali, payload e-invoice o profili venditore di marketplace che rifiutano numeri GST non validi. I form di iscrizione e-commerce e B2B possono ricalcolare expected_check_character e mostrare una correzione chiara quando un’impresa indiana incolla un numero con l’ultimo carattere errato.
Casi di integrazione
Completare un corpo GSTIN di 14 caratteri per le fatture
Chiami la modalità compute con il corpo di quattordici caratteri, memorizzi with_check e inserisca il GSTIN di quindici caratteri nella e-invoice, e-way bill o profilo venditore del marketplace.
Convalidare GSTIN completi digitati o importati in ingresso
Quando un form o un CSV invia quindici caratteri, chiami la modalità validate e blocchi il salvataggio se valid è false, mostrando expected_check_character per correggere un solo errore di digitazione.
Domande tecniche
Come si calcola un carattere di controllo GSTIN con questa API?
Invii un POST con number di esattamente quattordici caratteri alfanumerici e mode compute (o ometta mode). La risposta include check_character e with_check (il GSTIN completo di quindici caratteri).
Come si convalida un GSTIN completo di quindici caratteri?
Invii un POST con la stringa di quindici caratteri e mode validate. La risposta include valid, check_character, expected_check_character e payload (caratteri senza l’ultimo controllo).