> ## Documentation Index
> Fetch the complete documentation index at: https://developers.siplex.cl/llms.txt
> Use this file to discover all available pages before exploring further.

# Emitir DTE

> Emitir documentos tributarios electrónicos y enviarlos al SII

## Emitir un DTE

El proceso tiene dos pasos: **emitir** (genera el XML firmado) y **enviar** (lo manda al SII).

### Paso 1: Emitir

<CodeGroup>
  ```bash curl theme={null}
  curl -X POST https://api.example.com/api/v1/tenants/{tenantId}/dte \
    -H "Authorization: Bearer sk_live_..." \
    -H "Content-Type: application/json" \
    -d '{
      "tipoDte": 33,
      "receptor": {
        "rut": "77.777.777-7",
        "razonSocial": "Cliente SpA",
        "giro": "Comercio",
        "direccion": "Calle 1",
        "comuna": "Santiago",
        "ciudad": "Santiago"
      },
      "detalle": [
        {
          "nombre": "Servicio de desarrollo web",
          "cantidad": 1,
          "precioUnitario": 100000,
          "montoItem": 100000
        },
        {
          "nombre": "Hosting anual",
          "cantidad": 12,
          "precioUnitario": 5000,
          "montoItem": 60000
        }
      ],
      "montoTotal": 190400
    }'
  ```

  ```javascript Node.js theme={null}
  const dte = await fetch(
    `https://api.example.com/api/v1/tenants/${tenantId}/dte`,
    {
      method: 'POST',
      headers: {
        'Authorization': 'Bearer sk_live_...',
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        tipoDte: 33,
        receptor: {
          rut: '77.777.777-7',
          razonSocial: 'Cliente SpA',
          giro: 'Comercio',
          direccion: 'Calle 1',
          comuna: 'Santiago',
          ciudad: 'Santiago',
        },
        detalle: [
          { nombre: 'Servicio de desarrollo web', cantidad: 1, precioUnitario: 100000, montoItem: 100000 },
          { nombre: 'Hosting anual', cantidad: 12, precioUnitario: 5000, montoItem: 60000 },
        ],
        montoTotal: 190400,
      }),
    }
  ).then(r => r.json())
  ```
</CodeGroup>

Respuesta:

```json theme={null}
{
  "id": "uuid",
  "tipoDte": 33,
  "folio": 145,
  "rutReceptor": "77.777.777-7",
  "razonSocialReceptor": "Cliente SpA",
  "montoTotal": "190400.00",
  "estado": "generado",
  "createdAt": "2024-03-15T10:30:00Z"
}
```

### Paso 2: Enviar al SII

Puedes enviar uno o varios DTEs en un mismo sobre:

<CodeGroup>
  ```bash curl theme={null}
  curl -X POST https://api.example.com/api/v1/tenants/{tenantId}/dte/send \
    -H "Authorization: Bearer sk_live_..." \
    -H "Content-Type: application/json" \
    -d '{"dteIds": ["uuid-dte-1", "uuid-dte-2"]}'
  ```

  ```javascript Node.js theme={null}
  await fetch(
    `https://api.example.com/api/v1/tenants/${tenantId}/dte/send`,
    {
      method: 'POST',
      headers: {
        'Authorization': 'Bearer sk_live_...',
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({ dteIds: [dte.id] }),
    }
  )
  ```
</CodeGroup>

## Receptor

| Campo         | Requerido | Descripción         |
| ------------- | --------- | ------------------- |
| `rut`         | Sí        | RUT del receptor    |
| `razonSocial` | Sí        | Nombre legal        |
| `giro`        | No        | Actividad económica |
| `direccion`   | No        | Dirección           |
| `comuna`      | No        | Comuna              |
| `ciudad`      | No        | Ciudad              |

## Detalle

Cada ítem del detalle:

| Campo            | Requerido | Descripción                        |
| ---------------- | --------- | ---------------------------------- |
| `nombre`         | Sí        | Descripción del producto/servicio  |
| `cantidad`       | Sí        | Cantidad (positivo)                |
| `precioUnitario` | Sí        | Precio unitario                    |
| `montoItem`      | Sí        | Monto total del ítem               |
| `exento`         | No        | `true` si el ítem es exento de IVA |

## Referencias (notas de crédito/débito)

Para notas de crédito o débito, incluye el campo `referencias`:

```json theme={null}
{
  "tipoDte": 61,
  "referencias": [
    {
      "tipoDocRef": 33,
      "folioRef": 145,
      "fechaRef": "2024-03-15",
      "razonRef": "Anulación de factura",
      "codigoRef": 1
    }
  ]
}
```

## Estados del DTE

| Estado      | Descripción                         |
| ----------- | ----------------------------------- |
| `generado`  | XML firmado, no enviado al SII      |
| `enviado`   | Enviado al SII, esperando respuesta |
| `aceptado`  | Aceptado por el SII                 |
| `rechazado` | Rechazado por el SII                |

## Descargar XML

```bash theme={null}
curl https://api.example.com/api/v1/tenants/{tenantId}/dte/{dteId}/xml \
  -H "Authorization: Bearer sk_live_..." \
  -o factura.xml
```
