---
title: "Consultar reporte de retenciones"
method: POST
path: "/tools/reports_get_retentions_report"
tags: ["Reports"]
---

# Consultar reporte de retenciones

`POST /tools/reports_get_retentions_report`

## Request

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

Herramienta MCP: `reports_get_retentions_report`.

Devuelve el reporte de retenciones practicadas y recibidas de la compañía en un periodo. El parámetro `type` define la ruta interna del reporte y sus valores dependen del país.

Notas por país: para empresas de México usa únicamente `retentions-in` (recibidas) o `retentions-out` (practicadas), que consultan taxes-and-retentions-mx y devuelven `{ success, taxes, retentions }` (analiza solo `retentions`). Para todos los demás países usa `onSales` (retenciones en ventas) u `onPurchases` (retenciones en compras), que consultan used-retentions. Los filtros distintos de las fechas y de `type` solo aplican fuera de México.

Úsala cuando el usuario pida el reporte de retenciones del periodo: cuánto se retuvo o recibió en ventas y compras, con filtros por tercero o referencia de retención cuando aplique.

Ejemplo de llamada JSON-RPC:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "reports_get_retentions_report",
    "arguments": { "dateFrom": "2026-09-01", "dateTo": "2026-09-30", "type": "onPurchases" }
  }
}
```

Los parámetros `dateFrom`, `dateTo` y `type` son obligatorios; las fechas van en formato YYYY-MM-DD y `type` se envía exactamente con los valores indicados, sin traducirlo.

Solo lectura.

## Request body

- object
  - `dateFrom` string, required: Fecha inicial del periodo, en formato YYYY-MM-DD.
  - `dateTo` string, required: Fecha final del periodo, en formato YYYY-MM-DD.
  - `type` 'onSales' | 'onPurchases' | 'retentions-in' | 'retentions-out', required: Tipo de retención, exactamente como lo espera cada endpoint: `onSales` (retenciones en ventas) u `onPurchases` (retenciones en compras) en todos los países excepto México; `retentions-in` (recibidas) o `retentions-out` (practicadas) solo en México. No traducir.
  - `customerId` string: Filtra por tercero/cliente (idClient). Solo aplica fuera de México.
  - `retentionReferenceId` string: Filtra por referencia de retención (idRetentionReference). Solo aplica fuera de México.

## Response `200`

Reporte de retenciones del periodo

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