Latam PYMES te impulsa

Automatizá, ordená y hacé crecer tu negocio con tecnología hecha en Costa Rica.

Guía Factura electrónica Costa Rica v4.4

Guía completa: Factura electrónica en Costa Rica (v4.4)

Todo lo que necesitás para emitir, firmar y enviar tus comprobantes a Hacienda sin enredos: requisitos, ejemplos XML, errores comunes y mejores prácticas.

Quiero ayuda para implementarlo

Conceptos esenciales de la factura electrónica

Repaso rápido para entender el “por qué” y el “cómo” antes de emitir tu primer comprobante.

Definición

¿Qué es?

Un comprobante digital con estructura XML estandarizada, firmado y validado por Hacienda.

Obligatoriedad

¿Por qué es obligatoria?

Es el medio legal para sustentar ventas, deducciones y control fiscal desde 2018 en Costa Rica.

Alcance

¿A quién aplica?

A profesionales, comercios y empresas. Si vendés o prestás servicios, debés emitir comprobantes.

Riesgos de no cumplir

¿Y si no cumplo?

Riesgo de rechazos, multas, imposibilidad de deducir gastos y pérdida de oportunidades de negocio.

Cómo ayuda Latam PYMES

¿Cómo te ayuda Latam PYMES?

Implementación guiada, herramientas gratuitas y soporte local para que emitas sin fricciones.

Tip: empezá probando con nuestro validador y las plantillas XML para reducir rechazos al mínimo.

¿Qué es?

La factura electrónica es un comprobante digital con estructura XML estandarizada, firmado digitalmente y validado por el Ministerio de Hacienda de Costa Rica.

A diferencia de las facturas en papel, este documento digital cumple con estándares técnicos rigurosos que garantizan:

El formato XML contiene toda la información relevante de la transacción: emisor, receptor, productos o servicios, impuestos, totales y datos de validación.

¿Por qué es obligatoria?

Desde 2018, la factura electrónica es el único medio legal válido para sustentar ventas, deducciones y control fiscal en Costa Rica.

Esta obligatoriedad surge de la necesidad de modernizar el sistema tributario y combatir la evasión fiscal mediante:

El Reglamento de Facturación Electrónica (DGT-R-48-2016) establece que todos los sujetos obligados deben emitir comprobantes electrónicos.

¿A quién aplica?

La obligación de emitir facturas electrónicas aplica a todos los profesionales, comercios y empresas registrados en Costa Rica que realicen actividades comerciales.

Esto incluye:

En términos prácticos: si vendés bienes o prestás servicios, estás obligado a emitir comprobantes electrónicos. No hay excepciones por volumen de ventas o tipo de actividad.

¿Y si no cumplo?

El incumplimiento de la normativa de facturación electrónica conlleva graves consecuencias para tu negocio:

Además, el no cumplimiento genera una pérdida de oportunidades con clientes corporativos y entidades gubernamentales que exigen factura electrónica para sus procesos.

¿Cómo te ayuda Latam PYMES?

Implementación guiada, herramientas gratuitas y soporte local para que emitas sin fricciones

Implementación Guiada

Te acompañamos paso a paso en todo el proceso de adaptación a la factura electrónica

Herramientas Gratuitas

Acceso a validadores, plantillas y utilidades para facilitar tu transición

Soporte Local

Equipo de expertos disponibles para resolver tus dudas en tiempo real

Cumplimiento Garantizado

Aseguramos que tu implementación cumpla con todas las normativas vigentes

¿Qué vas a aprender en esta guía?

Contenido práctico, al grano y actualizado con la versión 4.4.

Conceptos clave

Conceptos clave

Qué es la factura electrónica, tiquete, NC y ND; cuándo usar cada uno y su estructura XML.

Requisitos legales

Requisitos y normativa

Lo que exige el Ministerio de Hacienda en v4.4: OIDC, firma XAdES-EPES y validaciones.

Flujo técnico

Flujo técnico

Cómo obtener el token, firmar, enviar y recepcionar comprobantes con estados y acuses.

Errores y soporte

Errores frecuentes

Listado de códigos del validador 4.4 (p. ej. cvc-complex-type) y cómo resolverlos paso a paso.

Conceptos Clave

Factura Electrónica

La factura electrónica es el documento legal que sustituye a la factura tradicional en papel. Es un archivo XML que contiene toda la información de una transacción comercial y está validado por el Ministerio de Hacienda de Costa Rica.

Debe utilizarse en todas las transacciones B2B (entre empresas) y B2G (empresa a gobierno). Contiene información detallada sobre el emisor, receptor, productos o servicios, impuestos y totales. Su estructura XML sigue el formato definido por Hacienda en la versión 4.4.

Importante

Todas las facturas electrónicas deben incluir la firma digital XAdES-EPES y ser enviadas al sistema de Hacienda para su validación antes de ser entregadas al cliente.

Tiquete Electrónico

