Skip to main content
POST /v1/de/emitir Crea un nuevo Documento Electrónico (factura, autofactura, nota de crédito, nota de débito o nota de remisión) y lo encola para envío a SIFEN. El campo tipo_de del body determina el tipo de documento:

Headers

Query params

Body

Campos principales (siempre)

Campos específicos por tipo

tipo_transaccion — valores

Objeto receptor

Receptor no domiciliado (empresa extranjera): si el receptor no tiene ruc y codigo_pais es distinto de "PRY", numero_documento es obligatorio — no se acepta "0"/innominado. Usá tipo_documento: 2 (Pasaporte) o tipo_documento: 9 (Otro) según corresponda. Sin esto, la emisión falla con VALIDACION_RECEPTOR_EXTRANJERO_SIN_IDENTIFICADOR (ver Errores frecuentes).

Objeto item

Campos principales

Los campos derivados (subtotal, base_gravada_iva, liquidacion_iva) son calculados por e-Miti usando las fórmulas SIFEN — no los enviés. Todos null por defecto. Enviá solo los que correspondan para tu operación.

Objeto rastreo_mercaderia

Todos los campos son opcionales. Completá solo los que tu operación requiera (lote para alimentos, importador para agroquímicos, etc.).

Objeto pago_credito

Requerido cuando condicion_venta: 2.

Objeto autofactura

Requerido cuando tipo_de: 4. Describe al vendedor no-contribuyente.

Objeto doc_asociado

Requerido cuando tipo_de: 5 (Nota de Crédito) o tipo_de: 6 (Nota de Débito).

Objeto obra

Requerido cuando tipo_transaccion: 14 (Gasto de obra). Al menos una obra.

Objeto items_remision

Requerido cuando tipo_de: 7. Ítems trasladados — sin precio ni IVA, a diferencia del objeto item. Acepta además los mismos campos opcionales de identificación y catálogo comercial que el objeto item (codigo_interno, partida_arancelaria, ncm, dncp_general/dncp_especifico, gtin, gtin_paquete, pais_origen/descripcion_pais_origen, info_item, relevancia_mercaderia y campos derivados, cdc_anticipo, rastreo_mercaderia) — con las mismas reglas de dependencia entre campos.

Objeto remision

Requerido cuando tipo_de: 7. Datos generales del traslado (motivo, responsable, kilómetros).

remision.motivo — valores

remision.responsable — valores

Objeto transporte

Requerido cuando tipo_de: 7. Además de los campos propios, local_salida, al menos un elemento en locales_entrega, al menos un elemento en vehiculos y transportista son obligatorios para toda Nota de Remisión (SIFEN los declara opcionales en el XSD pero los rechaza igual si faltan — e-Miti valida esto antes de enviar).

Objeto local_salida / locales_entrega

Mismo shape para el local de salida (local_salida, un objeto) y los locales de entrega (locales_entrega, un array).

Objeto vehiculos

Cada elemento del array transporte.vehiculos (0 a 4 vehículos).

Objeto transportista

Datos del transportista y del chofer (el bloque de chofer es siempre obligatorio).
Para Nota de Remisión, el receptor también necesita domicilio completo: direccion siempre, y si el receptor está domiciliado en Paraguay (tiene ruc o codigo_pais: "PRY"), además codigo_departamento, codigo_ciudad y descripcion_ciudad. Ver el error NR_RECEPTOR_DOMICILIO_FALTANTE más abajo.

motivo_nc — valores

El catálogo de motivos es único y vale tanto para Nota de Crédito (tipo_de: 5) como para Nota de Débito (tipo_de: 6) — cualquier valor 18 es válido en ambos tipos.

Sobre-acreditación (solo NC)

Para Nota de Crédito, el total de la NC (sumado a otras NC aprobadas sobre el mismo doc_asociado.cdc) no puede superar el total del documento referenciado — devuelve 422 NC_SOBRE_ACREDITACION si se excede. Este límite no aplica a Nota de Débito: un débito es un cargo adicional y puede superar el total del documento referenciado.

Respuesta

Modo asíncrono (wait=false, default)

El DE se encola para envío a SIFEN. Recibís 200 inmediatamente con estado: "P" (pendiente). Hacé polling con GET /v1/de?cdc=... hasta que pase a A o R.
El kude_url está disponible apenas emitís, en estado P, para que puedas imprimir el comprobante en el acto (por ejemplo, en la caja de un comercio). Cuando SIFEN aprueba el documento, e-Miti actualiza la representación a su versión definitiva; podés obtener siempre la más reciente con GET /v1/de/{cdc}/kude. El kude_url también aparece en la respuesta del modo sincrónico.

Modo sincrónico (wait=true)

La API hace polling hasta recibir respuesta de SIFEN o agotar el timeout. Aprobado (200):
Timeout sin respuesta SIFEN (200 con pending: true):
Cuando pending: true, el DE sigue siendo procesado por el worker. Hacé polling por GET /v1/de?cdc=.... Rechazado (422 SIFEN_RECHAZO) — mismo shape de error estándar con extra.codigo_sifen y extra.cdc.

Ejemplo: ítem con campos opcionales

El siguiente fragmento muestra un ítem con los campos opcionales más frecuentes. Incluí solo los que apliquen a tu operación — todos son null por defecto.
Para una factura de anticipos, agregá cdc_anticipo (44 dígitos) con el CDC del DE de anticipo previo. Para mercadería con tolerancia de quiebra, usá relevancia_mercaderia: 1 junto con cantidad_quiebra_merma y porcentaje_quiebra_merma.

Modo de envío

Cada punto de expedición tiene un modo de envío configurado que determina cómo se procesa el comprobante. Podés dejar que la emisión use esa configuración (omitiendo modo_envio) o forzar un modo puntual en el request. Si omitís modo_envio, se usa el modo configurado en el punto de expedición (por defecto, diferido). El modo elegido no cambia la validez del comprobante — solo cuándo obtenés la respuesta final.

Idempotencia

Si enviás id_interno, reintentar el mismo request con el mismo valor devuelve el DE ya creado (sin duplicar) y un 200. El estado puede ser distinto del P original si el worker ya procesó el documento.

Errores frecuentes