Errores comunes en la facturación electrónica de Costa Rica y cómo resolverlos
Guía de resolución de errores frecuentes en facturación electrónica de Costa Rica: Clave Numérica inválida, redondeo ITBIS, firma XAdES-BES, códigos CABYS incorrectos y errores de identificación del receptor.

La mayoría de los rechazos del ATV de Costa Rica no se deben a problemas de infraestructura ni a caídas del servicio del Ministerio de Hacienda. Se deben a errores predecibles y recurrentes que ocurren en la construcción del comprobante XML: Clave Numérica mal formada, redondeo incorrecto del ITBIS, firma digital inválida o códigos CABYS que no coinciden con la actividad económica del emisor.
Esta guía documenta los cinco grupos de error más frecuentes en implementaciones de facturación electrónica en Costa Rica, con la causa exacta de cada uno y la forma concreta de resolverlo. Si usted está enfrentando rechazos del ATV o validaciones que fallan en el ambiente CEN, esta guía le ayudará a identificar y corregir el problema.
Error 1: Clave Numérica inválida o mal construida
La Clave Numérica es el identificador único de cada comprobante en Costa Rica. Tiene exactamente 50 dígitos y cada posición tiene significado específico: los primeros 3 son el código de país (506 para Costa Rica), los siguientes 8 son la fecha en formato ddmmaaaa, los dígitos 12 al 21 son el RUC del emisor, las posiciones 22 al 30 definen el tipo y consecutivo del comprobante, y el dígito 50 es la situación (1 = normal, 2 = contingencia del proveedor, 3 = sin internet).
# Validación de Clave Numérica — pseudocódigo
def validar_clave(clave: str) -> dict:
if len(clave) != 50:
return {'valido': False, 'error': f'Longitud incorrecta: {len(clave)} dígitos (esperados: 50)'}
codigo_pais = clave[0:3]
if codigo_pais != '506':
return {'valido': False, 'error': f'Código de país incorrecto: {codigo_pais} (esperado: 506)'}
fecha = clave[3:11] # ddmmaaaa
try:
dia, mes, anio = int(fecha[0:2]), int(fecha[2:4]), int(fecha[4:8])
if not (1 <= dia <= 31 and 1 <= mes <= 12):
return {'valido': False, 'error': f'Fecha inválida en la clave: {fecha}'}
except ValueError:
return {'valido': False, 'error': 'Fecha no numérica en la clave'}
situacion = clave[49]
if situacion not in ('1', '2', '3'):
return {'valido': False, 'error': f'Situación inválida: {situacion} (esperado: 1, 2 o 3)'}
return {'valido': True}El error más frecuente en la Clave Numérica es usar la fecha del sistema en lugar de la fecha del comprobante. Si el comprobante tiene fecha 2026-06-30 pero se emite a medianoche cuando ya es 2026-07-01, la clave debe usar 30062026, no 01072026.
Error 2: Redondeo incorrecto del ITBIS acumulado
El error de redondeo en el ITBIS es sutil y difícil de detectar: el monto total del impuesto en el comprobante no coincide con la suma de los impuestos de cada línea. Esto ocurre cuando el sistema redondea primero el impuesto de cada línea y luego suma los valores ya redondeados, en lugar de sumar primero los valores exactos y redondear el total.
La regla del Ministerio de Hacienda es: calcular el impuesto de cada línea con la precisión máxima disponible, acumular todos los valores con esa precisión, y redondear únicamente el total final a 2 decimales. Redondear cada línea antes de acumular genera errores de diferencia de 1 colón que el ATV detecta y rechaza.
Usar tipos de datos Decimal (no float) para todos los cálculos fiscales. El tipo float de Python, JavaScript y Java introduce errores de representación binaria que acumulan diferencias en facturación de alto volumen.
Error 3: Firma XAdES-BES inválida o certificado BCCR vencido
Los errores de firma digital en Costa Rica ocurren por tres razones principales: el certificado del BCCR está vencido, el XML fue modificado después de firmarlo (cualquier cambio en espaciado, orden de atributos o encoding invalida la firma), o el algoritmo de canonicalización XML utilizado no es el especificado por el Ministerio de Hacienda.
La especificación técnica del Ministerio de Hacienda indica que la firma debe usar XAdES-BES con canonicalización C14N exclusiva. Si la biblioteca de firma que usted usa aplica C14N inclusiva o C14N sin comentarios, el ATV rechazará la firma aunque el certificado sea válido.
Los certificados del BCCR tienen vigencia de 2 años. Implementar una alerta que avise 30 días antes del vencimiento — un certificado vencido detiene la emisión de todos los comprobantes del contribuyente.
Error 4: Códigos CABYS incorrectos o incoherentes con la actividad
El catálogo CABYS (Clasificación de Actividades y Bienes y Servicios) es obligatorio en los comprobantes electrónicos de Costa Rica desde 2021. El error más común es usar un código CABYS válido en el catálogo pero incoherente con la actividad económica registrada del emisor. El ATV acepta el comprobante inicialmente, pero puede generar observaciones fiscales posteriores.
Un segundo error frecuente es usar códigos CABYS de versiones anteriores del catálogo. El Ministerio de Hacienda actualiza el catálogo periódicamente. Un código que era válido en 2022 puede haber sido reclasificado o eliminado en la versión actual. Consultar el catálogo vigente en el portal del Ministerio antes de mapear los productos del cliente.
Error 5: Identificación del receptor en formato incorrecto
Costa Rica tiene cuatro tipos de identificación válidos para el receptor: 01 (cédula física), 02 (cédula jurídica), 03 (DIMEX para extranjeros), 04 (NITE para empresas extranjeras sin operación local). El error frecuente es usar el tipo incorrecto o enviar el número de identificación con guiones, espacios o longitud incorrecta.
Las reglas de longitud son: cédula física (tipo 01) debe tener exactamente 9 dígitos, cédula jurídica (tipo 02) exactamente 10 dígitos, DIMEX (tipo 03) entre 11 y 12 dígitos, NITE (tipo 04) exactamente 10 dígitos. Enviar un número con longitud incorrecta es rechazo inmediato del ATV.
Preguntas frecuentes
¿Cuál es la diferencia entre un rechazo del ATV y una observación fiscal?
Un rechazo del ATV significa que el comprobante no fue aceptado y no tiene validez fiscal — debe corregirse y reenviarse con una nueva Clave Numérica. Una observación fiscal es una anotación del Ministerio de Hacienda sobre un comprobante ya aceptado, indicando posibles inconsistencias. Las observaciones no invalidan el comprobante pero pueden generar requerimientos de información al contribuyente.
¿Cómo puedo diagnosticar el error exacto en un rechazo del ATV?
Consultar el endpoint de estado del comprobante con la Clave Numérica. La respuesta incluye un campo 'mensajeHacienda' con la descripción del error. Este mensaje es técnico y en ocasiones no precisa la línea exacta del problema. Si el mensaje indica un error de firma, verificar primero el certificado y luego la canonicalización. Si indica error en 'ResumenFactura', revisar los cálculos de impuesto acumulado.
¿Qué diferencia hay entre el ITBIS de Costa Rica y el IVA de Colombia en términos de cálculo?
En Costa Rica el impuesto sobre las ventas es IVA (no ITBIS, que es terminología dominicana). En Costa Rica la tasa general es 13%, con tasas reducidas de 4% y 1% para categorías específicas. En Colombia el IVA general es 19%. Ambos sistemas requieren el mismo cuidado en el redondeo de acumulado, pero los catálogos de tasas aplicables y las reglas de exención son completamente diferentes.
¿Es posible corregir un comprobante aceptado por el ATV sin emitir una nota de crédito?
No. Una vez que el ATV acepta un comprobante, no es posible modificarlo. Para corregir un error en un comprobante aceptado, se debe emitir una nota de crédito electrónica que anule total o parcialmente el comprobante original, y luego emitir el comprobante correcto si corresponde. La nota de crédito debe referenciar la Clave Numérica del comprobante original.
Artículos Relacionados
Cómo integrar el API del ATV de Costa Rica: autenticación, flujo asíncrono y manejo de errores
Guía técnica de integración con el ATV de Costa Rica: autenticación por token, flujo asíncrono de envío y consulta, callback de confirmación, modo sin internet y categorías de error del Ministerio de Hacienda.
Factura electrónica en Costa Rica: estructura técnica del XML-CR y validación ATV
Estructura del XML-CR versión 4.3, tipos de comprobante, Clave Numérica, validaciones del ATV, firma con certificado BCCR y errores frecuentes en la integración de facturación electrónica en Costa Rica.
Checklist de go-live e-CF en República Dominicana: de staging a producción DGII
Checklist completo para pasar una integración e-CF de staging a producción DGII en República Dominicana: homologación, certificados, pruebas de carga y monitoreo post-lanzamiento.