Validar referencia de pago (MOD10 / MOD11)

¿Cómo funciona el dígito de control?

Muchas referencias de pago usan un dígito de control calculado con MOD10 o MOD11 para detectar errores al introducir números.

MOD10 (Luhn)

  • Recorre el número base desde la derecha y alterna multiplicadores 2 y 1.
  • Si un producto tiene dos cifras, suma esas cifras (por ejemplo, 18 -> 1+8=9).
  • Suma todos los resultados.
  • Dígito de control = (10 - (suma % 10)) % 10.

MOD11

  • Recorre el número base desde la derecha con pesos 2,3,4,5,6,7 y repite.
  • Calcula R = suma % 11.
  • Dígito de control = 11 - R.
  • Si el resultado es 11, el dígito es 0; si es 10, la referencia no es válida con MOD11.

¿Para qué sirve validar?

  • Reducir errores en cobros
  • Evitar rechazos en procesos de pago
  • Mejorar conciliación bancaria
  • Detectar referencias mal formadas antes de emitir o registrar

Buenas prácticas

  • Validar en el momento de crear la referencia
  • Normalizar formato (sin espacios ni símbolos)
  • Registrar qué algoritmo usa cada canal de cobro
  • Rechazar automáticamente referencias inválidas