> ## Documentation Index
> Fetch the complete documentation index at: https://docs.emiti.fravelabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Emitir DE

> Crear un Documento Electrónico y enviarlo a SIFEN.

`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:

| `tipo_de` | Tipo                         | Tutorial                                                 |
| --------- | ---------------------------- | -------------------------------------------------------- |
| `1`       | Factura electrónica          | [emitir-factura](/tutoriales/emitir-factura)             |
| `4`       | Autofactura electrónica      | [emitir-autofactura](/tutoriales/emitir-autofactura)     |
| `5`       | Nota de crédito electrónica  | [emitir-nota-credito](/tutoriales/emitir-nota-credito)   |
| `6`       | Nota de débito electrónica   | —                                                        |
| `7`       | Nota de remisión electrónica | [emitir-nota-remision](/tutoriales/emitir-nota-remision) |

## Headers

| Header          | Requerido | Valores                 | Descripción                                                                      |
| --------------- | --------- | ----------------------- | -------------------------------------------------------------------------------- |
| `Authorization` | sí        | `ApiKey emiti_k_...`    | Autenticación (ver [autenticación](/getting-started/authentication)).            |
| `Content-Type`  | sí        | `application/json`      |                                                                                  |
| `X-Fuente`      | no        | `A` (default), `U`, `W` | Canal de emisión: `A` = API/sistema externo, `U` = UI de e-Miti, `W` = WhatsApp. |

## Query params

| Parámetro  | Tipo                | Default | Descripción                                                                                                                                                     |
| ---------- | ------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `wait`     | `boolean`           | `false` | Espera la respuesta de SIFEN antes de retornar (modo sincrónico).                                                                                               |
| `timeout`  | `integer` (1–25)    | `10`    | Segundos a esperar cuando `wait=true`.                                                                                                                          |
| `edit_cdc` | `string` (44 chars) | —       | Si se envía, edita el DE rechazado con ese CDC en lugar de emitir uno nuevo. El payload debe mantener los campos identificatorios (tipo, serie, número, fecha). |

## Body

### Campos principales (siempre)

| Campo                 | Tipo                    | Requerido                                 | Descripción                                                                                                                                                                                                                             |
| --------------------- | ----------------------- | ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `establecimiento`     | `string` (3 dígitos)    | sí                                        | Código EEE de la sucursal. Ej: `"001"`.                                                                                                                                                                                                 |
| `punto`               | `string` (3 dígitos)    | sí                                        | Código PPP del punto de expedición. Ej: `"001"`.                                                                                                                                                                                        |
| `tipo_de`             | `integer`               | no (default `1`)                          | Tipo de documento: `1` Factura, `4` Autofactura, `5` Nota de Crédito, `6` Nota de Débito, `7` Nota de Remisión.                                                                                                                         |
| `tipo_transaccion`    | `integer`               | condicional                               | Naturaleza de la operación. Obligatorio solo para `tipo_de: 1` (Factura) y `tipo_de: 4` (Autofactura). Se ignora si se envía para Nota de Crédito/Débito o Nota de Remisión — SIFEN no admite este dato en esos tipos. Ver tabla abajo. |
| `receptor`            | `object`                | sí                                        | Datos del receptor. Ver [objeto `receptor`](#objeto-receptor).                                                                                                                                                                          |
| `items`               | `array`                 | sí (para tipos 1, 4, 5, 6)                | Ítems con precio. Ver [objeto `item`](#objeto-item). `tipo_de: 7` (Nota de Remisión) usa `items_remision` en su lugar — sin precio ni IVA.                                                                                              |
| `fecha_emision`       | `string` (ISO 8601)     | no (default: ahora)                       | Fecha y hora de emisión. No puede ser futura.                                                                                                                                                                                           |
| `tipo_emision`        | `integer`               | no (default `1`)                          | `1` Normal, `2` Contingencia.                                                                                                                                                                                                           |
| `sit`                 | `string`                | no (default: usa punto.sit)               | `"H"` Homologación, `"P"` Producción. Omitir para que el sistema use el ambiente configurado en el punto.                                                                                                                               |
| `modo_envio`          | `string`                | no (default: usa la config del punto)     | Modo de envío del comprobante: `"S"` inmediato, `"A"` diferido. Omitir para usar el modo configurado en el punto de expedición. Ver [Modo de envío](#modo-de-envio).                                                                    |
| `tipo_impuesto`       | `integer`               | no (auto-detectado)                       | Tipo de impuesto: `1` IVA, `2` ISC, `3` Renta, `4` Ninguno (exento), `5` IVA+Renta. Si se omite se deduce de los ítems.                                                                                                                 |
| `moneda`              | `string` (3 chars)      | no (default `"PYG"`)                      | Código ISO 4217 de moneda. Ej: `"USD"`, `"BRL"`.                                                                                                                                                                                        |
| `tipo_cambio`         | `decimal`               | condicional                               | Obligatorio si `moneda != "PYG"`. Tipo de cambio respecto al guaraní.                                                                                                                                                                   |
| `indicador_presencia` | `integer`               | no (default `1`)                          | Indicador de presencia: `1` Presencial, `2` Electrónica, `3` Telemarketing, `4` Domicilio, `5` Bancaria, `6` Cíclica, `9` Otro.                                                                                                         |
| `id_interno`          | `string` (máx 50)       | no                                        | ID del documento en tu sistema. Habilita **idempotencia**: reintentar con el mismo `id_interno` devuelve el DE ya creado, sin duplicar.                                                                                                 |
| `numero`              | `integer` (> 0)         | no                                        | Forzar número de comprobante específico. Si se omite, el sistema asigna el siguiente correlativo.                                                                                                                                       |
| `d_cod_seg`           | `string` (9 dígitos)    | no                                        | Código de seguridad del DE. Si se omite, se genera automáticamente.                                                                                                                                                                     |
| `condicion_venta`     | `integer`               | no (default `1` para factura/autofactura) | `1` Contado, `2` Crédito.                                                                                                                                                                                                               |
| `pago_credito`        | `object`                | condicional                               | Obligatorio si `condicion_venta: 2`. Ver [objeto `pago_credito`](#objeto-pago_credito).                                                                                                                                                 |
| `obras`               | `array`                 | condicional                               | Obligatorio si `tipo_transaccion: 14` (Gasto de obra). Ver [objeto `obra`](#objeto-obra).                                                                                                                                               |
| `info_emisor`         | `string` (1–3000 chars) | no                                        | Texto libre del emisor sobre el documento (observaciones, referencias internas).                                                                                                                                                        |
| `info_fiscal`         | `string` (1–3000 chars) | condicional                               | Texto libre dirigido al Fisco. **Obligatorio para Nota de Remisión** (`tipo_de: 7`) — Art. 3 Inc. 7 de la Resolución General Nro. 41/2014.                                                                                              |

### Campos específicos por tipo

| Campo            | Tipo      | Requerido cuando                                      | Descripción                                                                                                                 |
| ---------------- | --------- | ----------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `autofactura`    | `object`  | `tipo_de: 4`                                          | Datos del vendedor no-contribuyente. Ver [objeto `autofactura`](#objeto-autofactura).                                       |
| `motivo_nc`      | `integer` | `tipo_de: 5` o `6` (default `1` para NC, `6` para ND) | Motivo de la NC/ND. Mismo catálogo para ambos tipos — ver [tabla de motivos](#motivo_nc--valores).                          |
| `doc_asociado`   | `object`  | `tipo_de: 5` o `6`                                    | Documento al que hace referencia la NC/ND. Ver [objeto `doc_asociado`](#objeto-doc_asociado).                               |
| `items_remision` | `array`   | `tipo_de: 7`                                          | Ítems trasladados, sin precio ni IVA. Ver [objeto `items_remision`](#objeto-items_remision).                                |
| `remision`       | `object`  | `tipo_de: 7`                                          | Motivo, responsable y datos generales del traslado. Ver [objeto `remision`](#objeto-remision).                              |
| `transporte`     | `object`  | `tipo_de: 7`                                          | Datos del transporte: modalidad, fechas, locales, vehículos y transportista. Ver [objeto `transporte`](#objeto-transporte). |

### `tipo_transaccion` — valores

| Valor | Significado                        |
| ----- | ---------------------------------- |
| `1`   | Venta de mercadería                |
| `2`   | Prestación de servicios            |
| `3`   | Mixto                              |
| `4`   | Venta de activo fijo               |
| `5`   | Venta de divisas                   |
| `6`   | Compra de divisas                  |
| `7`   | Promoción / entretenimiento        |
| `8`   | Donación                           |
| `9`   | Anticipo                           |
| `10`  | Compra de productos                |
| `11`  | Compra de servicios                |
| `12`  | Venta de créditos fiscales         |
| `13`  | Muestras médicas                   |
| `14`  | Gasto de obra (requiere `obras[]`) |

### Objeto `receptor`

| Campo                      | Tipo               | Default          | Descripción                                                                                                                                                                   |
| -------------------------- | ------------------ | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `nombre`                   | `string` (máx 255) | —                | **Requerido.** Nombre o razón social del receptor.                                                                                                                            |
| `ruc`                      | `string`           | `null`           | RUC con DV (`XXXXXXXX-D`) si el receptor es contribuyente.                                                                                                                    |
| `nombre_fantasia`          | `string` (máx 255) | `null`           | Nombre de fantasía del receptor.                                                                                                                                              |
| `tipo_contribuyente`       | `integer`          | `null`           | `1` Persona física, `2` Persona jurídica.                                                                                                                                     |
| `tipo_documento`           | `integer`          | `5` (Innominado) | Tipo de doc de identidad (cuando no es contribuyente): `1` CI PY, `2` Pasaporte, `3` CI extranjera, `4` Carnet residencia, `5` Innominado, `6` Tarjeta diplomática, `9` Otro. |
| `numero_documento`         | `string` (máx 20)  | `"0"`            | Número del documento. `"0"` si innominado / consumidor final.                                                                                                                 |
| `direccion`                | `string`           | `null`           | Dirección del receptor.                                                                                                                                                       |
| `numero_casa`              | `integer`          | `0`              | Número de casa.                                                                                                                                                               |
| `codigo_departamento`      | `integer` (1–20)   | `null`           | Código de departamento SET.                                                                                                                                                   |
| `descripcion_departamento` | `string` (máx 100) | `null`           | Nombre del departamento.                                                                                                                                                      |
| `codigo_distrito`          | `integer`          | `null`           | Código de distrito SET.                                                                                                                                                       |
| `descripcion_distrito`     | `string` (máx 100) | `null`           | Nombre del distrito.                                                                                                                                                          |
| `codigo_ciudad`            | `integer`          | `null`           | Código de ciudad SET.                                                                                                                                                         |
| `descripcion_ciudad`       | `string` (máx 100) | `null`           | Nombre de la ciudad.                                                                                                                                                          |
| `celular`                  | `string` (máx 20)  | `null`           | Celular del receptor.                                                                                                                                                         |
| `email`                    | `string`           | `null`           | Email — e-Miti envía el KuDE a esta dirección si está presente.                                                                                                               |
| `codigo_pais`              | `string` (3 chars) | `"PRY"`          | Código ISO 3166-1 alfa-3 del país del receptor.                                                                                                                               |
| `codigo_cliente`           | `string` (máx 20)  | `null`           | Código interno del receptor en tu sistema.                                                                                                                                    |

**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](#errores-frecuentes)).

### Objeto `item`

#### Campos principales

| Campo                  | Tipo               | Default | Descripción                                         |
| ---------------------- | ------------------ | ------- | --------------------------------------------------- |
| `descripcion`          | `string` (máx 500) | —       | **Requerido.** Descripción del bien o servicio.     |
| `cantidad`             | `decimal` (> 0)    | —       | **Requerido.** Cantidad (hasta 4 decimales).        |
| `precio_unitario`      | `decimal` (≥ 0)    | —       | **Requerido.** Precio unitario (hasta 2 decimales). |
| `iva_tipo`             | `integer`          | `1`     | Tasa de IVA: `1` = 10%, `2` = 5%, `3` = Exento.     |
| `descuento_porcentaje` | `decimal` (0–100)  | `null`  | Descuento porcentual sobre el subtotal.             |
| `unidad_medida`        | `integer`          | `77`    | Código de unidad de medida SET. `77` = Unidad.      |

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

Todos `null` por defecto. Enviá solo los que correspondan para tu operación.

| Campo                               | Tipo                              | Descripción                                                                                                                   |
| ----------------------------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `codigo_interno`                    | `string` (1–20 chars)             | Código del producto en tu catálogo. Si se omite, e-Miti genera un correlativo por ítem.                                       |
| `partida_arancelaria`               | `string` (4 dígitos)              | Partida arancelaria del bien.                                                                                                 |
| `ncm`                               | `string` (6–8 dígitos)            | Nomenclatura Común del Mercosur.                                                                                              |
| `dncp_general`                      | `string` (8 chars)                | Código DNCP nivel general. Si se envía, `dncp_especifico` es obligatorio.                                                     |
| `dncp_especifico`                   | `string` (3–4 chars)              | Código DNCP nivel específico.                                                                                                 |
| `gtin`                              | `string` (8, 12, 13 o 14 dígitos) | Código de barras GTIN del producto.                                                                                           |
| `gtin_paquete`                      | `string` (8, 12, 13 o 14 dígitos) | Código de barras GTIN del paquete/embalaje.                                                                                   |
| `pais_origen`                       | `string` (3 chars, código ISO)    | País de origen del bien (ej. `"PRY"`, `"BRA"`). Si se envía, `descripcion_pais_origen` es obligatorio.                        |
| `descripcion_pais_origen`           | `string` (4–30 chars)             | Nombre del país de origen.                                                                                                    |
| `info_item`                         | `string` (1–500 chars)            | Texto libre del emisor sobre el ítem (observaciones, especificaciones).                                                       |
| `relevancia_mercaderia`             | `integer` (`1` o `2`)             | Tolerancia de quiebra (`1`) o tolerancia de merma (`2`). Si se envía, los campos de cantidad/porcentaje son obligatorios.     |
| `descripcion_relevancia_mercaderia` | `string` (19–21 chars)            | Descripción textual de la relevancia (`"Tolerancia de quiebra"` / `"Tolerancia de merma"`).                                   |
| `cantidad_quiebra_merma`            | `decimal` (≥ 0, hasta 4 dec.)     | Cantidad de quiebra o merma.                                                                                                  |
| `porcentaje_quiebra_merma`          | `decimal` (0–100, hasta 8 dec.)   | Porcentaje de quiebra o merma.                                                                                                |
| `cdc_anticipo`                      | `string` (44 dígitos)             | CDC del anticipo relacionado. Requerido por SIFEN cuando `tipo_transaccion: 9` (Anticipo).                                    |
| `rastreo_mercaderia`                | `object`                          | Grupo de trazabilidad del ítem: lote, vencimiento, importador. Ver [objeto `rastreo_mercaderia`](#objeto-rastreo_mercaderia). |

#### Objeto `rastreo_mercaderia`

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

| Campo                               | Tipo                   | Descripción                                      |
| ----------------------------------- | ---------------------- | ------------------------------------------------ |
| `numero_lote`                       | `string` (1–80 chars)  | Número de lote del producto.                     |
| `fecha_vencimiento`                 | `string` (YYYY-MM-DD)  | Fecha de vencimiento de la mercadería.           |
| `numero_serie`                      | `string` (1–10 chars)  | Número de serie del producto.                    |
| `numero_pedido`                     | `string` (1–20 chars)  | Número de pedido de compra asociado.             |
| `numero_seguimiento`                | `string` (1–20 chars)  | Número de seguimiento del envío.                 |
| `nombre_importador`                 | `string` (4–60 chars)  | Nombre del importador (agroquímicos RG 16/2019). |
| `direccion_importador`              | `string` (1–255 chars) | Dirección del importador.                        |
| `numero_firma_importador`           | `string` (1–20 chars)  | Número de firma del importador.                  |
| `numero_registro_senave`            | `string` (1–20 chars)  | Número de registro SENAVE.                       |
| `numero_registro_entidad_comercial` | `string` (1–20 chars)  | Número de registro en entidad comercial.         |

### Objeto `pago_credito`

Requerido cuando `condicion_venta: 2`.

| Campo           | Tipo              | Requerido cuando | Descripción                             |
| --------------- | ----------------- | ---------------- | --------------------------------------- |
| `tipo_cred`     | `integer`         | siempre          | `1` Plazo, `2` Cuotas.                  |
| `plazo`         | `string` (máx 15) | `tipo_cred: 1`   | Descripción del plazo. Ej: `"30 días"`. |
| `cuotas`        | `integer` (1–99)  | `tipo_cred: 2`   | Cantidad de cuotas.                     |
| `monto_entrega` | `decimal` (≥ 0)   | no               | Monto de entrega inicial (anticipo).    |

### Objeto `autofactura`

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

| Campo                           | Tipo               | Descripción                                                                   |
| ------------------------------- | ------------------ | ----------------------------------------------------------------------------- |
| `naturaleza_vendedor`           | `integer`          | `1` No-contribuyente (default), `2` Extranjero.                               |
| `tipo_documento`                | `integer`          | `1` CI PY (default), `2` Pasaporte, `3` CI extranjera, `4` Carnet residencia. |
| `numero_documento`              | `string` (máx 20)  | CI, pasaporte u otro.                                                         |
| `nombre`                        | `string` (máx 255) | Nombre completo del vendedor.                                                 |
| `direccion`                     | `string` (máx 255) | Dirección del vendedor.                                                       |
| `numero_casa`                   | `integer`          | Default `0`.                                                                  |
| `codigo_departamento`           | `integer` (1–20)   | Código SET del departamento del vendedor.                                     |
| `ciudad`                        | `string` (máx 100) | Ciudad del vendedor.                                                          |
| `codigo_ciudad`                 | `integer`          | Código SET de la ciudad del vendedor.                                         |
| `direccion_provision`           | `string` (máx 255) | Lugar donde se entregó el bien o prestó el servicio.                          |
| `codigo_departamento_provision` | `integer` (1–20)   | Departamento de provisión.                                                    |
| `ciudad_provision`              | `string` (máx 100) | Ciudad de provisión.                                                          |
| `codigo_ciudad_provision`       | `integer`          | Código SET de la ciudad de provisión.                                         |

### Objeto `doc_asociado`

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

| Campo                | Tipo                             | Requerido cuando | Descripción                                             |
| -------------------- | -------------------------------- | ---------------- | ------------------------------------------------------- |
| `tipo`               | `integer`                        | siempre          | `1` Electrónico (default), `2` Impreso, `3` Constancia. |
| `cdc`                | `string` (44 chars)              | `tipo: 1`        | CDC del DE referenciado.                                |
| `timbrado`           | `string`                         | `tipo: 2`        | Timbrado del documento impreso.                         |
| `establecimiento`    | `string`                         | `tipo: 2`        | Establecimiento del doc impreso.                        |
| `punto`              | `string`                         | `tipo: 2`        | Punto del doc impreso.                                  |
| `numero`             | `string`                         | `tipo: 2`        | Número del doc impreso.                                 |
| `fecha`              | `string` (YYYY-MM-DD)            | `tipo: 2`        | Fecha del doc impreso.                                  |
| `constancia_tipo`    | `integer`                        | `tipo: 3`        | `1` No-contribuyente, `2` Microproductores.             |
| `constancia_numero`  | `string` (hasta 15 dígitos)      | `tipo: 3`        | Número de la constancia.                                |
| `constancia_control` | `string` (8 chars alfanuméricos) | no               | Control de la constancia.                               |

### Objeto `obra`

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

| Campo    | Tipo               | Descripción                                                   |
| -------- | ------------------ | ------------------------------------------------------------- |
| `nombre` | `string` (máx 300) | **Requerido.** Denominación de la obra pública (`dNombObra`). |

### Objeto `items_remision`

Requerido cuando `tipo_de: 7`. Ítems trasladados — **sin precio ni IVA**, a diferencia del objeto [`item`](#objeto-item).

| Campo           | Tipo               | Default | Descripción                                     |
| --------------- | ------------------ | ------- | ----------------------------------------------- |
| `descripcion`   | `string` (máx 500) | —       | **Requerido.** Descripción del bien trasladado. |
| `cantidad`      | `decimal` (> 0)    | —       | **Requerido.** Cantidad (hasta 4 decimales).    |
| `unidad_medida` | `integer`          | `77`    | Código de unidad de medida SET. `77` = Unidad.  |

Acepta además los mismos campos opcionales de identificación y catálogo comercial que el objeto [`item`](#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).

| Campo                | Tipo                  | Default | Descripción                                                                                                                     |
| -------------------- | --------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `motivo`             | `integer`             | `1`     | Motivo de la remisión. Ver [tabla de motivos](#remision-motivo--valores).                                                       |
| `descripcion_motivo` | `string` (5–60 chars) | `null`  | Descripción libre — **obligatoria si `motivo: 99`** (Otro). Para los demás valores, e-Miti deriva la descripción del catálogo.  |
| `responsable`        | `integer`             | `1`     | Responsable de la emisión. Ver [tabla de responsables](#remision-responsable--valores).                                         |
| `kilometros`         | `integer` (1–99999)   | `1`     | Kilómetros estimados de recorrido.                                                                                              |
| `fecha_factura`      | `string` (YYYY-MM-DD) | `null`  | Fecha de la factura asociada al traslado. **Obligatoria si `motivo: 1`** (traslado por venta) **y no se envía `doc_asociado`**. |
| `costo_flete`        | `decimal` (≥ 0)       | `null`  | Costo del flete.                                                                                                                |

#### `remision.motivo` — valores

| Valor | Motivo                                              |
| ----- | --------------------------------------------------- |
| `1`   | Traslado por venta (default)                        |
| `2`   | Traslado por consignación                           |
| `3`   | Exportación                                         |
| `4`   | Traslado por compra                                 |
| `5`   | Importación (requiere `transporte.numero_despacho`) |
| `6`   | Traslado por devolución                             |
| `7`   | Traslado entre locales de la misma empresa          |
| `8`   | Traslado por transformación                         |
| `9`   | Traslado para reparación                            |
| `10`  | Traslado de emisor móvil                            |
| `11`  | Exhibición                                          |
| `12`  | Ferias                                              |
| `13`  | Encomienda                                          |
| `14`  | Decomiso                                            |
| `99`  | Otro (requiere `descripcion_motivo`)                |

#### `remision.responsable` — valores

| Valor | Responsable                    |
| ----- | ------------------------------ |
| `1`   | Emisor de la factura (default) |
| `2`   | Poseedor de la factura         |
| `3`   | Empresa transportista          |
| `4`   | Despachante de aduanas         |
| `5`   | Agente de transporte           |

### 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).

| Campo                      | Tipo                  | Default | Descripción                                                                                                                          |
| -------------------------- | --------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `tipo_transporte`          | `integer` (1–2)       | `null`  | **Requerido.** `1` Propio, `2` Tercero.                                                                                              |
| `modalidad`                | `integer` (1–4)       | `1`     | Modalidad: `1` Terrestre, `2` Fluvial, `3` Aéreo, `4` Multimodal. Si es `3` (Aérea), `numero_vuelo` es obligatorio en cada vehículo. |
| `responsable_flete`        | `integer` (1–5)       | `1`     | `1` Emisor FE, `2` Receptor FE, `3` Tercero, `4` Agente intermediario, `5` Transporte propio.                                        |
| `condicion_negociacion`    | `string`              | `null`  | Incoterm: `CFR`, `CIF`, `CIP`, `CPT`, `DAP`, `DAT`, `DDP`, `EXW`, `FAS`, `FCA` o `FOB`.                                              |
| `numero_manifiesto`        | `string` (máx 15)     | `null`  | Número de manifiesto de carga.                                                                                                       |
| `numero_despacho`          | `string` (16 chars)   | `null`  | Número de despacho de importación. **Obligatorio si `remision.motivo: 5`** (Importación).                                            |
| `fecha_inicio_traslado`    | `string` (YYYY-MM-DD) | `null`  | **Requerido.** Fecha de inicio del traslado (≥ 2018-05-01).                                                                          |
| `fecha_fin_traslado`       | `string` (YYYY-MM-DD) | `null`  | **Requerido.** Fecha de fin del traslado. Debe ser igual o posterior a `fecha_inicio_traslado`.                                      |
| `codigo_pais_destino`      | `string` (3 chars)    | `null`  | País de destino (código ISO), para exportación.                                                                                      |
| `descripcion_pais_destino` | `string` (4–50 chars) | `null`  | Nombre del país de destino.                                                                                                          |
| `local_salida`             | `object`              | —       | **Requerido.** Local desde donde sale la mercadería. Ver [objeto local](#objeto-local_salida--locales_entrega).                      |
| `locales_entrega`          | `array` (máx 99)      | `[]`    | **Requerido, al menos uno.** Locales donde se entrega la mercadería. Ver [objeto local](#objeto-local_salida--locales_entrega).      |
| `vehiculos`                | `array` (máx 4)       | `[]`    | **Requerido, al menos uno.** Vehículos usados en el traslado. Ver [objeto vehículo](#objeto-vehiculos).                              |
| `transportista`            | `object`              | `null`  | **Requerido.** Datos del transportista y del chofer. Ver [objeto transportista](#objeto-transportista).                              |

#### 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).

| Campo                      | Tipo                  | Default | Descripción                                                   |
| -------------------------- | --------------------- | ------- | ------------------------------------------------------------- |
| `direccion`                | `string` (máx 255)    | —       | **Requerido.** Dirección del local.                           |
| `numero_casa`              | `integer` (0–999999)  | `0`     | Número de casa.                                               |
| `complemento1`             | `string` (máx 255)    | `null`  | Complemento de dirección 1.                                   |
| `complemento2`             | `string` (máx 255)    | `null`  | Complemento de dirección 2.                                   |
| `codigo_departamento`      | `integer` (1–20)      | —       | **Requerido.** Código de departamento SET.                    |
| `descripcion_departamento` | `string`              | `null`  | Nombre del departamento. Se deriva del código si no se envía. |
| `codigo_distrito`          | `integer` (1–9999)    | `null`  | Código de distrito SET.                                       |
| `descripcion_distrito`     | `string` (1–30 chars) | `null`  | Nombre del distrito.                                          |
| `codigo_ciudad`            | `integer` (1–99999)   | —       | **Requerido.** Código de ciudad SET.                          |
| `descripcion_ciudad`       | `string` (1–30 chars) | —       | **Requerido.** Nombre de la ciudad.                           |
| `telefono`                 | `string` (6–15 chars) | `null`  | Teléfono de contacto del local.                               |

#### Objeto `vehiculos`

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

| Campo                   | Tipo                       | Default | Descripción                                                              |
| ----------------------- | -------------------------- | ------- | ------------------------------------------------------------------------ |
| `tipo_vehiculo`         | `string` (4–10 chars)      | —       | **Requerido.** Tipo de vehículo.                                         |
| `marca`                 | `string` (1–10 chars)      | —       | **Requerido.** Marca del vehículo.                                       |
| `tipo_identificacion`   | `integer` (1–2)            | —       | **Requerido.** `1` por número de identificación, `2` por matrícula.      |
| `numero_identificacion` | `string` (1–20 chars)      | `null`  | **Obligatorio si `tipo_identificacion: 1`.**                             |
| `adicional`             | `string` (1–20 chars)      | `null`  | Dato adicional del vehículo.                                             |
| `numero_matricula`      | `string` (1–7 chars)       | `null`  | **Obligatorio si `tipo_identificacion: 2`.**                             |
| `numero_vuelo`          | `string` (6 chars exactos) | `null`  | **Obligatorio si `transporte.modalidad: 3`** (Aérea) — en cada vehículo. |

#### Objeto `transportista`

Datos del transportista y del chofer (el bloque de chofer es siempre obligatorio).

| Campo                      | Tipo                   | Default | Descripción                                                                          |
| -------------------------- | ---------------------- | ------- | ------------------------------------------------------------------------------------ |
| `naturaleza`               | `integer` (1–2)        | —       | **Requerido.** `1` Contribuyente, `2` No contribuyente.                              |
| `nombre`                   | `string` (4–60 chars)  | —       | **Requerido.** Nombre o razón social del transportista.                              |
| `ruc`                      | `string` (3–8 chars)   | `null`  | RUC sin DV. **Obligatorio si `naturaleza: 1`.**                                      |
| `dv_ruc`                   | `integer` (0–9)        | `null`  | Dígito verificador del RUC.                                                          |
| `tipo_documento`           | `integer` (1–4)        | `null`  | Tipo de documento. **Obligatorio si `naturaleza: 2`**, junto con `numero_documento`. |
| `numero_documento`         | `string` (1–20 chars)  | `null`  | Número de documento del transportista (si no es contribuyente).                      |
| `codigo_nacionalidad`      | `string`               | `null`  | Código de país de nacionalidad.                                                      |
| `descripcion_nacionalidad` | `string` (4–50 chars)  | `null`  | Nombre del país de nacionalidad.                                                     |
| `chofer_documento`         | `string` (1–20 chars)  | —       | **Requerido.** Documento del chofer.                                                 |
| `chofer_nombre`            | `string` (4–60 chars)  | —       | **Requerido.** Nombre del chofer.                                                    |
| `chofer_domicilio_fiscal`  | `string` (1–150 chars) | —       | **Requerido.** Domicilio fiscal del chofer.                                          |
| `chofer_direccion`         | `string` (1–255 chars) | —       | **Requerido.** Dirección del chofer.                                                 |
| `agente_nombre`            | `string` (4–60 chars)  | `null`  | Nombre del agente de transporte (si aplica).                                         |
| `agente_ruc`               | `string` (3–8 chars)   | `null`  | RUC del agente (sin DV).                                                             |
| `agente_dv`                | `integer` (0–9)        | `null`  | Dígito verificador del RUC del agente.                                               |
| `agente_direccion`         | `string` (1–255 chars) | `null`  | Dirección del agente.                                                                |

<Note>
  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.
</Note>

### `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.

