Saltearse al contenido

Emisión de CFE

Host Factura ofrece dos formas de emitir un CFE. Elegí según tu situación:

POST /v1/cfe/emitir (JSON)POST /v1/cfe/emitir-xml (XML)
Para quiénIntegraciones nuevasProveedores con armador de XML DGI propio
Qué enviásJSON estructuradoXML del CFE en formato DGI nativo
Quién calcula totales / IVAHost FacturaTu sistema
Curva de aprendizajeBajaAlta (formato DGI)

En ambos casos Host Factura asigna CAE, serie y número, firma el XML con el certificado de la cuenta, arma y valida el sobre contra los XSD de DGI, y lo envía.

Indicás el tipo de CFE (ver Tipos de CFE) y los datos de la operación; Host Factura arma el XML, calcula totales, IVA y redondeos.

Cada elemento de items[] puede ser:

  • De catálogo: { id, quantity }. Los datos del producto salen del catálogo de la cuenta.

  • Ad-hoc: { name, quantity, price, billingIndex, description?, unit?, code? }. billingIndex es obligatorio e indica el tratamiento de IVA:

    billingIndexTratamiento de IVA
    1Exento
    2Tasa mínima (10%)
    3Tasa básica (22%)
    4Otra tasa

Cuando moneda != "UYU", cambio es obligatorio. Obtené el tipo de cambio vigente con GET /v1/cotizaciones (datos del BCU, con caché de 24 h).

Enviá el tipo correspondiente (102, 103, 112, 113, …) y referenciaId con el UUID del CFE original. No reenvíes el receptor ni la fecha: se heredan. Los items[] representan las líneas que se acreditan/debitan.

Opción B — XML pre-armado (formato DGI nativo)

Sección titulada «Opción B — XML pre-armado (formato DGI nativo)»

Pensado para proveedores que ya operaban contra los servicios SOAP de DGI y no quieren reescribir su armador de XML. Enviás el XML del CFE sin CAEData, Signature, IdDoc.Serie ni IdDoc.Nro (esos los inyecta Host Factura; si los incluís, recibís 400 XML_EXTERNO_CAMPO_PROHIBIDO).

El nombre del nodo interno debe corresponder al TipoCFE declarado (eTck, eFact, eFact_Exp, eRem, eResg, eBoleta). Para Notas, tu XML debe incluir el nodo Referencia (no se completa automáticamente por esta vía).

Para que la emisión funcione, la cuenta debe tener:

  • CVA (certificado digital) activo,
  • CAE vigente para el tipo + serie + sucursal,
  • datos básicos de empresa cargados.

Si falta algo, recibís un error específico (409 NO_CAE_VIGENTE, CAE_RANGE_EXHAUSTED, etc.).

La respuesta incluye data.estado:

EstadoSignificado
aceptadoDGI aceptó el CFE.
pendienteAceptado, falta respuesta definitiva de DGI.
observadoDGI lo observó (revisar motivoRechazo).
rechazadoDGI lo rechazó (revisar motivoRechazo).

Esquemas completos, parámetros y ejemplos de cada endpoint: Referencia OpenAPI.