Appearance
Vista: Movimientos Bancarios Conciliados con Paginacion del Servidor
Modulo: Tesoreria Tipo: View Estado: Planificado Fecha: 2026-01-08
1. Descripcion
Contexto del Problema
La vista actual de conciliacion de movimientos bancarios presenta problemas criticos de rendimiento en sucursales con alto volumen de operaciones. El sistema carga todos los registros de movimientos conciliados en una sola consulta, lo que genera tiempos de espera prolongados e impacta negativamente la experiencia del usuario cuando existen mas de 1000 movimientos.
Impacto en el Negocio
- Perdida de productividad: Los usuarios de tesoreria deben esperar tiempos excesivos para visualizar y gestionar movimientos bancarios
- Experiencia degradada: Las esperas prolongadas interrumpen el flujo de trabajo de conciliacion bancaria
- Limitacion operativa: Sucursales con alto volumen de operaciones enfrentan dificultades para realizar conciliaciones de manera eficiente
- Riesgo de timeout: Consultas con grandes volumenes de datos pueden fallar por tiempo de espera agotado
Valor de Negocio
La implementacion de paginacion del lado del servidor proporcionara:
- Respuesta inmediata: Tiempo de carga inicial reducido a menos de 2 segundos
- Escalabilidad: Capacidad de manejar cualquier volumen de movimientos sin degradacion
- Eficiencia operativa: Los usuarios pueden iniciar su trabajo de conciliacion inmediatamente
- Consistencia: Alineacion con las mejores practicas de visualizacion de grandes volumenes de datos
Contexto del Proceso de Conciliacion Bancaria
La conciliacion bancaria es un proceso critico de control financiero donde:
- El usuario consulta los movimientos bancarios registrados en el sistema
- Compara estos movimientos con el extracto bancario
- Marca como conciliados aquellos movimientos que coinciden
- Ajusta fechas de vencimiento cuando es necesario (especialmente para cheques diferidos)
- Genera reportes para documentar la conciliacion realizada
2. Entidades de Negocio Involucradas
Movimiento Bancario Conciliado
Representa una transaccion bancaria (cheque, transferencia, deposito) que requiere verificacion contra el estado de cuenta del banco.
Datos del movimiento:
- Identificador unico del movimiento
- Importe (monto en pesos)
- Comentario o descripcion del movimiento
- Numero de comprobante (cheque, transferencia)
- Fecha de vencimiento
- Tipo de movimiento (Entrada/Salida)
- Estado de conciliacion (indica si ya fue verificado contra el extracto bancario)
Cuenta Bancaria
Cuenta contable asociada a una entidad bancaria sobre la cual se consultan los movimientos.
Relaciones de Negocio
- Cada movimiento bancario pertenece a una cuenta bancaria
- Los movimientos pertenecen a una sucursal/caja especifica dentro del esquema multi-tenant
- La conciliacion es un estado del movimiento, no una entidad separada
3. Frontend
Vistas
Vista Principal: Movimientos Conciliados con Paginacion del Servidor
La vista de conciliacion de movimientos debe migrar a una implementacion React que soporte paginacion del servidor, manteniendo la apariencia y funcionalidades actuales para minimizar la curva de aprendizaje de los usuarios.
Elementos visuales principales:
Seccion de filtros:
- Selector de cuenta bancaria (obligatorio)
- Rango de fechas (desde/hasta) O numero de comprobante (mutuamente excluyentes)
- Boton de busqueda
Tabla de resultados paginada:
- Columnas: Importe, Comentario, Numero de Comprobante, Fecha de Vencimiento, Tipo (E/S), Conciliado
- Controles de paginacion
- Indicador de total de registros
Informacion de paginacion:
- Texto descriptivo: "Mostrando X-Y de Z registros"
- Total de paginas disponibles
Controles de exportacion:
- Boton para exportar a Excel
- Boton para exportar a PDF
Interacciones del Usuario
Navegacion entre Paginas
- Primera pagina: Ir al inicio del conjunto de resultados
- Pagina anterior: Retroceder una pagina (deshabilitado en pagina 1)
- Pagina siguiente: Avanzar una pagina (deshabilitado en ultima pagina)
- Ultima pagina: Ir al final del conjunto de resultados
Cambio de Tamano de Pagina
- El usuario puede seleccionar entre 10 o 20 registros por pagina
- Al cambiar el tamano, el sistema recarga los resultados manteniendo los filtros aplicados
- El usuario vuelve a la primera pagina del nuevo conjunto
Marcar Movimiento como Conciliado
- El usuario hace clic en el checkbox de conciliacion
- El sistema actualiza el estado del movimiento
- Se muestra confirmacion visual del cambio
- El usuario permanece en la misma pagina
Editar Fecha de Vencimiento
- El usuario edita la fecha directamente en la celda (edicion inline)
- El sistema valida el formato de fecha
- El sistema actualiza la fecha del movimiento
- Se muestra confirmacion visual del cambio
- El usuario permanece en la misma pagina
Aplicar Filtros
- El usuario selecciona una cuenta bancaria (obligatorio)
- El usuario ingresa rango de fechas O numero de comprobante
- El usuario presiona buscar
- El sistema carga la primera pagina de resultados
- Se muestra el total de registros que coinciden
Exportar Resultados
- El usuario hace clic en exportar (Excel o PDF)
- El sistema genera el reporte con TODOS los movimientos que coinciden con el filtro aplicado
- El sistema descarga el archivo
- La exportacion incluye todos los registros, no solo la pagina actual
Permisos
| Permiso | Descripcion |
|---|---|
| Visualizacion de movimientos conciliados | Permite acceder a la vista y consultar movimientos |
| Modificacion de estado de conciliacion | Permite marcar/desmarcar movimientos como conciliados |
| Modificacion de fechas de vencimiento | Permite editar la fecha de vencimiento de movimientos |
| Exportacion de reportes | Permite generar y descargar reportes Excel/PDF |
Los permisos actuales de la vista existente se mantienen sin cambios.
Estados de Interfaz
Estado de Carga
- Indicador visual de carga mientras se obtienen los datos de una pagina
- Los controles de navegacion se deshabilitan durante la carga
- Mensaje de estado: "Cargando movimientos..."
Estado Vacio
- Mensaje claro cuando no hay resultados: "No se encontraron movimientos conciliados"
- Se muestra despues de aplicar filtros sin resultados
- Ofrece opcion de modificar los criterios de busqueda
Estado de Error
- Mensaje descriptivo cuando falla la consulta
- Opcion de reintentar la busqueda
- Registro del error para soporte tecnico
Estado Inicial
- Mensaje solicitando seleccionar una cuenta bancaria
- Los controles de paginacion y tabla estan ocultos o deshabilitados
- Texto: "Seleccione una cuenta bancaria para consultar movimientos"
Confirmacion de Operaciones
- Feedback visual al marcar como conciliado (cambio de color, icono de exito)
- Feedback visual al actualizar fecha de vencimiento
- Mensajes de exito temporales que no interrumpen el flujo de trabajo
Controles de Navegacion
- Botones de navegacion (primera, anterior, siguiente, ultima)
- Estado habilitado/deshabilitado segun pagina actual
- En pagina 1: deshabilitados "Primera" y "Anterior"
- En ultima pagina: deshabilitados "Siguiente" y "Ultima"
4. Backend
Datos Necesarios
Datos del Movimiento (sin cambios respecto a vista actual)
| Campo | Descripcion |
|---|---|
| Identificador del movimiento | Clave unica del registro |
| Importe | Monto del movimiento en pesos |
| Comentario | Descripcion textual del movimiento |
| Numero de comprobante | Numero de cheque, transferencia u otro documento |
| Fecha de vencimiento | Fecha de vencimiento del movimiento (editable) |
| Tipo de movimiento | Entrada (credito) o Salida (debito) |
| Estado de conciliacion | Booleano indicando si esta verificado |
Metadatos de Paginacion (nuevo)
| Metadato | Descripcion |
|---|---|
| Total de registros | Cantidad total de movimientos que coinciden con el filtro |
| Numero de pagina actual | Pagina actualmente visualizada (desde 1) |
| Tamano de pagina | Cantidad de registros por pagina (10 o 20) |
| Total de paginas | Cantidad total de paginas disponibles |
Validaciones de Negocio
| Validacion | Descripcion |
|---|---|
| Numero de pagina valido | Debe ser mayor o igual a 1 |
| Tamano de pagina permitido | Debe ser 10 o 20 |
| Cuenta bancaria obligatoria | Se requiere seleccionar una cuenta para consultar |
| Rango de fechas coherente | Fecha desde debe ser menor o igual a fecha hasta |
| Filtros mutuamente excluyentes | Rango de fechas O numero de comprobante, no ambos |
5. Reglas de Negocio
RN-001: Paginacion Obligatoria
Descripcion: Todas las consultas de movimientos conciliados deben utilizar paginacion del servidor.
Justificacion: Garantizar rendimiento optimo independientemente del volumen de datos.
Aplicacion: El sistema nunca carga todos los registros en una sola consulta; siempre se aplica paginacion.
RN-002: Tamano de Pagina Configurable
Descripcion: El usuario puede elegir visualizar 10 o 20 registros por pagina.
Valor por defecto: 10 registros por pagina.
Persistencia: La preferencia del usuario puede mantenerse durante la sesion.
RN-003: Preservacion de Filtros
Descripcion: Los filtros aplicados deben mantenerse al navegar entre paginas.
Aplicacion: Al cambiar de pagina, los criterios de cuenta bancaria, fechas y comprobante se preservan.
RN-004: Ordenamiento Consistente
Descripcion: Los movimientos deben mostrarse en el mismo orden que la vista actual.
Aplicacion: El ordenamiento es determinista para garantizar que la navegacion entre paginas sea predecible.
RN-005: Exportacion Completa
Descripcion: Los reportes Excel/PDF deben incluir TODOS los registros que coinciden con los filtros aplicados.
Justificacion: El usuario necesita un reporte completo de su consulta para documentar la conciliacion.
Nota: La exportacion puede requerir una consulta sin paginacion; el usuario debe ser informado del tiempo estimado si el volumen es alto.
RN-006: Operaciones Independientes de Paginacion
Descripcion: Las acciones de marcar como conciliado y editar vencimiento funcionan sobre registros individuales.
Aplicacion: Estas operaciones no estan afectadas por la paginacion y se aplican al registro especifico.
RN-007: Visibilidad del Total
Descripcion: El usuario siempre debe ver el total de registros que coinciden con su filtro.
Formato: "Mostrando X-Y de Z registros" donde Z es el total.
RN-008: Estado Inicial Sin Datos
Descripcion: Al abrir la vista, se debe solicitar que el usuario seleccione un banco.
Aplicacion: No se realiza ninguna consulta hasta que el usuario selecciona una cuenta bancaria.
6. Casos de Uso
CU-001: Consultar Movimientos Conciliados con Paginacion
Actor: Usuario de tesoreria
Objetivo: Visualizar movimientos bancarios conciliados de forma paginada
Precondiciones:
- Usuario autenticado con permisos de visualizacion de movimientos conciliados
- Usuario tiene acceso a la sucursal/caja correspondiente
Flujo Principal:
- Usuario accede a la vista de conciliacion de movimientos
- Sistema muestra estado inicial solicitando seleccionar cuenta bancaria
- Usuario selecciona una cuenta bancaria del listado
- Usuario ingresa filtros opcionales:
- Rango de fechas (desde/hasta), O
- Numero de comprobante
- Usuario presiona el boton de buscar
- Sistema consulta la primera pagina de movimientos (10 registros por defecto)
- Sistema muestra la tabla con los movimientos de la primera pagina
- Sistema muestra informacion de paginacion: "Mostrando 1-10 de 1,247 movimientos"
- Usuario navega entre paginas usando los controles de paginacion
- Sistema carga y muestra cada pagina solicitada sin recargar los filtros
Postcondiciones:
- Usuario visualiza movimientos conciliados de forma paginada
- Filtros aplicados se mantienen durante la navegacion
Flujos Alternativos:
- 4a. Usuario no ingresa filtros opcionales: Sistema consulta todos los movimientos de la cuenta seleccionada
- 7a. No hay movimientos: Sistema muestra mensaje "No se encontraron movimientos conciliados"
- 9a. Usuario cambia tamano de pagina a 20: Sistema recarga resultados con nuevo tamano, vuelve a pagina 1
CU-002: Marcar Movimiento como Conciliado en Vista Paginada
Actor: Usuario de tesoreria
Objetivo: Marcar un movimiento bancario como verificado contra el extracto bancario
Precondiciones:
- Usuario tiene permisos de modificacion de estado de conciliacion
- Movimientos cargados en vista paginada
- Usuario se encuentra en una pagina de resultados
Flujo Principal:
- Usuario visualiza una pagina de movimientos conciliados
- Usuario identifica un movimiento que coincide con el extracto bancario
- Usuario hace clic en el checkbox de conciliacion del movimiento
- Sistema envia solicitud de actualizacion del estado
- Sistema actualiza el estado de conciliacion del movimiento
- Sistema muestra confirmacion visual del cambio (checkbox marcado, indicador de exito)
- Usuario permanece en la misma pagina con el mismo scroll
Postcondiciones:
- Movimiento marcado como conciliado
- Cambio auditado en el sistema
- Pagina actual preservada
Flujos Alternativos:
- 5a. Error al actualizar: Sistema muestra mensaje de error descriptivo, revierte el checkbox al estado anterior
CU-003: Editar Fecha de Vencimiento en Vista Paginada
Actor: Usuario de tesoreria
Objetivo: Modificar la fecha de vencimiento de un movimiento bancario
Precondiciones:
- Usuario tiene permisos de modificacion de fechas de vencimiento
- Movimientos cargados en vista paginada
- Usuario se encuentra en una pagina de resultados
Flujo Principal:
- Usuario visualiza una pagina de movimientos conciliados
- Usuario identifica un movimiento cuya fecha de vencimiento requiere ajuste
- Usuario hace clic en el campo de fecha de vencimiento (edicion inline)
- Sistema muestra control de edicion de fecha
- Usuario ingresa la nueva fecha
- Sistema valida el formato de la fecha
- Sistema envia solicitud de actualizacion
- Sistema actualiza la fecha de vencimiento del movimiento
- Sistema muestra confirmacion visual del cambio
- Usuario permanece en la misma pagina
Postcondiciones:
- Fecha de vencimiento actualizada
- Cambio auditado en el sistema
- Pagina actual preservada
Flujos Alternativos:
- 6a. Formato de fecha invalido: Sistema muestra error de validacion, mantiene valor anterior
- 8a. Error al actualizar: Sistema muestra mensaje de error descriptivo, revierte al valor anterior
CU-004: Exportar Todos los Movimientos Filtrados
Actor: Usuario de tesoreria
Objetivo: Generar un reporte completo de movimientos para documentar la conciliacion
Precondiciones:
- Usuario tiene permisos de exportacion de reportes
- Usuario ha aplicado filtros y tiene resultados de movimientos
Flujo Principal:
- Usuario aplica filtros (cuenta bancaria, fechas o comprobante)
- Sistema muestra primera pagina de resultados con total de registros
- Usuario hace clic en boton de exportar (Excel o PDF)
- Sistema muestra indicador de generacion de reporte
- Sistema consulta TODOS los movimientos que coinciden con los filtros (no solo la pagina actual)
- Sistema genera el archivo en el formato solicitado
- Sistema descarga el archivo al dispositivo del usuario
- Sistema muestra confirmacion de descarga exitosa
Postcondiciones:
- Usuario obtiene archivo con TODOS los movimientos filtrados
- La exportacion contiene la misma informacion visible en la tabla
Flujos Alternativos:
- 5a. Mas de 5000 registros: Sistema muestra advertencia sobre tiempo estimado de generacion, usuario confirma continuar
- 6a. Error en generacion: Sistema muestra mensaje de error, sugiere reintentar o reducir el rango de filtros
CU-005: Cambiar Tamano de Pagina
Actor: Usuario de tesoreria
Objetivo: Ajustar la cantidad de movimientos visibles por pagina
Precondiciones:
- Usuario tiene resultados de movimientos cargados
- Usuario se encuentra en cualquier pagina de resultados
Flujo Principal:
- Usuario visualiza resultados paginados
- Usuario localiza selector de tamano de pagina
- Usuario selecciona nuevo tamano (10 o 20)
- Sistema recarga resultados con nuevo tamano de pagina
- Sistema posiciona al usuario en la primera pagina
- Sistema actualiza informacion de paginacion ("Mostrando 1-20 de 1,247 registros")
Postcondiciones:
- Resultados mostrados con nuevo tamano de pagina
- Filtros preservados
- Usuario en pagina 1
7. Consideraciones
Seguridad
- Aislamiento multi-tenant: Los usuarios solo pueden ver movimientos de sucursales/cajas a las que tienen acceso
- Validacion de permisos: Cada operacion (consulta, modificacion, exportacion) valida permisos del usuario
- Validacion de parametros: Los parametros de paginacion (pagina, tamano) deben validarse para prevenir manipulacion
- Contexto de sucursal/caja: El esquema de base de datos se determina por el contexto del usuario autenticado
Auditoria
- Operaciones de modificacion: Las acciones de marcar como conciliado y editar vencimiento continuan siendo auditadas como actualmente
- Sin auditoria de consultas: No es necesario auditar las consultas paginadas de movimientos (solo lectura)
- Registro de exportaciones: Las exportaciones pueden auditarse para seguimiento de uso
Rendimiento
| Objetivo | Metrica |
|---|---|
| Tiempo de carga primera pagina | Menor a 2 segundos |
| Tiempo de navegacion entre paginas | Menor a 1 segundo |
| Tiempo de actualizacion de conciliacion | Menor a 500 milisegundos |
| Tiempo de actualizacion de fecha | Menor a 500 milisegundos |
Consideraciones adicionales:
- Las consultas paginadas deben ser eficientes independientemente del volumen total de datos
- El conteo total de registros debe ser eficiente y no impactar el tiempo de respuesta
- La exportacion completa puede requerir mas tiempo; el usuario debe ser informado si supera los 10 segundos
Usabilidad
- Consistencia visual: La nueva implementacion debe mantener apariencia similar a la vista actual
- Curva de aprendizaje minima: Los usuarios familiarizados con la interfaz actual deben poder usar la nueva version sin capacitacion
- Edicion inline preservada: La funcionalidad de editar fecha de vencimiento directamente en la tabla debe mantenerse
- Feedback inmediato: Todas las operaciones deben proporcionar retroalimentacion visual clara
8. Dependencias
Dependencias Internas
| Dependencia | Descripcion |
|---|---|
| Modulo de Contabilidad | Consulta de cuentas bancarias disponibles |
| Sistema de permisos | Validacion de acceso a movimientos por sucursal/caja |
| Sistema de auditoria | Registro de cambios de conciliacion y vencimiento |
| Infraestructura multi-tenancy | Aislamiento de datos por esquema de sucursal/caja |
Dependencias de Proceso
| Proceso | Relacion |
|---|---|
| Conciliacion bancaria | Esta vista es parte central del proceso de conciliacion |
| Cierre de caja | Los movimientos conciliados contribuyen al control de cierre |
| Reportes de tesoreria | Los reportes exportados documentan el proceso de conciliacion |
9. Criterios de Aceptacion
Paginacion
| ID | Criterio |
|---|---|
| AC-001 | Los movimientos conciliados se muestran en paginas de 10 o 20 registros segun preferencia del usuario |
| AC-002 | La navegacion entre paginas carga solo los registros de la pagina solicitada (no todos los registros) |
| AC-003 | El tiempo de carga de la primera pagina es menor a 2 segundos para consultas con mas de 1000 registros |
Filtros
| ID | Criterio |
|---|---|
| AC-004 | Los filtros actuales (banco, fechas, comprobante) funcionan correctamente con la paginacion |
| AC-005 | Al cambiar de pagina, los filtros aplicados se mantienen |
Operaciones
| ID | Criterio |
|---|---|
| AC-006 | El usuario puede marcar movimientos como conciliados desde cualquier pagina sin perder su posicion |
| AC-007 | El usuario puede editar fechas de vencimiento desde cualquier pagina sin perder su posicion |
| AC-008 | La exportacion a Excel/PDF incluye TODOS los movimientos del filtro aplicado, no solo la pagina actual |
Interfaz
| ID | Criterio |
|---|---|
| AC-009 | Se muestra informacion clara de paginacion: "Mostrando X-Y de Z registros" |
| AC-010 | Los controles de navegacion (primera, anterior, siguiente, ultima) se habilitan/deshabilitan apropiadamente segun pagina actual |
| AC-011 | En la ultima pagina se muestran solo los registros restantes (puede ser menos del tamano de pagina configurado) |
| AC-012 | Si no hay resultados, se muestra mensaje claro "No se encontraron movimientos conciliados" |
Estado Inicial
| ID | Criterio |
|---|---|
| AC-013 | Al abrir la vista, se solicita al usuario seleccionar una cuenta bancaria antes de mostrar datos |
| AC-014 | Los controles de paginacion estan ocultos o deshabilitados hasta que se realiza una busqueda |
10. Notas Adicionales
Importancia Estrategica
- Esta mejora es critica para sucursales con alto volumen de operaciones bancarias
- La conciliacion bancaria es un proceso diario que impacta directamente la productividad del area de tesoreria
- El problema actual limita la capacidad operativa de sucursales en crecimiento
Patron para Futuras Implementaciones
- Esta implementacion establece el patron para migrar otras vistas con grandes volumenes de datos a React con paginacion del servidor
- El enfoque puede replicarse en: listados de comprobantes, historico de movimientos de caja, reportes de cuenta corriente
Continuidad de la Experiencia
- Los usuarios estan familiarizados con la interfaz actual
- La nueva version debe mantener un diseno similar para minimizar la curva de aprendizaje
- La edicion inline de vencimiento es una funcionalidad valorada que debe preservarse exactamente
Consistencia del Sistema
- La migracion a React alinea esta vista con las practicas modernas adoptadas en otros modulos
- Permite reutilizar componentes de paginacion ya desarrollados en el sistema
- Facilita el mantenimiento futuro al usar una unica tecnologia de frontend
Historial de Cambios
| Fecha | Version | Descripcion |
|---|---|---|
| 2026-01-08 | 1.0 | Documento inicial de requerimientos de negocio |