ForHosting KIT · Utilidades de desarrollo

Dígito de control GSTIN India

Para el cuerpo 27AAPFU0939F1Z el carácter de control es V, y el GSTIN completo queda 27AAPFU0939F1ZV. Calcule ese último carácter para un formulario o una importación, o revise el GSTIN que le envió un proveedor antes de guardarlo. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Número
27AAPFU0939F1Z
Obtiene
Modo de cálculo
Compute
Entrada
27AAPFU0939F1Z
Carácter de control
V
Con dígito de control
27AAPFU0939F1ZV

Un GSTIN indio (Goods and Services Tax Identification Number) es un identificador fiscal alfanumérico de quince caracteres usado en facturas, e-way bills y registros de alta. El último carácter es de control y se obtiene de los catorce primeros con una regla fija de pesos en base treinta y seis, de modo que una letra o dígito mal escrito suele fallar la validación antes de guardarse el número. Esta capacidad implementa ese algoritmo de estilo oficial: mapea cada carácter a un punto de código de cero a treinta y cinco, multiplica por factores alternos uno y dos desde la izquierda, pliega cada producto con división entera entre treinta y seis más el resto, suma los hashes y devuelve el residuo complementario entre cero y nueve o A y Z. Use el modo compute cuando solo disponga del cuerpo de catorce caracteres y necesite el carácter final para un formulario o una importación de datos maestros; use validate cuando un socio, un ERP o un usuario envíe un GSTIN completo de quince caracteres y necesite un indicador valid claro más el carácter esperado para mensajes de error.

Cómo se calcula el carácter de control del GSTIN de India

Un GSTIN tiene siempre quince caracteres cuando se escribe sin espacios ni puntuación. Los dos primeros dígitos codifican el estado; los diez siguientes son el permanent account number (PAN) del contribuyente en el patrón habitual de cinco letras, cuatro dígitos y una letra; el decimotercer carácter distingue entidades que comparten el mismo PAN; el decimocuarto suele ser Z en un alta normal de contribuyente; y el decimoquinto es el carácter de control que no debe inventar a mano.

Para calcularlo, tome solo los catorce primeros caracteres y convierta cada uno con el alfabeto de cero a nueve y luego A a Z, de modo que cero mapea al código cero y Z al código treinta y cinco. Desde la izquierda, multiplique los puntos de código sucesivos por los factores alternos uno, dos, uno, dos, y así sucesivamente. Por cada producto P, sume el cociente entero de P entre treinta y seis más P módulo treinta y seis a un acumulado.

Tras las catorce posiciones, tome la suma módulo treinta y seis, réstela de treinta y seis, reduzca de nuevo módulo treinta y seis para que un resto cero dé código de control cero, y mapee el código resultante con el mismo alfabeto. La cadena completa de quince caracteres debe llevar exactamente ese carácter final. El algoritmo es determinista y local: sin llamada de red al portal GST, sin catálogo de contribuyentes y sin reloj.

Esta herramienta no consulta si el registro está activo, no expande un GSTIN a razón social o nombre comercial, y no afirma que un checksum válido implique un régimen fiscal concreto: solo prueba que la cadena está bien formada bajo la regla de pesos en base treinta y seis. Frente a validadores multi-país, la intención de búsqueda es estrecha: quien necesita una calculadora del dígito de control GSTIN de India sobre cuerpos de catorce caracteres, no un comprobador genérico de VAT o EIN.

Dónde encajan los dígitos de control GSTIN en flujos reales

Los equipos de finanzas y datos maestros reciben cuerpos internos de catorce caracteres y deben añadir el carácter de control oficial del GSTIN antes de escribir el identificador en facturas fiscales, cargas de e-invoice o perfiles de vendedor en marketplaces que rechazan números GST inválidos. Los portales de cuentas a pagar validan GSTIN de quince caracteres en el alta de proveedores para que una sola transposición no cree un proveedor fantasma ni un desajuste de pago en reverse charge.

Los trabajos de calidad de datos recorren cada columna GSTIN de un export de CRM o ERP, llaman al modo validate y ponen en cuarentena las filas con valid false, capturando tanto ediciones humanas como errores de generadores. No trate un control GSTIN correcto como prueba de registro activo ante la autoridad fiscal ni de un régimen concreto; solo demuestra que el carácter base-36 es coherente con el cuerpo de catorce caracteres bajo los pesos alternos estándar.

Auditar columnas GSTIN en exports de ERP y CRM

Valide por lotes cada GSTIN de quince caracteres en un fichero de proveedores o clientes y aísle las filas cuyo carácter de control ya no coincide con el valor esperado recalculado.

¿Qué es el dígito de control del GSTIN de India?

