Ir al contenido

Hacienda Costa Rica — Facturación electrónica (comprobantes v4.4)

Los nodos Hacienda conectan tus workflows con la facturación electrónica de Costa Rica (comprobantes electrónicos v4.4). Floogos arma el XML, calcula la clave numérica (50 dígitos), lo firma y lo envía al API REST de Hacienda con OAuth2, consultando el estado.

NodoQué hace
Hacienda: Emitir factura (haciendaEmitirFactura)Emite una Factura Electrónica (01)
Hacienda: Nota de crédito/débito (haciendaEmitirNota)Emite NC (03) o ND (02) referenciando el original
Hacienda: Consultar estado (haciendaConsultarEstado)Estado de un comprobante por su clave numérica
Hacienda: Representación / QR (haciendaRepresentacion)Genera la representación impresa con QR

Los nodos usan una credencial de tipo Hacienda. Creala en Credenciales → Agregar → Costa Rica Hacienda con:

CampoDescripción
Certificado (.p12)La llave criptográfica de Hacienda, base64.
Contraseña (PIN)El PIN del .p12.
Cédula y TipoLa identificación del emisor (física/jurídica/DIMEX/NITE).
Usuario y clave del ATVCredenciales OAuth2 del ambiente de Hacienda.
AmbienteSandbox o Producción.
Sucursal y TerminalLos códigos (ej. 001 / 00001).
Actividad económicaEl código de actividad.
  1. Preparás el comprobante como JSON (receptor, ítems con precioUnitario y codigoTarifa).

  2. Emitís con Emitir factura. Floogos arma el XML, calcula la clave, firma, obtiene el token OAuth2, hace el POST de recepción y consulta el estado.

  3. Si quedó procesando, lo reconciliás con Consultar estado.

  4. Generás la representación con Representación / QR.

Nodo: Hacienda: Emitir factura. Ejemplo:

{
"receptor": { "cedula": "3101999999", "tipoCedula": "02", "nombre": "Cliente SA" },
"items": [
{ "detalle": "Producto", "cantidad": 2, "precioUnitario": 50, "codigoTarifa": "08" }
]
}

codigoTarifa: 08 = 13% (general), 01 = 0%, 02 = 1%, 03 = 2%, 04 = 4%. El precioUnitario va sin IVA. El secuencial se autonumera si no lo pasás.

Nota de crédito/débito emite una NC (03) o ND (02) que referencia el documento original con referencia (clave numérica de 50 díg, código de motivo y razón):

{
"tipo": "03",
"referencia": { "clave": "506...", "tipoDoc": "01", "fecha": "2026-07-20", "codigo": "01", "razon": "Devolución" },
"receptor": { "cedula": "3101999999" },
"items": [ { "detalle": "Producto", "cantidad": 1, "precioUnitario": 100, "codigoTarifa": "08" } ]
}

Consultar estado consulta un comprobante por su clave numérica y devuelve si está aceptado, rechazado, recibido o procesando, actualizando el estado en la base.

Representación / QR genera la representación imprimible en HTML (exportable a PDF), con la clave numérica y el QR que la contiene.

SituaciónReintentableQué hacer
Recepción rechazadaNoHacienda devolvió un error (RUC receptor, estructura). Corregí el comprobante.
Estado rechazadoNoHacienda no aceptó; revisá el detalle del mensaje.
Certificado vencidoNoRenová el .p12 y actualizá la credencial.
Red / TimeoutSíProblema pasajero; se reintenta automáticamente.