| Valor | Motivo                                         |
| ----- | ---------------------------------------------- |
| `1`   | Devolución y ajuste de precios (default en NC) |
| `2`   | Devolución                                     |
| `3`   | Descuento                                      |
| `4`   | Bonificación                                   |
| `5`   | Crédito incobrable                             |
| `6`   | Recupero de costo (default en ND)              |
| `7`   | Recupero de gasto                              |
| `8`   | Ajuste de precio                               |

### 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`.

```json theme={null}
{
  "cdc": "01548730457001001000000012026070712345678X",
  "de_id": "01948b3c-1234-7890-abcd-ef0123456789",
  "id_interno": "FAC-2026-0001",
  "numero": "001-001-0000001",
  "estado": "P",
  "sit": "H",
  "xml_s3_key": "h/001-001/factura/01948b3c-...",
  "kude_url": "https://s3.amazonaws.com/.../01548730...pdf?X-Amz-..."
}
```

| Campo        | Tipo                | Descripción                                                                                                                                                                                                                                                      |
| ------------ | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `cdc`        | `string` (44 chars) | Código de Control del DE. Identificador único SIFEN.                                                                                                                                                                                                             |
| `de_id`      | `string` (UUID)     | ID interno del DE en e-Miti. Usado en `/reencolar` y `/reenviar-email`.                                                                                                                                                                                          |
| `id_interno` | `string` \| `null`  | ID del documento en tu sistema (si lo enviaste).                                                                                                                                                                                                                 |
| `numero`     | `string`            | Número formateado del DE (`EEE-PPP-NNNNNNN`).                                                                                                                                                                                                                    |
| `estado`     | `"P"`               | Siempre `P` en modo asíncrono (pendiente de envío a SIFEN).                                                                                                                                                                                                      |
| `sit`        | `"H"` \| `"P"`      | Ambiente del DE.                                                                                                                                                                                                                                                 |
| `xml_s3_key` | `string`            | Key S3 del XML firmado (para auditoría interna).                                                                                                                                                                                                                 |
| `kude_url`   | `string` \| `null`  | URL pre-firmada (1 hora) del **KuDE listo para imprimir**, disponible al instante — sin esperar la respuesta de SIFEN. Ideal para imprimir en el punto de venta apenas se emite. `null` si la representación no pudo generarse (la emisión sigue siendo válida). |

