Pagos
Registro con vista previa FIFO, importación desde Excel, carga masiva, anulación y reimpresión de comprobantes.
El módulo de Pagos es donde registras los cobros recibidos de los clientes. Soporta múltiples métodos de pago y aplica automáticamente el monto a los cargos pendientes más antiguos (lógica FIFO). Incluye tres formas de captura: individual, importación masiva desde Excel y carga masiva por formulario.

Lista de pagos y filtros
En la parte superior verás:
- Total: suma de todos los pagos que cumplen los filtros.
- Número de pagos: total de registros listados.
- Promedio: promedio por pago.
Filtros:
- Cliente: texto libre para buscar por nombre.
- Método de pago:
Todos / Efectivo / Transferencia / Tarjeta / Cheque / Otro. - Desde / Hasta: rango de fechas.
- Monto mín / Monto máx: rango de importes.
- Botón “Aplicar filtros” para refrescar.
La tabla muestra: Folio, Fecha, Cliente, Método, Monto, Estado, Acciones.
Acciones por fila:
- Ver detalle → abre el modal con la información completa del pago.
- Ir al cliente → navega al detalle del cliente.
- Reimprimir comprobante → genera el PDF/impresión del recibo.
- Anular pago (solo Admin) → abre el wizard de anulación.

Botones principales del módulo Pagos:
- “Importar pagos”: wizard de importación desde Excel.
- “Carga masiva”: pantalla de carga por formulario.
- “Registrar pago”: modal de pago individual.
Registrar un pago

Tienes cuatro formas de abrir el modal de registro de pago:
- Desde el botón “Registrar pago” del módulo Pagos.
- Desde el Dashboard → Acciones rápidas → Registrar pago.
- Desde la página de detalle del cliente, “Registrar pago”.
- Desde el menú de acciones Registrar pago en la lista de clientes.
Pasos:
-
Cliente: empieza a escribir el nombre. La búsqueda es predictiva; selecciona al cliente correcto.

Al seleccionarlo, el sistema muestra: Saldo pendiente, Vencido y Saldo a favor.

-
Monto: captura el importe recibido.
-
Fecha de pago: por defecto, el día de hoy.
-
Método de pago: selecciona del dropdown.

