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.
Campos opcionales de identificación y catálogo
Todosnull 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 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 mismodoc_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):
200 con pending: true):
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 sonnull por defecto.
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 (omitiendomodo_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ásid_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.