---
title: "Registrar abono a crédito de un cliente"
method: POST
path: "/clients/savePaidCredit"
tags: ["Clientes"]
---

# Registrar abono a crédito de un cliente

`POST /clients/savePaidCredit`

## Request

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

Registra un movimiento de abono al crédito de un cliente y aplica el pago
automáticamente a las facturas pendientes (`Por Pagar`) ordenadas de más antigua a más reciente.

**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:** `CL_POST_PAID` (Realizar abonos)

**Requisito adicional:** Requiere una caja activa (middleware `cashBoxController.middlewareCurrent`).
El usuario debe tener una caja registradora abierta en su turno actual.

**Comportamiento:**
- Agrega el movimiento de crédito al historial `creditMovement` del cliente.
- Busca todas las facturas `Por Pagar` del cliente, ordenadas por fecha de creación (más antigua primero).
- Aplica el abono secuencialmente: si el abono supera el saldo de una factura, la marca como `Pagada` y continúa con la siguiente.
- Registra en cada factura el método de pago y la caja registradora activa.
- Notifica via WebSocket a todos los usuarios del negocio.

## Ejemplo de Uso

### Registrar abono en efectivo
```json
POST /clients/savePaidCredit
Authorization: Bearer tu_token_aqui
Content-Type: application/json

{
  "client": "507f1f77bcf86cd799439021",
  "total": 50000,
  "paymentMethod": {
    "internalId": "507f1f77bcf86cd799439030",
    "name": "Efectivo"
  },
  "date": "2025-08-05T10:30:00.000Z",
  "notes": "Abono parcial"
}
```

## Request body

- object
  - `client` string, required: ID del cliente al que se le registra el abono
  - `total` number, required: Monto total del abono a registrar
  - `paymentMethod` object: Método de pago utilizado para el abono
    - `internalId` string: ID interno del método de pago
    - `name` string: Nombre del método de pago
  - `date` string, date-time: Fecha y hora del abono
  - `notes` string: Observaciones del abono

## Response `200`

Abono registrado y facturas actualizadas exitosamente

- object
  - `message` string

## Other responses

- `400`: Cliente no encontrado
- `401`: Token de autorización inválido o faltante
- `403`: Sin permisos para realizar abonos o sin caja activa
- `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)
