> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.recurrente.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.recurrente.com/_mcp/server.

# Planilla pagada

POST 

Se emite cuando la planilla se paga. Cada línea trae su `transfer_id`; lo que pasa después con cada pago (reclamado, sin reclamar, devuelto) llega como `transfer.*`.

Reference: https://docs.recurrente.com/referencia-api/api-reference/webhook-events/payroll-run-pay-webhook

## Request

### Payload

- `event_type` (string, required) — Tipo exacto del evento enviado por Recurrente.
- `id` (string, required)
- `status` (enum, required) — `draft` hasta que la pagas; `in_review` cuando es la primera de la cuenta y espera la revisión de Recurrente; `paid`; `cancelled`.
  - Allowed values: `draft`, `in_review`, `paid`, `cancelled`
- `api_version` (string, required)
- `connected` (boolean, optional, nullable) — Presente como `true` cuando el evento proviene de una cuenta conectada.
- `account_id` (string, optional, nullable) — ID de la cuenta conectada que originó el evento.
- `kind` (enum, optional)
  - Allowed values: `regular`, `extra`, `liquidacion`, `aguinaldo`, `bono14`
- `label` (string, optional)
- `pay_on` (date, optional)
- `period_start_on` (date, optional)
- `period_end_on` (date, optional)
- `totals` (list of PayrollRunWebhookTotalsItems, optional) — Por moneda: en un borrador, lo que pagarla tomará del balance; ya confirmada, lo que envió.
- `confirmed_at` (datetime, optional, nullable)
- `reviewed_at` (datetime, optional, nullable)
- `lines` (list of PayrollRunLine, optional)
- `created_at` (datetime, optional)

## Types

### PayrollRunWebhookTotalsItems

- `currency` (string, optional)
- `amount_in_cents` (integer, optional)

### PayrollRunLine

- `member_id` (string, optional)
- `member_name` (string, optional)
- `status` (enum, optional) — Antes de pagarse, `pending` o `skipped`. Ya enviado, el estado del pago: `paid` (lo recibió), `processing` (en revisión), `unclaimed` (espera que lo reclame en su WhatsApp), `rejected` o `expired` (regresó al balance).
  - Allowed values: `pending`, `skipped`, `cancelled`, `paid`, `processing`, `unclaimed`, `rejected`, `expired`
- `amount_in_cents` (integer, optional) — El neto que recibe, después de descuentos.
- `currency` (string, optional)
- `days_worked` (integer, optional, nullable)
- `extra_amount_in_cents` (integer, optional, nullable)
- `transfer_id` (string, optional, nullable) — El envío que le pagó, en `GET /transfers/{id}`.
- `items` (list of PayrollRunLineItemsItems, optional) — Las filas de su boleta.

### PayrollRunLineItemsItems

- `kind` (enum, optional) — `employer` es un costo del empleador (IGSS patronal, IRTRA, INTECAP) que no sale del pago de la persona.
  - Allowed values: `earning`, `deduction`, `employer`
- `code` (string, optional)
- `label` (string, optional)
- `amount_in_cents` (integer, optional)
- `adjustment_id` (string, optional, nullable)