Carga de Pagos
Importación masiva de pagos desde archivos Excel proporcionados por los clientes (bancos, financieras). El sistema procesa cada fila del archivo, la empareja con una cuenta existente, y registra automáticamente el pago.
Proceso Completo
Paso a Paso
1. Seleccionar Cliente
- Elegir el cliente/cartera del dropdown
- El cliente determina contra qué cuentas se buscarán los créditos
:::info Modo de Pagos Cada cliente tiene un modo configurado:
- Individual (
AcumulaPagos = false): Cada monto se suma al MontoPagado existente - Acumulado (
AcumulaPagos = true): El monto del archivo reemplaza el MontoPagado (es el total acumulado) :::
2. Subir Archivo Excel
- Formato soportado:
.xlsx,.xls - Tamaño máximo: 50 MB
- Columnas esperadas:
- Columna A: Número de crédito / ID del integrante
- Columna M: Monto del pago
- Columna N: Fecha del pago
3. Procesamiento en Background
Una vez subido el archivo:
- Se almacena en Azure Blob Storage
- Se crea un job con estado "pending"
- El Worker toma el job y lo procesa fila por fila
- Se muestra una barra de progreso en tiempo real
4. Resultado
Al completar, se muestra un resumen:
| Indicador | Significado |
|---|---|
| ✅ Procesados | Pagos registrados exitosamente |
| ⚠️ Sin coincidencia | Créditos no encontrados (quedan como pagos sin asignar) |
| 🔄 Pendientes de revisión | Duplicados potenciales detectados |
| ❌ Errores | Filas con datos inválidos (monto no numérico, etc.) |
Modos de Pago
Modo Individual (por defecto)
- Cada pago se suma al MontoPagado existente
- FechaUltimoPago → fecha del archivo
- MontoUltimoPago → monto de esta fila
Modo Acumulado
- El monto del archivo es el total acumulado (no el pago individual)
- El sistema calcula la diferencia respecto a pagos anteriores
- Solo crea gestión si la diferencia es positiva
- Si la fecha del archivo es anterior a la última registrada, se ignora la fila
Detección de Duplicados
Si un pago tiene el mismo monto Y misma fecha que una gestión ya existente para el mismo integrante, se marca como posible duplicado:
Después del procesamiento, si hay ítems pendientes de revisión:
- Se muestra un indicador en el historial
- El usuario puede revisar cada uno
- Decidir si es un pago legítimo (aceptar) o un duplicado (rechazar)
Validaciones
| Validación | Comportamiento si falla |
|---|---|
| Monto no numérico | Fila omitida, warning registrado |
| Monto ≤ 0 | Fila omitida, warning registrado |
| Crédito vacío | Guardado como pago sin asignar |
| Crédito no encontrado | Guardado como pago sin asignar |
| Fecha anterior (modo acumulado) | Fila ignorada |
| Diferencial ≤ 0 (modo acumulado) | Fila ignorada |
Historial de Importaciones
En la parte inferior de la página se muestra el historial de todas las cargas realizadas:
| Columna | Descripción |
|---|---|
| Fecha | Cuándo se ejecutó la carga |
| Archivo | Nombre del archivo subido |
| Estado | pending, processing, completed, failed, rolled_back |
| Registros | Total / Procesados / Fallidos |
| Acciones | Revertir (si aplica) |
Acceso
| Propiedad | Valor |
|---|---|
| Ruta | /gestiones/carga-pagos |
| Permiso | page:gestiones:carga-pagos |
| Roles por defecto | Solo Admin |
| Permiso API | api:import:pagos |