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 forma_pago

Cada elemento del array formas_pago describe un medio de pago de una operación al contado (condicion_venta: 1). Podés informar varios medios (multi-pago): en ese caso monto es obligatorio en cada uno y la suma debe coincidir con el total del DE. Si formas_pago se omite, la operación se registra como efectivo por el total. Códigos de tipo_pago:

Objeto tarjeta

Requerido cuando tipo_pago es 3 (crédito), 4 (débito) u 8 (empresarial).

Objeto cheque

Requerido cuando tipo_pago: 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 1–8 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.

Moneda extranjera

Podés emitir en moneda extranjera enviando moneda con el código ISO 4217 y tipo_cambio con la cotización respecto al guaraní. Las monedas habilitadas son: El tipo_cambio es un valor único que aplica a todo el documento (condición global): no se declara un cambio distinto por ítem. Debe ser mayor a 0 y admite hasta 4 decimales. El valor lo declarás vos — e-Miti no lo completa ni lo valida contra una fuente oficial. Los importes de los ítems y totales viajan con 2 decimales cuando la moneda es distinta de PYG. e-Miti calcula además el total general convertido a guaraníes (total × tipo_cambio) que exige SIFEN.
Si enviás una moneda que no está habilitada, la emisión falla con VALIDACION_MONEDA_NO_HABILITADA (ver Errores frecuentes).

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