> For the complete documentation index, see [llms.txt](https://academy.trowelapp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://academy.trowelapp.com/informes/cashflow/filtros-de-alcance.md).

# Filtros de alcance

### Ubicación en pantalla

En la barra de controles del Cashflow, **antes del selector de fechas**, hay dos desplegables opcionales:

1. **Selecciona una empresa** — acota el informe a una empresa (cliente y/o proveedor).
2. **Selecciona un proyecto** — acota el informe a un proyecto concreto.

Ambos filtros son independientes y se pueden combinar. Al cambiar cualquiera de ellos, o el rango de fechas, el sistema **recarga automáticamente** la gráfica, los KPIs, la tabla y el detalle mensual con el nuevo alcance.

Para limpiar un filtro, usa la **X** del desplegable correspondiente.

***

### Filtro por empresa

| Aspecto                                 | Comportamiento                                                                                                                                                                                 |
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Qué filtra**                          | Cobros y pagos vinculados a esa empresa: facturas de venta (como cliente), facturas de gasto (como proveedor), retenciones de garantía y previsión de presupuesto–planificación cuando aplica. |
| **Jerarquía en la tabla**               | Se mantiene **Empresa → Proyecto**. Puedes expandir cada empresa y ver el desglose por obra.                                                                                                   |
| **Nóminas**                             | **No se muestran.** Las nóminas son un gasto global de la organización, no de una empresa concreta; no tienen sentido en una vista acotada por empresa.                                        |
| **KPIs y gráfica**                      | Recalculados solo con los movimientos de esa empresa en el rango de fechas.                                                                                                                    |
| **Detalle mensual** (clic en una barra) | Solo movimientos de esa empresa en el mes seleccionado.                                                                                                                                        |

**Cuándo usarlo:** revisar la liquidez de un cliente moroso, la deuda con un proveedor concreto o el cashflow de una relación comercial sin mezclar el resto de empresas.

***

### Filtro por proyecto

| Aspecto                   | Comportamiento                                                                                                                           |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| **Qué filtra**            | Cobros y pagos asignados a ese proyecto (facturas, líneas de factura, compras y previsión de presupuesto–planificación del proyecto).    |
| **Jerarquía en la tabla** | Solo nivel **empresa** (valores ya agregados por empresa para ese proyecto). **No** se muestran filas hijas de proyecto bajo la empresa. |
| **Nóminas**               | **No se muestran** (mismo criterio: no son imputables a un solo proyecto en esta vista).                                                 |
| **KPIs y gráfica**        | Recalculados solo con los movimientos del proyecto.                                                                                      |
| **Detalle mensual**       | Solo movimientos del proyecto en el mes seleccionado.                                                                                    |

**Integración con el filtro global de proyecto:** si en la aplicación tienes activo el **filtro global de proyecto** (cabecera / sesión), el desplegable de proyecto del Cashflow se rellena automáticamente y queda **bloqueado** hasta que quites el filtro global.

**Cuándo usarlo:** analizar la caja de una obra concreta sin ruido del resto de proyectos.

***

### Combinación empresa + proyecto

Si activas **los dos filtros**, el alcance es la **intersección**: movimientos de esa empresa **en** ese proyecto.

La jerarquía sigue la del **filtro de proyecto** (solo filas de empresa agregadas; sin desglose proyecto en tabla). Las nóminas siguen excluidas.

***

### Sin filtros (vista por defecto)

| Aspecto       | Comportamiento                                                                                    |
| ------------- | ------------------------------------------------------------------------------------------------- |
| **Jerarquía** | **Empresa → Proyecto** (proyectos expandibles bajo cada empresa).                                 |
| **Nóminas**   | Se incluyen en la sección de salidas si la **configuración del Cashflow** las tiene activas.      |
| **Alcance**   | Toda la organización (respetando permisos de proyectos accesibles en el desplegable de proyecto). |

***

### Resumen rápido

| Filtro activo      | Tabla                   | Nóminas             |
| ------------------ | ----------------------- | ------------------- |
| Ninguno            | Empresa → Proyecto      | Según configuración |
| Solo empresa       | Empresa → Proyecto      | No                  |
| Solo proyecto      | Solo empresa (agregado) | No                  |
| Empresa + proyecto | Solo empresa (agregado) | No                  |

***

### Notas técnicas (referencia)

* Los filtros se envían al API como `CompanyId` y/o `ProjectId` junto con el rango de fechas (`StartDate`, `EndDate`).
* Con `ProjectId`, el backend construye la jerarquía en modo `companyLevelOnly` (sin filas de proyecto en el árbol de datos).
* Con cualquier filtro de alcance (`ProjectId` o `CompanyId`), el bloque de nóminas no se calcula ni se devuelve.
* El detalle mensual (`GetCashFlowMonthDetail`) recibe los mismos parámetros de alcance para cuadrar con la barra pulsada.
