---
title: "Consultar estado de resultados"
method: POST
path: "/tools/reports_get_profit_and_loss"
tags: ["Reports"]
---

# Consultar estado de resultados

`POST /tools/reports_get_profit_and_loss`

## Request

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

Herramienta MCP: `reports_get_profit_and_loss`.

Devuelve el Estado de Resultados de la compañía para un rango de fechas, como un árbol jerárquico de cuentas (ingresos, costo, costo de producción y gastos) con saldos por periodo, análisis vertical y horizontal con variaciones comparativas, y filas de totales con el resultado neto.

Ejemplo de llamada JSON-RPC:

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

Úsala cuando el usuario pida el estado de resultados, las utilidades o pérdidas de un periodo, el detalle de ingresos, costos y gastos con análisis comparativo, o el resultado neto del negocio.

Las fechas `from` y `to` son obligatorias y van en formato YYYY-MM-DD. Por defecto el reporte incluye asientos de cierre, análisis comparativo contra periodos anteriores, análisis horizontal y vertical, cuentas con saldo cero y el código contable de cada cuenta; todos esos parámetros son opcionales y pueden ajustarse según lo que pida el usuario.

Los parámetros `useNewApi`, `useInventoryParallel`, `maxParallelRequests`, `maxParallelItems`, `forceInventoryParallel` y `forceSummary` son de uso avanzado: controlan el motor y el rendimiento internos del reporte. Recomendación: no los envíes, déjalos sin definir.

Solo lectura.

## Request body

- object
  - `from` string, required: Fecha inicial del periodo, en formato YYYY-MM-DD. Calcúlala a partir de la consulta del usuario (por ejemplo, "enero de 2026" → "2026-01-01").
  - `to` string, required: Fecha final del periodo, en formato YYYY-MM-DD. Calcúlala a partir de la consulta del usuario (por ejemplo, "2026" → "2026-12-31").
  - `costCenterId` string: Filtra el reporte por centro de costo. Úsalo solo cuando el usuario pida filtrar por un centro de costo específico.
  - `includeClosingPeriods` boolean: Incluye los movimientos de los periodos de cierre (asientos de cierre). Por defecto true.
  - `includeComparativeAnalysis` boolean: Incluye análisis comparativo contra periodos anteriores (variación absoluta y relativa). Por defecto true.
  - `periodsToCompareCount` integer: Cuántos periodos anteriores comparar. Por defecto 1.
  - `comparisonType` 'years' | 'months' | 'quarters': Granularidad para construir los periodos de comparación: years, months o quarters. `years` es la opción más confiable. Por defecto years.
  - `sortBy` 'asc' | 'desc': Dirección de ordenamiento de las filas del reporte: asc o desc. Por defecto desc.
  - `decimalPrecision` integer: Número de decimales para los montos, de 0 a 6. Por defecto 0.
  - `includeHorizontalAnalysis` boolean: Incluye análisis horizontal (variación entre periodos). Por defecto true.
  - `includeVerticalAnalysis` boolean: Incluye análisis vertical (porcentaje sobre ingresos o total). Por defecto true.
  - `includeZeroBalanceAccounts` boolean: Incluye las cuentas cuyo saldo es cero. Por defecto true.
  - `contableCode` boolean: Incluye el código contable de cada cuenta. Por defecto true.
  - `useNewApi` string: Selector del motor de reportes (uso avanzado). Déjalo sin definir salvo petición explícita.
  - `useInventoryParallel` boolean: Uso avanzado: activa el procesamiento de inventarios en paralelo. Recomendación: no lo envíes. Por defecto false.
  - `maxParallelRequests` integer: Uso avanzado: máximo de solicitudes en paralelo. Recomendación: no lo envíes. Por defecto 50.
  - `maxParallelItems` integer: Uso avanzado: máximo de ítems en paralelo. Recomendación: no lo envíes. Por defecto 100.
  - `forceInventoryParallel` boolean: Uso avanzado: fuerza el procesamiento de inventarios en paralelo. Recomendación: no lo envíes. Por defecto false.
  - `forceSummary` boolean: Uso avanzado: fuerza una versión resumida del reporte. Recomendación: no lo envíes. Por defecto false.

## Response `200`

Estado de resultados del periodo con árbol de cuentas y análisis

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