El tiquete electrónico es un comprobante simplificado utilizado principalmente en transacciones con consumidores finales (B2C). Se aplica en comercios minoristas, restaurantes, servicios y otros establecimientos donde no se requiere identificar al comprador con detalle.

A diferencia de la factura, el tiquete tiene una estructura XML más simple y no requiere información detallada del receptor. Sin embargo, debe contener todos los datos del emisor, descripción de los productos o servicios, impuestos y totales. Es obligatorio para todas las ventas al por menor.

Nota de Crédito (NC)

La Nota de Crédito es un documento que se emite para anular total o parcialmente una factura electrónica ya emitida. Se utiliza en casos de devoluciones, descuentos posteriores a la facturación, o correcciones por errores en la factura original.

Su estructura XML es similar a la de una factura pero contiene campos específicos que hacen referencia a la factura original que está siendo modificada. Debe incluir la razón de la nota de crédito y los montos ajustados.

Nota de Débito (ND)

La Nota de Débito se emite para incrementar el monto de una factura ya emitida. Se utiliza cuando se omite un cargo en la factura original o cuando se aplican recargos posteriores (intereses moratorios, gastos adicionales, etc.).

Al igual que la nota de crédito, su estructura XML hace referencia a la factura original y detalla los conceptos adicionales que se están cargando. Es importante justificar claramente el motivo del débito adicional.

Estructura XML

La estructura XML de los comprobantes electrónicos está estrictamente definida por el Ministerio de Hacienda. Todos los documentos deben cumplir con el esquema XSD de la versión 4.4 para ser aceptados.

La estructura básica incluye:

<!-- Ejemplo de estructura básica XML -->
<FacturaElectronica xmlns="https://tribunet.hacienda.go.cr/docs/esquemas/2017/v4.2/facturaElectronica">
  <Clave>5062409190001011507040010000101000000047812345678</Clave>
  <NumeroConsecutivo>00100001010000000478</NumeroConsecutivo>
  <FechaEmision>2023-08-19T14:30:00-06:00</FechaEmision>
  <Emisor>
    <!-- Información del emisor -->
  </Emisor>
  <Receptor>
    <!-- Información del receptor -->
  </Receptor>
  <DetalleServicio>
    <!-- Línea de detalle -->
  </DetalleServicio>
</FacturaElectronica>

Requisitos Legales v4.4

OIDC (OpenID Connect)

El sistema de autenticación OIDC es el mecanismo requerido para acceder a los servicios web de Hacienda. Reemplaza el sistema anterior basado en tokens de acceso simples.

Para obtener un token OIDC válido, debes:

Importante

El token OIDC debe incluirse en el encabezado Authorization de todas las solicitudes al API de Hacienda: Authorization: Bearer <tu_token>

Firma XAdES-EPES

La firma XAdES-EPES (XML Advanced Electronic Signatures - Explicit Policy Electronic Signature) es el estándar requerido para firmar digitalmente los comprobantes electrónicos.

Características clave:

La estructura de la firma en el XML debe seguir exactamente el formato definido por Hacienda, incluyendo referencias, valores de firma y elementos de política.

Validaciones del Ministerio

Hacienda realiza múltiples validaciones sobre los comprobantes electrónicos antes de aceptarlos:

Flujo Técnico

1

Obtención del Token

Autenticación con Hacienda usando OIDC para obtener un token de acceso válido. El token tiene una vida útil de 1 hora y debe renovarse automáticamente.

2

Generación del XML

Crear el documento XML según el tipo de comprobante (Factura, Tiquete, NC o ND) siguiendo el esquema definido en la versión 4.4.

3

Firma Digital

Aplicar la firma XAdES-EPES al documento XML utilizando el certificado digital del emisor.

4

Envío a Recepción

Enviar el XML firmado al endpoint de recepción de Hacienda, incluyendo el token OIDC en el encabezado de autorización.

5

Recepción de Acuse

Recibir y procesar el acuse de recibo que confirma que Hacienda ha recibido el documento.

6

Consulta de Estados

Monitorear el estado del comprobante hasta recibir la aceptación o rechazo definitivo por parte de Hacienda.

Estados de Comprobantes

Los comprobantes electrónicos pasan por varios estados durante su procesamiento:

Tiempos de respuesta

El tiempo máximo de respuesta de Hacienda es de 3 días hábiles. Sin embargo, en la práctica la mayoría de los comprobantes son procesados en menos de 24 horas.

Acuses de Recibo

Los acuses son documentos XML que Hacienda devuelve en cada etapa del proceso:

Es obligatorio conservar todos los acuses recibidos por al menos 5 años como parte de la documentación legal.

Errores Frecuentes

Códigos de Error Comunes

Estos son algunos de los errores más frecuentes que devuelve el validador de Hacienda v4.4:

