DIAGRAMAS DE FLUJO — App CDRO/CARE (Grupos de Ahorro VSLA / COEJUV)

1. Contexto del Proyecto

[Diagram]

2. Roles y Permisos

2.1 Mapa de Roles

[Diagram]

2.2 Matriz Detallada de Acciones por Rol

[Diagram]

3. Flujos Principales

3.1 Ciclo de Vida del Grupo (completo)

[Diagram]

3.2 Flujo de Reunión Presencial (basado en metodología VSLA)

[Diagram]

3.3 Flujo de Préstamo (completo con validaciones TDR + reglas)

[Diagram]

3.4 Reglas de Negocio — Préstamos (consolidadas de todas las fuentes)

[Diagram]

3.5 Flujo de Aprobación 3-Llave (Créditos, Anulaciones, Correcciones)

[Diagram]

Notas de lectura:

3.6 Reparto de Intereses al Cierre de Ciclo

[Diagram]

3.7 Salida de un Miembro del Grupo

[Diagram]

4. Modelo de Entidades Principal

[Diagram]

5. Vistas Propuestas por Rol

5.1 Vista Equipo CDRO/CARE (Panel Web — Desktop-First)

[Diagram]

5.2 Vista Junta Directiva (App Móvil Android + Panel Web)

[Diagram]

5.3 Vista Miembro (App Móvil Android — Mobile-First)

[Diagram]

6. Diagramas de Estado

6.1 Estado de un Préstamo

[Diagram]

6.2 Estado de una Reunión

[Diagram]

6.3 Estado de un Movimiento

[Diagram]

6.4 Estado de un Grupo

[Diagram]

7. Arquitectura General del Sistema

[Diagram]

7.1 Flujo de Registro y Pertenencia a Grupo (de la Propuesta TDR)

[Diagram]

8. Balance General del Grupo (Fórmula VSLA)

[Diagram]

9. Diagrama de Navegación General

Nota: este diagrama sólo es una representación preliminar, no un esquema de las vistas finales.

[Diagram]

10. Reglas de Negocio Consolidadas

