Ir al contenido

HaciendaEmitirFactura

Emite una Factura Electrónica ante el Ministerio de Hacienda de Costa Rica (versión 4.4). El nodo arma el XML propio de Hacienda, calcula la clave numérica de 50 dígitos, firma el comprobante con el certificado del emisor, obtiene el token OAuth2 (ATV) y hace el POST de recepción seguido de una consulta de estado.

La factura queda válida tributariamente recién cuando Hacienda la ACEPTA. Si la respuesta llega como recibida o procesando, conviene reconciliar más tarde con HaciendaConsultarEstado.

CampoTipoRequeridoDescripción
credentials_idcredentialsSíCredencial de Hacienda (certificado + ATV)
facturajsonNoFactura en JSON: receptor (cedula, tipoCedula, nombre), items (con precioUnitario y codigoTarifa: 08=13%, 01=0%). Secuencial opcional. El emisor sale de la credencial. Si se deja vacío, se usan los datos de entrada del nodo anterior.

Este módulo requiere una credencial de tipo hacienda con los siguientes campos:

  • Certificado (.p12): certificado digital del emisor
  • Contraseña del certificado
  • Cédula/identificación del emisor (9 a 12 dígitos)
  • Usuario y contraseña del ATV (IDP de Hacienda)
  • Ambiente: sandbox (pruebas) o producción
{
"clave": "50601012600310123456700100001010000000001100000001",
"consecutivo": "00100001010000000001",
"estado": "accepted",
"indEstado": "aceptado",
"enProceso": false,
"total": 113,
"iva": 13,
"detalle": "Comprobante aceptado",
"xml": "...",
"respuestaXml": "..."
}
{
"credentials_id": "cred-hacienda-prod",
"factura": {
"receptor": { "cedula": "3101123456", "tipoCedula": "02", "nombre": "Cliente SA" },
"items": [
{ "descripcion": "Servicio de consultoria", "cantidad": 1, "precioUnitario": 100, "codigoTarifa": "08" }
]
}
}
  • La clave numérica de 50 dígitos incluye el código de país (506) y es la que identifica el comprobante ante Hacienda.
  • El IVA se calcula con el catálogo de tarifas de Hacienda: 08 es la tarifa general del 13%, 01 es exento (0%).
  • El XML firmado se persiste en la base antes de enviarlo, para poder auditarlo o reintentar aunque falle el envío.
  • Si el estado queda en recibido o procesando, hay que reconciliar después con HaciendaConsultarEstado.