cvc-complex-type.2.4.a
Elemento inválido encontrado. Se esperaban elementos específicos. Verificar la estructura del XML contra el XSD oficial.
cvc-type.3.1.3
El valor del elemento no es del tipo de dato correcto. Asegúrese que los valores numéricos sean números y las fechas estén en formato ISO.
cvc-minLength-valid
La longitud del valor es menor que la mínima permitida. Verificar campos como RUTs, códigos y descripciones.
cvc-pattern-valid
El valor no coincide con el patrón requerido. Comprobar formatos específicos como RUTs y códigos de impuestos.
cvc-assertion
Fallo en la validación de reglas de negocio. Verificar consistencia entre totales, subtotales e impuestos.

Resolución Paso a Paso

Sigue estos pasos para resolver errores comunes:

1

Identificar el error

Lee detenidamente el mensaje de error y localiza el elemento XML problemático.

2

Consultar el XSD

Revisa el esquema XSD oficial para entender los requisitos del elemento.

3

Validar localmente

Usa un validador XML local para probar correcciones sin enviar a Hacienda.

4

Corregir el XML

Ajusta el valor o estructura según lo indicado en el error y el XSD.

5

Volver a firmar

Después de cualquier modificación, vuelve a firmar el documento.

6

Reenviar

Envía nuevamente el comprobante corregido a Hacienda.

Validación Previa

Para evitar rechazos, siempre realiza validaciones previas:

Validar Mi XML Ahora

Pasos para cumplir con Hacienda (v4.4)

Seguí este orden para evitar rechazos y pérdida de tiempo.

Requisitos y configuración inicial

1. Requisitos iniciales

Definí actividad económica, consecutivos y claves. Prepará certificados y credenciales.

Firma XAdES-EPES

2. Firma XAdES-EPES

Firmá los XML con el certificado correspondiente para asegurar integridad y autenticidad.

Token OIDC

3. Token OIDC

Obtené y refrescá el token con OIDC/OAuth 2.0 para comunicarte con Hacienda.

Emisión y envío

4. Emisión y envío

Generá el XML (Factura/Tiquete/NC/ND), firmalo y enviá a recepción para validación.

Recepción y estados

5. Recepción y estados

Leé los acuses, gestioná aceptaciones/rechazos y almacená los XML de respaldo.

Requisitos Iniciales

Antes de comenzar a emitir comprobantes electrónicos, es fundamental configurar correctamente tu sistema con los siguientes elementos:

Consejo Práctico

Verifica la vigencia de tu certificado digital con al menos 30 días de anticipación. La renovación puede tardar varios días.

Firma XAdES-EPES

La firma digital es un requisito indispensable para todos los comprobantes electrónicos. El estándar XAdES-EPES garantiza la autenticidad e integridad de tus documentos.

Errores Comunes

Los rechazos más frecuentes relacionados con firma incluyen: certificado vencido, política de firma incorrecta, y alteración del XML después de la firma.

<!-- Ejemplo de firma en XML -->
<ds:Signature Id="Signature" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
  <ds:SignedInfo>
    <!-- Información de firma -->
  </ds:SignedInfo>
  <ds:SignatureValue>...</ds:SignatureValue>
  <ds:KeyInfo>
    <ds:X509Data>
      <ds:X509Certificate>...</ds:X509Certificate>
    </ds:X509Data>
  </ds:KeyInfo>
</ds:Signature>

Token OIDC

Para interactuar con los servicios web de Hacienda, debes obtener un token de acceso mediante el protocolo OIDC (OpenID Connect).

Solicitud de Token

Envía credenciales al endpoint de autenticación

Respuesta

Recibe access_token y refresh_token

Refresco

Usa refresh_token para obtener nuevo access_token

// Ejemplo de solicitud de token en JavaScript
const response = await fetch('https://api.hacienda.go.cr/auth/token', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded'
  },
  body: `grant_type=client_credentials&client_id=${CLIENT_ID}&client_secret=${CLIENT_SECRET}`
});

const tokenData = await response.json();
const accessToken = tokenData.access_token;

Emisión y Envío

Generar y enviar comprobantes electrónicos requiere atención a múltiples detalles técnicos para garantizar su aceptación.

Generar XML

Crea el documento según esquema v4.4

Firmar

Aplica firma XAdES-EPES

Enviar

Envía a endpoint de recepción

Buenas Prácticas

Guarda siempre una copia del XML antes y después de la firma. Implementa reintentos automáticos para fallos de red, pero no para errores de validación.

Recepción y Estados

Después del envío, debes gestionar las respuestas de Hacienda y almacenar correctamente los documentos.

Acuse de Recibo

Confirmación de recepción

Procesamiento

Validación por parte de Hacienda

Aceptación

Comprobante aprobado

Almacenamiento Seguro

Según la Resolución DGT-R-48-2016, debes conservar los comprobantes electrónicos y sus respaldos por 5 años. Considera:

  • Almacenamiento en frío para respaldos a largo plazo
  • Redundancia en diferentes ubicaciones físicas
  • Sellado de tiempo para garantizar la integridad

¿Listo para emitir sin rechazos?

Te ayudamos a implementar v4.4 con ejemplos, herramientas y soporte local para que cumplás desde hoy.

Quiero que me guíen