<Note>
  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`](/api-reference/descargar-kude). El `kude_url` también aparece en la respuesta del modo sincrónico.
</Note>

### Modo sincrónico (`wait=true`)

La API hace polling hasta recibir respuesta de SIFEN o agotar el `timeout`.

**Aprobado** (`200`):

```json theme={null}
{
  "cdc": "...",
  "de_id": "...",
  "numero": "001-001-0000001",
  "estado": "A",
  "sit": "H",
  "appr_at": "2026-07-07T10:00:00",
  "resp": { "protocolo": "2026070712348", "codigo": "0200" }
}
```

**Timeout sin respuesta SIFEN** (`200` con `pending: true`):

```json theme={null}
{
  "cdc": "...",
  "estado": "P",
  "pending": true,
  "appr_at": null,
  "resp": null
}
```

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`.

| Campo extra | Descripción                                                                                   |
| ----------- | --------------------------------------------------------------------------------------------- |
| `estado`    | `"A"` (aprobado) o `"P"`/`"E"` (aún en proceso).                                              |
| `appr_at`   | ISO 8601 — timestamp de aprobación SIFEN. `null` si no aprobado aún.                          |
| `resp`      | Objeto con respuesta SIFEN: `protocolo`, `codigo`, `mensaje`. `null` si aún no hay respuesta. |
| `pending`   | `true` si el timeout se agotó y el DE sigue pendiente.                                        |