Es el decimoquinto carácter de un GSTIN, calculado con puntos de código base-36 y factores alternos sobre los catorce primeros caracteres, de modo que los errores de tecleo e importación suelen detectarse antes de guardar o imprimir el identificador en una factura fiscal.

¿Qué ocurre con longitud incorrecta, símbolos o forma inválida?

Un GSTIN completo cuyo carácter de control no coincide devuelve valid false. Las tareas de validación fallidas no se facturan.

¿Es gratuita la herramienta del dígito de control GSTIN de India?

La herramienta del navegador es gratuita y se ejecuta en local.

¿Qué significa cada parte de un GSTIN?

Los dos primeros dígitos son el código del estado; los diez siguientes, el PAN del contribuyente; el decimotercero distingue entidades con el mismo PAN; el decimocuarto suele ser Z, y el último es el carácter de control.

¿Cuándo conviene calcular y cuándo comprobar un GSTIN?

Calcule cuando solo tiene los 14 primeros caracteres y necesita el último para completar el número. Compruebe cuando alguien le entrega un GSTIN completo de 15 caracteres y quiere saber si el carácter final cuadra.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/enc/gstin-india

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/enc/gstin-india \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"number":"27AAPFU0939F1Z"}'
{
  "number": "27AAPFU0939F1Z"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.gstin_india",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Entrada no alfanumérica, longitudes incorrectas y cuerpos que no coinciden con la forma estándar estado más PAN fallan con invalid_input en lugar de recortarse en silencio, así no almacena un NIF a medio limpiar. La misma aritmética pura se ejecuta gratis en el navegador y al precio de API publicado.

Contrato de entrada, modos y comportamiento ante errores

Envíe un campo number que contenga solo caracteres de A a Z y de cero a nueve; las minúsculas se convierten a mayúsculas automáticamente. Una longitud incorrecta es un error explícito que nombra el modo y la longitud enviada—catorce en compute, quince en validate—para que los formularios muestren un mensaje preciso sin adivinar. Cadenas vacías, number ausente, valores de mode inválidos y cuerpos que fallan la forma estado más PAN fallan antes de confiar en la suma ponderada y no se facturan. Prefiera compute al completar identificadores; prefiera validate al condicionar una consulta o importación a un GSTIN completo de un usuario o fichero de socio. Espacios, puntos, guiones, barras y otros símbolos se rechazan como entrada no alfanumérica con invalid_input para que un valor recortado en silencio no llegue al almacenamiento. El modo compute es el predeterminado: el motor exige exactamente catorce caracteres con la forma estándar del cuerpo GSTIN (estado de dos dígitos, segmento PAN de cinco letras, cuatro dígitos y una letra, y dos caracteres finales de entidad y valor por defecto), devuelve check_character como un solo carácter y with_check como el GSTIN de quince caracteres que puede imprimir o persistir. El modo validate exige exactamente quince caracteres; la respuesta indica valid true cuando el carácter final coincide con el expected_check_character recalculado e incluye payload (los catorce primeros), los caracteres de control dados y esperados, y length quince. Alias como gstin, code y text se aceptan para el mismo campo de carga, de modo que las integraciones que ya hablan de «gstin» no necesitan renombrar. Como la ruta es pure parse sin reloj, azar ni red, el mismo cuerpo JSON produce siempre el mismo resultado en la herramienta gratuita del navegador y en la API a $0.002 por solicitud correcta.

Dónde encajan los dígitos de control GSTIN en flujos reales

Los formularios de registro de comercio electrónico y B2B pueden recalcular expected_check_character y mostrar una corrección amable cuando una empresa india pega un número con el último carácter mal escrito.

Completar un cuerpo GSTIN de 14 caracteres para facturas

Llame al modo compute con el cuerpo de catorce caracteres, guarde with_check e introduzca el GSTIN de quince caracteres en su e-invoice, e-way bill o perfil de vendedor del marketplace.

Validar GSTIN completos tecleados o importados al entrar

Cuando un formulario o CSV envíe quince caracteres, llame al modo validate y bloquee el guardado si valid es false, mostrando expected_check_character para corregir un solo error de tecleo.

¿Cómo se calcula un carácter de control GSTIN con esta API?

Haga POST con number de exactamente catorce caracteres alfanuméricos y mode compute (o omita mode). La respuesta incluye check_character y with_check (el GSTIN completo de quince caracteres).

¿Cómo se valida un GSTIN completo de quince caracteres?

Haga POST con la cadena de quince caracteres y mode validate. La respuesta incluye valid, check_character, expected_check_character y payload (caracteres sin el último control).

Ver la documentación completa del KIT →