Ningún formulario internacional puede presumir de validar documentos de identidad con una sola regla, porque no existe tal regla. Cada país decide qué emite, cómo se escribe y hasta dónde publica su método de comprobación, y esa diversidad es la causa de la mayoría de los rechazos que sufren los usuarios legítimos. Esta página clasifica los casos que se encuentran en la práctica y propone una forma de tratarlos que no obligue a reescribir el sistema cada vez que un país cambie de criterio.
¿Por qué los documentos nacionales no se pueden validar con una sola regla?
Porque no hay ninguna autoridad que armonice los documentos de identidad entre países. A diferencia de lo que ocurre con las cuentas bancarias internacionales o con los códigos de producto, aquí no existe un formato común al que apelar, ni una longitud compartida, ni siquiera un acuerdo sobre qué caracteres están permitidos.
Eso deja tres niveles de información posibles, y cada país se sitúa en uno de ellos. El primero es el más generoso: la administración publica la estructura y además el algoritmo con el que se calcula el control. El segundo es intermedio: se describe la forma del número, sus tramos y su juego de caracteres, pero no se publica ninguna fórmula. El tercero es el más incómodo, porque la documentación disponible es incompleta o contradictoria.
Un validador honesto tiene que saber en qué nivel está trabajando para cada esquema, porque de ello depende la conclusión que puede ofrecer. Afirmar que un número es inválido cuando en realidad solo se conoce su forma es un error tan grave como aceptar cualquier cadena sin comprobarla.
Esquemas que publican el algoritmo del dígito verificador
Cuando la fórmula es pública, la comprobación se puede ejecutar en local, sin conexión y sin coste. Ese es el escenario ideal y también el más frecuente de lo que la gente supone: bastantes identificadores incorporan un control calculado con una suma ponderada y una operación de módulo.
En estos casos la herramienta puede distinguir con precisión entre un formato incorrecto y un control que no cuadra, y esa distinción resulta muy útil para redactar mensajes de error accionables. Un usuario al que se le dice que ha cambiado un carácter corrige el problema; a uno al que solo se le dice que el número no vale, no.
La familia de algoritmos que se usa en estos esquemas es la misma que aparece en otros contextos, y su descripción general está en la guía sobre algoritmos de dígito verificador. Lo relevante aquí es que el conocimiento es local y verificable por cualquiera. Un caso conocido de este grupo son los dos números fiscales brasileños, descritos en la guía sobre validación de CPF y CNPJ.
Esquemas con formato publicado y sin algoritmo
El segundo grupo es el más delicado de tratar, porque invita a un malentendido. Si la administración define la longitud, los caracteres admitidos y el reparto de tramos, pero nunca publica una fórmula de control, entonces lo único comprobable es la forma.
Eso no convierte al número en sospechoso ni mucho menos en falso. Un identificador puede estar perfectamente emitido y no llevar control alguno: en muchos casos se trata de un número de registro asignado por orden de alta, sin ninguna aritmética detrás. La guía sobre números sin dígito verificador desarrolla este caso y explica por qué solo formato es una respuesta completa y no una excusa.
La consecuencia práctica es que la interfaz debe cambiar de verbo. No se puede decir que el número sea válido cuando solo se ha confirmado su forma; el texto correcto describe exactamente lo comprobado y deja claro que no se ha verificado nada más.
¿Qué hacer cuando un número encaja en varios países?
Cuando dos esquemas comparten longitud y juego de caracteres, la misma cadena satisface las reglas de ambos. Eso no es un fallo de ninguno de los dos validadores: es una ambigüedad real del texto, que no lleva incorporado el país que lo emitió.
La tentación de resolverla adivinando es fuerte y casi siempre equivocada. Si el formulario tiene un campo de país, úsalo como criterio de selección y muestra el resultado del esquema correspondiente. Si no lo tiene, enumera los candidatos y explica que la comprobación se ha hecho contra todos ellos.
El peor escenario es el que combina las dos cosas mal: elegir un esquema por defecto y presentar su veredicto como si fuera universal. El sistema parecerá funcionar durante meses y fallará en silencio cada vez que llegue una entrada de otro origen.
Longitud y juego de caracteres son solo el punto de partida
Antes de aplicar cualquier regla concreta hay dos comprobaciones que valen para casi todos los esquemas y que conviene ejecutar primero.
- La cadena, una vez limpia de separadores, debe estar formada solo por los caracteres admitidos.
- Su longitud debe coincidir con la que ese esquema declara, si la declara.
Son filtros baratos que descartan la mayor parte de las entradas mal escritas y que además protegen al resto del sistema de recibir datos de formas inesperadas. Su límite es evidente: no dicen nada sobre la coherencia interna de la cadena, y por eso no pueden ser la única comprobación.
Una trampa habitual es tratar estas dos propiedades como si fueran la validación completa. Un sistema que solo mira longitud y caracteres aceptará cualquier cadena bien formateada, incluidas las inventadas, y el error no se detectará hasta que alguien intente usar el dato.
Para quien programa: las reglas de país como datos
La forma más robusta de manejar esta diversidad es no escribirla en el código.
- Guarda por esquema el nombre, la longitud esperada, el juego de caracteres y la fórmula si existe.
- Representa explícitamente la ausencia de fórmula, en lugar de dejar el campo vacío y ambiguo.
- Devuelve siempre el nombre del esquema aplicado, para que el resultado se pueda auditar después.
- Separa la comprobación de forma de la de control y no mezcles sus mensajes.
- Revisa la tabla de reglas con fecha, porque las administraciones cambian sus formatos de vez en cuando.
Con ese reparto, añadir un país nuevo es añadir una fila, no tocar la lógica de negocio, y el día que una norma cambie no habrá que releer todo el sistema.
Siguientes pasos
Elige dos países cuyos esquemas conozcas y escribe en una tabla qué publica cada uno: formato, algoritmo o ambos. Verás enseguida en qué grupo cae cada caso y qué conclusión puedes ofrecer honestamente.
Después, pasa por el validador de números una cadena inventada que puedas interpretar bajo dos esquemas distintos y observa cómo aparecen los esquemas posibles en lugar de un único veredicto.
Los ejemplos citados en este artículo son cadenas de demostración creadas solo para ilustrar las diferencias entre esquemas; no corresponden a documentos emitidos, no identifican a nadie y no deben usarse como documentación para ningún trámite.