## 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.

```json theme={null}
{
  "descripcion": "Herbicida Roundup 1L",
  "cantidad": "100.0",
  "precio_unitario": "85000.00",
  "iva_tipo": 1,
  "unidad_medida": 77,
  "codigo_interno": "HERB-001",
  "ncm": "380893",
  "gtin": "07501234567890",
  "pais_origen": "ARG",
  "descripcion_pais_origen": "Argentina",
  "info_item": "Registro SENAVE 2024/001",
  "rastreo_mercaderia": {
    "numero_lote": "LOTE-2026-A",
    "fecha_vencimiento": "2028-12-31",
    "nombre_importador": "Importaciones Agro SA",
    "numero_registro_senave": "SV-2024-001"
  }
}
```

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.

| Valor | Modo      | Comportamiento                                                                                                                                                                 |
| ----- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `"A"` | Diferido  | El comprobante se procesa en segundo plano. La respuesta llega en estado `P` (pendiente) y el resultado final se consulta luego por `GET /v1/de?cdc=...` o usando `wait=true`. |
| `"S"` | Inmediato | El comprobante se procesa apenas se emite. Con `wait=true` la respuesta ya trae el resultado final (aprobado o rechazado) en la misma llamada.                                 |

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

| Código                                             | Causa                                                                                                                                                                                | Acción                                                                                                                    |
| -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| `VALIDACION_MULTIPLES_CAMPOS`                      | Campos requeridos faltantes o inválidos.                                                                                                                                             | Revisar `extra.errores[]`.                                                                                                |
| `VALIDACION_RECEPTOR_EXTRANJERO_SIN_IDENTIFICADOR` | Receptor sin `ruc` y `codigo_pais` distinto de `"PRY"`, pero sin `numero_documento` (o `"0"`).                                                                                       | Completar `tipo_documento` y `numero_documento` del receptor.                                                             |
| `AutofacturaSoloExentoError`                       | Ítems con IVA en autofactura (`tipo_de: 4`).                                                                                                                                         | Cambiar todos los ítems a `iva_tipo: 3`.                                                                                  |
| `NC_SOBRE_ACREDITACION`                            | Solo NC: el total de la NC supera el disponible del documento referenciado.                                                                                                          | Emitir por un monto menor o revisar NC ya emitidas sobre ese CDC.                                                         |
| `NR_RECEPTOR_DOMICILIO_FALTANTE`                   | Solo Nota de Remisión: falta el domicilio del receptor (dirección, departamento o ciudad).                                                                                           | Completar `direccion`, `codigo_departamento`, `codigo_ciudad` y `descripcion_ciudad` del receptor. Ver `extra.faltantes`. |
| `NR_FECHA_FACTURA_FALTANTE`                        | Solo Nota de Remisión por venta (`remision.motivo: 1`) sin factura referenciada: falta `remision.fecha_factura`.                                                                     | Completar `remision.fecha_factura` (fecha estimada de emisión de la factura).                                             |
| `NR_TRANSPORTE_INCOMPLETO`                         | Solo Nota de Remisión: faltan datos de transporte obligatorios (tipo de transporte, fechas de traslado, local de salida/entrega, vehículo, transportista o despacho de importación). | Completar los campos listados en `extra.faltantes`.                                                                       |
| `NR_TRANSPORTE_FECHA_TRASLADO_INVALIDA`            | Solo Nota de Remisión: `transporte.fecha_fin_traslado` es anterior a `transporte.fecha_inicio_traslado`.                                                                             | Ajustar las fechas de traslado.                                                                                           |
| `NR_VEHICULO_NUMERO_VUELO_FALTANTE`                | Solo Nota de Remisión aérea (`transporte.modalidad: 3`): falta `numero_vuelo` en algún vehículo.                                                                                     | Completar `numero_vuelo` (6 caracteres) en cada vehículo.                                                                 |
| `NR_INFO_FISCAL_FALTANTE`                          | Solo Nota de Remisión: falta `info_fiscal`.                                                                                                                                          | Completar `info_fiscal` con el mensaje al Fisco (Art. 3 Inc. 7 RG 41/2014).                                               |
| `TIPO_DE_NO_SOPORTADO`                             | `tipo_de` no tiene builder implementado (`2`, `3` u `8`).                                                                                                                            | Usar uno de los tipos soportados: `1`, `4`, `5`, `6` o `7`.                                                               |
| `SIFEN_RECHAZO` (solo con `wait=true`)             | SIFEN rechazó el documento.                                                                                                                                                          | Revisar `extra.codigo_sifen`. Ver [errores SIFEN](/errors/sifen-codes).                                                   |
| `EDICION_REQUIERE_CDC_NUEVO`                       | Con `edit_cdc`: los cambios modificarían el CDC.                                                                                                                                     | Emitir un DE nuevo sin `edit_cdc`.                                                                                        |
