El Número de Registro Patronal (NRP) no es una combinación aleatoria. Sus posiciones siguen una estructura que permite identificar elementos como el municipio, la serie y la modalidad de aseguramiento. Además, el dígito verificador del NRP permite comprobar matemáticamente la consistencia del registro.
Conocer esa estructura permite validar un NRP desde el punto de vista formal y matemático. Sin embargo, hay una diferencia importante: que un registro tenga la estructura correcta y un dígito verificador válido no demuestra que realmente haya sido asignado por el IMSS.
Si primero quieres conocer qué es el NRP, quién lo asigna y por qué una empresa puede tener varios registros patronales, consulta nuestro artículo práctico dedicado a ese tema.
¿Cómo está formado un NRP?
La documentación técnica del IMSS utilizada para movimientos afiliatorios establece que el registro patronal ocupa 10 posiciones y que posteriormente se agrega un dígito verificador en la posición 11.
Para el registro patronal ordinario, su estructura puede entenderse así:
| Posiciones | Contenido | Ejemplo |
|---|---|---|
| 1 a 3 | Clave del municipio | J41 |
| 4 a 8 | Serie progresiva | 54896 |
| 9 y 10 | Modalidad de aseguramiento | 10 |
| 11 | Dígito verificador | 5 |
Así, un ejemplo técnico completo sería:
J41-54896-10-5
Los guiones únicamente ayudan a visualizar cada bloque. El registro utilizado por los sistemas puede presentarse sin ellos.
El ejemplo sirve para explicar la estructura y el cálculo; no implica que ese NRP corresponda actualmente a un patrón determinado.
Posiciones 1 a 3: clave del municipio
Las primeras tres posiciones corresponden a la clave territorial relacionada con el municipio.
El procedimiento vigente del IMSS para actualizar su Catálogo de Municipios define estas claves como alfanuméricas de tres posiciones:
una letra seguida de dos dígitos.
En nuestro ejemplo:
J41
representa el bloque correspondiente a la clave municipal.
Esto permite realizar una validación mejor que simplemente revisar que exista una letra y dos números. Un sistema puede contrastar esas tres posiciones contra un catálogo vigente del IMSS para comprobar que la clave realmente exista.
También conviene mantener actualizado ese catálogo. El propio procedimiento del Instituto contempla modificaciones por creación, eliminación, cambio de nombre, división o unificación de municipios.
Posiciones 4 a 8: serie del registro patronal
Las siguientes cinco posiciones forman la serie progresiva del registro patronal.
En el ejemplo:
54896
Una validación técnica utilizada por el IMSS contempla para registros alfanuméricos con movimientos a partir del 1 de julio de 1997 un rango de serie de:
10001 a 99999.
Este detalle también permite corregir una confusión que aparece en alguna documentación: la serie no ocupa cuatro posiciones, sino cinco posiciones, de la 4 a la 8.
Para sistemas que deban procesar información histórica es importante no convertir el rango moderno en una regla universal, ya que el propio IMSS contempla reglas diferentes para determinados movimientos anteriores a julio de 1997.
Posiciones 9 y 10: modalidad de aseguramiento
Las posiciones 9 y 10 corresponden a la modalidad de aseguramiento.
En nuestro ejemplo:
10
La modalidad permite distinguir el tipo de aseguramiento bajo el cual opera el registro.
Por ejemplo, la modalidad 10 se utiliza para trabajadores permanentes y eventuales de la ciudad, mientras que existen otras modalidades para diferentes esquemas de aseguramiento.
Para una validación automatizada puede resultar útil comprobar que esas dos posiciones correspondan a una modalidad reconocida. Sin embargo, hay que tener cuidado con validadores excesivamente restrictivos: existen modalidades históricas, especiales o convencionales que pueden requerir reglas adicionales.
Posición 11: dígito verificador
La última posición es el dígito verificador del NRP.
En nuestro ejemplo:
5
Su objetivo es detectar combinaciones incorrectas producidas, por ejemplo, por errores de captura o alteraciones en alguno de los caracteres anteriores.
La documentación del IMSS identifica esta comprobación como algoritmo 10. Una especificación de validación del Instituto señala expresamente que el dígito del registro patronal se valida mediante ese algoritmo.
¿Cómo se calcula el dígito verificador del NRP?
Para explicarlo utilizaremos nuevamente:
J41-54896-10
Todavía no incluimos el dígito verificador porque precisamente queremos calcularlo.
El primer paso es convertir la letra inicial a su valor numérico. Para este cálculo se utiliza una secuencia en la que:
A = 10
B = 11
C = 12
…
J = 19
…
Z = 35
Por tanto:
J = 19
El registro base:
J415489610
se transforma para el cálculo en:
19415489610
A continuación se aplican alternativamente los factores:
2, 1, 2, 1, 2, 1…
comenzando por la izquierda.
| Dígito | Factor | Producto | Valor que se suma |
|---|---|---|---|
| 1 | 2 | 2 | 2 |
| 9 | 1 | 9 | 9 |
| 4 | 2 | 8 | 8 |
| 1 | 1 | 1 | 1 |
| 5 | 2 | 10 | 1 |
| 4 | 1 | 4 | 4 |
| 8 | 2 | 16 | 7 |
| 9 | 1 | 9 | 9 |
| 6 | 2 | 12 | 3 |
| 1 | 1 | 1 | 1 |
| 0 | 2 | 0 | 0 |
Cuando el producto tiene dos dígitos, éstos se suman:
10 → 1 + 0 = 1
16 → 1 + 6 = 7
12 → 1 + 2 = 3
Después sumamos todos los resultados:
2 + 9 + 8 + 1 + 1 + 4 + 7 + 9 + 3 + 1 + 0 = 45
Tomamos la siguiente decena superior:
50
y restamos:
50 − 45 = 5
El dígito verificador es entonces:
5
Por tanto, nuestro ejemplo completo queda:
J41-54896-10-5
Si la suma ya termina exactamente en una decena —por ejemplo 30, 40 o 50— el dígito verificador será 0.
El procedimiento oficial del IMSS identifica la validación como “algoritmo 10”; el desarrollo matemático completo anterior aparece reproducido en materiales técnicos de capacitación utilizados para afiliación y vigencia del Instituto.
¿Cómo validar un NRP?
Calcular el dígito verificador es solamente una parte del proceso.
Si queremos validar un NRP de manera más completa, podemos realizar distintos niveles de comprobación:
| Nivel | Qué se revisa | Qué permite comprobar |
|---|---|---|
| 1 | Formato | Que tenga la longitud y caracteres esperados |
| 2 | Municipio | Que la clave territorial exista |
| 3 | Serie | Que cumpla la estructura y rango aplicable |
| 4 | Modalidad | Que corresponda a una modalidad reconocible |
| 5 | Dígito verificador | Que supere la comprobación matemática |
| 6 | Existencia | Que realmente haya sido asignado por el IMSS |
Los primeros niveles pueden implementarse en un sistema propio si se cuenta con las reglas y catálogos adecuados.
El último es diferente.
Un NRP con dígito verificador correcto puede no existir
Éste es probablemente el punto más importante de toda la validación.
Supongamos que generamos una combinación con:
- una clave municipal existente;
- una serie dentro del rango esperado;
- una modalidad válida;
- y un dígito verificador perfectamente calculado.
Eso demuestra que el NRP es estructural y matemáticamente consistente, pero no prueba que el Instituto lo haya asignado.
Las validaciones institucionales del IMSS contemplan de manera separada la comprobación de la existencia del registro patronal en su base de datos.
Por eso debemos distinguir:
NRP estructuralmente válido ≠ NRP existente
Un validador local puede detectar muchos errores, pero no debería informar que un registro “existe en el IMSS” solamente porque su dígito verificador sea correcto.
¿Existe un validador público del NRP?
En la investigación realizada para este artículo no identificamos un servicio público general del IMSS equivalente, por ejemplo, a una consulta abierta donde cualquier persona pueda introducir un NRP y confirmar anónimamente si fue asignado a un patrón.
Sí existen sistemas institucionales que trabajan con registros patronales y servicios autenticados donde el patrón puede consultar información asociada a sus propios registros.
Por eso, si desarrollas un sistema, conviene utilizar expresiones como:
“NRP con estructura válida”
o:
“dígito verificador correcto”
en lugar de:
“NRP existente”
cuando no se haya realizado una comprobación contra información del Instituto.
¿Se puede calcular el NRP a partir del RFC?
No.
Aunque un NRP tiene una estructura definida, eso no significa que pueda obtenerse mediante una fórmula utilizando el RFC de la empresa.
El registro patronal es asignado por el IMSS. La serie forma parte de esa asignación, de modo que conocer el RFC, el nombre de la empresa o incluso el municipio no permite deducir automáticamente cuál es su NRP real. La documentación técnica del Instituto también describe el registro como una clave asignada por el IMSS.
Por tanto:
sí podemos validar determinados elementos de un NRP que ya conocemos; no podemos generar el NRP real de una empresa calculándolo a partir de su RFC.
¿Todos los NRP siguen exactamente las mismas reglas?
No necesariamente.
Las reglas explicadas en este artículo sirven para comprender la estructura ordinaria y resultan especialmente útiles para registros empresariales actuales.
Sin embargo, la documentación del IMSS contiene tratamientos distintos para registros históricos, modalidades especiales y movimientos anteriores a determinadas fechas. Por ejemplo, sus reglas de validación contemplan diferencias para series anteriores al 1 de julio de 1997.
Por eso, si vas a desarrollar un validador destinado únicamente a registros actuales, puedes aplicar controles más estrictos.
Si el sistema debe procesar información histórica o registros especiales, es recomendable separar esas reglas para evitar rechazar como inválido un registro legítimo únicamente porque no cumple las condiciones del caso ordinario moderno.
¿Qué debería validar un sistema?
Para una aplicación que recibe NRP, una estrategia razonable sería comprobar progresivamente:
- La longitud y formato.
- La clave del municipio.
- La estructura de la serie.
- La modalidad de aseguramiento.
- El dígito verificador mediante el algoritmo 10.
- Cuando exista acceso autorizado a información institucional, la existencia y situación real del registro.
También conviene conservar separado el resultado de cada validación.
En lugar de devolver simplemente:
“NRP inválido”
un sistema puede indicar:
“Clave de municipio no reconocida”
“Modalidad no admitida”
o:
“Dígito verificador incorrecto”
Esto facilita identificar errores de captura y evita confundir una inconsistencia matemática con la inexistencia del registro.
Si el problema no es la estructura sino que el IMSS dio de baja un registro patronal que la empresa necesita utilizar, consulta también nuestro artículo IMSS ¿Cómo reactivar tu registro patronal?
Hasta dónde puedes validar un NRP
La estructura del NRP permite realizar comprobaciones bastante útiles sin consultar directamente las bases del IMSS. Podemos revisar el municipio, la serie, la modalidad y calcular su dígito verificador.
Pero existe un límite claro.
La validación matemática comprueba la consistencia del número; no acredita que el registro haya sido asignado ni que se encuentre vigente.
Esta distinción resulta especialmente importante para desarrolladores e integradores. Un buen sistema no debería limitarse a comprobar once caracteres, pero tampoco debería prometer una validación institucional cuando únicamente está aplicando reglas locales.
Síguenos en YouTube
Si trabajas con CFDI, nómina, IMSS o herramientas para automatizar procesos fiscales, en el canal de YouTube de Facturando encontrarás información práctica sobre estos temas.
Puedes suscribirte al canal de YouTube de Facturando para mantenerte actualizado.