Validación de CUIT con Algoritmo Módulo 11 y Codificación de Archivos TXT para ARCA
Al importar lotes masivos en aplicativos como SICORE, SIRE, SIFERE WEB o Libro IVA Digital, un solo dígito verificador mal tipeado en una planilla de Excel provoca el rechazo completo del lote.
¿Cómo calcula ARCA el dígito verificador del CUIT/CUIL (Módulo 11)?
Los primeros 10 dígitos del CUIT se multiplican respectivamente por la serie ponderada (5, 4, 3, 2, 7, 6, 5, 4, 3, 2). La suma total de esos productos se divide por 11 y se obtiene el resto. Si el resto es 0, el dígito verificador es 0; en caso contrario, el dígito verificador equivale a 11 menos el resto.
Decimales implícitos vs. Decimales con coma en los TXT impositivos
- ARCA (Libro IVA Digital y Libro de Sueldos Digital Registro 03): Utilizan decimales implícitos sin coma ni punto decimal (ej.
$ 1.250,50se escribe000000000125050en un campo de 15 posiciones). - AGIP, ARBA y SIFERE WEB: Utilizan coma decimal explícita (
,) rellenando con ceros a la izquierda hasta completar el ancho fijo del campo.
Un ejemplo resuelto
Verifiquemos el CUIL 20-12345678-6. Los diez primeros dígitos son 2 0 1 2 3 4 5 6 7 8:
| Dígito | 2 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|---|---|
| Peso | 5 | 4 | 3 | 2 | 7 | 6 | 5 | 4 | 3 | 2 |
| Producto | 10 | 0 | 3 | 4 | 21 | 24 | 25 | 24 | 21 | 16 |
La suma es 148. El resto de dividir 148 por 11 es 5 (11 × 13 = 143). El verificador es 11 − 5 = 6, que coincide con el último dígito: el número está bien formado.
Cómo validar CUIT directamente en Excel
Si tenés el CUIT sin guiones en la celda A2, guardado como texto, esta fórmula devuelve "Válido" o "Inválido":
=SI(LARGO(A2)<>11;"Inválido";SI(RESIDUO(11-RESIDUO(SUMAPRODUCTO(EXTRAE(A2;FILA($1:$10);1)*EXTRAE("5432765432";FILA($1:$10);1));11);11)=VALOR(DERECHA(A2;1));"Válido";"Inválido"))
La fórmula multiplica cada uno de los diez primeros dígitos por su peso, calcula el resto de dividir por 11 y lo compara con el último dígito. Cuando el cálculo da 10, ningún dígito puede coincidir y el número se marca como inválido, que es lo correcto. Para revisar cientos de números sin fórmulas, usá el validador masivo de CUIT.
Qué caracteres acepta cada tipo de campo
| Tipo de campo | Qué admite | Cómo se completa |
|---|---|---|
| Numérico | Solo dígitos del 0 al 9 | Alineado a la derecha, con ceros a la izquierda |
| Alfanumérico | Letras sin acento, números, espacios y algunos signos | Alineado a la izquierda, con espacios a la derecha |
| Importe con decimales implícitos | Solo dígitos; los dos últimos son centavos | Ceros a la izquierda |
| Importe con separador | Dígitos, una coma o un punto según el diseño y, si se admite, el signo menos | Ceros a la izquierda |
| Fecha | AAAAMMDD o dd/mm/aaaa según el diseño | Siempre con su largo completo |
Algunos diseños piden el CUIT con guiones, como SIFERE Web y las percepciones de ARBA. En esos casos el campo mide 13 caracteres en lugar de 11.
Qué hacer cuando un lote se rechaza por un CUIT
- Identificá la línea que informa el aplicativo y buscá el CUIT en tu planilla.
- Verificalo con el algoritmo. Si es inválido, corregilo contra la factura o la constancia de inscripción.
- Si es válido pero el aplicativo lo rechaza igual, puede no estar inscripto o estar dado de baja: consultá la constancia de inscripción en ARCA.
- Revisá que la celda no tenga espacios, guiones raros o caracteres invisibles copiados de otro sistema.
- Generá el archivo de nuevo. Evitá editar el TXT a mano, porque es fácil agregar o borrar un carácter y correr toda la línea.
Si el problema es de codificación y no del CUIT, leé la guía sobre ANSI, UTF-8 y saltos de línea.