Clientes

Registrar abono a crédito de un cliente

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

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"
}
post/clients/savePaidCredit

Request

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

Request body

clientstring required

ID del cliente al que se le registra el abono

totalnumber required

Monto total del abono a registrar

datestring date-time

Fecha y hora del abono

notesstring

Observaciones del abono

Example request

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

Response

Abono registrado y facturas actualizadas exitosamente

messagestring

Example response

{
  "message": "Ok"
}

Changes

No recorded changes to this operation across all 1 revision of this API.