# ledger

Usa las superficies gobernadas de ledger y recordatorios cuando un agente necesita contexto operativo duradero.

- Canonical: https://docs.xmemo.dev/es/docs/tools/ledger
- Locale: es-ES
- Content-Locale: es-ES
- Canonical-Content-Digest: 3bc28bb66da214c9eceb8c96db997d55d16493cd954fb2e787f46cdc124e477e
- Edition-Digest: 4ee9f6fb88dbaead0652c6f250e102aee0a8a9375ea884bab123f35105a3e9bd
- Source-Revision: sha256:5ae3da12a28b7c528cd1988ad36022f9c72af84d4498e1c17052666c465b4673

## Tool Reference: `ledger`

### Purpose

Gestiona transacciones financieras gobernadas y recordatorios de renovación de servicios externos mediante el dispatcher de Ledger, con resúmenes estructurados y límites de auditoría.

### Parameters

- `action` (add_expense | list | summary | overview | update_transaction, required): Operación de Ledger seleccionada por el caller. Solo se aceptan estos cinco valores literales.
- `item / amount / transaction_type / currency` (string / number, optional): Campos principales de la transacción; amount y currency son obligatorios para las escrituras financieras.
- `transaction_date / category / merchant / payment_method / note` (string, optional): Campos opcionales de clasificación, fecha y nota de la transacción.
- `query / date_from / date_to / min_amount / max_amount` (string / number, optional): Filtros de lista y resumen.
- `transaction_id / expected_version / patch` (string / integer / object, optional): Objetivo exacto de actualización, versión de concurrencia optimista y campos de actualización permitidos.
- `owner_timezone / project_id` (string, optional): Interpretación de fechas y límite de proyecto/equipo autorizado.
- `limit / offset / months` (integer / boolean, optional, default: 20 / 0 / 6 / false): Paginación, horizonte del resumen y controles de salida estructurada.

### Returns

La salida estructurada contiene la transacción solicitada, grupos de resumen u overview, además de un resumen textual para el usuario. Los callers de widgets pueden recibir metadatos de actualización; los secretos sin procesar nunca forman parte del contrato de respuesta.

### Errors

- Authorization failure: el token carece de memory:read para lecturas o de memory:write para mutaciones.
- Validation failure: los campos de transacción obligatorios, los formatos de fecha, la moneda o los valores de action no son válidos.
- Concurrency failure: una actualización tiene un expected_version obsoleto o no se encuentra la transacción exacta.
- Aggregation boundary: los registros en distintas monedas se informan por separado en lugar de producir un total combinado falso.

### Examples

#### Registra un gasto



```typescript
ledger({
  action: "add_expense",
  item: "Domain renewal",
  amount: 18.00,
  currency: "USD",
  transaction_date: "2026-08-21",
  category: "software"
})
```

#### Revisa un resumen mensual



```typescript
ledger({ action: "summary", months: 1 })
```

### Related Tools

- [remember](/docs/tools/remember): Úsala solo para el contexto durable no financiero que rodea al registro.
- [todos](/docs/tools/todos): Usa TODO para tareas generales de seguimiento; ledger puede activar recordatorios de revisión.
- [forget](/docs/tools/forget): Elimina un registro de Ledger revisado mediante su ciclo de vida gobernado.

## Revisa antes de registrar

Comprueba primero el resumen actual; los registros de ledger contienen datos financieros y una entrada duplicada es más difícil de interpretar que una ausente.

```ts
ledger({ action: "summary", months: 1 })
```