# Regla Fuente(s)
1 La presidenta puede crear grupo y generar usuarios; proceso auto-gestionable reglas_negocio_app.txt:1, PROPUESTA:5.3
2 Primera reunión: se crean usuarios, NO se asigna valor inicial de ahorro reglas_negocio_app.txt:2, flujo.txt:5
3 Segunda reunión: se asigna monto mínimo de acciones / ahorro reglas_negocio_app.txt:3
4 Frecuencia de reuniones configurable; se puede reconfigurar fecha en cada sesión reglas_negocio_app.txt:4, VSLA pag.8
5 Notificaciones: 1 día antes y 1 hora antes de cada reunión reglas_negocio_app.txt:5, flujo.txt:7
6 Quórum: mínimo 2/3 de Miembros presentes para operaciones del grupo reglas_negocio_app.txt:6, VSLA pag.14
7 Multa solo por atraso a reunión presencial. NO multa por atraso en préstamo reglas_negocio_app.txt:7, funcionalidades_por_rol.md:150
8 Junta Directiva: presidente, tesorero, secretario, 2 contadores de efectivo (opcionales); también ahorran y piden préstamos reglas_negocio_app.txt:8, VSLA pag.5, PROPUESTA:5.2
9 Todos los Miembros tienen los mismos derechos; decisiones por votación reglas_negocio_app.txt:9, VSLA pag.4
10 Ahorro en múltiplos del mínimo; no todos ahorran lo mismo reglas_negocio_app.txt:10, VSLA pag.8
11 Ciclo en meses; al final se reparten ahorros e intereses reglas_negocio_app.txt:11
12 Sistema digital de asistencia, ahorros, préstamos, fondo social, multas y balance reglas_negocio_app.txt:12, TDR:4.1
13 El Miembro consulta su propia información: ahorros, préstamos, multas, intereses, balance personal reglas_negocio_app.txt:13, PROPUESTA:6.4.I
14 Préstamos opcionales; solicitud vía sistema reglas_negocio_app.txt:14
15 Solicitud de préstamo: exposición presencial al grupo + plan de pago; grupo decide por votación reglas_negocio_app.txt:15, VSLA pag.10, PROPUESTA:6.2.I
16 Monto máximo de préstamo: 3× lo ahorrado por el Miembro reglas_negocio_app.txt:16, VSLA pag.10
17 Plazo máximo: 3 meses; grupo asigna monto máximo de préstamos reglas_negocio_app.txt:17
18 Solo se otorga préstamo si los ahorros del grupo lo permiten reglas_negocio_app.txt:18, VSLA pag.10
19 No préstamos 1-2 meses antes del cierre del ciclo reglas_negocio_app.txt:19, VSLA pag.10
20 Préstamo a externo: solo si Miembro es responsable; intereses más altos reglas_negocio_app.txt:20, VSLA pag.12
21 Tasa de interés decidida por el grupo; intereses aumentan capital reglas_negocio_app.txt:21, VSLA pag.11
22 Salida después del ciclo: ahorros + intereses. Salida a medio ciclo: solo ahorros sin intereses reglas_negocio_app.txt:22, VSLA pag.11
23 Fondo social para emergencias, negocios colectivos o gastos grupales reglas_negocio_app.txt:23, VSLA pag.12
24 Balance: saldo anterior + ahorro sesión + multas + pagos préstamos / intereses + fondo social - desembolsos - gastos reglas_negocio_app.txt:24, VSLA pag.24
25 Al cierre: todos los préstamos e intereses deben estar pagados, ahorros y multas completos reglas_negocio_app.txt:25, VSLA pag.26
26 Deudas pendientes al cierre: no se entregan intereses o se descuenta de acciones lo prestado reglas_negocio_app.txt:26, VSLA pag.25
27 Multas acumuladas: se reparten entre todas o entre las de mayor asistencia reglas_negocio_app.txt:27, VSLA pag.26
28 Intereses: se reparten entre todas por igual o en proporción a sus ahorros reglas_negocio_app.txt:28, VSLA pag.26-27
29 Al final del ciclo se devuelven los ahorros totales de cada Miembro reglas_negocio_app.txt:29, VSLA pag.26
30 Un Miembro solo puede tener un préstamo activo a la vez; no puede solicitar otro mientras tenga cuotas pendientes (Regla #53) reglas_negocio_app.txt:30, VSLA pag.10, Resolucion punto #14
31 Aprobación operativa 3-llave: secretaría, tesorería, presidencia (orden fijo, Regla #57) flujo.txt:15, PROPUESTA:5.4, funcionalidades_por_rol.md:162, Resolucion punto #13
32 Modo semi-offline para funciones comunes; requiere análisis y aprobación por escrito funcionalidades_por_rol.md:287-300
33 Caja física con 3 candados y 3 llaves con personas distintas VSLA pag.9, 13
34 Android Play Store: plazo mínimo 60 días; la ficha debe incluir tasa máxima y ejemplo de costo PROPUESTA:6.4nota4, funcionalidades_por_rol.md:314
35 Gestiones solo se pueden realizar si el grupo está en fecha de reunión flujo.txt:18
36 Un usuario pertenece a un solo grupo en el MVP; la junta se renueva periódicamente y el sistema conserva historial de cargos PROPUESTA:5.3.IV, PROPUESTA:5.4
37 El ahorro no genera intereses para los integrantes PROPUESTA:6.1.IV
38 La mora es opcional y configurable por grupo; puede generar multa o alerta PROPUESTA:6.2.VII
39 Se permiten pagos parciales y registro de pagos por cuota PROPUESTA:6.2.V
40 Si el crédito vencido no se paga, el grupo puede aplicar saldo de ahorro para cubrirlo PROPUESTA:6.2.VIII
41 Edición de movimientos solo dentro de ventana configurable; con bitácora PROPUESTA:6.3.III
42 Anulación requiere aprobación múltiple y motivo obligatorio PROPUESTA:6.3.IV
43 Cada grupo maneja una sola caja / fondo comunitario en el MVP PROPUESTA:6.3.I
44 Los comprobantes son informativos, sin validez legal contractual PROPUESTA:5.4, funcionalidades_por_rol.md:257
45 Android prohibe solicitar permisos de contactos, fotos, ubicación o números de teléfono funcionalidades_por_rol.md:313
46 Usuarios desde 14 años; se recomienda validar políticas de privacidad y consentimiento de menores antes de publicación PROPUESTA:6.4.V, TDR:1.1
47 Reportes y datos se exportan en Excel; solo comprobantes del miembro se generan en PDF y se muestran mediante interfaz nativa "Abrir con" de Android Resolucion punto #1 y #7
48 La configuracion del grupo NO es retroactiva: los cambios solo aplican a operaciones nuevas, nunca a registros existentes (restriccion dura) Resolucion punto #2
49 No se solicita ningun dato personalmente identificable (PII) del miembro: solo alias y ano de nacimiento Resolucion punto #3
50 Toda correccion o anulacion de movimientos requiere aprobacion 3-llave sin importar el monto (no hay limite minimo) Resolucion punto #6
51 Los tokens JWT no expiran; la sesion permanece activa hasta cierre manual o bloqueo por administracion Resolucion punto #8
52 Modo semi-offline permite unicamente consultar datos de perfil, saldo de ahorros y estado de prestamos del miembro; no permite movimientos ni operaciones de escritura Resolucion punto #10
53 Un miembro solo puede tener un prestamo activo a la vez; no puede solicitar otro mientras tenga cuotas pendientes Resolucion punto #14
54 No se permiten reestructuraciones ni refinanciamientos de prestamos; las condiciones son fijas desde el otorgamiento (limitacion explicita del proyecto) Resolucion punto #15
55 El interes se calcula como interes simple sobre saldo insoluto (no sobre capital original); no es configurable por el grupo. Formula por cuota: Interes cuota = Saldo insoluto x Tasa mensual Resolucion punto #17
56 La Junta Directiva genera los usuarios y entrega contrasena temporal; el miembro debe cambiarla obligatoriamente al primer inicio de sesion. El presidente que crea el grupo establece su propia contrasena Resolucion punto #18
57 El orden de aprobacion 3-llave es fijo: Secretaria -> Tesoreria -> Presidencia (no configurable) Resolucion punto #13

11. Dudas iniciales del proyecto — RESUELTOS

Todos los puntos fueron analizados y resueltos. Las resoluciones se integran como reglas de negocio, actualizaciones a diagramas y a la documentación técnica del proyecto.

# Tema Resolución Regla / Acción
1 Formato de exportación de reportes y comprobantes Resuelto. Los reportes de usuario y datos consolidados se exportan en Excel. Los comprobantes para el miembro se generan en PDF y se muestran en la app mediante la interfaz nativa, algo como "Abrir con..." del sistema operativo, permitiendo al usuario elegir la app que lo abra (visor PDF, Drive, etc.). Regla #47
2 Configuración no retroactiva Resuelto. Restricción dura. Los cambios en la configuración del grupo solo aplican a operaciones nuevas, nunca a las ya registradas. Ejemplo práctico: Si un grupo tiene tasa de interés del 5% mensual y un miembro sacó un préstamo de Q500 a 3 meses con esa tasa, y luego el grupo cambia la tasa al 8%, el préstamo existente sigue pagando al 5%. Solo los nuevos préstamos que se otorguen después del cambio usarán el 8%. Lo mismo aplica para multas, monto mínimo de ahorro, y cualquier otro parámetro de configuración. Regla #48
3 Datos personales del Miembro (privacidad) Resuelto. No se solicita ningún dato que pueda identificar al usuario final. Existe consenso de no pedir DPI, nombre completo, fecha de nacimiento exacta, dirección, ni ningún dato personalmente identificable (PII). Los datos mínimos del miembro son: alias o nombre simplificado y año de nacimiento (solo para estadísticas). Esta decisión se fundamenta en que la app se dirige a jóvenes desde 14 años en comunidades rurales, donde la combinación de datos como nombre + fecha podría generar riesgo de identificación. Regla #49
4 Play Store: plazo mínimo 60 días vs plazo máximo 3 meses Resuelto. No hay conflicto. Google Play prohíbe apps que promuevan préstamos con repago total en 60 días o menos. El plazo mínimo efectivo es >60 días. El proyecto establece plazo máximo de 3 meses (90 días). El rango compatible es 61 a 90 días, lo cual cumple ambas restricciones. Play Store también exige que la ficha incluya: período mínimo/máximo de repago, APR máximo, y ejemplo representativo del costo total del préstamo. Regla #34 (actualizada)
5 Restricciones por pago parcial de cuotas Resuelto (supuesto documentado). Se permiten pagos parciales de cuotas. El monto parcial se registra como abono a la cuota y el restante queda como pendiente. No se generan multas automáticas por pago parcial. Si al vencimiento de la cuota el monto total no está cubierto, la cuota pasa a estado "parcial" o "vencida" según corresponda. No hay penalización adicional más allá de la multa por atraso a reunión si aplica. Regla #39 (ratificada)
6 Límite de monto para aprobación múltiple de correcciones Resuelto. No habrá restricción de monto mínimo para activar la aprobación múltiple. Toda corrección o anulación de movimientos requiere aprobación 3-llave sin importar el monto. Se elimina la configuración de un límite. Regla #50
7 Comprobantes PDF en app móvil Resuelto. Todos los comprobantes generados para el miembro (sin junta directiva) son PDFs que se muestran en la app mediante la interfaz nativa "Abrir con" del sistema operativo Android. La app no incluye un visor PDF integrado; redirige el archivo a cualquier app compatible instalada en el dispositivo. La interfaz es equivalente a un diálogo "Abrir con...". Esto aplica para: comprobantes de ahorro, comprobantes de pago de cuota, pagarés de crédito con cronograma, y cualquier otro comprobante generado. Regla #47 (complemento)
8 Expiración del JWT Resuelto. Los tokens JWT no expirarán. La sesión del usuario permanece activa indefinidamente hasta que el usuario cierre sesión manualmente o sea bloqueado por la administración. Regla #51
9 Ficha de Play Store Resuelto. Se mostrará. La ficha de la app en Play Store incluirá toda la información requerida por las políticas de Financial Services: período mínimo/máximo de repago, APR máxima, ejemplo representativo del costo total, y política de privacidad. El texto será proporcionado por el cliente (CDRO/CARE) y no puede ni debe ser redactado unilateralmente por el desarrollador. Regla #34 (ratificada)
10 Modo semi-offline: alcance Resuelto. El modo semi-offline permite únicamente consultar información del usuario final como miembro: datos de perfil, saldo de ahorros y estado de préstamos. No permite consultar movimientos, historial, ni realizar operaciones de escritura offline. Las operaciones de registro (ahorros, pagos, créditos) requieren conexión activa. Regla #52
11 Forma de reparto de intereses Resuelto. El documento grupos_ahorro presenta ambas opciones como válidas y la metodología VSLA estándar de CARE recomienda distribución proporcional a los ahorros. Se configura por grupo al inicio del ciclo en la configuración del grupo (reparto_intereses: "igual" o "proporcional"). No se decide al momento del cierre. Regla #28 (ratificada como configurable)
12 Forma de reparto de multas Resuelto. La metodología VSLA estándar establece que las multas se distribuyen equitativamente entre todos o entre quienes tuvieron mayor asistencia. Se configura por grupo al inicio del ciclo en la configuración del grupo (reparto_multas: "igual" o "mayor_asistencia"). No se decide al momento del cierre. Regla #27 (ratificada como configurable)
13 Orden de los 3 candados en aprobación Resuelto. Orden fijo: Secretaría → Tesorería → Presidencia. No es configurable. Regla #31 (actualizada)
14 Múltiples préstamos activos Resuelto. No. Un miembro solo puede tener un préstamo activo a la vez. No puede solicitar un nuevo préstamo mientras tenga cuotas pendientes de un préstamo anterior, sin importar si están en distintos meses. Regla #53
15 Reestructuraciones y refinanciamientos Resuelto. No se permiten reestructuraciones ni refinanciamientos de préstamos. Esta es una limitación explícita del proyecto. Una vez otorgado un crédito con su cronograma, las condiciones no pueden modificarse. El miembro debe liquidar el préstamo completo antes de poder solicitar uno nuevo. Regla #54
17 Tasa de interés: tipo de cálculo Resuelto. Interés simple sobre saldo insoluto. El interés se calcula sobre el saldo pendiente del préstamo en cada período, no sobre el capital original. No es configurable por el grupo; es una restricción del sistema. La metodología VSLA estándar de CARE también usa saldo insoluto como práctica recomendada. Regla #55
18 Contraseña del Miembro Resuelto. La Junta Directiva genera los usuarios y les entrega una contraseña temporal. Al iniciar sesión por primera vez, el miembro debe cambiarla obligatoriamente. El presidente que crea el grupo no sigue este flujo (su contraseña la establece él mismo al crear el grupo), pero todos los demás usuarios finales (miembros y junta directiva asignada) sí reciben contraseña temporal de la JD. Regla #56, diagramas actualizados