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

# Clasificación de gastos

> Cómo Fegora clasifica automáticamente los documentos recibidos en categorías de gasto, y cómo filtrar y agregar esa información desde el API.

Fegora clasifica automáticamente cada documento tributario **recibido** (facturas de proveedores, notas de crédito/débito recibidas, etc.) en una categoría de gasto, para poder generar estadísticas sin que el cliente tenga que categorizar manualmente cada documento.

<Note>
  La clasificación aplica únicamente a documentos **recibidos** (`/recibidos/dte`). Los documentos que su Cuenta emite no se clasifican.
</Note>

## El objeto `clasificacion`

Cuando un documento recibido ya fue clasificado, la respuesta de `GET /recibidos/dte` y `GET /recibidos/dte/{id}` incluye un objeto `clasificacion`:

```json theme={null}
{
  "clasificacion": {
    "categoria": "transportation",
    "subcategoria": "fuel",
    "tags": ["recurring"],
    "confianza": 0.95,
    "fuente": "llm",
    "versionCatalogo": "v1",
    "fecha": "2026-07-31T18:09:18Z"
  }
}
```

| Campo             | Tipo               | Descripción                                                                                                                                                                                     |
| ----------------- | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `categoria`       | string             | Identificador de la categoría de gasto, en inglés y estable entre versiones del catálogo (por ejemplo `transportation`). Vea el catálogo completo abajo.                                        |
| `subcategoria`    | string             | Identificador de la subcategoría dentro de `categoria` (por ejemplo `fuel`).                                                                                                                    |
| `tags`            | string\[]          | Etiquetas adicionales asociadas a la clasificación (por ejemplo `recurring`). Puede venir vacío.                                                                                                |
| `confianza`       | number             | Nivel de confianza de la clasificación, entre `0` y `1`.                                                                                                                                        |
| `fuente`          | string             | Origen de la clasificación: `rule` (regla determinística), `llm` (modelo de lenguaje), `issuercache` (clasificación previa reutilizada para el mismo emisor) o `human` (corregida manualmente). |
| `versionCatalogo` | string             | Versión del catálogo de categorías usada para esta clasificación (por ejemplo `v1`).                                                                                                            |
| `fecha`           | string (date-time) | Fecha en que se generó la clasificación.                                                                                                                                                        |

<Warning>
  La clasificación es **asíncrona**: un documento recién recibido puede aparecer sin `clasificacion` (el campo no está presente) durante algunos minutos u horas, hasta que Fegora termine de procesarlo. No asuma que todo documento recibido trae `clasificacion` de inmediato — si su integración depende de este dato, vuelva a consultar el documento más adelante, o use el filtro `sinClasificacion` descrito abajo para identificar los pendientes.
</Warning>

## Catálogo de categorías (v1)

La versión `v1` del catálogo define 17 categorías:

| `categoria`                 |
| --------------------------- |
| `transportation`            |
| `professional-services`     |
| `rent-and-real-estate`      |
| `utilities`                 |
| `food-and-beverage`         |
| `office-supplies`           |
| `technology`                |
| `cleaning-and-maintenance`  |
| `construction-and-hardware` |
| `health`                    |
| `insurance`                 |
| `taxes-and-fees`            |
| `financial-services`        |
| `personnel`                 |
| `inventory-and-merchandise` |
| `entertainment-and-events`  |
| `other`                     |

Cada categoría tiene sus propias subcategorías. `versionCatalogo` le permite saber, a futuro, si un documento fue clasificado con una versión anterior del catálogo si Fegora publica una `v2`.

## Filtrar documentos recibidos por clasificación

`GET /recibidos/dte` acepta dos parámetros adicionales, junto con los filtros existentes (`desde`, `hasta`, `tipo`, `idReceptor`, etc.):

| Parámetro          | Tipo    | Descripción                                                                                                |
| ------------------ | ------- | ---------------------------------------------------------------------------------------------------------- |
| `categoria`        | string  | Devuelve solo los documentos clasificados con este `categoria`.                                            |
| `sinClasificacion` | boolean | Si es `true`, devuelve solo los documentos que todavía no tienen `clasificacion` (pendientes de procesar). |

```bash theme={null}
curl -X GET "https://api.fegora.com/recibidos/dte?categoria=transportation" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...ejemplo"
```

```bash theme={null}
curl -X GET "https://api.fegora.com/recibidos/dte?sinClasificacion=true" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...ejemplo"
```

## Estadísticas de gasto: `GET /recibidos/dte/estadisticas`

Devuelve los totales de documentos recibidos agrupados por categoría y mes, dentro de un rango de fechas.

```bash theme={null}
curl -X GET "https://api.fegora.com/recibidos/dte/estadisticas?desde=2026-01-01T00:00:00Z&hasta=2026-07-31T23:59:59Z" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...ejemplo"
```

| Parámetro | Tipo               | Obligatorio | Descripción                                                  |
| --------- | ------------------ | ----------- | ------------------------------------------------------------ |
| `desde`   | string (date-time) | Sí          | Inicio del rango, mismo formato que en `GET /recibidos/dte`. |
| `hasta`   | string (date-time) | Sí          | Fin del rango, mismo formato que en `GET /recibidos/dte`.    |

### Respuesta

```json theme={null}
[
  { "categoria": "transportation", "mes": "2026-07", "total": 1250.50, "cantidad": 8 },
  { "categoria": "food-and-beverage", "mes": "2026-07", "total": 430.00, "cantidad": 3 },
  { "categoria": "sin-clasificar", "mes": "2026-07", "total": 620.00, "cantidad": 2 }
]
```

| Campo       | Descripción                                                                                                                |
| ----------- | -------------------------------------------------------------------------------------------------------------------------- |
| `categoria` | Categoría del gasto, o `sin-clasificar` para los documentos que aún no tienen `clasificacion` dentro del rango consultado. |
| `mes`       | Mes al que corresponde el agregado, formato `YYYY-MM`.                                                                     |
| `total`     | Suma de los montos de los documentos de esa categoría y mes.                                                               |
| `cantidad`  | Cantidad de documentos incluidos en ese total.                                                                             |

Este endpoint usa la misma autenticación y el mismo alcance (Cuenta/Canal) que el resto de `/recibidos/dte` — solo agrega documentos que su credencial ya puede consultar individualmente.

## Páginas relacionadas

<Columns cols={2}>
  <Card title="Documentos recibidos (guía de usuario)" icon="inbox" href="/guia-web/documentos-recibidos">
    Consultar documentos recibidos desde la aplicación web.
  </Card>

  <Card title="Estructura del DTE" icon="file-braces" href="/dte/estructura">
    Referencia completa del documento JSON.
  </Card>
</Columns>
