---
title: "Totalizar ventas por producto"
method: POST
path: "/tools/reports_get_sales_by_item_totals"
tags: ["Reports"]
---

# Totalizar ventas por producto

`POST /tools/reports_get_sales_by_item_totals`

## Request

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

Herramienta MCP: `reports_get_sales_by_item_totals`.

Devuelve el TOTAL de las ventas de productos en un único objeto de resumen agregado, con los montos monetarios totales `totalAmountBeforeTaxes` y `totalAmount`. Se puede filtrar por nombre o referencia de un producto concreto para obtener sus totales.

Úsala cuando el usuario pregunte por cuánto se vendió en total en un periodo (monto agregado), sin necesitar el listado por producto. Para el listado de productos con sus ventas usa `reports_get_sales_by_item` en su lugar.

Ejemplo de llamada JSON-RPC:

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

Las fechas `from` y `to` son obligatorias y van en formato YYYY-MM-DD. Los filtros y el ordenamiento van dentro de `optionalParams`, que debe enviarse como objeto JSON, nunca como cadena de texto. Si se envía `itemName` o `reference`, devuelve los totales solo de ese producto; si se omiten, los totales de todos los productos.

Solo lectura.

## Request body

- object
  - `from` string, required: Fecha inicial para el cálculo de los totales, en formato YYYY-MM-DD.
  - `to` string, required: Fecha final para el cálculo de los totales, en formato YYYY-MM-DD.
  - `optionalParams` object: Filtros y ordenamiento opcionales. CRÍTICO: este parámetro debe ser un objeto JSON, NUNCA una cadena de texto; no lo envíes como texto. Envíalo como objeto: {"itemName": "Nombre del producto"}. Si se envía `itemName` o `reference`, devuelve los totales solo de ese producto; si se omiten, los totales de todos los productos.
    - `itemName` string: Filtra por nombre del producto. Úsalo cuando el usuario pida las ventas de un producto concreto; extrae el nombre de la consulta. Si se omite, devuelve las ventas de todos los productos.
    - `reference` string: Filtra por referencia o código del producto. Úsalo cuando el usuario pida las ventas de un producto por su referencia; extrae la referencia de la consulta.
    - `order_direction` 'ASC' | 'DESC': Dirección del ordenamiento: ASC ascendente (menor primero), DESC descendente (mayor primero). Debe usarse junto con `order_field`.
    - `order_field` 'totalItems' | 'beforeTaxes' | 'total': Campo de ordenamiento: totalItems (cantidad vendida), beforeTaxes (monto antes de impuestos, también llamado subtotal) o total (monto con impuestos). Si el usuario pide ordenar por "subtotal" o "sub total", usa "beforeTaxes". Debe usarse junto con `order_direction`.

## Response `200`

Resumen agregado de las ventas de productos

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