---
title: "Listar ventas por cliente"
method: POST
path: "/tools/reports_get_sales_by_client"
tags: ["Reports"]
---

# Listar ventas por cliente

`POST /tools/reports_get_sales_by_client`

## Request

- Base URL: `https://mcp.alegra.com`
- URL: `https://mcp.alegra.com/tools/reports_get_sales_by_client`
- Auth: HTTP bearer

Herramienta MCP: `reports_get_sales_by_client`.

Devuelve una LISTA paginada de clientes con sus métricas de compra en un periodo: qué compró cada uno, cuántos documentos emitió y cuánto gastó.

Úsala cuando el usuario pregunte qué clientes compraron en un periodo o el detalle de las compras de un cliente concreto. Para los totales agregados, del tipo "¿cuánto compraron los clientes en total?", usa `reports_get_sales_by_client_totals` en su lugar. Para preguntas del tipo "qué clientes" o "quiénes compraron", usa esta herramienta.

Ejemplo de llamada JSON-RPC:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "reports_get_sales_by_client",
    "arguments": { "from": "2026-09-01", "to": "2026-09-30" }
  }
}
```

Las fechas `from` y `to` son obligatorias y van en formato YYYY-MM-DD. La paginación `start` y `limit` son cadenas de texto: envíalas como texto (por ejemplo "0" y "10"), no como números; `limit` acepta como máximo 10. Los filtros `clientName`, `sellerId` y `warehouseId` son parámetros de primer nivel, y el ordenamiento usa `order_field` junto con `order_direction`.

Solo lectura.

## Request body

- object
  - `from` string, required: Fecha inicial para filtrar las ventas, en formato YYYY-MM-DD.
  - `to` string, required: Fecha final para filtrar las ventas, en formato YYYY-MM-DD.
  - `start` string: Desplazamiento de paginación: número de registros a omitir. Por defecto "0". Envíalo como texto, no como número.
  - `limit` string: Máximo de registros a devolver. Por defecto "10", máximo 10. Envíalo como texto, no como número.
  - `clientName` string: Filtra por nombre del cliente. Úsalo cuando el usuario pida las compras de un cliente concreto; extrae el nombre de la consulta.
  - `sellerId` string: Filtra por ID del vendedor asignado a los documentos. Úsalo cuando el usuario pida las ventas de los clientes de un vendedor específico.
  - `warehouseId` string: Filtra por ID de bodega o punto de despacho. Úsalo cuando el usuario pida las ventas de los clientes filtradas por una bodega específica.
  - `order_direction` 'ASC' | 'DESC': Dirección del ordenamiento: ASC ascendente (menor primero), DESC descendente (mayor primero). Debe usarse junto con `order_field`.
  - `order_field` 'totalDocuments' | 'subTotal' | 'total': Campo de ordenamiento: totalDocuments (número de documentos), subTotal (subtotal del listado) o total (monto con impuestos). Debe usarse junto con `order_direction`.

## Response `200`

Lista paginada de clientes con sus métricas de compra

## Other responses

- `401`: No autorizado (token de Alegra inválido o expirado).

---

[API](https://skmtc.dev/alegra/apis/mcp-alegra.md) - [All operations](https://skmtc.dev/alegra/apis/mcp-alegra/llms.txt) - [OpenAPI document](https://skmtc.dev/alegra/apis/mcp-alegra/revisions/528447af020b?raw)