Opciones:
Efectivo,Transferencia,Tarjeta,Cheque,Otro. -
Referencia / Folio (opcional): número de referencia del banco, folio del ticket, etc.
-
Notas (opcional): comentarios internos.
-
Vista previa de aplicación FIFO: el sistema muestra cómo se aplicará el pago.
-
Haz clic en “Registrar pago”.
Resultado
Aparecerá un modal de éxito con el folio asignado (formato PAG-2026-####).

Desde este modal puedes: Imprimir comprobante, Registrar otro pago, Ver detalle del pago o Cerrar.
Vista previa de aplicación FIFO

Una de las funcionalidades más útiles del módulo de pagos es la vista previa en tiempo real de cómo se aplicará el pago. En cuanto capturas un monto, el sistema recalcula y muestra:
- Una lista de cargos a los que se aplicará el pago, en orden de antigüedad (del más viejo al más nuevo), con fecha, concepto, saldo pendiente y monto a aplicar.
- Total a aplicar: suma de todas las aplicaciones.
- Si el monto es mayor al adeudo, una alerta: “Saldo a favor que se generará: $X.XX”
- Si el cliente no tiene cargos pendientes, una alerta en amarillo.
Cómo funciona la aplicación FIFO: cuando un cliente tiene varios cargos pendientes, el pago se aplica automáticamente a los más antiguos primero. Si el monto es mayor al total vencido, el excedente cubre los cargos vigentes y, si todavía sobra, se acumula como saldo a favor del cliente.
Detalle de un pago y reimprimir comprobante

Al hacer clic en Ver detalle se muestra un modal con:
- Folio y badge de estado (
Aplicado/Anulado). - Información del pago: cliente, monto, fecha, método, referencia, fecha/hora de registro.
- Aplicaciones a cargos: cada cargo al que se aplicó el pago, con su fecha, concepto y monto aplicado.
- Total aplicado.
- Botones: Imprimir, Anular pago (solo admin), Cerrar.
Reimprimir comprobante: desde el menú Acciones → Reimprimir comprobante en la lista, o desde el botón Imprimir del detalle.
Anular un pago

⚠️ Solo disponible para usuarios con rol Admin.
Cuando registras un pago por error o necesitas revertirlo, en lugar de borrarlo (Meridian no borra, solo anula), usa el flujo de anulación:
- En la lista de pagos, clic en Acciones → Anular pago.
- Se abrirá un modal pidiendo el motivo de anulación (campo obligatorio, mínimo 10 caracteres).
- Confirma con “Anular definitivamente”.
Lo que sucede al anular:
- El pago cambia a estado
Anuladoy se llenan los camposvoidedAt,voidedByyvoidReason. - Se revierten las aplicaciones a cargos: los cargos vuelven a su monto pendiente original.
- Si había un excedente como saldo a favor del cliente, se reintegra.
- Se registra una entrada en el log de auditoría.
Importante: la anulación es transaccional: si algo falla a mitad del proceso, todos los cambios se deshacen para mantener la integridad.
Importar pagos desde Excel

Si necesitas registrar muchos pagos a la vez, puedes importarlos desde Excel.
Restricciones del archivo:
- Archivo Excel (.xlsx).
- Máximo 500 filas y 2 MB.
- La primera fila debe contener los encabezados.
Columnas del archivo:
| Columna | Obligatoria | Descripción |
|---|---|---|
cliente / Cliente / Folio | ✅ | Nombre o folio del cliente (ej. 2RZ-C172 o Cliente Demo Manual). |
monto / Monto / Importe | ✅ | Importe del pago, mayor a 0. |
fecha / Fecha | ✅ | Fecha de pago (varios formatos: YYYY-MM-DD, DD/MM/YYYY, etc.). |
metodo / Método / Forma de pago | ✅ | Efectivo, Transferencia, Tarjeta, Cheque u Otro. |
folio / Referencia | ❌ | Referencia del banco o folio del ticket. |
notas / Notas | ❌ | Comentarios libres. |
Procedimiento:
- En la lista de pagos, haz clic en “Importar pagos”.
- Se abre el wizard: Subir → Validar → Confirmar → Resultados.
- Cierra el diálogo. Los pagos aparecen en la lista con su folio
PAG-2026-####.
Importante — Idempotencia: la importación requiere el header HTTP
Idempotency-Key. Con esa clave, puedes reintentar el mismo archivo si falla la conexión sin crear pagos duplicados.
Carga masiva de pagos (formulario)

Para capturar manualmente entre 2 y 50 pagos sin preparar un archivo Excel, existe el formulario de carga masiva por filas.
Disponible desde: barra lateral → Pagos → Carga masiva, o navega a
/pagos/carga-masiva.
Funcionamiento:
- El formulario arranca con una fila vacía.
- Cada fila contiene: Cliente (buscador predictivo), Monto, Fecha, Método de pago, Referencia (opcional), Notas (opcional).
- Usa “Añadir pago” para agregar más filas (máx. 50).
- Cada fila tiene un botón de papelera para eliminarla.
- Haz clic en “Guardar” para enviar todas las filas en una sola petición.
Resultado:
- Un resumen muestra los pagos creados con su folio y los errores por fila.
- Las filas con error se identifican claramente y se pueden corregir.
- Botón “Nueva carga” para empezar de cero.
Atomicidad: si activas la opción stop-on-error, al primer error el sistema no inserta ninguno. Sin esa opción, inserta los válidos y reporta los fallidos.
Tip: la carga masiva por formulario es ideal para cierres de caja donde registraste los pagos en una libreta. Para más de 50 pagos, considera la importación desde Excel.