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

# Folios y CAF

> Qué son los folios autorizados (CAF) y cómo gestionar la numeración de tus documentos.

Los documentos tributarios llevan una numeración autorizada por el ente tributario. En Chile, esa autorización se materializa en un **CAF** (Código de Asignación de Folios): un archivo que autoriza a la empresa a emitir un rango de folios para un tipo de documento determinado.

## Cómo funciona la numeración

Cada tipo de documento (factura, boleta, nota de crédito, etc.) consume folios de su propio rango autorizado. Cuando Emify emite un documento, le asigna el siguiente folio disponible del rango correspondiente. Cuando un rango se agota, necesitas obtener uno nuevo.

<Info>
  Emify puede solicitar los folios (CAF) al ente tributario en nombre de la empresa, o puedes subir un archivo de folios que ya obtuviste.
</Info>

## Gestión de folios

| Acción                         | Endpoint                                                                                 |
| ------------------------------ | ---------------------------------------------------------------------------------------- |
| Listar rangos de folios        | `GET /api/companies/{idCompany}/enumeration/list`                                        |
| Re-solicitar CAF al ente       | `POST /api/companies/{idCompany}/enumeration/refetch`                                    |
| Subir un archivo de folios     | `POST /api/companies/{idCompany}/enumeration/upload`                                     |
| Setear el próximo folio a usar | `PUT /api/companies/{idCompany}/enumeration/document-type/{document_type_id}/next-folio` |

## Setear el próximo folio a usar

Si vienes facturando con otro sistema, indica desde qué número debe continuar cada tipo de documento para respetar la correlatividad. Si omites este paso, la numeración arranca en el folio disponible más bajo del rango cargado.

El ajuste es **global por tipo de documento**: al setear el próximo folio, Emify marca como usados todos los folios menores al número enviado a lo largo de **todos los CAF activos** de ese tipo de documento.

```bash theme={null}
curl -X PUT "https://api.emify.co/api/companies/{company_id}/enumeration/document-type/{document_type_id}/next-folio" \
  -H "X-Api-Key: tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "next_folio_number": 61 }'
```

El `document_type_id` es el `id_document_type` que devuelve `enumeration/list` para cada tipo de documento.

La respuesta confirma el resultado:

```json theme={null}
{
  "id_document_type": "33",
  "folios_updated": 58,
  "next_number_to_use": 61,
  "message": "Next folio updated successfully"
}
```

<Note>
  `next_number_to_use` es el folio que **efectivamente** se usará en la próxima emisión. Puede ser mayor que el `next_folio_number` que enviaste cuando ese folio, aunque pertenece a un CAF cargado, ya está usado o anulado: en ese caso Emify resuelve al siguiente folio disponible **dentro de los rangos cargados**.
</Note>

<Warning>
  El `next_folio_number` debe caer dentro del rango de algún CAF efectivamente cargado (un CAF activo donde `enumeration_from <= N <= enumeration_end`). Si queda fuera de todos los rangos cargados, o en un hueco entre CAF no contiguos, la API responde `400` con código `ENUMERATION_OUT_OF_RANGE`; no se redirige a otro folio. Si el número cae dentro de un rango cargado pero no hay folios disponibles mayores o iguales a él, responde `400` con `ENUMERATION_NO_FOLIOS_AVAILABLE_FROM` y no modifica nada. Si el tipo de documento no tiene enumeraciones activas, responde `404` con `ENUMERATION_NOT_FOUND`.
</Warning>

## Evitar quedarte sin folios

Un rango de folios agotado detiene la emisión de ese tipo de documento. Para evitar interrupciones:

<Steps>
  <Step title="Monitorea el consumo">
    Consulta `enumeration/list` para ver cuántos folios quedan disponibles por tipo de documento.
  </Step>

  <Step title="Solicita con anticipación">
    Re-solicita o sube nuevos folios antes de agotar el rango vigente.
  </Step>

  <Step title="Suscríbete al evento ENU">
    Configura el [webhook](/esenciales/webhooks) del evento `ENU` para recibir avisos de baja disponibilidad o vencimiento de folios.
  </Step>
</Steps>
