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én | Integraciones nuevas | Proveedores con armador de XML DGI propio |
| Qué enviás | JSON estructurado | XML del CFE en formato DGI nativo |
| Quién calcula totales / IVA | Host Factura | Tu sistema |
| Curva de aprendizaje | Baja | Alta (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.
Opción A — payload JSON (recomendado)
Sección titulada «Opción A — payload JSON (recomendado)»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? }.billingIndexes obligatorio e indica el tratamiento de IVA:billingIndexTratamiento de IVA 1 Exento 2 Tasa mínima (10%) 3 Tasa básica (22%) 4 Otra tasa
Moneda extranjera
Sección titulada «Moneda extranjera»Cuando moneda != "UYU", cambio es obligatorio. Obtené el tipo de cambio vigente con
GET /v1/cotizaciones (datos del BCU, con caché de 24 h).
Notas de Crédito / Débito
Sección titulada «Notas de Crédito / Débito»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).
Pre-requisitos de la cuenta
Sección titulada «Pre-requisitos de la cuenta»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.).
Estados del CFE
Sección titulada «Estados del CFE»La respuesta incluye data.estado:
| Estado | Significado |
|---|---|
aceptado | DGI aceptó el CFE. |
pendiente | Aceptado, falta respuesta definitiva de DGI. |
observado | DGI lo observó (revisar motivoRechazo). |
rechazado | DGI lo rechazó (revisar motivoRechazo). |
Esquemas completos, parámetros y ejemplos de cada endpoint: Referencia OpenAPI.