---
title: "Consultar cuadres de caja"
method: GET
path: "/cashbox"
tags: ["Cuadre de Caja"]
---

# Consultar cuadres de caja

`GET /cashbox`

## Request

- Base URL: `https://api.pirpos.com`
- URL: `https://api.pirpos.com/cashbox`
- Auth: HTTP bearer

Consulta la lista de cuadres de caja del negocio actual, con soporte de filtros y paginación.

**Autenticación requerida:** Este endpoint requiere autenticación Bearer Token.
Usar el campo `tokenCurrent` obtenido del servicio de login (/login) en el header:
`Authorization: Bearer {tokenCurrent}`

**Permiso requerido:** `CB_GET_ALL` - "Listar todos"

**Reglas de negocio según el plan:**
- **Negocios no premium:** solo se retorna el último cuadre de caja (limit forzado a 1, count = 1).
- **Cuentas en periodo de prueba (trial):** solo se muestran cuadres de las últimas 24 horas.
- **Negocios premium:** acceso completo a todos los cuadres con filtros y paginación.

Los resultados se ordenan por fecha de apertura descendente (`-dateStart`, los más recientes primero).

## Ejemplos de Uso

### 1. Listar cuadres con paginación
```
GET /cashbox?pagination=true&limit=20&page=0
Authorization: Bearer tu_token_aqui
```
Retorna un objeto `{ data, count }` con los primeros 20 cuadres.

### 2. Listar solo cuadres abiertos
```
GET /cashbox?status=open
Authorization: Bearer tu_token_aqui
```

### 3. Cuadres de un cajero en un rango de fechas
```
GET /cashbox?cashierId=507f1f77bcf86cd799439014&dateInit=2025-08-01T00:00:00.000Z&dateEnd=2025-08-31T23:59:59.999Z
Authorization: Bearer tu_token_aqui
```

## Query parameters

- `pagination` boolean
- `limit` integer
- `page` integer
- `status` 'open' | 'closed'
- `cashBoxId` string
- `cashierId` string
- `dateInit` string, date-time
- `dateEnd` string, date-time

## Response `200`

Lista de cuadres de caja obtenida exitosamente

- union
  - CashBox[]: Arreglo directo de cuadres (cuando pagination es false u omitido)
    - `_id` string: ID único del cuadre de caja
    - `business` string: ID del negocio al que pertenece el cuadre
    - `user` string: ID del usuario que abrió el cuadre de caja
    - `owner` string: ID del cajero responsable del cuadre
    - `dateStart` string, date-time: Fecha y hora de apertura de la caja
    - `dateEnd` string, date-time: Fecha y hora de cierre de la caja (solo cuando isClosed es true)
    - `paymentMethods` object[]: Totales por método de pago registrados en el cuadre
      - `paymentMethod` string: ID del método de pago
      - `totalInit` number: Monto inicial (base) del método de pago al abrir la caja
      - `totalNow` number: Total acumulado del método de pago según ventas
      - `totalCashier` number: Total declarado por el cajero al cerrar
    - `inventory` number: Valor del inventario asociado al cuadre
    - `expense` number: Total de gastos registrados durante el cuadre
    - `isClosed` boolean: Indica si el cuadre de caja está cerrado
    - `deleted` boolean: Indica si el cuadre fue eliminado
    - `canceledInvoices` string[]: Facturas anuladas asociadas al cuadre
    - `dailyReport` string: ID del comprobante diario asociado
    - `idMachine` string: Identificador de la máquina/dispositivo que abrió la caja
    - `nextTurn` number: Siguiente número de turno
    - `seq` number: Número secuencial del cuadre dentro del negocio
    - `_idCashBoxRegister` string: ID de la caja registradora (CashBoxRegister) asociada
    - `cashiers` object[]: Cajeros que han estado asignados al cuadre
      - `_idUser` string: ID del usuario cajero
      - `name` string: Nombre del cajero
      - `dateAssignment` string, date-time: Fecha de asignación del cajero
    - `scaleConfig` object: Configuración de balanza asociada al cuadre
      - `unit` string: ID de la unidad de medida de la balanza
    - `modifiedOn` string, date-time: Fecha de última modificación
    - `createdOn` string, date-time: Fecha de creación
  - object: Objeto paginado (cuando pagination es true)
    - `data` CashBox[]
      - `_id` string: ID único del cuadre de caja
      - `business` string: ID del negocio al que pertenece el cuadre
      - `user` string: ID del usuario que abrió el cuadre de caja
      - `owner` string: ID del cajero responsable del cuadre
      - `dateStart` string, date-time: Fecha y hora de apertura de la caja
      - `dateEnd` string, date-time: Fecha y hora de cierre de la caja (solo cuando isClosed es true)
      - `paymentMethods` object[]: Totales por método de pago registrados en el cuadre
        - `paymentMethod` string: ID del método de pago
        - `totalInit` number: Monto inicial (base) del método de pago al abrir la caja
        - `totalNow` number: Total acumulado del método de pago según ventas
        - `totalCashier` number: Total declarado por el cajero al cerrar
      - `inventory` number: Valor del inventario asociado al cuadre
      - `expense` number: Total de gastos registrados durante el cuadre
      - `isClosed` boolean: Indica si el cuadre de caja está cerrado
      - `deleted` boolean: Indica si el cuadre fue eliminado
      - `canceledInvoices` string[]: Facturas anuladas asociadas al cuadre
      - `dailyReport` string: ID del comprobante diario asociado
      - `idMachine` string: Identificador de la máquina/dispositivo que abrió la caja
      - `nextTurn` number: Siguiente número de turno
      - `seq` number: Número secuencial del cuadre dentro del negocio
      - `_idCashBoxRegister` string: ID de la caja registradora (CashBoxRegister) asociada
      - `cashiers` object[]: Cajeros que han estado asignados al cuadre
        - `_idUser` string: ID del usuario cajero
        - `name` string: Nombre del cajero
        - `dateAssignment` string, date-time: Fecha de asignación del cajero
      - `scaleConfig` object: Configuración de balanza asociada al cuadre
        - `unit` string: ID de la unidad de medida de la balanza
      - `modifiedOn` string, date-time: Fecha de última modificación
      - `createdOn` string, date-time: Fecha de creación
    - `count` integer: Total de cuadres que coinciden con los filtros (1 en negocios no premium)

## Other responses

- `401`: Token de autorización inválido o faltante
- `403`: Sin permisos para listar cuadres de caja
- `500`: Error interno del servidor

---

[API](https://skmtc.dev/loggro/apis/restobar-servicios-del-m-dulo-de-restobar.md) - [All operations](https://skmtc.dev/loggro/apis/restobar-servicios-del-m-dulo-de-restobar/llms.txt) - [OpenAPI document](https://skmtc.dev/loggro/apis/restobar-servicios-del-m-dulo-de-restobar/revisions/9d4431a3cddc?raw)
