Dígito de control NIP polaco
Las nueve cifras 526104082 llevan el dígito de control 8, y el NIP queda 526-104-08-28. Escriba nueve cifras para completar un número fiscal polaco, o las diez para detectar un dígito mal tecleado o intercambiado antes de guardar una factura o un proveedor. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Nip
- 526104082
- Modo de cálculo
- Compute
- Entrada
- 526104082
- Dígito de control
- 8
- Con dígito de control
- 5261040828
- Formateado
- 526-104-08-28
El número de identificación fiscal polaco (NIP, Numer Identyfikacji Podatkowej) es un código de diez dígitos usado en facturas, registros mercantiles, nóminas y campos fiscales de comercio electrónico en Polonia. El último dígito es un dígito de control derivado de una ponderación fija de los primeros nueve dígitos según la regla modular estándar de los sistemas fiscales polacos. Un solo dígito mal tecleado o un par intercambiado suele romper esa suma de control, de modo que validar el NIP antes de emitir una factura, dar de alta un proveedor o aceptar un archivo de socio detecta muchos errores de tecleo a tiempo. Esta capacidad calcula el dígito de control NIP polaco a partir de una carga de nueve dígitos (con o sin guiones habituales), o valida un número completo de diez dígitos que ya incluye el dígito final, e informa la entrada incorrecta en lugar de inventar un dígito en silencio.
Qué es el dígito de control NIP polaco y cómo funcionan los pesos
Un NIP identifica a contribuyentes y entidades legales en flujos fiscales, comerciales y administrativos polacos. Los formularios impresos suelen agrupar dígitos con guiones como XXX-XXX-XX-XX, pero el valor subyacente son siempre diez dígitos decimales. Los primeros nueve forman el cuerpo; el décimo lo determina por completo un algoritmo de control público y no lo elige libremente el contribuyente.
La ponderación oficial multiplica esos nueve dígitos, de izquierda a derecha, por la secuencia fija seis, cinco, siete, dos, tres, cuatro, cinco, seis y siete. Se suman los productos y el resto de esa suma módulo once es el dígito de control candidato. Cuando el resto está entre cero y nueve, ese valor es el dígito de control y completa una cadena NIP bien formada.
Cuando el resto es diez, no existe un único dígito decimal de control para ese cuerpo: la combinación de nueve dígitos no es asignable como NIP válido según la regla estándar. Ese caso especial explica por qué algunas cadenas aleatorias de nueve dígitos nunca aparecen como números fiscales reales incluso antes de consultar un registro.
Frente al Luhn mod-diez de tarjetas de pago, el esquema NIP usa un vector de pesos fijo de izquierda a derecha y módulo once, de modo que no debe reutilizar un validador Luhn en campos de identificación fiscal polaca. Frente a tablas de letra del DNI español o pesos del CUIT argentino, la regla NIP polaca es específica de este diseño de diez dígitos y estos nueve multiplicadores.
Saber qué esquema necesita evita una falsa confianza cuando una utilidad genérica de dígito de control acepta una cadena que no es un NIP bien formado. Esta herramienta aplica la ponderación estándar sobre dígitos puros tras quitar guiones y espacios opcionales. No consulta portales gubernamentales, no demuestra que exista una empresa ni asigna un código de tipo: solo comprueba que la cadena de dígitos es coherente con el algoritmo de control publicado.
Dónde encajan los dígitos de control NIP en flujos fiscales, de facturación y comerciales
Los sistemas de facturación electrónica y de cobro guardan el NIP del cliente o proveedor en cada documento legal; un solo dígito mal escrito en el alta puede enviar XML fiscal a la parte equivocada o fallar después la autorización. Los checkouts de comercio electrónico que recogen el identificador fiscal de una empresa polaca en pedidos B2B pueden recomputar el dígito de control sin llamar a un registro externo, filtrando ruido OCR y capturas parciales de forma temprana.
Los equipos de producto que ya exponen herramientas generales Luhn o ISO 7064 deben usar aún esta capacidad específica de NIP en campos de identificación fiscal polaca para que pesos, límites de longitud y formato de guiones coincidan con el dominio. Las páginas educativas y de SEO que posicionan frases como dígito de control NIP polaco o validador NIP Polonia necesitan una herramienta gratuita en vivo cuya ruta de navegador coincida con la automatización para que las capturas de tutoriales sigan siendo exactas.
No trate un dígito de control NIP correcto como prueba de que la persona o empresa está bien identificada, activa en la oficina fiscal, autorizada a facturar o presente en un registro oficial: solo demuestra que la cadena de dígitos es coherente con el algoritmo de control NIP polaco.
Qué puede hacer con ella
Auditar columnas NIP en archivos de socios y facturas
Valide en lote cada NIP de una importación CSV y ponga en cuarentena las filas cuyo dígito de control ya no coincida con el valor esperado recomputado.
Preguntas frecuentes
¿Cómo se calcula el dígito de control del NIP polaco?
Multiplique los primeros nueve dígitos por los pesos 6, 5, 7, 2, 3, 4, 5, 6 y 7, sume los productos y tome la suma módulo 11. Si el resto es 0–9 ese es el dígito de control; si es 10 el cuerpo no es una base NIP válida.
¿Cuál es la diferencia entre los modos compute y validate?
Compute toma nueve dígitos y devuelve el dígito de control y el NIP completo de diez dígitos. Validate toma diez dígitos incluyendo el final y indica si coincide con el dígito de control recomputado.
¿Se permiten guiones y espacios?
Sí. Los separadores habituales se eliminan antes del análisis.
¿Qué ocurre si el dígito de control es incorrecto?
En el modo validate la respuesta sigue incluyendo el dígito esperado cuando existe, y valid es false.
¿Por qué algunos números de nueve cifras no tienen dígito de control válido?
Porque cuando la suma ponderada dividida entre once deja un resto de diez, ningún dígito puede completarla. Ese cuerpo nunca será un NIP válido, y la herramienta lo indica en lugar de inventar una cifra.
Herramientas relacionadas
Para desarrolladores — acceso por API
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.
Endpoint de API
¿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.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/enc/nip-poland \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"nip":"526104082"}'const res = await fetch("https://api.kit.forhosting.com/enc/nip-poland", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"nip": "526104082"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/nip-poland",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"nip": "526104082"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/nip-poland", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"nip":"526104082"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"nip":"526104082"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/nip-poland", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"nip": "526104082"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.nip_poland",
"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.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Úselo gratis en el navegador o llame a la API de KIT al precio publicado; ambas rutas ejecutan la misma aritmética determinista sin consulta de red y sin registro de contribuyentes reales.
Cómo calcular un dígito de control o validar un NIP completo
Envíe un campo nip con dígitos del cero al nueve, opcionalmente separados por guiones o espacios. El modo validate espera un número completo de diez dígitos con el dígito de control final (por ejemplo 5261040828 o 526-104-08-28). Cadenas vacías, nip ausente, valores de mode inválidos y longitudes incorrectas fallan antes de cualquier suma ponderada y no se facturan. Prefiera compute cuando ensamble un NIP a partir de un cuerpo de nueve dígitos conocido; prefiera validate cuando un usuario, un archivo de socio o una etiqueta escaneada aporte un número completo y necesite un filtro booleano antes de una consulta a un registro o a datos maestros. Letras, otra puntuación, guiones dobles o guiones al inicio o al final se rechazan como entrada mal formada con invalid_input para que nunca acepte un valor limpiado en silencio. El modo compute es el predeterminado: proporcione exactamente nueve dígitos sin el dígito de control (por ejemplo 526104082 o un cuerpo de nueve dígitos con guiones) y el motor devuelve check_digit como cadena de un carácter, with_check como la cadena completa de diez dígitos incluyendo ese dígito, y formatted en la forma habitual XXX-XXX-XX-XX. Si la suma ponderada módulo once es diez, el modo compute falla con invalid_input porque no existe dígito final válido para ese cuerpo. La respuesta indica valid true cuando el dígito recomputado coincide con el último, e incluye siempre check_digit, payload sin el último dígito, weighted_sum_mod11 y formatted para una visualización coherente; cuando existe un dígito esperado válido también se devuelve como expected_check_digit. Como la ruta es parse puro, sin reloj, fuente aleatoria ni red, la misma entrada produce siempre el mismo JSON en la herramienta gratuita del navegador y en la API. A $0.002 por solicitud exitosa puede filtrar importaciones masivas de proveedores, formularios de alta y trabajos ETL sin negociar un tramo a medida.
Dónde encajan los dígitos de control NIP en flujos fiscales, de facturación y comerciales
El modo validate a la entrada bloquea el guardado cuando valid es false y puede mostrar expected_check_digit para que el operador corrija el formulario antes de escribir el registro. Las importaciones de nómina, contabilidad y CRM reciben NIP de socios desde hojas de cálculo donde un dígito final erróneo rechazaría un lote entero; un oráculo determinista que devuelve valid y with_check permite marcar filas antes de producción. En todo flujo el contrato es el mismo: dígitos con guiones opcionales, compute o validate, JSON estructurado que puede probarse con goldens, comportamiento idéntico gratis en el navegador o con saldo KIT prepago, y fallo honesto cuando la entrada está mal formada o el cuerpo tiene resto diez.
Casos de integración
Filtrar campos NIP en formularios de proveedores y clientes
Cuando un usuario envía un NIP polaco completo, llame al modo validate y bloquee el guardado si valid es false, mostrando expected_check_digit para corregir un solo error de tecleo antes de escribir el registro ERP.
Calcular el dígito final al completar identificadores
A partir de un cuerpo de nueve dígitos, llame al modo compute y guarde with_check o formatted para que cada nueva cadena NIP lleve el dígito final correcto antes de imprimir, exportar o generar facturas.
Preguntas técnicas
¿Cuánto cuesta la calculadora de dígito de control NIP polaco?
La herramienta del navegador es gratuita. Las solicitudes a la API usan saldo KIT prepago a $0.002 por llamada exitosa; la entrada inválida no se factura.