📖

Manual de Usuario

Caja de Ahorro · Guía paso a paso

🔐 Login y Usuarios Acceso al sistema 👥 Asociados Registrar y gestionar socios 💰 Haberes Aportes y retiros 💳 Préstamos Solicitudes y pagos 🛡️ Fiadores Garantías de préstamos 💵 Pagos y Cobros Libro de caja 📒 Contabilidad Asientos y mayor 📊 Reportes Estados financieros 🗄️ Base de Datos Admin avanzado

🔐
Login y Gestión de Usuarios
Acceso al sistema y administración de cuentas

📌 ¿Para qué sirve? Es la puerta de entrada al sistema. Aquí se autentican los usuarios y, si eres ADMIN, puedes crear, editar y eliminar cuentas de otros usuarios. Sin login no se accede a ningún otro módulo.

🚀 1. Primer arranque del sistema (Setup)

⚠️ Esto solo pasa UNA vez. Si ya existe al menos un usuario en el sistema, el wizard de setup no aparece y va directo al login normal.
1

Abrir login.html por primera vez

Al abrir login.html por primera vez (con la base de datos vacía), el sistema detecta que no hay usuarios y muestra la pantalla de Setup Inicial.

Verás un formulario con los campos ya prellenados con los valores por defecto:

• Usuario: admin
• Contraseña: admin123
• Confirmar contraseña: admin123
• Nombre completo: (vacío, opcional)

2

Personalizar las credenciales

Puedes dejar los valores por defecto o cambiarlos:

• Usuario: mínimo 3 caracteres. Sin espacios. Ej: admin, directiva, maria.
• Contraseña: mínimo 6 caracteres. Se recomienda una mezcla de letras y números.
• Confirmar: debe coincidir exactamente.
• Nombre: el nombre real de la persona (ej: "Antonio Ávila").

⚠️ Recomendación: cambia la contraseña por defecto (admin123) antes de poner el sistema en producción.
3

Crear el primer administrador

Pulsa ✅ Crear Primer Administrador.

El sistema automáticamente:

1. Crea el usuario con rol ADMIN.
2. Inicia sesión automáticamente.
3. Te redirige a la pantalla de gestión de usuarios.
4. Guarda tu sesión en el navegador (localStorage).

✅ ¿Qué pasa si ya hay usuarios? El sistema detecta que ya existe un admin y NO permite crear otro desde este wizard. Usa el login normal.

🔓 2. Login normal (uso diario)

1

Ver las tasas del día

Antes de escribir tus credenciales, verás en el centro de la pantalla:

• 💵 USD: tasa oficial del BCV del día.
• 🟡 Binance: promedio del P2P de Binance.
• 🔄 Botón de refrescar: gira al pulsarlo y actualiza las tasas en vivo (scrapeo desde BCV + Binance).
• Fecha de última actualización: "Actualizado hace X min".

💡 Las tasas se actualizan automáticamente cada 2 minutos. También se actualizan solas al abrir el sistema.
2

Escribir credenciales

• 👤 Usuario: tu nombre de usuario. Ej: admin.
• 🔒 Contraseña: tu contraseña. Se muestra como puntos por seguridad.

💡 Puedes pulsar Enter en el campo de contraseña para hacer login sin usar el mouse.
3

Ingresar

Pulsa 🔓 Entrar. Verás un botón con spinner mientras se valida.

Si las credenciales son correctas:

1. Se guarda tu sesión (token JWT) en el navegador.
2. Se registra tu último acceso con fecha y hora.
3. Te redirige a la pantalla de gestión de usuarios.
4. Verás un mensaje de bienvenida con tu nombre.

❌ Si las credenciales son incorrectas: verás un mensaje en rojo "Credenciales incorrectas". El sistema no especifica si el error fue el usuario o la contraseña (por seguridad).
4

Mantener la sesión

La sesión se mantiene activa por 12 horas. Puedes navegar entre módulos sin tener que loguearte de nuevo.

Si cierras el navegador y lo vuelves a abrir dentro de ese período, seguirás logueado.

💡 ¿Por qué se cierra la sesión? Por seguridad. Si dejas el equipo desatendido, la sesión expira. Vuelve a loguearte cuando lo necesites.
5

Cerrar sesión

Pulsa el botón rojo 🚪 Salir en la esquina superior derecha.

Aparecerá un modal de confirmación. Al aceptar:

1. Se borra el token del navegador.
2. Se borran tus datos de sesión.
3. Vuelves a la pantalla de login.
4. Debes volver a escribir tus credenciales.

🎭 3. Roles y permisos del sistema

Cada usuario tiene un rol que determina qué puede hacer en el sistema. Los permisos se verifican en el backend, no se pueden "saltar".
Rol Icono Permisos Recomendado para
ADMIN 👑 Todo: crear/editar/eliminar usuarios, aprobar préstamos, modificar cualquier dato, ver reportes completos, acceso a Base de Datos El presidente o administrador principal de la caja
DIRECTIVA 🏛️ Casi todo: aprobar préstamos, supervisar, ver reportes, pero NO crear/eliminar usuarios ADMIN Miembros de la junta directiva
ANALISTA 📊 Registrar haberes, pagos, préstamos. NO aprobar préstamos, NO gestionar usuarios Cajero, contador, tesorero
ASOCIADO 👤 Solo consultar sus propios datos: sus haberes, sus préstamos, sus cuotas Empleados que quieren ver su saldo
⚠️ Solo ADMIN y DIRECTIVA pueden aprobar/rechazar préstamos y gestionar usuarios. Un ANALISTA puede operar pero no aprobar.

👥 4. Gestión de usuarios (solo ADMIN/DIRECTIVA)

Después de loguearte, verás la pantalla de Gestión de Usuarios. Aquí puedes crear, editar y administrar las cuentas del sistema.
1

Reconocer la pantalla

Arriba verás 4 tarjetas clickeables:

• 👥 Total Usuarios: cuántos hay en el sistema.
• ✅ Activos: cuántos pueden ingresar.
• 👑 Admin/Directiva: cuántos tienen acceso total.
• 👤 Analista/Asociado: cuántos tienen roles limitados.

Abajo, una lista con todos los usuarios. Cada uno muestra:

• Ícono del rol (👑/🏛️/📊/👤).
• Nombre completo y @usuario.
• Badge del rol.
• Último acceso registrado.
• Botones: ✏️ editar, 🔑 resetear contraseña, 🗑️ eliminar.

2

Crear un nuevo usuario

Pulsa el botón azul ➕ Nuevo Usuario en la parte superior derecha.

Se abre un modal con:

• 👤 Usuario *: nombre único para loguearse.
• 🔒 Contraseña *: mínimo 6 caracteres. Obligatoria al crear.
• 📛 Nombre Completo: nombre real de la persona.
• 🎭 Rol *: ADMIN, DIRECTIVA, ANALISTA o ASOCIADO.
• ✅ Usuario activo: marcado por defecto.

⚠️ El usuario debe ser único. Si intentas crear uno que ya existe, el sistema te lo dirá y no se guardará.
3

Editar un usuario

Pulsa el botón ✏️ en la fila del usuario (o entra a su detalle y pulsa Editar).

Puedes cambiar:

• Nombre completo y rol.
• Activo/Inactivo: si lo desactivas, no podrá loguearse.
• Contraseña: si la dejas vacía, se conserva la actual.

💡 El nombre de usuario NO se puede cambiar una vez creado (está deshabilitado). Si necesitas cambiarlo, debes crear un usuario nuevo y eliminar el viejo.
4

Resetear contraseña

Pulsa el botón 🔑 en la fila del usuario (o desde su detalle).

Escribe la nueva contraseña (mínimo 6 caracteres) y pulsa 🔑 Resetear.

💡 Caso de uso típico: un usuario olvidó su contraseña. No puedes recuperarla (está encriptada con bcrypt), pero sí puedes asignarle una nueva.
5

Eliminar un usuario

Pulsa el botón 🗑️ en la fila del usuario. Se abre un modal de confirmación.

Al confirmar, el usuario se borra permanentemente de la base de datos.

🚨 Restricciones:
• NO puedes eliminarte a ti mismo (no aparece el botón 🗑️ en tu propia fila).
• NO puedes eliminar el último ADMIN activo del sistema (para no quedar bloqueado).
6

Ver el detalle de un usuario

Haz clic sobre cualquier fila de la lista. Se abre un modal con toda la información:

• Avatar con ícono del rol.
• Nombre completo y @usuario.
• Badges de rol y estado (activo/inactivo).
• Permisos del rol: explicación de qué puede hacer.
• Fecha de creación y último acceso.

Desde este modal puedes:

• ✏️ Editar: abrir el formulario de edición.
• 🔑 Cambiar contraseña: resetearla.
• 🗑️ Eliminar: borrar (si no eres tú).

7

Ver los usuarios de una categoría

Haz clic en cualquiera de las 4 tarjetas superiores (Total, Activos, Admin/Directiva, Analista/Asociado).

Se abre un listado filtrado con solo los usuarios de esa categoría. Desde ahí puedes:

• Hacer clic en cualquier usuario para abrir su detalle.
• 📊 Exportar a Excel: descargar la lista.
• 📄 Exportar a PDF: descargar la lista en PDF.

💱 5. Widget de tasas (BCV + Binance)

1

¿Qué muestra?

En el login y en todos los módulos verás un widget con:

• 💵 USD: tasa oficial del Banco Central de Venezuela (BCV).
• 🟡 Binance: promedio del mercado P2P de Binance para USDT/VES.
• Fecha de actualización: cuándo se actualizó por última vez.

2

Refrescar manualmente

Pulsa el botón 🔄. Gira durante unos segundos mientras:

1. Consulta el BCV (scraper directo, con fallback a pydolarve.org y dolarapi.com).
2. Consulta Binance P2P.
3. Guarda la nueva tasa en la base de datos.
4. Actualiza el widget en pantalla.

💡 Si las tasas no cambian, es porque todavía no hay una nueva publicación del BCV (se publican 1 vez al día). Binance cambia constantemente.
3

Actualización automática

El sistema actualiza las tasas automáticamente:

• Cada 30 minutos en el backend (scrapeo en background).
• Cada 2 minutos en el widget del login (consulta rápida).
• Al arrancar el servidor (primera actualización).

❓ Preguntas frecuentes — Login y Usuarios

¿Qué hago si olvidé la contraseña del admin?
Si existe otro usuario con rol ADMIN activo, pídele que te resetee la contraseña desde Gestión de Usuarios → 🔑.

Si olvidaste la del único admin, deberás:
1. Acceder al servidor donde está la base de datos.
2. Abrir caja.db con SQLite.
3. Ejecutar: UPDATE usuarios_caja SET password_hash = NULL WHERE usuario = 'admin';
4. O directamente borrar el usuario y usar el setup inicial.

Recomendación: siempre ten al menos 2 administradores activos.
¿Cuánto dura la sesión?
12 horas. Después de ese tiempo el token JWT expira y debes volver a loguearte. Esto es por seguridad.

Si trabajas muchas horas seguidas, puedes guardar tu trabajo y reloguearte sin problema. Los datos no se pierden.
¿Puedo cambiar mi propio nombre de usuario?
No. El nombre de usuario es el identificador único y no se puede modificar. Si necesitas cambiarlo, debes crear un usuario nuevo con el nombre correcto y luego eliminar el viejo.

Lo que SÍ puedes cambiar es: tu nombre completo, tu contraseña y tu rol (si eres ADMIN).
¿Por qué no puedo eliminar mi propio usuario?
Es una medida de seguridad. Si pudieras autoeliminarte, podrías dejar el sistema sin administradores y nadie podría volver a entrar. Para eliminar tu cuenta:

1. Otro ADMIN debe crearte un reemplazo primero.
2. Luego ese otro ADMIN puede eliminar tu cuenta.
¿Qué diferencia hay entre desactivar y eliminar un usuario?
Desactivar (activo = false):
• El usuario NO puede loguearse.
• Sus datos e historial se conservan.
• Puedes reactivarlo en cualquier momento.
• Recomendado para empleados que renuncian.

Eliminar:
• Se borra definitivamente de la base de datos.
• Su historial de operaciones queda huérfano (pero se conserva la referencia en los movimientos).
• No se puede recuperar.
¿Cómo creo un usuario con rol ASOCIADO?
En el formulario de creación, selecciona 👤 ASOCIADO como rol. Este usuario solo podrá:
• Ver su propia ficha.
• Ver sus haberes y movimientos.
• Ver sus préstamos y cuotas.
• NO puede crear ni modificar nada.

Nota: para que vea SUS datos específicos, deberías vincularlo con su ficha de asociado. Esta funcionalidad está en desarrollo.
¿Qué pasa si dos personas usan el mismo usuario al mismo tiempo?
Nada grave. El sistema permite múltiples sesiones simultáneas del mismo usuario. Cada sesión tiene su propio token JWT. En el historial verás quién hizo qué, pero no podrás distinguir cuál de las dos sesiones hizo cada cosa.

Recomendación: cada persona debe tener su propio usuario para tener trazabilidad real.
¿Las contraseñas se guardan en texto plano?
No. Se encriptan con bcrypt (el estándar de la industria) con 10 rondas de salt. Ni siquiera un administrador puede ver la contraseña original. Solo puede resetearla a una nueva.
¿Puedo tener el sistema abierto en 2 navegadores?
Sí. Cada navegador tiene su propia sesión. Puedes estar logueado en Chrome como ADMIN y en Firefox como ANALISTA, por ejemplo. Útil para pruebas o para simular distintos roles.
¿Qué pasa con el widget de tasas si no hay internet?
El widget mostrará la última tasa guardada en la base de datos, con la fecha de actualización. Al recuperar internet, se actualizará automáticamente.

Si nunca se registró una tasa y no hay internet, mostrará — en ambos campos.
¿Puedo recuperar un usuario eliminado?
No. Una vez eliminado, se borra de la base de datos y no hay "papelera de reciclaje". Si fue un error:

1. Debes crearlo de nuevo con los mismos datos.
2. Los movimientos que hizo quedan con su ID antiguo (referencia rota).

Recomendación: usa "Desactivar" en lugar de "Eliminar".

👥
Módulo Asociados
Registrar, editar, consultar y retirar socios de la caja de ahorro

📌 ¿Para qué sirve? Es el módulo base del sistema. Aquí registras a las personas que forman parte de la caja de ahorro. Ningún otro módulo funciona sin antes tener asociados cargados.

🚀 1. Primeros pasos: ingresar al módulo

1

🔐 Iniciar sesión

Abre el archivo login.html o entra directamente a asociados.html. Verás una pantalla azul oscuro con el logo de la caja de ahorro.

Escribe tu usuario y contraseña (por defecto: admin / admin123) y pulsa 🔓 Entrar.

💡 Si es la primera vez que usas el sistema, el usuario admin ya viene creado. Si lo olvidaste, contacta al administrador del sistema.
2

📊 Conocer la pantalla principal

Una vez dentro verás la pantalla con:

• 4 tarjetas arriba con los totales: Total Asociados, Activos, Retirados y Saldo Total.
• Filtros para buscar por cédula, nombre o cargo.
• Lista de asociados en formato tabla.

💡 Cada tarjeta es clickeable: al pulsar sobre "Activos", por ejemplo, verás solo los asociados activos.

➕ 2. Registrar un nuevo asociado

1

Abrir el formulario

Pulsa el botón verde ➕ Nuevo Asociado en la parte superior derecha.

Se abrirá un formulario con varios campos. Los que tienen asterisco (*) son obligatorios.

2

Subir foto (opcional)

En la parte superior del formulario verás un círculo con un ícono de cámara 📷. Pulsa 📷 Seleccionar Foto y elige una imagen desde tu computadora o teléfono.

💡 Formatos aceptados: JPG, PNG, WEBP, GIF o BMP. Tamaño máximo: 10 MB. La foto se guardará automáticamente en la carpeta fotos-empleados/ del servidor.
3

Datos personales básicos

Completa:

• 🆔 Cédula *: Formato V-12345678.
• 📅 Fecha de Ingreso *: Cuándo se unió a la caja.
• 👤 Nombre Completo *: Nombre y apellido.
• 💼 Cargo: Su puesto en la empresa.
• 🏢 Departamento: Dónde trabaja.
• 📊 % Aporte: Porcentaje que aporta (por defecto 5%).

⚠️ Importante: La cédula NO se puede repetir. Si intentas guardar un asociado con una cédula ya existente, el sistema mostrará un error.
4

Datos bancarios

Pulsa el botón Seleccionar banco... y elige uno de la lista (Banesco, Mercantil, BDV, etc.).

Luego llena:

• 📱 Teléfono Pago Móvil *: Ej. 0414-1234567.
• 💳 Cuenta Bancaria: Número completo (opcional).
• 📧 Email: Correo del asociado.
• 📱 Teléfono: Teléfono personal.

5

⚖️ Cumplimiento SUDECA (obligatorio)

El sistema cumple con la Providencia SCA-001-2025. Debes completar:

• 🏷️ Tipo de Asociado: Regular, Directivo, Jubilado o Contratado.
• 📊 Perfil de Riesgo: Bajo, Medio o Alto.
• 🛡️ ¿Es PEP?: Marca la casilla si es una Persona Expuesta Políticamente.
• 🔗 ¿Es cercano a una PEP?: Si es familiar de un político.
• 💰 Origen de Fondos: De dónde vienen sus aportes.
• ✅ Declaración Jurada: Marca la casilla (obligatorio).
• 🛡️ Autorización SUDECA: Marca la casilla (obligatorio).

🚨 Si no marcas la declaración jurada y la autorización SUDECA, NO podrás guardar al asociado. Es un requisito de ley.
6

📁 Expediente digital (opcional)

En la parte inferior hay 4 botones para subir documentos:

• 📄 Cédula: Foto o escaneo de la cédula.
• 📄 RIF: Registro de información fiscal.
• 📄 Referencia: Referencia personal.
• 📄 Servicio: Recibo de servicio básico.

💡 Aunque son opcionales para crear el asociado, son obligatorios para estar 100% en regla con SUDECA. El sistema te mostrará en la ficha del asociado si tiene el expediente completo.
7

Guardar

Pulsa el botón verde 💾 Guardar.

Si todo está bien, verás un mensaje de éxito: "✅ Asociado creado". La tabla se actualizará automáticamente y verás al nuevo asociado con saldo en cero.

✅ ¿Qué se crea automáticamente?
• Se crea una cuenta de haberes en cero.
• Se asigna un ID interno.
• Se registra la fecha de creación.

🔍 3. Consultar un asociado

1

Hacer clic en una fila

En la lista de asociados, haz clic sobre cualquier fila. Se abrirá una ventana con la ficha completa del asociado.

2

Ver información completa

La ficha muestra:

• Datos personales: cédula, cargo, email, teléfono.
• Datos bancarios: banco, pago móvil, cuenta.
• Saldos: Bs, USD, disponible para préstamo (80%).
• Cumplimiento: si es PEP, perfil de riesgo, declaración jurada, etc.
• Antigüedad: cuánto tiempo lleva en la caja.

3

Acciones disponibles

Desde la ficha puedes:

• ✏️ Editar: modificar los datos del asociado.
• 📜 Movimientos: ver su historial de aportes y retiros.
• 📊 Excel: descargar su ficha en Excel.
• 📄 PDF: descargar su ficha en PDF.
• 🗑️ Retirar: marcarlo como retirado (solo si tiene saldo 0).

✏️ 4. Editar un asociado

1

Dos formas de editar

Puedes hacerlo desde:

• La lista: pulsa el botón azul ✏️ en la fila del asociado.
• La ficha: abre el detalle y pulsa ✏️ Editar.

2

Modificar y guardar

Cambia lo que necesites (a excepción del ID, que es intocable) y pulsa 💾 Guardar.

💡 Si dejas la foto vacía, la foto anterior se conserva. Si subes una nueva, se reemplaza.

🗑️ 5. Retirar un asociado

1

Regla importante

Solo puedes retirar a un asociado si su saldo es CERO.

🚨 Si el asociado tiene saldo pendiente (por ejemplo, Bs 5.000), el sistema NO te dejará retirarlo. Debes primero devolverle sus haberes desde el módulo Haberes (registrar un retiro por el total de su saldo).
2

Ejecutar el retiro

Pulsa el botón rojo 🗑️ en la fila del asociado. Confirma el mensaje.

El asociado quedará marcado como RETIRADO pero NO se borra de la base de datos (soft-delete). Su historial completo se conserva por trazabilidad legal.

✅ ¿Puedo reactivar a un retirado?
Sí. Desde el filtro "Estado" selecciona "Solo Retirados", abre su ficha y pulsa ✏️ Editar. Cambia el estado a ACTIVO y guarda.

🔎 6. Filtrar y buscar

Filtro Uso Ejemplo
🔍 Buscar Busca por cédula, nombre, cargo o departamento Escribe "María" o "V-12345678"
🎯 Estado Muestra solo activos, retirados o suspendidos Elige "Solo Retirados"
📊 Ordenar por Ordena la tabla por nombre, cédula, ingreso o saldo Elige "Saldo Bs" para ver los que más tienen primero

📊 7. Exportar la lista

1

Exportar todo o seleccionado

Usa los botones:

• 📊 Excel: descarga la lista en formato .xlsx.
• 📄 PDF: descarga la lista en formato PDF.

💡 Si marcas los checkboxes de varios asociados, se exportarán SOLO los seleccionados. Si no marcas ninguno, se exporta toda la lista filtrada.
2

Selección múltiple

Marca el checkbox de cada fila que quieras incluir. Verás una barra flotante abajo con los botones 📊 Excel, 📄 PDF y ✕ Limpiar.

✅ Puedes exportar hasta 500 asociados a la vez en Excel y PDF.

⚖️ 8. Designar Oficial de Cumplimiento

1

¿Qué es el Oficial de Cumplimiento?

Es la persona responsable ante SUDECA de vigilar que la caja de ahorro cumpla con la Ley de Prevención de Legitimación de Capitales (LC/FT/FPADM).

🚨 Es obligatorio. Sin Oficial de Cumplimiento designado, la caja de ahorro no está en regla.
2

Designar el oficial

Pulsa el botón morado ⚖️ Oficial de Cumplimiento en la parte superior.

Si ya hay uno designado, verás sus datos en un cuadro verde. Si quieres cambiarlo, simplemente llena el formulario con el nuevo y pulsa 💾 Designar Oficial.

💡 El anterior oficial queda registrado en el historial (puedes consultarlo si después lo necesitas).

❓ Preguntas frecuentes — Asociados

¿Qué pasa si no marco la Declaración Jurada y la Autorización SUDECA?
No podrás guardar al asociado. El sistema mostrará un mensaje de error. Ambos son requisitos obligatorios de ley (Providencia SCA-001-2025) y no se pueden omitir.
¿Puedo editar la cédula de un asociado?
Sí, puedes editarla siempre que la nueva cédula no exista en otro asociado. El sistema validará automáticamente que no haya duplicados.
¿Cómo sé si un asociado tiene su expediente completo?
En la ficha del asociado, en la sección ⚖️ Cumplimiento SUDECA, verás el porcentaje del expediente completado. Si dice "100%", tiene todos los documentos.
¿Qué significa PEP?
PEP = Persona Expuesta Políticamente. Son funcionarios públicos de alto rango, militares, jueces, etc. Los PEP tienen un control más estricto porque tienen mayor riesgo de legitimación de capitales.
¿Cómo cambio la contraseña del administrador?
Desde el módulo Base de Datos (db.html), en la tabla usuarios_caja. O desde login.html si el sistema tiene pantalla de cambio de contraseña habilitada. Actualmente por defecto es admin123.
¿Qué pasa si borro un asociado por error?
El sistema no borra asociados, solo los marca como "RETIRADO" (soft-delete). Puedes reactivarlo desde el filtro "Solo Retirados" → Editar → cambiar estado a ACTIVO.
¿Puedo cargar asociados de forma masiva?
Actualmente no hay carga masiva de asociados. Debes crearlos uno por uno con el botón ➕ Nuevo Asociado. Si necesitas cargar muchos, contacta al administrador del sistema.

💰
Módulo Haberes
Aportes, retiros e intereses de los asociados

📌 ¿Para qué sirve? En este módulo se registran todos los movimientos de dinero de los asociados: aportes que hacen ellos, aportes de la empresa (patrono), retiros, intereses ganados, ajustes manuales y capitalizaciones. Es el corazón financiero de la caja de ahorro: cada peso que entra o sale queda registrado aquí con trazabilidad completa (quién, cuándo, cuánto, por qué).

🚀 1. Conocer la pantalla principal

1

Ingresar al módulo

Desde el panel principal (index.html) haz clic en la tarjeta azul 💰 Haberes. O directamente abre haberes.html en el navegador.

Si ya iniciaste sesión en otro módulo del sistema, entrarás directo. Si no, verás la pantalla de login.

2

Reconocer las 4 tarjetas superiores

Arriba verás cuatro tarjetas con los totales globales del sistema:

• 💰 Saldo Total Bs: suma de todos los haberes de los asociados activos.
• 👤 Aportes Trabajador: total acumulado de aportes hechos por los empleados.
• 🏢 Aportes Patrono: total acumulado de aportes hechos por la empresa.
• 💸 Retiros: total acumulado de retiros hechos por los asociados.

💡 Cada tarjeta es clickeable. Al hacer clic, se abre una lista detallada con todos los asociados incluidos en esa categoría y sus montos. Es la forma más rápida de auditar "¿quién ha aportado qué?".
3

Reconocer las 3 acciones rápidas

Debajo de las tarjetas hay tres botones grandes:

• ➕ Nuevo Movimiento (verde): registrar un aporte, retiro o interés individual.
• 📥 Importar Nómina (naranja): cargar un Excel/CSV con todos los aportes del mes.
• 📤 Exportar Nómina (morado): descargar un CSV con todos los asociados y sus aportes calculados.

4

Reconocer la tabla de movimientos

En la parte inferior verás la tabla de movimientos recientes. Cada fila es un movimiento (aporte, retiro, etc.). Columnas:

• Fecha: cuándo se registró.
• Asociado: foto + nombre + cédula.
• Tipo: badge de colores (👤 aporte, 🏢 patrono, 💸 retiro, etc.).
• Monto: en Bs y su equivalente en USD.
• Período: mes al que corresponde (ej: 2026-11).
• Referencia: número de recibo/transferencia.
• Usuario: quién lo registró.
• Acciones: 5 botones (👁️ ver, ✏️ editar, 📊 Excel, 📄 PDF, 🗑️ eliminar).

➕ 2. Registrar un movimiento individual

⚠️ Cuándo usar cada tipo de movimiento:
• 👤 APORTE_TRABAJADOR: cuando el empleado aporta de su sueldo.
• 🏢 APORTE_PATRONO: cuando la empresa aporta como contraparte.
• 💸 RETIRO: cuando el asociado saca dinero de sus haberes.
• 📈 INTERES: cuando se le acreditan intereses ganados.
• ⚙️ AJUSTE: para corregir un saldo (por error o regularización).
• 💰 CAPITALIZACION: proceso anual de capitalización de intereses.
1

Pulsar "➕ Nuevo Movimiento"

Haz clic en la tarjeta verde con el ícono ➕. Se abrirá un formulario.

2

Seleccionar el asociado

Haz clic en el botón "Seleccionar asociado...". Se abre una lista con todos los asociados activos (los retirados no aparecen).

Tienes dos opciones:

• Buscar por cédula o nombre: escribe en el campo de búsqueda.
• Hacer clic en la tarjeta del asociado directamente.

💡 Cada tarjeta muestra: foto, nombre, cédula y saldo disponible actual. Elige el asociado y se cierra automáticamente.
3

Elegir el tipo de movimiento

En el campo 📋 Tipo, selecciona uno de los 6 tipos disponibles (ver advertencia arriba).

⚠️ El tipo 💸 RETIRO tiene validación especial: no podrás registrar un retiro mayor al saldo actual del asociado. El sistema te mostrará un mensaje de error si intentas hacerlo.
4

Ingresar el monto

Escribe el monto en 💰 Monto Bs. Verás que:

• A la derecha se muestra un recuadro verde con "Saldo disponible" actualizado.
• Debajo hay un campo 💵 Equivalente USD que se calcula automáticamente con la tasa BCV.

💡 Puedes escribir el monto con decimales: 1500.50 (se redondeará a 2 decimales).
5

Completar período y referencia (opcional)

• 📅 Período: por defecto viene con el mes actual (ej: 2026-11). Cámbialo si el movimiento corresponde a otro mes.
• 🔖 Referencia: número de recibo, transferencia o comprobante. Muy recomendado para auditorías.
• 📝 Observación: nota libre.

6

Guardar

Pulsa el botón verde 💾 Registrar. Verás un mensaje de éxito:

✅ Movimiento registrado
Nuevo saldo: Bs 6.700,00

✅ ¿Qué pasa automáticamente?
• Se actualiza el saldo del asociado.
• Se actualiza el acumulado (aporte trabajador, patrono, intereses o retiros).
• Se crea un asiento contable automático en el módulo de Contabilidad (si está activado).
• La tabla de movimientos se refresca.

📥 3. Importar nómina masiva (Excel/CSV)

📌 ¿Para qué sirve? Si tienes 100 asociados y quieres registrar los aportes de todos de una sola vez (sin hacer 100 movimientos a mano), usa este método. Cargas un archivo Excel con todos los datos y el sistema procesa cada fila automáticamente.
1

Abrir el importador

Pulsa la tarjeta naranja 📥 Importar Nómina.

Se abre un asistente con una guía de 4 pasos y la explicación de las columnas necesarias.

2

Descargar la plantilla CSV

Pulsa el botón azul ⬇️ Descargar plantilla CSV de ejemplo.

Se descargará un archivo llamado plantilla_importacion_nomina.csv con esta estructura:

Cedula Aporte_Trabajador Aporte_Patrono Cuota_Prestamo Periodo Referencia Observacion
V-11111111 50.00 50.00 0 2026-11 Nomina Nov Aporte mes 1
V-12345678 60.00 60.00 0 2026-11 Nomina Nov Aporte mes 1
V-87654321 100.00 100.00 0 2026-11 Nomina Nov Aporte mes 1
3

Llenar los datos reales

Abre el CSV en Excel. Borra las 3 filas de ejemplo y pon tus empleados reales. Cada fila es un empleado:

• Cedula (obligatoria): cédula del empleado. Ej: V-12345678.
• Aporte_Trabajador: monto que descuenta al empleado. Si es 0, deja en blanco o pon 0.
• Aporte_Patrono: monto que aporta la empresa. Si es 0, déjalo en 0.
• Cuota_Prestamo: si el empleado tiene préstamo, pon la cuota. Sino, 0.
• Periodo: mes al que corresponde (ej: 2026-11). Si lo dejas vacío, se usa el período global del paso 6.
• Referencia / Observacion: opcionales.

💡 Los nombres de las columnas pueden ser distintos. El sistema detecta automáticamente sinónimos como "Cédula", "Documento", "Empleado", "Sueldo", "Patronal", etc. Si no los detecta, en el siguiente paso puedes ajustarlos manualmente.
4

Subir el archivo

En el modal, arrastra el archivo a la zona punteada, o haz clic en ella para buscarlo.

Formatos aceptados:

• .csv: separado por comas (o punto y coma).
• .xlsx: Excel 2007+.
• .xls: Excel clásico.

Tamaño máximo: 20 MB.

5

Verificar el mapeo de columnas

El sistema detecta automáticamente qué columna de tu archivo corresponde a cada campo. Si está correcto, pulsa ✅ Continuar a Vista Previa.

Si algo está mal, ajusta los selectores:

🆔 Cédula * → [ selecciona columna ]
👤 Aporte Trabajador → [ selecciona columna ]
🏢 Aporte Patrono → [ selecciona columna ]
💳 Cuota Préstamo → [ selecciona columna ]
...

⚠️ Obligatorio: debes mapear al menos Cédula + uno de los 3 montos (aporte trabajador, patrono o cuota préstamo).
6

Revisar la vista previa

Verás las primeras 10 filas tal como se procesarán. Revisa que:

• Las cédulas existan en el sistema.
• Los montos sean los correctos.
• Los asociados estén ACTIVOS (los retirados fallarán).

Si todo está bien, pulsa ⚙️ Procesar Nómina.

7

Revisar el resultado

Verás un resumen con:

✅ 98 exitosas · ⚠️ 2 con error · 📊 100 total

Y debajo, una tabla con el detalle de cada fila:

Fila Cédula Resultado Estado
1 V-11111111 Luis Rodríguez ✅ OK
2 V-99999999 Cédula no encontrada ❌ ERROR
3 V-12345678 María Pérez ✅ OK
💡 Las filas con error NO afectan las exitosas. Puedes corregir las que fallaron (ej: cédula mal escrita) y volver a importar solo esas.

📤 4. Exportar nómina para el departamento de RRHH

1

Pulsar "📤 Exportar Nómina"

Haz clic en la tarjeta morada. Aparecerá un modal de confirmación explicándote qué incluye el archivo.

2

Confirmar descarga

Pulsa 📤 Descargar CSV. Se descargará un archivo nomina_2026-11.csv con:

• Cédula de cada asociado activo.
• Nombre completo.
• Cargo y departamento.
• % de aporte.
• Aporte calculado automáticamente (saldo × % de aporte).
• Período.

✅ Este CSV es el que le pasas a RRHH para que descuente por nómina. Todos los cálculos ya vienen hechos.

🔍 5. Filtrar y buscar movimientos

La barra de filtros te permite encontrar movimientos específicos en segundos, incluso si tienes miles.
Filtro Uso Ejemplo
🔍 Texto Busca por cédula, nombre o referencia Escribe "María" o "V-1234"
📋 Tipo Muestra solo aportes, retiros o intereses Elige "Retiro" para ver solo retiros
📅 Período Filtra por mes Elige "2026-11"
Desde / Hasta Rango de fechas Del 01/11/2026 al 30/11/2026
⚠️ Los filtros se pueden combinar: por ejemplo, "Aporte Trabajador" + "2026-11" + "María" te mostrará solo los aportes de María en noviembre.

👁️ 6. Ver el detalle completo de un asociado

1

Dos formas de abrir el detalle

• Opción A: en la tabla de movimientos, haz clic sobre el nombre del asociado.
• Opción B: en la barra de stats arriba, haz clic en cualquiera de las 4 tarjetas, y luego clic en el nombre del asociado en el listado.

2

Ver la ficha financiera

El modal muestra:

• Foto + nombre + cédula + cargo del asociado.
• 6 tarjetas con: Saldo Total, Aporte Trabajador, Aporte Patrono, Intereses, Retiros y Referencia USD.
• Historial completo de movimientos (hasta 500) en una tabla ordenada por fecha.

3

Acciones desde el detalle

• ➕ Nuevo Movimiento: abre el formulario ya con este asociado seleccionado.
• 📊 Excel: descarga el historial completo en Excel.
• 📄 PDF: descarga el historial en PDF.

💡 Si haces clic en el nombre del asociado dentro del modal, te lleva a la ficha completa en el módulo asociados.html.

✏️ 7. Editar o eliminar un movimiento

🚨 Cuidado: al editar o eliminar un movimiento, el saldo del asociado se recalcula automáticamente. Si eliminas un aporte de Bs 1.000, el saldo baja Bs 1.000. Si editas un retiro de Bs 500 a Bs 800, el saldo baja Bs 300 más.
1

Editar

Pulsa el botón ✏️ en la fila del movimiento. Se abre un formulario con:

• Monto Bs (editable).
• Período, Referencia, Observación (editables).
• Asociado y tipo (no editables, para evitar inconsistencias).

Cambia lo necesario y pulsa 💾 Guardar Cambios.

2

Eliminar

Pulsa el botón 🗑️. Se abre un modal de confirmación mostrando el detalle.

Si confirmas, el movimiento se borra permanentemente y el saldo se recalcula.

🚨 ¿Seguro? No hay "deshacer". Si borraste por error, debes volver a crear el movimiento desde cero con el botón ➕ Nuevo Movimiento.

📊 8. Exportar movimientos y selección múltiple

1

Exportar todo o lo filtrado

En la barra de filtros verás dos botones:

• 📊 Excel: descarga todos los movimientos visibles en formato .xlsx.
• 📄 PDF: descarga todos los movimientos visibles en PDF.

Se exporta lo que esté filtrado en ese momento.

2

Selección múltiple (checkboxes)

Cada fila tiene un checkbox a la izquierda. Puedes:

• Marcar varios checkboxes para seleccionar movimientos específicos.
• Marcar el checkbox del header para seleccionar TODOS los visibles.

Cuando hay al menos uno seleccionado, aparece una barra flotante abajo con:

• 📊 Excel: descarga SOLO los seleccionados.
• 📄 PDF: ídem.
• ✕ Limpiar: desmarca todo.

✅ Caso de uso típico: filtra por período "2026-11" y tipo "APORTE_TRABAJADOR", luego marca el checkbox del header para seleccionar todos, y exporta solo esos para el archivo mensual.

⚠️ 9. Casos especiales y validaciones

❌ "Saldo insuficiente para retiro"
Cuando intentas registrar un RETIRO mayor al saldo actual del asociado, el sistema bloquea la operación. Esto es obligatorio por el Art. 68 de la Ley de Cajas de Ahorro: no se puede retirar más de lo que se tiene.
⚠️ "Asociado no está ACTIVO"
Si el asociado fue retirado, no podrás registrarle movimientos. Debes reactivarlo primero desde asociados.html (Editar → cambiar estado a ACTIVO).
💡 "Ajuste" — ¿cuándo usarlo?
Si detectaste un error en un saldo (por ejemplo, un aporte que se registró dos veces), usa AJUSTE con signo negativo para compensar. La observación debe explicar claramente el motivo del ajuste para auditoría.
✅ Los asientos contables automáticos
Cada movimiento que registras genera automáticamente un asiento en el módulo de Contabilidad. Si quieres verlo, ve a contabilidad-caja.html → Asientos, y busca la referencia del movimiento.

❓ Preguntas frecuentes — Haberes

¿Cuál es la diferencia entre APORTE_TRABAJADOR y APORTE_PATRONO?
APORTE_TRABAJADOR es lo que el empleado descuenta de su sueldo mensual (típicamente el 5%).
APORTE_PATRONO es lo que la empresa aporta como contraprestación (normalmente un % igual o similar).

Ambos suman al saldo total del asociado, pero se contabilizan por separado para los reportes SUDECA.
¿Puedo modificar el monto de un movimiento ya registrado?
Sí. Pulsa el botón ✏️ en la fila del movimiento. El campo "Monto Bs" es editable. Al guardar, el saldo del asociado se recalcula automáticamente y queda la trazabilidad de que fue modificado.
¿Cómo sé qué movimientos generaron asientos contables?
Los movimientos de APORTE_TRABAJADOR, APORTE_PATRONO, RETIRO e INTERES generan asientos automáticos. Los AJUSTES y CAPITALIZACIONES NO los generan (deben registrarse manualmente en Contabilidad si corresponde).
¿Qué pasa si importo una nómina y la cédula no existe?
Esa fila se marca como ERROR en el resultado y no se procesa. El resto sigue normal. Para solucionarlo: crea el asociado en asociados.html, y luego vuelve a importar solo esa fila.
¿Puedo importar una nómina a mitad de mes?
Sí. El período se puede especificar manualmente. Se recomienda poner el mes correcto (ej: "2026-11") para que los reportes cuadren. Si no especificas período, se usa el global del paso 6 del importador.
¿Dónde veo el saldo total actualizado de un asociado?
En la tabla de movimientos haz clic en el nombre del asociado. O ve a asociados.html y busca su ficha. El saldo se recalcula automáticamente cada vez que hay un movimiento.
¿Qué significa "CAPITALIZACION"?
Es el proceso anual donde los intereses ganados se convierten en capital (aumentan el saldo permanente del asociado). Se hace una vez al año al cierre del ejercicio. NO es lo mismo que INTERES: el INTERES se acumula, la CAPITALIZACION lo consolida.
¿Puedo eliminar un movimiento que ya generó asiento contable?
Puedes eliminar el movimiento desde Haberes, pero el asiento contable NO se borra automáticamente. Debes ir a Contabilidad y anular el asiento manualmente con el botón 🚫. Es una restricción intencional para mantener trazabilidad legal.
¿Cómo registro un aporte extraordinario (no de nómina)?
Usa ➕ Nuevo Movimiento con tipo APORTE_TRABAJADOR. En la observación pon "Aporte extraordinario - motivo". No hay tipo separado para distinguirlos, pero la observación te permite identificarlos después filtrando por texto.
¿Hay un límite de movimientos por asociado?
No hay límite. Puedes registrar miles de movimientos por asociado. La tabla de detalle muestra hasta 500 por asociado, pero el historial completo se conserva en la base de datos para auditoría.

💳
Módulo Préstamos
Solicitudes, aprobación, amortización y pagos

📌 ¿Para qué sirve? Gestiona todo el ciclo de vida de un préstamo: desde la solicitud del asociado hasta el último pago. El sistema calcula automáticamente la tabla de amortización con sistema francés (cuota fija), controla la mora, exige fiadores cuando corresponde y aplica las reglas de la Ley de Cajas de Ahorro (máx. 80% de los haberes, antigüedad mínima 6 meses, 1 préstamo vigente por asociado).

🚀 1. Conocer la pantalla principal

1

Ingresar al módulo

Desde el panel principal (index.html) haz clic en 💳 Préstamos. Si ya iniciaste sesión en otro módulo, entrarás directo.

2

Reconocer las 4 tarjetas superiores

• 💳 Préstamos Vigentes: cuántos préstamos están activos.
• 💰 Monto Total Prestado: suma histórica.
• 📊 Saldo Pendiente: lo que aún falta cobrar.
• ⚠️ En Mora: préstamos con cuotas vencidas.

💡 Cada tarjeta es clickeable. Al hacer clic se abre un listado con los préstamos incluidos en esa categoría.
3

Estados de un préstamo

Todo préstamo pasa por estos estados:

• SOLICITADO: registrado, pendiente de aprobación.
• APROBADO: aprobado pero aún sin desembolsar (raro, normalmente pasa directo a VIGENTE).
• VIGENTE: activo, el asociado va pagando cuotas.
• EN_MORA: tiene al menos 1 cuota vencida sin pagar.
• PAGADO: todas las cuotas pagadas, saldo cero.
• RECHAZADO: solicitud rechazada con motivo.
• CANCELADO: anulado por la directiva (no se borra).

➕ 2. Registrar una solicitud de préstamo

⚖️ Requisitos legales (Ley de Cajas de Ahorro):
• Antigüedad mínima: 6 meses como asociado activo.
• Monto máximo: 80% de los haberes disponibles.
• Fiador: obligatorio si el préstamo supera el 50% de los haberes disponibles.
• 1 solo préstamo vigente por asociado.
1

Pulsar "➕ Nueva Solicitud"

Botón verde en la parte superior derecha. Se abre el formulario.

2

Seleccionar el asociado

Pulsa el selector "Seleccionar asociado...". Solo aparecen los asociados elegibles: activos y con al menos 6 meses de antigüedad.

Cada tarjeta muestra:

• Foto, nombre y cédula.
• Saldo actual del asociado (base para calcular el límite del 80%).

💡 Si un asociado no aparece, es porque está retirado o tiene menos de 6 meses. Revisa su ficha en asociados.html.
3

Revisar la información automática

Una vez elegido el asociado, aparece un cuadro verde con:

• Saldo actual: Bs totales del asociado.
• Máximo préstamo (80%): el tope legal que puede solicitar.
• Antigüedad: en meses desde su fecha de ingreso.

4

Ingresar monto, plazo y tasa

• 💰 Monto Solicitado (Bs): lo que pide el asociado. Si supera el 80%, el campo se marca en rojo.
• 📅 Plazo (meses): 6, 12, 18, 24 o 36 meses.
• 📈 Tasa Anual (%): por defecto 12%. Puede variar según el estatuto de la caja.
• 💵 Cuota Mensual (auto): se calcula automáticamente al ingresar monto + plazo + tasa. No es editable.

💡 La cuota se calcula con sistema francés: cuota fija todos los meses, pero el % de capital sube y el % de interés baja con cada pago.
5

Verificar si requiere fiador

Si el monto supera el 50% de los haberes, aparece un aviso amarillo y se habilita el selector de 🛡️ Fiador.

Elige un fiador de la lista (asociados activos, excluyendo al solicitante).

⚠️ El fiador respalda con sus propios haberes. Si el préstamo supera el 50% del haber disponible del solicitante, la caja necesita garantía adicional de otro asociado.
6

Observaciones (opcional)

Campo libre para indicar el destino del préstamo: "Compra de vivienda", "Gastos médicos", "Emergencia familiar", etc.

Muy útil para auditorías y para que la directiva decida con más información.

7

Registrar

Pulsa 💾 Registrar Solicitud. El préstamo queda en estado SOLICITADO.

✅ ¿Qué pasa automáticamente?
• Se valida que el asociado cumpla con la antigüedad mínima.
• Se valida que no exceda el 80% de sus haberes.
• Se valida que no tenga otro préstamo vigente.
• Se registra el fiador (si aplica).

✅ 3. Aprobar o rechazar una solicitud

Solo usuarios con rol ADMIN o DIRECTIVA pueden aprobar o rechazar préstamos.
1

Aprobar un préstamo

En la fila del préstamo en estado SOLICITADO, pulsa el botón ✅.

Aparece un modal de confirmación con:

• Monto a desembolsar.
• Plazo y tasa.
• Aviso si el asociado es PEP o cercano a PEP (debida diligencia reforzada).

2

Confirmar la aprobación

Pulsa ✅ Aprobar. El sistema automáticamente:

1. Descuenta el monto del saldo de haberes del asociado.
2. Cambia el estado del préstamo a VIGENTE.
3. Genera la tabla de amortización con todas las cuotas mensuales.
4. Registra un RETIRO en el módulo Haberes.
5. Genera un asiento contable automático (si está habilitado).

✅ Verás un mensaje: "Préstamo aprobado. Se descontaron Bs X del saldo. Nuevo saldo: Bs Y"
3

Aprobación de PEP (debida diligencia reforzada)

Si el asociado es PEP (Persona Expuesta Políticamente) o cercano a PEP:

• El botón dice ⚠️ Aprobar con debida diligencia.
• Se registra automáticamente en las observaciones del préstamo la razón y el usuario que aprobó.
• Queda constancia para auditorías SUDECA.

🚨 Requisito SUDECA: los préstamos a PEP siempre deben llevar debida diligencia reforzada. El sistema lo hace por ti, pero tú debes estar consciente de la aprobación.
4

Rechazar un préstamo

Pulsa el botón ❌ en la fila del préstamo SOLICITADO.

Se abre un modal donde debes escribir el motivo del rechazo (obligatorio). Ejemplos:

• "Saldo insuficiente para cubrir la solicitud".
• "Documentación incompleta".
• "El asociado tiene otro préstamo vigente".
• "Decisión de la junta directiva".

El préstamo queda en estado RECHAZADO y el motivo se guarda en el historial.

📋 4. Ver detalle del préstamo y tabla de amortización

1

Abrir el detalle

Haz clic sobre cualquier fila de la tabla, o pulsa el botón 👁️.

Se abre una ventana con toda la información del préstamo.

2

Información del encabezado

Verás:

• Foto + nombre + cédula + cargo del asociado.
• Estado actual del préstamo (badge de color).
• 6 tarjetas con: Monto, Saldo Pendiente, Cuota Mensual, Tasa Anual, Plazo y cuotas Pagadas/Total.

3

Tabla de amortización

Debajo verás todas las cuotas del préstamo:

# Venc. Cuota Capital Interés Saldo Estado
1 2026-12-15 Bs 266,55 Bs 166,55 Bs 100,00 Bs 833,45 PAGADA
2 2027-01-15 Bs 266,55 Bs 183,20 Bs 83,35 Bs 650,25 PENDIENTE
3 2027-02-15 Bs 266,55 Bs 201,52 Bs 65,03 Bs 448,73 PENDIENTE
💡 Fíjate cómo la cuota es siempre igual pero el capital sube y el interés baja. Esto es el sistema francés: primero pagas más interés, después más capital.
4

Colores de las cuotas

• Verde (PAGADA): ya fue pagada.
• Amarillo (PENDIENTE): aún no vence.
• Rojo (VENCIDA): ya venció y no se pagó → el préstamo pasa a EN_MORA.

5

Ver detalle de una cuota específica

Haz clic sobre cualquier cuota (en el número, fecha o monto). Se abre un modal con:

• Monto total, capital e interés de esa cuota.
• Saldo anterior y saldo restante.
• Explicación de cómo se compone.
• Botones para exportar a Excel/PDF.

💡 Puedes hacer clic en el número de cuota, en la fecha, en el monto, o en el badge de estado. Todos abren el mismo detalle.

💰 5. Registrar el pago de una cuota

1

Dos formas de pagar

• Opción A — Pago individual: en la tabla de amortización, pulsa 💰 Pagar en la fila de la cuota.
• Opción B — Pago múltiple: marca los checkboxes de varias cuotas y pulsa 💰 Pagar seleccionadas en la barra flotante.

2

Datos del pago

Se abre un modal con:

• Monto de la cuota (solo lectura).
• 🔖 Referencia (opcional): número de recibo, transferencia o comprobante.
• 💵 ¿El pago fue en efectivo?: checkbox para reportes LC/FT.

3

Pago en efectivo (reporte SUDECA)

Si marcas "fue en efectivo", aparecen campos adicionales:

• 📝 Origen de los fondos: obligatorio (ej: "Salario", "Ahorro personal", "Venta de bien").
• 📋 Observación adicional: opcional.

⚖️ Providencia SCA-001-2025: los pagos en efectivo deben registrarse para el reporte mensual de operaciones en efectivo que SUDECA exige a las cajas de ahorro.
4

Confirmar

Pulsa ✅ Registrar Pago. El sistema automáticamente:

1. Marca la cuota como PAGADA.
2. Reduce el saldo pendiente del préstamo.
3. Acredita los intereses al saldo de haberes del asociado.
4. Si era la última cuota, cambia el estado a PAGADO.
5. Si era en efectivo, registra la operación para el reporte LC/FT.
6. Genera un asiento contable automático.

✅ Verás: "Pago registrado. Cuota #X pagada. Saldo pendiente: Bs Y"
5

Pago múltiple (varias cuotas)

Marca los checkboxes de las cuotas que quieres pagar. Verás una barra flotante con:

• Total seleccionado: suma de las cuotas marcadas.
• 📊 Excel / 📄 PDF: exportar solo esas cuotas.
• 💰 Pagar seleccionadas: paga todas de una vez.
• ✕ Limpiar: desmarca todo.

💡 Uso típico: un asociado atrasado que debe 3 cuotas. Las marcas todas y pagas en una sola operación. Cada cuota se procesa individualmente y queda registrada.

⚠️ 6. Mora: qué pasa cuando no se paga a tiempo

🚨 ¿Cuándo entra en mora un préstamo?
Cuando una cuota llega a su fecha de vencimiento y no ha sido pagada. El sistema lo detecta automáticamente cada 6 horas (job interno) y:
1. Cambia la cuota de PENDIENTE a VENCIDA.
2. Cambia el préstamo de VIGENTE a EN_MORA.
1

Detectar un préstamo en mora

En la tabla principal, el badge del estado dice EN_MORA.

En la tarjeta superior "⚠️ En Mora" verás el conteo actualizado.

2

Ver las cuotas vencidas

Abre el detalle del préstamo. Las cuotas vencidas están marcadas en rojo con estado VENCIDA.

3

Resolver la mora

El asociado debe pagar las cuotas vencidas. Una vez pagadas todas las vencidas, el préstamo vuelve automáticamente a VIGENTE.

✅ ¿Puedo pagar solo algunas? Sí, pero el préstamo sigue EN_MORA hasta que se paguen TODAS las vencidas.

🔧 7. Acciones especiales: cancelar, anular, eliminar

⚠️ Estas acciones son solo para ADMIN. Cada una tiene reglas distintas. Léelas con atención antes de usarlas.
Acción Cuándo usarla ¿Devuelve el monto? ¿Se puede revertir?
🚫 Cancelar Cuando la directiva decide anular un préstamo vigente (no por error, sino por decisión) NO — el monto ya desembolsado no se devuelve No, queda CANCELADO para siempre
⚠️ Anular Cuando fue un error administrativo (ej: se aprobó por equivocación) SÍ — devuelve el monto al saldo del asociado Solo funciona si NO tiene pagos registrados
🗑️ Eliminar Solo para solicitudes SOLICITADO o RECHAZADO No aplica Se borra de la base de datos (pierde historial)
🚨 Regla clave: si un préstamo ya tiene al menos un pago, NO se puede anular ni cancelar. Solo se puede dejar en su estado actual. Esto protege la integridad contable.

📊 8. Exportar información

1

Exportar la lista completa

En la barra de filtros: 📊 Excel o 📄 PDF. Exporta lo que esté filtrado en ese momento.

2

Exportar un préstamo individual

En la fila del préstamo: 📊 o 📄. Descarga la ficha completa.

3

Exportar la tabla de amortización

Dentro del detalle del préstamo, botón 📊 Exportar Todas. Descarga la tabla completa con todas las cuotas, capital, interés y saldo.

4

Exportar cuotas seleccionadas

Marca checkboxes y usa la barra flotante: 📊 Excel o 📄 PDF. Solo exporta las cuotas marcadas.

❓ Preguntas frecuentes — Préstamos

¿Por qué no puedo crear un préstamo a un asociado?
Revisa estas 4 causas posibles:
1. Antigüedad menor a 6 meses desde su fecha de ingreso.
2. No tiene saldo en haberes (el 80% de 0 es 0).
3. Ya tiene un préstamo vigente (solo puede haber 1 activo a la vez).
4. Está retirado o su estado no es ACTIVO.
¿Qué es el "sistema francés" de amortización?
Es el método más común para préstamos. Se caracteriza por:
• Cuota fija todos los meses (no cambia).
• Al principio pagas más interés y menos capital.
• Al final pagas más capital y menos interés.

Ejemplo: préstamo de Bs 1.000 al 12% anual a 12 meses. Cuota: Bs 88,85. Cuota 1: capital Bs 78,85 + interés Bs 10. Cuota 12: capital Bs 87,97 + interés Bs 0,88.
¿Por qué el préstamo requiere fiador?
Porque supera el 50% de los haberes disponibles del asociado. La caja necesita garantía adicional para minimizar el riesgo de impago. El fiador respalda con sus propios haberes y también debe tener saldo suficiente.
¿Qué pasa si el asociado no paga nunca?
El préstamo queda EN_MORA indefinidamente. La directiva debe:
1. Cobrar las cuotas vencidas.
2. Si no paga, puede ejecutar el fiador (cobrar de sus haberes).
3. Si no hay fiador, queda como deuda pendiente y puede afectar futuras solicitudes del asociado.

El sistema NO aplica intereses moratorios automáticos (se podría agregar si el estatuto lo exige).
¿Puedo editar el monto o tasa de un préstamo ya aprobado?
No. Una vez aprobado, el préstamo no se puede modificar. Si necesitas ajustarlo, debes:
1. Anularlo (si no tiene pagos) → el monto vuelve al saldo.
2. Crear uno nuevo con los datos correctos.
¿Cómo sé cuánto interés total pagará el asociado?
Abre el detalle del préstamo. La columna Interés de cada cuota muestra el interés. Suma todos los intereses de todas las cuotas y esa es la cifra total de interés del préstamo.

O usa el botón ℹ️ ¿Cómo pagar? que te muestra el desglose: capital + intereses = total a pagar.
¿Qué pasa si el préstamo era para un PEP?
El sistema NO bloquea el préstamo a un PEP, pero exige debida diligencia reforzada:
• Se registra en las observaciones del préstamo.
• Se anota la aprobación con el usuario que aprobó.
• Queda en el historial para auditorías SUDECA.

Esto es obligatorio por la Providencia SCA-001-2025.
¿El pago genera asiento contable?
Sí, si el módulo de contabilidad está conectado. Cada pago genera un asiento con:
• Debe: Caja (1101) por el monto total.
• Haber: Préstamos por Cobrar (1201) por el capital.
• Haber: Intereses Ganados (4101) por el interés.

El asiento queda automáticamente en contabilidad-caja.html.
¿Qué diferencia hay entre "cancelar" y "anular"?
Cancelar: decisión de la directiva de dar por terminado el préstamo. El monto ya desembolsado NO se devuelve al asociado. El préstamo queda CANCELADO para siempre.

Anular: para corregir un error administrativo. El monto SÍ se devuelve al saldo del asociado y las cuotas se eliminan. Solo funciona si no hay pagos registrados.
¿Puedo exportar la tabla de amortización completa?
Sí. Dentro del detalle del préstamo, botón 📊 Exportar Todas. Descarga un Excel con todas las cuotas: número, fecha vencimiento, monto cuota, capital, interés, saldo, estado. También puedes exportar el detalle individual de cada cuota.
¿Qué pasa si marco "pago en efectivo" pero sin origen de fondos?
El sistema no te deja confirmar el pago. El origen de fondos es obligatorio cuando marcas "efectivo" porque la Providencia SCA-001-2025 exige reportar el origen de todo movimiento en efectivo para la prevención de legitimación de capitales.

🛡️
Módulo Fiadores
Garantías de préstamos y liberación

📌 ¿Para qué sirve? En este módulo se gestionan los fiadores: asociados que respaldan un préstamo con sus propios haberes. Si el prestatario no paga, la caja puede cobrar de los haberes del fiador. El sistema controla automáticamente cuándo se libera un fiador (cuando el préstamo se paga o se cancela).

🚀 1. Conocer la pantalla principal

1

Ingresar al módulo

Desde el panel principal (index.html) haz clic en 🛡️ Fiadores. Si ya iniciaste sesión en otro módulo, entrarás directo.

2

Reconocer las 4 tarjetas superiores

• 🛡️ Total Fiadores: cuántos asociados están como fiadores.
• 💰 Garantía Total: suma de montos garantizados activos.
• 💳 Préstamos con Fiador: cuántos préstamos tienen al menos 1 fiador.
• ✅ Fiadores Activos: cuántos respaldan préstamos vigentes o en mora.

💡 Cada tarjeta es clickeable. Al hacer clic se abre un listado con los fiadores incluidos en esa categoría.
3

Estados de un fiador

Todo fiador está en uno de estos 2 estados:

• ✅ ACTIVO: el préstamo que respalda está SOLICITADO, VIGENTE o EN_MORA. No se puede eliminar.
• 🔓 LIBERADO: el préstamo ya está PAGADO, CANCELADO o RECHAZADO. Puede eliminarse del sistema.

4

Entender la columna "Prestatario"

En la tabla verás 3 personas/roles distintos:

• 👤 Fiador: quien respalda con sus haberes.
• 💳 Préstamo: el número del préstamo garantizado.
• 👥 Prestatario: quien recibió el préstamo (el que debe pagar).

💡 Un asociado NO puede ser fiador de su propio préstamo. El sistema lo valida automáticamente.

⚖️ 2. Reglas legales (Ley de Cajas de Ahorro)

🚨 Restricciones obligatorias que el sistema aplica automáticamente:
Regla Valor Motivo
Máximo de fiadores por préstamo 4 fiadores Para evitar riesgo excesivo concentrado en pocas personas
Máximo de préstamos que puede respaldar 1 fiador 4 préstamos activos Para no sobreexponer el haber de una sola persona
Antigüedad mínima del fiador 6 meses activo Mismo requisito que para pedir un préstamo
Estado del fiador ACTIVO No puede estar retirado ni suspendido
Saldo del fiador ≥ monto de garantía Debe tener haberes suficientes para respaldar
Autoaval NO Nadie puede ser fiador de su propio préstamo
💡 ¿Por qué estos límites? Si un fiador respalda 5 préstamos de Bs 10.000 cada uno, y solo tiene Bs 20.000 de haberes, no podría cubrir la deuda si todos incumplen. Los límites protegen la solvencia de la caja.

➕ 3. Agregar un fiador a un préstamo

1

Cuándo se necesita un fiador

El módulo de Préstamos exige fiador automáticamente cuando:

• El monto solicitado supera el 50% de los haberes disponibles del solicitante.
• El préstamo NO puede cubrirse con el haber del prestatario.

También puedes agregar fiadores voluntariamente si la directiva lo decide.

2

Abrir el formulario

Pulsa el botón verde ➕ Nuevo Fiador en la parte superior derecha.

Si NO hay préstamos disponibles (todos PAGADOS, CANCELADOS o RECHAZADOS), el sistema te avisará y no abrirá el formulario. Primero debes crear un préstamo en el módulo de Préstamos.

3

Seleccionar el préstamo a garantizar

Pulsa el botón "Seleccionar préstamo...". Se abre un listado con solo préstamos en estado:

• SOLICITADO: aún no aprobado pero puede llevar fiador.
• VIGENTE: activo, se pueden agregar fiadores.
• EN_MORA: en mora, se pueden agregar para reforzar.

Puedes buscar por cédula, nombre o número de préstamo.

💡 Cada tarjeta muestra: foto, nombre, cédula del prestatario, monto del préstamo, plazo, tasa y estado.
4

Seleccionar el asociado fiador

Pulsa "Seleccionar asociado...". Se abre una lista con:

• Solo asociados activos.
• Excluye automáticamente al prestatario (no puedes auto-avalarte).
• Muestra el saldo de haberes de cada uno, para que elijas a alguien con capacidad.

⚠️ El fiador debe tener haberes ≥ al monto de garantía. Si su saldo es menor, el sistema rechazará el registro.
5

Indicar el monto de garantía (opcional)

Puedes dejar el campo vacío → el sistema usará el monto total del préstamo como garantía.

O indicar un monto específico si la directiva decidió que el fiador respalde solo una parte.

💡 Recomendación: dejar en blanco para que el fiador respalde el 100% del préstamo. Es la opción legal más segura.
6

Registrar

Pulsa 💾 Registrar Fiador.

El sistema valida automáticamente:

1. Que el préstamo permita fiadores (estado).
2. Que el fiador no sea el prestatario.
3. Que el fiador esté ACTIVO.
4. Que no sea ya fiador de ese mismo préstamo.
5. Que el préstamo no tenga ya 4 fiadores.
6. Que el fiador no respalde ya 4 préstamos activos.
7. Que el fiador tenga saldo suficiente.

✅ Si todo está bien, verás: "Fiador agregado. Garantía: Bs X (respalda con sus haberes: Bs Y)"

📋 4. Ver el detalle de un fiador

1

Abrir el detalle

Haz clic sobre cualquier fila de la tabla, o pulsa el botón 👁️.

Se abre una ventana con toda la información del fiador.

2

Información del encabezado

Verás:

• Foto + nombre + cédula + cargo del fiador.
• Estado del fiador: ✅ ACTIVO o 🔓 LIBERADO.
• Estado del préstamo que respalda.

3

Tarjetas de información

4 tarjetas con datos clave:

• 💰 Garantía: monto que respalda.
• 💵 Saldo Haberes: su saldo actual.
• 💳 Préstamo: número del préstamo que respalda.
• 📊 Monto Préstamo: el monto total del préstamo.

4

Información del prestatario

Verás un recuadro con:

• 👥 Prestatario: nombre y cédula de quien recibió el préstamo.
• 📅 Plazo: meses del préstamo.
• 📈 Tasa: % anual.

5

Aviso de estado

Según el estado del préstamo, verás un aviso:

⚠️ Fiador activo: respalda el préstamo #X. No se puede liberar hasta que el préstamo sea PAGADO o CANCELADO.

🔓 Fiador liberado: el préstamo ya está PAGADO/CANCELADO. Puedes eliminar este fiador del sistema si lo deseas.

6

Historial como fiador

En la parte inferior verás una tabla con todos los préstamos que ese asociado ha respaldado, incluyendo:

• Número de préstamo.
• Prestatario.
• Monto del préstamo.
• Garantía.
• Estado del préstamo (VIGENTE, PAGADO, etc.).

💡 Puedes hacer clic en cualquier fila del historial para abrir el detalle de ese otro fiador. Útil para ver el historial completo de una persona.

🔓 5. Liberar un fiador

⚠️ ¿Cuándo se puede liberar un fiador?
Solo cuando el préstamo que respalda está en estado PAGADO, CANCELADO o RECHAZADO. El sistema no permite liberar fiadores de préstamos VIGENTES o EN_MORA (porque la garantía sigue activa).
1

Cuándo aparece el botón

En la fila del fiador, el botón 🔓 Liberar solo aparece cuando el préstamo está PAGADO o CANCELADO.

Si el préstamo está activo, no verás el botón (la garantía debe mantenerse).

2

Pulsar liberar

Haz clic en 🔓. Aparece un modal de confirmación mostrando:

• Nombre del fiador.
• Número del préstamo.
• Aviso de que se eliminará del sistema.

3

Confirmar

Pulsa 🔓 Sí, liberar.

El fiador se elimina de la base de datos. Ya no aparecerá en la tabla ni en los reportes.

✅ ¿Se pierde el historial? Sí, ese registro específico de "fiador de este préstamo" se borra. Pero el préstamo sigue existiendo con su historial completo.

🔍 6. Filtrar y buscar

Filtro Uso Ejemplo
🔍 Texto Busca por cédula o nombre del fiador Escribe "V-123" o "María"
🎯 Estado Muestra solo activos o liberados Elige "Activos" para ver garantías vigentes
💡 Los filtros se pueden combinar: "María" + "Activos" te muestra solo los fiadores activos cuyo nombre contenga "María".

📊 7. Exportar información

1

Exportar la lista completa

En la barra de filtros: 📊 Excel o 📄 PDF. Exporta lo que esté filtrado en ese momento.

2

Exportar un fiador individual

En la fila del fiador: 📊 o 📄. Descarga la ficha del fiador.

3

Selección múltiple

Marca varios checkboxes y aparece una barra flotante con 📊 Excel, 📄 PDF y ✕ Limpiar.

💡 Útil para exportar solo los fiadores de una semana o de un préstamo específico.

⚠️ 8. Casos especiales y validaciones

❌ "Un asociado no puede ser fiador de su propio préstamo"
El sistema excluye al prestatario del listado de posibles fiadores. Si intentas forzarlo, te lo rechaza.
⚠️ "Máximo 4 fiadores por préstamo"
Si un préstamo ya tiene 4 fiadores, no puedes agregar más. Esto protege contra sobre-garantías innecesarias.
⚠️ "Este asociado ya es fiador de X préstamos activos"
Un asociado puede respaldar hasta 4 préstamos simultáneamente. Si ya tiene 4 activos, no puede respaldar más.
❌ "El fiador no tiene haberes suficientes"
Si el saldo del fiador es menor al monto de garantía, el sistema bloquea el registro. Primero debe aumentar sus haberes (con aportes) o elegir otro fiador con más saldo.
💡 "El fiador respalda con sus propios haberes"
¿Qué significa esto en la práctica? Si el prestatario no paga, la caja puede tomar los haberes del fiador para cubrir la deuda. Es una garantía real, no solo un aval moral.

❓ Preguntas frecuentes — Fiadores

¿Cuándo un préstamo requiere fiador obligatoriamente?
El módulo de Préstamos exige fiador cuando el monto solicitado supera el 50% de los haberes disponibles del solicitante.

Ejemplo: si el asociado tiene Bs 10.000 en haberes, el 80% (máximo préstamo) es Bs 8.000. El 50% de ese máximo es Bs 4.000. Si pide más de Bs 4.000, requiere fiador.
¿Qué pasa si el prestatario no paga?
La caja puede ejecutar la garantía del fiador:
1. Se notifica al fiador que debe cubrir la deuda.
2. Se descuentan los haberes del fiador hasta cubrir el saldo pendiente.
3. El fiador puede defenderse legalmente si cree que la ejecución es injusta.

Por eso es importante que el fiador tenga haberes suficientes y esté de acuerdo con respaldar.
¿Puedo cambiar el fiador de un préstamo ya aprobado?
Sí, pero debes hacerlo en dos pasos:
1. Si el préstamo está VIGENTE, primero debes cancelar el préstamo desde Préstamos.
2. Luego crear un nuevo préstamo con el nuevo fiador.

No se puede reemplazar directamente. Si quieres agregar un fiador adicional a un préstamo existente, sí se puede (si no excede el máximo de 4).
¿El fiador puede retirar sus haberes mientras respalda un préstamo?
No debería, pero el sistema no lo bloquea automáticamente. Si el fiador retira sus haberes, queda sin respaldo real. La caja debe vigilar manualmente que esto no suceda.

Recomendación: en el módulo de Haberes, verificar antes de aprobar retiros si el asociado es fiador activo.
¿Cómo sé si un fiador ya está liberado?
En la tabla principal, el badge del estado dice 🔓 LIBERADO. También puedes filtrar por "Solo Liberados" para ver solo esos.
¿Puedo eliminar un fiador activo?
No. El sistema no permite liberar fiadores de préstamos VIGENTES o EN_MORA. Solo cuando el préstamo se paga o se cancela, el fiador queda LIBERADO y puede eliminarse.

Esto es para proteger la garantía legal: si el préstamo está activo, la garantía debe mantenerse.
¿Qué pasa si un fiador se retira del sistema?
El sistema verifica al retirar un asociado en el módulo Asociados si tiene préstamos activos como fiador. Si los tiene, no permite retirarlo hasta que esos préstamos se paguen o cancelen.
¿Los fiadores generan algún interés o comisión?
No. La ley de cajas de ahorro no prevé compensación económica para el fiador. Es un acto de confianza y solidaridad entre asociados.
¿Puedo exportar solo los fiadores de un préstamo específico?
Sí. En el módulo de Préstamos, cuando ves el detalle de un préstamo, hay una sección de fiadores. También puedes buscar por número de préstamo en el filtro de texto: escribe el número y te muestra solo esos.
¿Puedo tener el mismo fiador en 2 préstamos del mismo prestatario?
Sí, siempre que el fiador no exceda los 4 préstamos activos totales. Puede respaldar múltiples préstamos del mismo prestatario o de distintos prestatarios.
¿Qué pasa si un préstamo se cancela (anula)?
Si cancelas o anulas un préstamo, sus fiadores pasan automáticamente a estado LIBERADO. Ya no respaldan nada y puedes eliminarlos del sistema si quieres.

💵
Módulo Pagos y Cobros
Libro de caja y conciliación bancaria

📌 ¿Para qué sirve? Es el libro de caja de la caja de ahorro. Registra todos los movimientos de dinero que no son estrictamente aportes/retiros de haberes ni pagos de cuotas (esos se registran automáticamente desde sus módulos). Aquí van: comisiones, gastos administrativos, ajustes manuales, movimientos bancarios específicos y cualquier otro ingreso o egreso. Además permite conciliar los movimientos con el extracto bancario.

🚀 1. Conocer la pantalla principal

1

Ingresar al módulo

Desde el panel principal (index.html) haz clic en 💵 Pagos y Cobros. Si ya iniciaste sesión en otro módulo, entrarás directo.

2

Reconocer las 4 tarjetas superiores (mes actual)

Muestran solo el mes en curso:

• 💰 Ingresos del Mes: dinero que entró a la caja.
• 💸 Egresos del Mes: dinero que salió.
• 📊 Saldo Neto Mes: ingresos − egresos (puede ser negativo).
• 🟡 Pendientes Conciliar: movimientos sin marcar como conciliados.

💡 Cada tarjeta es clickeable: al pulsarla se abre el listado detallado de esos movimientos.
3

Entender los estados de un movimiento

• 🟢 INGRESO: dinero que entra (aportes extraordinarios, ajustes positivos, etc.).
• 🔴 EGRESO: dinero que sale (gastos, comisiones, ajustes negativos).
• 🟡 Pendiente: aún no conciliado con el banco.
• ✅ Conciliado: ya verificado contra el extracto bancario.

4

Diferencia con otros módulos

📌 Importante:
• Haberes: registra aportes y retiros de los asociados.
• Préstamos: registra desembolsos y pagos de cuotas.
• Pagos y Cobros: registra todo lo demás: comisiones, gastos, ajustes, movimientos bancarios manuales.

💡 Si registras un aporte desde aquí, se descuenta del haber del asociado igual que si lo hicieras desde Haberes, PERO no actualiza el acumulado. Por eso lo recomendable es usar siempre el módulo específico (Haberes) para aportes/retiros.

➕ 2. Registrar un nuevo movimiento

1

Pulsar "➕ Nuevo Movimiento"

Botón verde en la parte superior derecha. Se abre el formulario completo.

2

Elegir Tipo y Categoría

Tipo: INGRESO o EGRESO.

Al cambiar el tipo, las categorías se actualizan automáticamente:

Categorías de INGRESO:
• 👤 Aporte Trabajador
• 🏢 Aporte Patrono
• 💳 Pago Cuota Préstamo
• 📈 Interés
• ⚙️ Ajuste
• 📝 Otro

Categorías de EGRESO:
• 💸 Retiro
• 🏦 Desembolso Préstamo
• 💼 Comisión
• 🏢 Gasto Administrativo
• ⚙️ Ajuste
• 📝 Otro

3

Asociado (opcional)

Si el movimiento está asociado a una persona (un retiro, un aporte extraordinario), selecciónalo con el botón "Sin asociado específico...".

Si el movimiento es general (pago de comisión bancaria, gasto administrativo), puedes dejarlo vacío.

4

Monto y fecha

• 💰 Monto Bs: obligatorio, mayor a 0.
• 💵 Equivalente USD: se calcula automáticamente con la tasa BCV.
• 📅 Fecha de Operación: cuándo ocurrió realmente el movimiento (no cuándo se registra).

5

Datos bancarios

• 🔖 Referencia Bancaria: número de transferencia, comprobante o recibo.
• 🏦 Banco: se selecciona de una lista con todos los bancos de Venezuela.
• 💳 Cuenta Bancaria: el placeholder cambia al código del banco elegido.
• 👥 Beneficiario / Ordenante: nombre de quien recibe o envía el dinero.

6

💵 ¿Fue en efectivo? (LC/FT)

Si marcas la casilla "El movimiento fue en EFECTIVO", aparecen campos obligatorios adicionales:

• 📝 Origen de los Fondos (obligatorio): "Salario", "Venta de vehículo", "Ahorro personal", etc.
• ⚠️ Alerta automática si el monto ≥ Bs 10.000: el sistema te avisa que será notificado para revisión (requisito SUDECA para operaciones sospechosas).

🚨 Providencia SCA-001-2025: todo movimiento en efectivo debe declarar el origen de fondos. Si no lo haces, el sistema no te dejará guardar.
7

Comprobante y observación

• 📎 Comprobante: foto o PDF del soporte (recibo, transferencia). Máximo 5 MB. Se sube automáticamente después de crear el movimiento.
• 📝 Observación: nota libre para explicar el movimiento.

8

Guardar

Pulsa 💾 Registrar Movimiento.

El sistema automáticamente:

1. Guarda el movimiento en el libro de caja.
2. Si es efectivo, lo registra para el reporte LC/FT.
3. Genera un asiento contable automático.
4. Si subiste comprobante, lo adjunta al movimiento.
5. Refresca la tabla y las tarjetas.

✅ Nuevo saldo si es con asociado: si registras un ingreso/egreso con asociado, el saldo de sus haberes se ajusta automáticamente.

✅ 3. Conciliación bancaria

¿Qué es conciliar? Es marcar un movimiento como verificado contra el extracto bancario. Sirve para asegurar que lo que tienes en el libro de caja coincide con lo que realmente pasó por el banco. Una vez conciliado, el movimiento no se puede editar ni eliminar (protege la integridad contable).
1

Filtrar pendientes

En el filtro "Todos los estados", elige 🟡 Pendientes de conciliar.

Verás solo los movimientos que aún no han sido verificados.

2

Conciliar uno por uno

En la fila del movimiento, pulsa el botón ✅. Aparece un modal de confirmación.

Al confirmar, el movimiento pasa a ✅ Conciliado con la fecha actual y tu usuario.

💡 Buenas prácticas: concilia al menos una vez por semana comparando con el extracto del banco. Así detectas errores rápido.
3

Desconciliar (revertir)

Si te equivocaste al conciliar, pulsa ↩️. El movimiento vuelve a estado pendiente y podrás editarlo o eliminarlo.

⚠️ Solo ADMIN puede conciliar/desconciliar. Un ANALISTA puede registrar y ver, pero no conciliar.
4

¿Qué pasa si el monto no coincide con el banco?

Opción A — Editar: si el movimiento está pendiente, puedes pulsar ✏️ y corregir el monto, la referencia o la fecha.

Opción B — Eliminar y recrear: si el error es grave, elimínalo (solo si está pendiente) y crea uno nuevo.

Opción C — Ajuste: si la diferencia es real (el banco cobró comisión que no registraste), crea un nuevo movimiento tipo AJUSTE por la diferencia.

✏️ 4. Editar o eliminar movimientos

1

Editar un movimiento

Pulsa el botón ✏️ en la fila del movimiento.

Puedes cambiar: tipo, categoría, asociado, monto, fecha, referencia, banco, cuenta, beneficiario, efectivo, observación.

Al guardar, el sistema recalcula automáticamente el asiento contable correspondiente.

❌ No se puede editar si está conciliado. Primero desconcílialo con ↩️.
2

Eliminar un movimiento

Pulsa 🗑️. Se abre un modal de confirmación con el detalle.

Si confirmas, el movimiento se borra permanentemente del libro de caja.

🚨 Ojo:
• Solo puedes eliminar movimientos pendientes (no conciliados).
• El asiento contable NO se borra automáticamente. Debes ir a Contabilidad y anularlo manualmente si es necesario.

🔍 5. Filtrar y buscar

Filtro Uso Ejemplo
🔍 Texto Busca por cédula, nombre, referencia o beneficiario Escribe "María" o "REF-001"
💵 Tipo Solo ingresos o solo egresos Elige "Ingresos" para ver lo que entró
🏷️ Categoría Filtra por tipo de operación Elige "Comisión" para ver las comisiones
🎯 Estado Conciliados, pendientes o todos Elige "Pendientes" para conciliar
📅 Desde/Hasta Rango de fechas Del 01/11/2026 al 30/11/2026
💡 Los filtros se combinan: por ejemplo, "Egreso" + "Comisión" + "Noviembre" te muestra solo las comisiones pagadas en noviembre.

📊 6. Exportar información

1

Exportar la lista filtrada

En la barra de filtros: 📊 Excel o 📄 PDF. Exporta solo lo que esté filtrado en ese momento.

2

Exportar un movimiento individual

En la fila del movimiento: 📊 o 📄. Descarga la ficha con todos los datos del movimiento.

3

Selección múltiple

Marca varios checkboxes y aparece una barra flotante con 📊 Excel, 📄 PDF y ✕ Limpiar.

💡 Muy útil para reportes mensuales: filtra por mes, selecciona todos, exporta.

⚠️ 7. Casos especiales y validaciones

❌ "Los movimientos en efectivo requieren origen de fondos"
Si marcas "fue en efectivo" pero no indicas el origen, el sistema no te deja guardar. Es requisito LC/FT (Providencia SCA-001-2025).
⚠️ "No se puede editar/eliminar un movimiento conciliado"
Para proteger la integridad contable, una vez conciliado el movimiento es inmutable. Debes desconciliar primero con el botón ↩️.
💡 "¿Por qué no veo mis aportes y retiros aquí?"
Los aportes, retiros y pagos de cuotas se registran en Haberes y Préstamos respectivamente. Este módulo es para movimientos manuales. Si registras un aporte aquí (no recomendado), no se actualizará el acumulado del asociado.
⚠️ "El asiento contable no se borra al eliminar"
Al eliminar un movimiento de aquí, el asiento contable queda huérfano. Debes ir a contabilidad-caja.html y anularlo manualmente con el botón 🚫.
✅ Asiento contable automático
Cada movimiento registrado aquí genera un asiento contable automático:
• INGRESO: Debe Caja/Bancos / Haber Cuenta correspondiente.
• EGRESO: Debe Cuenta correspondiente / Haber Caja/Bancos.

❓ Preguntas frecuentes — Pagos y Cobros

¿En qué se diferencia de Haberes y Préstamos?
Haberes: aportes y retiros de haberes de los asociados.
Préstamos: desembolsos y cobro de cuotas.
Pagos y Cobros: todo lo demás (comisiones, gastos, ajustes, movimientos bancarios manuales).

Es el "cajón de sastre" para operaciones que no encajan en los otros dos módulos.
¿Cuándo uso AJUSTE?
Cuando hay una diferencia entre lo registrado y la realidad, y no puedes corregir el movimiento original (porque ya está conciliado, o porque el error está en el banco).

Ejemplo: el banco cobró Bs 100 de comisión que no tenías registrada. Crea un movimiento tipo EGRESO / AJUSTE por Bs 100 con observación "Comisión bancaria no registrada".

Siempre documenta el motivo del ajuste en la observación.
¿Qué pasa si concilio por error?
Pulsa el botón ↩️ Desconciliar. El movimiento vuelve a estado pendiente. Solo ADMIN puede hacer esto.
¿Puedo registrar un movimiento con fecha pasada?
Sí. El campo Fecha de Operación permite cualquier fecha. Es importante que coincida con la fecha real del extracto bancario para que la conciliación funcione.
¿Qué significa "conciliado"?
Significa que el movimiento ha sido verificado contra el extracto bancario. Es decir, el monto, la fecha y la referencia coinciden exactamente con lo que muestra el banco.

Un movimiento conciliado queda inmutable para proteger la integridad de los datos.
¿Por qué el sistema me bloquea si marco "efectivo" sin origen?
Porque la Providencia SCA-001-2025 exige que toda operación en efectivo declare el origen de los fondos. Es una medida de prevención de legitimación de capitales.

Si no puedes declarar el origen, el movimiento NO debe registrarse.
¿Puedo registrar un pago de cuota de préstamo desde aquí?
NO es recomendable. Si registras un "PAGO_CUOTA" desde aquí, se crea el movimiento en el libro de caja y el asiento contable, pero NO se marca la cuota como pagada en el módulo de Préstamos. Queda inconsistente.

Siempre registra los pagos de cuotas desde prestamos.html → Detalle del préstamo → 💰 Pagar.
¿Cuándo NO se puede eliminar un movimiento?
• Cuando está conciliado (debes desconciliar primero).
• Cuando no eres ADMIN (solo ADMIN elimina).

Si un ANALISTA intenta eliminar, el sistema lo bloquea.
¿El comprobante es obligatorio?
No es obligatorio, pero es muy recomendable. Ayuda para auditorías y para la conciliación bancaria. Acepta JPG, PNG o PDF hasta 5 MB.
¿Qué es el "Beneficiario / Ordenante"?
Es el nombre de la persona o empresa que recibe (si es egreso) o envía (si es ingreso) el dinero. Útil cuando el banco no tiene una cuenta asociada al asociado.

Ejemplo: pago de servicio de luz → beneficiario = "CORPOELEC".
¿Cómo sé cuánto tengo en caja y banco?
Ve al módulo Contabilidad → Libro Mayor. Ahí verás el saldo de la cuenta 1101 (Caja) y 1102 (Bancos) en tiempo real.

El saldo de caja/banco refleja todos los movimientos registrados en este módulo más los de Haberes y Préstamos.

📒
Módulo Contabilidad
Libro diario, libro mayor y auxiliar bancario

📌 ¿Para qué sirve? Es el corazón contable de la caja de ahorro. Aquí se registran todos los asientos contables por partida doble (Debe = Haber), y se consultan el Libro Diario (todos los asientos cronológicos), el Libro Mayor (saldos por cuenta contable) y el Auxiliar de Bancos (movimientos bancarios detallados). El sistema genera asientos automáticamente desde Haberes, Préstamos y Pagos, pero aquí también puedes crearlos manualmente.

⚖️ 1. Principio de partida doble (lo que DEBES saber)

⚠️ Regla de oro: En todo asiento contable, el total del DEBE debe ser exactamente igual al total del HABER. Si no cuadra, el sistema no te deja guardar.
Tipo de cuenta ¿Cuándo aumenta? ¿Cuándo disminuye? Ejemplo
ACTIVO Debe Haber Caja, Bancos, Préstamos por Cobrar
PASIVO Haber Debe Haberes por Pagar, Aportes Recibidos
PATRIMONIO Haber Debe Capital Social, Excedentes
INGRESO Haber Debe Intereses Ganados, Comisiones
EGRESO Debe Haber Gastos Administrativos
✅ Ejemplo práctico: un asociado aporta Bs 100.
• Debe: Caja (1101) Bs 100 ← entra dinero al activo.
• Haber: Aportes Recibidos (2102) Bs 100 ← aumenta el pasivo.
Total Debe = Total Haber = Bs 100 ✅

🚀 2. Conocer la pantalla principal

1

Ingresar al módulo

Desde el panel principal (index.html) haz clic en 📒 Contabilidad. Si ya iniciaste sesión, entrarás directo.

2

Estás en el Libro Diario

La pantalla principal es el Libro Diario: el listado cronológico de todos los asientos registrados.

Cada fila muestra:

• Nº Asiento: código único (ej: 2026-00001).
• Fecha: cuándo se registró.
• Descripción: concepto del asiento.
• Referencia: número de recibo/comprobante.
• Monto Total: en Bs y equivalente en USD.
• Estado: REGISTRADO o ANULADO.
• Registrado por: usuario que creó el asiento.

3

Botones superiores

• ➕ Nuevo Asiento: crear un asiento manual.
• 📈 Libro Mayor: ver saldos por cuenta.
• ← Inicio: volver al panel principal.

4

Paginación (15 por página)

Si hay más de 15 asientos, verás abajo los botones ◀ Anterior y Siguiente ▶.

💡 Los asientos están ordenados por fecha descendente (los más recientes primero).

➕ 3. Crear un asiento contable manual

💡 ¿Cuándo crear un asiento manual?
• Cuando el asiento automático no se generó (ej: error en el módulo origen).
• Para registrar aperturas, cierres o ajustes contables.
• Para registrar operaciones que no están contempladas en los otros módulos.
1

Pulsar "➕ Nuevo Asiento"

Botón verde en la parte superior. Se abre el formulario con 2 líneas ya cargadas por defecto.

2

Datos generales

• 📅 Fecha: por defecto viene la de hoy.
• 🔖 Referencia: número de comprobante o recibo (opcional).
• 📝 Descripción: obligatoria. Ej: "Ajuste por error de cambio".

3

Agregar líneas de movimiento

Cada línea del asiento tiene 4 campos:

• Cuenta Contable: pulsa el botón de cuenta y se abre un selector visual con todas las cuentas agrupadas por tipo (Activo, Pasivo, Patrimonio, Ingreso, Egreso) con colores e íconos.
• Debe: monto al debe (0 si es solo al haber).
• Haber: monto al haber (0 si es solo al debe).
• Concepto: descripción específica de esa línea.

⚠️ Debe y Haber NUNCA pueden tener ambos valores en la misma línea. Si pones Debe, deja Haber en 0. Y viceversa.
4

Elegir cuentas del selector visual

Al pulsar en "Seleccionar cuenta...", se abre un modal con:

• Todas las cuentas del plan de cuentas.
• Agrupadas por tipo con color: 💰 Activo (azul), 📉 Pasivo (rojo), 🏛️ Patrimonio (verde), 📈 Ingreso (amarillo), 💸 Egreso (morado).
• Buscador para filtrar por código o nombre.
• Al elegir una, se cierra y queda asignada a esa línea.

💡 Si necesitas crear cuentas nuevas, contacta al administrador del sistema. Las cuentas están definidas en el plan de cuentas base.
5

Agregar más líneas (opcional)

Si el asiento necesita más de 2 líneas (ej: una compra que afecta 3 cuentas), pulsa ➕ Agregar Línea.

Si te equivocas, pulsa el ✕ rojo al final de la línea para eliminarla.

6

Verificar el cuadre

En la parte inferior verás:

Totales: Debe: Bs 100.00 | Haber: Bs 100.00
✅ Asiento Cuadrado

Si NO cuadra, verás el mensaje en rojo:

⚠️ Diferencia: Bs 50.00

❌ Si no cuadra, NO podrás guardar. Debes ajustar los montos hasta que Debe = Haber.
7

Guardar

Pulsa 💾 Registrar Asiento.

El sistema automáticamente:

1. Genera el número único (formato año-secuencial: 2026-00001).
2. Guarda el asiento con estado REGISTRADO.
3. Guarda cada línea en el detalle.
4. Registra tu usuario y la fecha de creación.

✅ Verás: "✅ Asiento 2026-00005 registrado"

🤖 4. Asientos automáticos (generados por otros módulos)

✅ El sistema genera asientos automáticamente cada vez que ocurre una operación en los otros módulos. No necesitas crearlos manualmente.
Operación Módulo origen Debe Haber
Aporte del trabajador Haberes Caja (1101) Aportes Recibidos (2102)
Retiro de haberes Haberes Haberes por Pagar (2101) Caja (1101)
Desembolso de préstamo Préstamos Préstamos por Cobrar (1201) Caja (1101)
Pago de cuota de préstamo Préstamos Caja (1101) Préstamos por Cobrar (1201) + Intereses Ganados (4101)
Pago en efectivo (LC/FT) Pagos y Cobros Cuenta de dinero (1101 o 1102) Cuenta correspondiente
⚠️ Si eliminas un movimiento en Haberes/Préstamos/Pagos, el asiento contable NO se borra automáticamente. Debes venir aquí y anularlo manualmente con el botón 🚫.

📋 5. Ver el detalle de un asiento

1

Hacer clic en una fila

En el Libro Diario, haz clic sobre cualquier fila. Se abre el detalle.

2

Ver el detalle completo

Verás:

• Encabezado: fecha, referencia y usuario que registró.
• Concepto: descripción del asiento.
• Monto total en Bs y USD.
• Módulo de origen: HABERES, PRESTAMOS, PAGOS o MANUAL.
• Tabla de líneas con: código, cuenta, concepto, debe y haber.
• Totales de Debe y Haber al pie (deben coincidir).

3

Acciones disponibles

• 📊 Excel: descarga el asiento completo en Excel.
• 📄 PDF: descarga el asiento en PDF.

💡 El PDF es ideal para imprimir y archivar los comprobantes contables.

✏️ 6. Editar o anular un asiento

1

Editar asiento

Pulsa el botón ✏️ en la fila del asiento. Se abre el mismo formulario que al crear, pero con los datos cargados.

Puedes cambiar: fecha, referencia, descripción, líneas, montos y cuentas.

⚠️ Solo ADMIN/DIRECTIVA puede editar asientos. Y solo si el asiento NO está ANULADO.
2

Anular asiento

Pulsa el botón 🚫 en la fila del asiento. Se abre un modal de confirmación.

Al confirmar, el asiento queda marcado como ANULADO pero NO se borra (soft-delete).

🚨 ¿Por qué no se borra? Porque en contabilidad la trazabilidad es obligatoria. Un asiento anulado sigue visible para auditorías, pero no afecta los saldos del Libro Mayor.
3

¿Cuándo anular?

Cuando un asiento fue generado por error o el movimiento original se eliminó/modificó en otro módulo.

Ejemplo: eliminas un aporte en Haberes → debes anular el asiento correspondiente aquí.

📈 7. Libro Mayor (saldos por cuenta)

📊 El Libro Mayor es un reporte clave que exige SUDECA. Muestra el saldo acumulado de cada cuenta contable en un período. Es la base para generar el Balance General y el Estado de Resultados.
1

Abrir el Libro Mayor

Pulsa el botón azul 📈 Libro Mayor en la parte superior. Se abre un modal.

2

Filtrar por fechas

• 📅 Desde: fecha de inicio del período.
• 📅 Hasta: fecha de fin.

Si dejas ambas vacías, muestra el acumulado total histórico.

💡 Para cierre mensual, pon el primer y último día del mes. Para cierre anual, el 1 de enero y el 31 de diciembre.
3

Dos vistas: General y Auxiliar de Bancos

• 📊 Libro Mayor General: saldos de TODAS las cuentas contables.
• 🏦 Auxiliar de Bancos: movimientos detallados solo de la cuenta 1102 (Bancos), con saldo acumulado línea por línea.

4

Ver saldos en el Libro Mayor General

Cada fila muestra:

• Código: cuenta contable (ej: 1101, 1201, 2102).
• Cuenta: nombre descriptivo.
• Debe: total de débitos del período.
• Haber: total de créditos del período.
• Saldo: Debe − Haber.

💡 Haz clic en cualquier fila para ver el detalle de la cuenta: cuánto sumó al Debe, cuánto al Haber y el saldo final explicado paso a paso.
5

Ver Auxiliar de Bancos

Cambia a la pestaña 🏦 Auxiliar de Bancos. Verás:

• Saldo final en bancos destacado arriba.
• Listado de movimientos: fecha, asiento, descripción, debe, haber y saldo acumulado.
• Cada movimiento bancario detallado con su origen.

✅ Este reporte es el que usas para conciliar con el extracto del banco: fila por fila comparas los movimientos.
6

Exportar el Libro Mayor

En el pie del modal:
• 📊 Excel: descarga la vista actual (General o Bancos).
• 📄 PDF: ídem en PDF.

🔍 8. Filtrar el Libro Diario

Filtro Uso Ejemplo
🔍 Texto Busca por número, descripción, referencia o usuario Escribe "2026-000" o "Antonio"
🎯 Estado Registrados, anulados o todos Elige "Registrados" para ver los vigentes
📅 Desde/Hasta Rango de fechas Del 01/11/2026 al 30/11/2026
💡 Los filtros se combinan. Por ejemplo: "APORTE" + "Noviembre" te muestra solo los asientos de aportes de noviembre.

📊 9. Exportar asientos

1

Exportar lo filtrado

En la barra de filtros: 📊 Excel o 📄 PDF. Exporta todos los asientos visibles según el filtro aplicado.

2

Selección múltiple

Marca los checkboxes de los asientos que quieras exportar. Aparece una barra flotante con 📊 Excel, 📄 PDF y ✕ Limpiar.

💡 Útil para exportar solo los asientos de un mes o de un tipo de operación.
3

Exportar asiento individual

Dentro del detalle de un asiento, pulsa 📊 Excel o 📄 PDF. Descarga la ficha completa con todas las líneas del asiento.

📋 10. Plan de cuentas base

El sistema viene con un plan de cuentas estándar para cajas de ahorro, ya configurado. Estas son las cuentas que verás en el selector:
Código Nombre Tipo
1101 Caja ACTIVO
1102 Bancos ACTIVO
1201 Préstamos por Cobrar ACTIVO
1202 Intereses por Cobrar ACTIVO
2101 Haberes por Pagar PASIVO
2102 Aportes Recibidos PASIVO
3101 Capital Social PATRIMONIO
3102 Excedentes del Ejercicio PATRIMONIO
4101 Intereses Ganados INGRESO
4102 Comisiones INGRESO
5101 Gastos Administrativos EGRESO
5102 Gastos de Operación EGRESO
⚠️ No puedes crear cuentas nuevas desde este módulo. El plan de cuentas es fijo y está alineado con la normativa SUDECA. Si necesitas agregar cuentas, contacta al administrador del sistema.

❓ Preguntas frecuentes — Contabilidad

¿Por qué el sistema no me deja guardar un asiento?
Casi siempre es porque el Debe no es igual al Haber. Revisa los totales abajo del formulario. Si dice "⚠️ Diferencia: Bs X.XX", debes ajustar los montos hasta que la diferencia sea 0.

Otras causas posibles:
• No hay al menos 2 líneas con monto.
• Falta la fecha o la descripción.
• La sesión expiró (vuelve a loguearte).
¿Qué diferencia hay entre Libro Diario y Libro Mayor?
Libro Diario: lista cronológica de todos los asientos. Cada asiento muestra todas sus líneas.

Libro Mayor: agrupa los movimientos por cuenta contable. Muestra solo el total Debe, total Haber y saldo final de cada cuenta.

Ejemplo: en el Diario ves "Aporte de María Bs 100". En el Mayor ves "Caja: total Debe Bs 5.000, total Haber Bs 800, saldo Bs 4.200".
¿Los asientos automáticos se pueden editar?
Sí, pero con cuidado. Puedes editarlos si necesitas corregir un error (monto, cuenta, concepto). Pero si editas un asiento generado automáticamente, el movimiento original queda inconsistente con la contabilidad.

Recomendación: si un asiento automático está mal, primero corrige el movimiento en su módulo origen. Si no se puede, edita el asiento y documenta el cambio en la descripción.
¿Qué pasa si anulo un asiento?
El asiento queda con estado ANULADO y deja de afectar el Libro Mayor. NO se borra: queda visible en el Libro Diario para trazabilidad legal.

Es la forma correcta de "eliminar" un asiento en contabilidad: no se borra, se anula.
¿Cómo sé qué cuenta usar en un asiento manual?
Depende de la operación:
• Entra dinero → Debe 1101 Caja o 1102 Bancos.
• Sale dinero → Haber 1101 Caja o 1102 Bancos.
• Aumenta pasivo → Haber 2101 o 2102.
• Disminuye pasivo → Debe 2101 o 2102.
• Ingresos (intereses) → Haber 4101.
• Gastos → Debe 5101 o 5102.

Si no estás seguro, consulta con el contador del sistema.
¿Puedo modificar el plan de cuentas?
No desde la interfaz. Las cuentas están definidas en el backend y alineadas con la normativa SUDECA. Si necesitas agregar una cuenta nueva, debe hacerse en la base de datos por un administrador técnico.
¿Por qué algunos asientos tienen 3 o más líneas?
Porque algunas operaciones afectan a más de 2 cuentas. Ejemplo: el pago de una cuota de préstamo afecta:
• Debe: Caja (1101) por el monto total.
• Haber: Préstamos por Cobrar (1201) por el capital.
• Haber: Intereses Ganados (4101) por el interés.

Son 3 líneas en un solo asiento, pero el Debe total (Bs cuota) sigue siendo igual al Haber total (capital + interés).
¿Qué es el Auxiliar de Bancos?
Es un reporte específico del movimiento de la cuenta 1102 (Bancos). Muestra cada movimiento bancario con fecha, asiento, descripción, debe, haber y saldo acumulado línea por línea.

Es la herramienta que usas para conciliar con el extracto del banco: fila por fila verificas que los movimientos coincidan.
¿Cómo genero el Balance General o el Estado de Resultados?
Esos reportes están en el módulo 📊 Reportes SUDECA. Ahí verás:
• Balance General (activos, pasivos, patrimonio).
• Estado de Resultados (ingresos, egresos, resultado del ejercicio).

Se generan automáticamente a partir de los asientos que registres aquí.
¿Cuándo usar asientos manuales en lugar de los otros módulos?
Siempre que puedas, usa los módulos específicos (Haberes, Préstamos, Pagos). Esos generan asientos automáticos y mantienen todo consistente.

Usa asientos manuales solo para:
• Apertura del ejercicio (saldos iniciales).
• Cierres contables.
• Ajustes por inflación (R.E.I.).
• Correcciones específicas que no tienen un módulo.
¿Los asientos se numeran automáticamente?
Sí. El sistema genera un número único con formato año-secuencial:
• 2026-00001, 2026-00002, 2026-00003, etc.

Al pasar al año siguiente, la numeración reinicia: 2027-00001, 2027-00002, etc.

📊
Módulo Reportes SUDECA
Estados financieros · SIGECAF · Cumplimiento LC/FT

📌 ¿Para qué sirve? Es el módulo de cumplimiento regulatorio. Reúne todos los reportes que la caja de ahorro debe presentar a SUDECA según la Providencia SCA-001-2025 y la Ley de Cajas de Ahorro (LCAFAAAS): estados financieros, libro de inventario y balances, operaciones en efectivo (LC/FT), SIGECAF mensual, debida diligencia, oficial de cumplimiento y panel de alertas.

🚦 1. Semáforo de cumplimiento

⚠️ Al abrir el módulo, lo primero que verás es un semáforo gigante que te dice si la caja está en regla con SUDECA.
Color Significado Qué hacer
🟢 VERDE Cumplimiento Óptimo — Todo en regla Ninguna acción urgente. Continúa monitoreando.
🟡 AMARILLO Cumplimiento Parcial — Hay 1 a 5 alertas Resolver las alertas en el corto plazo (días).
🔴 ROJO Cumplimiento Crítico — Más de 5 alertas Requiere atención inmediata (horas). Riesgo de sanción.
💡 El semáforo se calcula automáticamente sumando todas las alertas: PEP activos + cercanos + expedientes incompletos + sin declaración + sin autorización + perfil alto. Además, si NO hay Oficial de Cumplimiento designado, el semáforo baja a amarillo como mínimo.

🚨 2. Panel de alertas SUDECA

Debajo del semáforo hay 6 tarjetas de alertas. Cada una es clickeable y muestra el listado de asociados que la disparan.
Alerta Qué significa Acción
⚠️ PEP Activos Asociados que son Personas Expuestas Políticamente y están activos Aplicar debida diligencia reforzada y registrar fecha de cese si ya no son PEP
👨‍👩‍👧‍👦 Cercanos a PEP Familiares o vinculados a PEP activos Aplicar debida diligencia reforzada
📁 Expedientes Incompletos Asociados activos a los que les falta algún documento (cédula, RIF, referencia o servicio) Subir los documentos faltantes en asociados.html
📝 Sin Declaración Jurada Asociados que no han firmado la declaración de origen de fondos Completar la declaración en el módulo Asociados
🔐 Sin Autorización SUDECA Asociados que no autorizaron la verificación de SUDECA Marcar la autorización en el módulo Asociados
📊 Perfil de Riesgo Alto Asociados con perfil financiero ALTO Revisión periódica, origen de fondos documentado
1

Hacer clic en una tarjeta de alerta

Al pulsar cualquier tarjeta, se abre un modal con el detalle:

• Lista de asociados afectados.
• Cédula, nombre y datos relacionados.
• Botón ✏️ Editar que te lleva a la ficha del asociado en asociados.html.

2

Exportar el detalle

Desde el modal de detalle, botones 📊 Excel o 📄 PDF para descargar la lista con todos los asociados afectados.

✅ Útil para reuniones con la directiva: exportas la lista y la revisas en conjunto para asignar responsables.

📋 3. Reportes disponibles

Debajo del panel de alertas hay 12 tarjetas grandes, cada una abre un reporte distinto. Todas son exportables a Excel y PDF.
Reporte ¿Para qué sirve? Quién lo pide
📊 Estados Financieros Balance General + Estado de Resultados por período Directiva, SUDECA
📊 EF Trimestrales SUDECA Estados financieros con codificación oficial + notas revelatorias SUDECA (obligatorio trimestral)
📖 Libro de Inventario y Balances Inventario inicial + balance de cierre anual SUDECA, auditoría
💵 Operaciones en Efectivo (LC/FT) Detalle de pagos en efectivo del período SUDECA, prevención LC/FT
📚 Libro Mayor y Balances Saldos por cuenta contable del período Contador, directiva
🏦 Auxiliar de Bancos Movimientos detallados de la cuenta 1102 Conciliación bancaria
🔍 Debida Diligencia Política "Conoce a tu Asociado" — estado de expedientes Oficial de Cumplimiento, SUDECA
👔 Reporte Oficial de Cumplimiento Designación, notificación, estado del programa SUDECA (obligatorio)
👥 Reporte de Asociados PEP, cercanos, perfiles de riesgo, haberes Directiva
💳 Reporte de Préstamos Cartera, mora, intereses, cuotas vencidas Directiva, SUDECA
📤 Exportar SIGECAF Archivo mensual con formato oficial SUDECA (6 hojas) SUDECA (obligatorio mensual)
⚖️ Cumplimiento Institucional Checklist completo de requisitos SUDECA Oficial de Cumplimiento

📊 4. Cómo usar los reportes de estados financieros

1

Estados Financieros (período libre)

Haz clic en la tarjeta 📊 Estados Financieros. Se abre un modal con:

• Filtro de fechas: desde/hasta. Por defecto viene el último año.
• Balance General: activo, pasivo, patrimonio, resultado.
• Estado de Resultados: ingresos, egresos, resultado.
• Verificación automática del cuadre.

✅ Si el Balance está cuadrado, verás el mensaje "✅ Balance cuadrado". Si hay descuadre, un aviso rojo con la diferencia.
2

EF Trimestrales SUDECA

Selecciona Año y Trimestre (1 al 4). El sistema muestra:

• Balance General con codificación SUDECA (partida, subgrupo, nombre, saldo).
• Estado de Resultados codificado.
• Notas revelatorias (5 notas estándar).
• Plazo legal de presentación (30 días después del cierre).

⚠️ Este reporte es obligatorio trimestral por el Art. 50 LCAFAAAS. Debe presentarse ante SUDECA dentro de los 30 días siguientes al cierre del trimestre.
3

Exportar a Excel o PDF

En la parte inferior del modal:

• 📊 Excel: descarga con 2-3 hojas (Balance, Resultados, Notas).
• 📄 PDF: descarga con formato oficial listo para imprimir o enviar.

📖 5. Libro de Inventario y Balances

1

Seleccionar año y tipo de cierre

Haz clic en la tarjeta. Eliges:

• Año: último año por defecto, editable.
• Tipo de cierre: Anual, Trimestral o Mensual.

2

Ver el libro completo

El reporte incluye:

• Inventario inicial del período.
• Balance General de cierre: activo, pasivo, patrimonio, resultado.
• Verificación de cuadre.
• Estado de Resultados: ingresos, egresos, resultado.

3

Exportar

📊 Excel: descarga 2 hojas (Balance, Estado de Resultados).
📄 PDF: descarga 2 páginas listas para imprimir.

💵 6. Operaciones en efectivo (LC/FT)

🚨 Requisito obligatorio: según la Providencia SCA-001-2025, TODAS las operaciones en efectivo deben ser reportadas, especialmente las que superan el umbral establecido por SUDECA.
1

Abrir el reporte

Haz clic en la tarjeta 💵 Operaciones en Efectivo. Por defecto muestra el mes actual.

2

Ver el detalle

Cada operación muestra:

• Fecha y hora exacta.
• Asociado y cédula.
• Tipo: pago de cuota, aporte, retiro, otro.
• Monto Bs y USD.
• Referencia y origen de fondos.

💡 Si alguna operación no tiene origen de fondos declarado, aparece vacío. Esto es una alerta: debes contactar al asociado para completarlo.
3

Exportar al formato SUDECA

📊 Excel o 📄 PDF. El formato incluye columnas específicas para el reporte LC/FT que se envía mensualmente a SUDECA.

📤 7. Generar archivo SIGECAF (mensual)

⚠️ SIGECAF = Sistema de Gestión de Cajas de Ahorro y Fondos. Es la plataforma oficial de SUDECA donde se cargan los reportes mensuales. El archivo debe subirse dentro de los primeros 15 días del mes siguiente.
1

Seleccionar el mes

Haz clic en la tarjeta 📤 Exportar SIGECAF. Se abre un modal con un campo de tipo month.

Pulsa el campo y elige el mes y año a exportar. El calendario se abre automáticamente.

2

Generar el archivo

Pulsa 📤 Generar y Descargar. El sistema genera un Excel con 6 hojas:

• Hoja 1 — Carátula: datos del reporte y del sistema.
• Hoja 2 — Asociados: todos los asociados con PEP, perfil, declaraciones.
• Hoja 3 — Préstamos: cartera completa con cuotas vencidas.
• Hoja 4 — Operaciones Efectivo: para LC/FT.
• Hoja 5 — Estados Financieros: balance + resultados.
• Hoja 6 — Resumen Ejecutivo: totales + verificación de cumplimiento.

✅ El archivo se descarga como SIGECAF_2026-11.xlsx listo para subirlo a la plataforma SUDECA.
3

Subirlo a SUDECA

El archivo Excel descargado debe subirse manualmente al portal de SUDECA en el módulo SIGECAF.

⚠️ El sistema no se conecta directamente a SUDECA. La carga es manual a través del portal oficial.

🔍 8. Reporte de debida diligencia

1

Ver la distribución por nivel de riesgo

Haz clic en la tarjeta 🔍 Debida Diligencia. El reporte muestra 3 categorías:

• Simplificada: perfil BAJO, no PEP, expediente completo.
• Estándar: perfil MEDIO, revisión periódica.
• Reforzada: PEP, cercano a PEP o perfil ALTO.

2

Revisar asociados con debida diligencia reforzada

Si hay asociados en la categoría Reforzada, aparecen en una tabla especial con:

• Cédula y nombre.
• Motivo: PEP, cercano PEP, perfil ALTO.
• Declaración jurada: ✅ o ❌.
• Autorización SUDECA: ✅ o ❌.

3

Ver el estado de expedientes

Debajo hay una tabla con TODOS los asociados activos y el estado de sus documentos:

• ✅/❌ para cada documento (cédula, RIF, referencia, servicio).
• ✅/❌ para declaración jurada y autorización SUDECA.
• Barra de completitud con porcentaje.

✅ Verde = 100% completo. Amarillo = 50-99%. Rojo = menos del 50%.

👔 9. Reporte del Oficial de Cumplimiento

🚨 Requisito obligatorio: toda caja de ahorro debe tener un Oficial de Cumplimiento designado y notificado a SUDECA. Sin esto, la caja no está en regla.
1

Abrir el reporte

Haz clic en 👔 Reporte de Oficial de Cumplimiento.

2

Ver datos del oficial

Si hay oficial designado, verás:

• Nombre completo, cédula, email, teléfono.
• Fecha de designación.
• Fecha de notificación a SUDECA (o ⚠️ PENDIENTE).

⚠️ Si la notificación a SUDECA está pendiente, verás un aviso rojo indicando que debes completarla en configuracion.html.
3

Checklist de cumplimiento

Debajo hay una tabla con 9 requisitos SUDECA:

• Oficial designado ✅/❌.
• Notificado a SUDECA ✅/❌.
• Manual de normas ⚠️.
• Código de ética ⚠️.
• Política "Conoce a tu Asociado" ✅/⚠️.
• Identificación de PEP ✅/⚠️.
• Identificación de cercanos ✅/⚠️.
• Declaraciones juradas ✅/⚠️.
• Autorización SUDECA ✅/⚠️.

⚖️ 10. Cumplimiento institucional (checklist completo)

1

Verificar todos los requisitos

Haz clic en ⚖️ Cumplimiento Institucional. El reporte consolida:

• Oficial de Cumplimiento: datos y estado.
• Checklist de 9 requisitos SUDECA.
• Libros y registros contables: libro diario, libro mayor, auxiliar, plan de cuentas, asientos automáticos.
• Reportes que faltan: libro inventario y balances, EF trimestrales, LC/FT, SIGECAF.

2

Accionar

Cada requisito con ❌ o ⚠️ debe ser resuelto para alcanzar el 100% de cumplimiento. El semáforo superior te indica qué tan cerca estás.

✅ Objetivo: mantener todos los requisitos en verde para evitar sanciones de SUDECA (multas, suspensión de operaciones, intervención).

📅 11. Calendario de obligaciones SUDECA

Para no olvidar ningún reporte, ten presente este calendario:
Reporte Frecuencia Plazo de presentación
📤 SIGECAF Mensual Dentro de los primeros 15 días del mes siguiente
💵 LC/FT (Operaciones en Efectivo) Mensual Últimos 5 días de cada mes (retraso = multa)
📊 EF Trimestrales Trimestral 30 días después del cierre del trimestre
📖 Libro de Inventario y Balances Anual 30 días después del cierre del ejercicio fiscal
👔 Notificación Oficial de Cumplimiento Cuando cambie 15 días después de la designación
🔍 Debida Diligencia Continua Actualización permanente de expedientes
⚠️ El incumplimiento de plazos genera multas automáticas por parte de SUDECA. Configura recordatorios en tu calendario personal.

❓ Preguntas frecuentes — Reportes

¿Qué significa cada color del semáforo?
🟢 Verde: cumplimiento óptimo, cero alertas o muy pocas.
🟡 Amarillo: hay entre 1 y 5 alertas, debes resolverlas en días.
🔴 Rojo: más de 5 alertas, riesgo de sanción, acción inmediata.

El semáforo se calcula automáticamente sumando todas las alertas y verificando si hay Oficial de Cumplimiento designado.
¿Cada cuánto tiempo debo generar el SIGECAF?
Cada mes. El archivo debe cubrir el mes completo y subirse a la plataforma SUDECA dentro de los primeros 15 días del mes siguiente. Por ejemplo: el SIGECAF de octubre se sube entre el 1 y el 15 de noviembre.
¿Qué es el reporte LC/FT y cuándo se presenta?
LC/FT = Legitimación de Capitales y Financiamiento al Terrorismo. Es el reporte de operaciones en efectivo que puedan ser sospechosas. Se presenta mensualmente a SUDECA, en los últimos 5 días de cada mes.

Incluye: pagos en efectivo, aportes en efectivo, retiros en efectivo y cualquier operación que supere el umbral establecido.
¿Cómo genero los Estados Financieros Trimestrales?
1. Haz clic en 📊 EF Trimestrales SUDECA.
2. Selecciona el año y el trimestre (1, 2, 3 o 4).
3. El sistema genera automáticamente el balance + estado de resultados con codificación SUDECA.
4. Exporta a Excel o PDF.
5. Súbelo a SUDECA dentro de los 30 días siguientes al cierre.
¿Cómo marco a un asociado como PEP?
Ve al módulo Asociados, busca al asociado, pulsa ✏️ Editar, y en la sección ⚖️ Cumplimiento SUDECA marca la casilla "¿Es PEP?". Completa el nivel, cargo y fecha de cese (si aplica).

Asegúrate de tener la declaración jurada y la autorización SUDECA firmadas.
¿Qué pasa si el balance no cuadra?
Si el Balance General muestra "⚠️ Descuadre", significa que Activo ≠ Pasivo + Patrimonio. Generalmente ocurre por:
• Asientos contables descuadrados (Debe ≠ Haber).
• Movimientos sin asiento contable.
• Asientos anulados que no debieron anularse.

Revisa el módulo Contabilidad → Libro Diario y verifica que todos los asientos estén cuadrados.
¿Puedo exportar el reporte de alertas?
Sí. Al abrir una tarjeta de alerta (PEP, expedientes, etc.), en el modal aparece el botón 📊 Excel y 📄 PDF para descargar el listado de asociados afectados.

Útil para reuniones con la directiva o para asignar responsables de resolver cada caso.
¿Qué diferencia hay entre Debida Diligencia Simplificada, Estándar y Reforzada?
Simplificada: asociados con perfil BAJO, no PEP, no cercanos, con expediente completo. Requieren solo verificación básica.

Estándar: asociados con perfil MEDIO. Requieren revisión periódica (cada 6-12 meses).

Reforzada: PEP, cercanos a PEP o perfil ALTO. Requieren revisión constante, aprobación de la directiva y documentación adicional (origen de fondos, etc.).
¿Cada cuánto se actualizan los expedientes de los asociados?
Según la Providencia SCA-001-2025:
• Perfil BAJO: cada 2 años.
• Perfil MEDIO: cada año.
• Perfil ALTO / PEP / cercano PEP: cada 6 meses o cuando cambien sus condiciones.

El módulo Reportes detecta automáticamente qué expedientes están incompletos.
¿Puedo automatizar el envío a SUDECA?
No directamente. SUDECA no permite envíos automáticos desde sistemas externos. Debes:
1. Generar el archivo Excel en el módulo Reportes.
2. Ingresar al portal SIGECAF de SUDECA con credenciales oficiales.
3. Subir el archivo manualmente.
4. Confirmar la carga y guardar el acuse de recibo.
¿Qué pasa si no presento los reportes a tiempo?
Según la LCAFAAAS, SUDECA puede aplicar:
• Multas económicas (calculadas en unidades tributarias).
• Amonestación pública.
• Suspensión temporal de operaciones.
• Intervención de la caja en casos graves o reiterados.

Por eso es crítico mantener el semáforo en verde y cumplir con los plazos.

🗄️
Módulo Base de Datos
Explorador y Sistema de Respaldos (solo ADMIN)

🚨 ZONA DE ALTO RIESGO. Este módulo permite ver, editar y eliminar cualquier fila de cualquier tabla de la base de datos, y también crear/restaurar respaldos. Un error aquí puede romper la integridad del sistema. Solo debe ser usado por administradores experimentados. Antes de cualquier cambio, haz un respaldo.
📌 ¿Para qué sirve? Tiene 2 funciones principales:

1. 🗄️ Explorador de BD: ver, buscar, editar y eliminar directamente cualquier fila de las tablas caja.db y contabilidad.db. Útil para corregir datos específicos sin tocar el código.

2. 💾 Sistema de Respaldos: crear respaldos manuales, programar respaldos automáticos, y gestionar el historial de respaldos creados.

🚀 1. Conocer la pantalla principal

1

Ingresar al módulo

Desde el panel principal (index.html) haz clic en 🗄️ Base de Datos. El badge ADMIN en rojo indica que solo administradores deben usarlo.

Si el sistema tiene múltiples usuarios, asegúrate de tener rol ADMIN o DIRECTIVA. Los ANALISTAS y ASOCIADOS no pueden acceder a operaciones críticas aquí.

2

Selector de base de datos

Al entrar, lo primero que ves es un selector de base de datos con 2 tarjetas:

• 💾 caja.db: base operativa. Contiene asociados, haberes, préstamos, cuotas, fiadores, pagos, operaciones en efectivo, usuarios, tasas, oficial de cumplimiento y transacciones.
• 📒 contabilidad.db: base contable. Contiene asientos, plan de cuentas y detalles de asientos.

💡 Haz clic sobre cualquiera de las dos tarjetas para conectarte a esa base. Verás cómo se resalta con borde verde.
3

Tabs de tablas

Debajo del selector aparecen los tabs de las tablas disponibles en la base seleccionada:

• caja.db: 👥 asociados · 💰 haberes · 💳 prestamos · 📅 cuotas_prestamo · 🛡️ fiadores · 💵 pagos_cobros · 💸 operaciones_efectivo · 📊 transacciones_haberes · 👤 usuarios_caja · 💱 tasas_bcv · ⚖️ oficial_cumplimiento · 💳 pagos_prestamo
• contabilidad.db: 📒 asientos · 📋 asientos_detalle · 📊 plan_cuentas

Cada tab muestra el ícono de la tabla y un badge con el número de registros.

4

Botones del header

• ← Inicio: volver al panel principal.
• 💾 Respaldos: abrir el modal de respaldos.
• 🚪 Salir: cerrar sesión.

🔍 2. Explorar los datos de una tabla

1

Hacer clic en un tab

Pulsa cualquiera de los tabs (ej: 👥 asociados). El tab se resalta en azul y aparecen:

• Barra de acciones con info de la tabla.
• Buscador para filtrar filas.
• Botones 📊 Excel y 📄 PDF para exportar.
• Tabla completa con todos los datos.

2

Entender la tabla

La tabla tiene estas características:

• Encabezado sticky: se queda fijo al hacer scroll hacia abajo.
• Columna 🔑: la PK de la tabla (ej: id) resaltada en amarillo.
• Columnas numéricas: alineadas a la derecha con formato de moneda.
• Valores NULL: se muestran como — en gris claro.
• Checkbox por fila: para seleccionar múltiples filas.

💡 Si una fila tiene textos muy largos (ej: observaciones), aparece truncado con .... Pasa el mouse por encima para ver el texto completo en un tooltip.
3

Buscar y filtrar

En el campo 🔍 Buscar en la tabla... escribe cualquier texto o número. El sistema filtra las filas que contengan ese valor en cualquier columna.

Ejemplo: si escribes "María" en la tabla asociados, verás solo las filas donde aparezca "María" en cualquier campo.

✅ Búsqueda combinada: puedes buscar por cédula, nombre, email, cargo, fecha... funciona en todas las columnas al mismo tiempo.
4

Ver el detalle completo de una fila

Haz clic sobre cualquier fila (sin tocar el checkbox ni los botones). Se abre un modal con:

• Todos los campos de esa fila, incluidos los que estaban truncados.
• Los valores formateados por tipo: números con separadores de miles, fechas en formato venezolano, booleanos como ✅/❌.
• Botones: ✏️ Editar, 📊 Excel, 📄 PDF para exportar esa fila específica.

✏️ 3. Editar una fila

⚠️ Antes de editar: haz un respaldo. Los cambios directos en la base de datos NO generan logs automáticos y pueden romper relaciones entre tablas.
1

Pulsar el botón ✏️

En la fila que quieres modificar, pulsa el botón amarillo ✏️. Se abre un formulario con todos los campos de esa fila.

2

Modificar los campos

Cada campo aparece como un input editable. Consideraciones:

• 🔑 La PK no es editable: el campo está deshabilitado.
• Campos numéricos: el input es de tipo number, solo acepta números.
• Campos de texto: si lo dejas vacío, se guarda como NULL.
• Campos de fecha: se escriben en formato ISO (YYYY-MM-DD).

⚠️ NO cambies relaciones: si editas un asociado_id, asegúrate de que el asociado exista. Si cambias el ID de un asociado, sus haberes, préstamos y movimientos pueden quedar huérfanos.
3

Guardar cambios

Pulsa 💾 Guardar. El sistema:

1. Detecta solo los campos que cambiaron.
2. Envía un UPDATE a la base de datos.
3. Refresca la tabla automáticamente.
4. Muestra un toast de confirmación.

✅ Si no cambiaste nada, verás "Sin cambios para guardar" y no se ejecuta ningún UPDATE.

🗑️ 4. Eliminar filas

🚨 IRREVERSIBLE. Eliminar una fila aquí es un DELETE permanente. No hay "deshacer". No hay papelera. Una vez borrada, no se recupera salvo restaurando un respaldo.
1

Eliminar una fila

Pulsa el botón rojo 🗑️ en la fila. Aparece un confirm con el ID y advertencia. Si confirmas, la fila se elimina.

2

Eliminar múltiples filas

Marca los checkboxes de varias filas. Aparece una barra flotante en la parte inferior con:

• Contador de filas seleccionadas.
• 📊 Excel: exportar la selección.
• 📄 PDF: exportar la selección.
• 🗑️ Eliminar: borrar todas las seleccionadas.
• ✕ Limpiar: desmarcar todo.

💡 El checkbox del header sirve para seleccionar/deseleccionar TODAS las filas visibles (después de aplicar filtros).

📊 5. Exportar datos

1

Exportar toda la tabla

En la barra de acciones: 📊 Excel o 📄 PDF. Se exportan todas las filas filtradas actualmente.

2

Exportar filas seleccionadas

Marca los checkboxes y usa la barra flotante: 📊 Excel o 📄 PDF. Solo exporta las seleccionadas.

3

Exportar fila individual

Desde el modal de detalle: 📊 Excel o 📄 PDF. Descarga solo esa fila como ficha.

✅ El PDF se genera inteligentemente:
• Si hay pocas filas (≤3) y muchas columnas (>10): genera una ficha por página con 2 columnas (campo/valor).
• Si hay muchas filas: genera una tabla tradicional con auto-ajuste y paginación.

💾 6. Sistema de respaldos

El sistema de respaldos es la función más importante de este módulo. Aquí puedes crear respaldos manuales, programar respaldos automáticos con cron, y gestionar el historial.
1

Abrir el modal de respaldos

Pulsa el botón verde 💾 Respaldos en el header. Se abre un modal con:

• Estado actual: cuántos jobs activos hay y cuándo fue el último respaldo.
• 3 pestañas: Manual, Automático (Cron), Historial.

🔧 7. Crear un respaldo manual

1

Seleccionar qué respaldar

En la pestaña 🔧 Manual:

• 📁 ¿Qué base de datos?: Ambas (caja + contabilidad), solo caja.db, o solo contabilidad.db.
• 📦 ¿Qué tipo de respaldo?: Completo (.db) o Por tablas (Excel/PDF).

2

Respaldo completo (.db)

Si eliges Base de datos completa, el sistema:

1. Hace un checkpoint WAL (fuerza escritura al disco).
2. Copia el archivo .db completo.
3. Lo guarda en respaldos/YYYY-MM-DD/manual/.
4. Genera un nombre con timestamp único.

✅ Este es el respaldo MÁS SEGURO: contiene absolutamente todo. Úsalo antes de cualquier cambio importante.
3

Respaldo por tablas

Si eliges Por tablas, aparecen dos secciones:

• 📋 Selecciona las tablas: marca las que quieras incluir.
• 📄 Formato de exportación: Excel, PDF o Ambos.

El sistema genera archivos individuales por cada tabla marcada, con encabezados de metadata (nombre de tabla, total de filas, fecha).

💡 El Excel tiene una hoja por tabla, con auto-ajuste de columnas. El PDF auto-detecta si conviene tabla o ficha por fila.
4

Ejecutar el respaldo

Pulsa 💾 Ejecutar Respaldo Manual Ahora. Verás:

• Toast verde con la cantidad de archivos creados.
• Si fue por tablas, se descargan automáticamente los Excel/PDF generados.
• El historial se actualiza con los nuevos archivos.

🤖 8. Configurar respaldo automático

⚠️ ¿Qué es un cron? Es un "timer" que ejecuta el respaldo en horarios programados, sin que tengas que hacerlo manualmente. Ideal para respaldos diarios/semanales.
1

Elegir el método de programación

En la pestaña 🤖 Automático, tienes 3 opciones:

• 📅 Calendario visual (recomendado): selecciona día, hora y minuto con clics.
• ⚡ Preset rápido: plantillas predefinidas (diario, semanal, mensual, cada 6h, cada hora, cada 30min).
• 🔧 Cron manual: escribe la expresión cron directamente (solo para expertos).

2

Calendario visual (recomendado)

Si eliges "Calendario visual", configura:

• 📆 Frecuencia: diario, semanal, mensual o único.
• 📅 Día de la semana (si es semanal): lunes a domingo.
• 📆 Día del mes (si es mensual): 1, 5, 10, 15, 20, 25, 28.
• 📅 Fecha exacta (si es único): con date picker.
• 🕐 Hora: clic para abrir el selector visual con AM/PM.
• ⏱️ Minuto: idem.

Debajo verás la expresión cron generada en tiempo real. Puedes pulsarla para personalizarla con el constructor visual.

3

Selector de hora visual

Al pulsar la hora, se abre un modal con:

• Preview grande en formato 24h (ej: 02:00).
• Preview AM/PM en formato 12h (ej: 2:00 AM).
• Toggle AM/PM: dos botones grandes.
• 12 botones de hora: del 01 al 12.
• 4 botones rápidos de minuto: :00, :15, :30, :45.
• Slider de minuto: arrastra del 0 al 59.
• Input numérico: escribe un minuto exacto.

✅ Todos los controles se sincronizan entre sí. Si cambias uno, se actualiza el otro. El preview refleja el cambio inmediatamente.
4

Configurar base y tipo

Indica qué respaldar en cada ejecución:

• 📁 Base de datos: ambas, caja o contabilidad.
• 📦 Tipo: completo (.db) o por tablas.
• 📄 Formato (si es por tablas): Excel, PDF o JSON.

Si eliges "por tablas", aparece el botón 🔍 Seleccionar tablas que abre un modal para marcar las que quieras incluir.

5

Activar el job

Pulsa 🤖 Activar Respaldo Automático. El sistema:

1. Valida la expresión cron.
2. Registra el job en memoria y en disco (backups-jobs.json).
3. Lo ejecuta según el horario configurado.
4. Sobrevive a reinicios del servidor.

💡 Los archivos generados por jobs automáticos van a respaldos/YYYY-MM-DD/auto/ (separados de los manuales).
6

Ver y cancelar jobs activos

En la parte inferior de la pestaña Automático verás la lista 📅 Jobs Activos. Cada uno muestra:

• Descripción (ej: "Respaldo tablas de ambas (EXCEL)").
• Expresión cron.
• Botón 🗑️ Cancelar.

Al cancelar, el job se borra del archivo y deja de ejecutarse.

📋 9. Historial de respaldos

1

Ver todos los respaldos

En la pestaña 📋 Historial, verás todos los respaldos creados (manuales y automáticos) ordenados por fecha descendente. Cada uno muestra:

• Nombre del archivo.
• Fecha y tipo (🔧 Manual / 🤖 Auto).
• Tamaño en KB.
• Botones ⬇️ Descargar y 🗑️ Eliminar.

2

Descargar un respaldo

Pulsa el botón ⬇️. Según la extensión del archivo:

• .db: descarga el archivo SQLite completo (lo puedes abrir con DB Browser for SQLite).
• .xlsx: descarga el Excel ya formateado.
• .pdf: descarga el PDF.
• .json: si tiene metadata _formato: 'excel', el sistema regenera el Excel automáticamente. Lo mismo con PDF.

✅ El sistema corrige automáticamente la extensión si el navegador intenta guardar con la extensión equivocada. Nunca te va a descargar un Excel como .txt.
3

Eliminar un respaldo

Pulsa el botón 🗑️ y confirma. El archivo se borra permanentemente del disco. Esta acción no se puede deshacer.

⚠️ Buenas prácticas: mantén al menos los respaldos del último mes. Descarga los antiguos a tu PC o a la nube antes de borrarlos del servidor.

🎯 10. Casos de uso y advertencias

✅ Cuándo SÍ usar este módulo:
• Ver datos que no se ven en el frontend (ej: campos internos).
• Corregir un dato específico tras un error del sistema.
• Crear respaldos antes de actualizaciones grandes.
• Configurar backups automáticos diarios/semanales.
• Exportar datos para análisis externos.
• Verificar integridad después de migraciones.
🚫 Cuándo NO usar este módulo:
• Para editar datos normales de operación (usa Asociados, Haberes, Préstamos).
• Para eliminar usuarios (usa Login → Gestión de Usuarios).
• Para registrar movimientos (usa Pagos y Cobros o Haberes).
• Para cambiar contraseñas (usa Login → Reset Pass).
• Sin tener un respaldo fresco.
💡 Regla de oro: si una operación se puede hacer en su módulo específico (Asociados, Haberes, Préstamos, etc.), hazla ahí. Este módulo es el último recurso para cuando el frontend no tiene la función.

❓ Preguntas frecuentes — Base de Datos

¿Qué pasa si borro una fila por error?
El DELETE es permanente. No hay papelera. Debes:
1. Ir a la pestaña de Respaldos → Historial.
2. Descargar el respaldo más reciente (anterior al borrado).
3. Restaurarlo manualmente.

Recomendación: configura respaldos automáticos diarios y nunca hagas cambios grandes sin un respaldo fresco.
¿Puedo editar la PK de una fila?
No. La PK (Primary Key) está deshabilitada en el formulario de edición. Cambiar la PK rompería todas las relaciones con otras tablas (ej: si cambias el ID de un asociado, sus haberes/préstamos/movimientos quedarían huérfanos).

Si necesitas cambiar la PK, primero debes borrar la fila y crearla de nuevo con el ID correcto (esto es muy riesgoso).
¿Cómo programo un respaldo diario a las 2 AM?
1. Abre el módulo Base de Datos.
2. Pulsa 💾 Respaldos en el header.
3. Ve a la pestaña 🤖 Automático.
4. Elige 📅 Calendario visual.
5. Frecuencia: Diario.
6. Hora: 02:00 AM (pulsa el selector de hora y elige 02 + AM).
7. Minuto: :00.
8. Tipo: Base de datos completa.
9. Base: Ambas.
10. Pulsa 🤖 Activar Respaldo Automático.

El job queda registrado y se ejecutará todas las noches a las 2 AM.
¿Qué diferencia hay entre respaldo completo y por tablas?
Completo (.db):
• Copia el archivo SQLite tal cual.
• Incluye TODO: tablas, índices, triggers, configuraciones.
• Se puede abrir con DB Browser for SQLite.
• Restaurar es simplemente copiar el archivo de vuelta.
• Recomendado para respaldos automáticos.

Por tablas (Excel/PDF/JSON):
• Exporta solo los datos de tablas específicas.
• Útil para análisis externos (Excel, dashboards).
• NO se puede restaurar automáticamente (habría que importar manualmente).
¿Los jobs automáticos sobreviven a reiniciar el servidor?
Sí. Los jobs se guardan en backups-jobs.json en el disco. Al arrancar el servidor, server-backup.js lee ese archivo y restaura los jobs automáticamente. No necesitas reconfigurarlos.
¿Por qué el respaldo automático no se ejecutó?
Posibles causas:
1. El servidor estaba apagado a esa hora. Node-cron solo corre si el proceso está activo.
2. La expresión cron es incorrecta. Revisa el archivo backups-jobs.json.
3. Error de permisos de escritura en la carpeta respaldos/.
4. Disco lleno: los respaldos no caben.

Revisa los logs del servidor (node server.js) para ver si hay errores.
¿Puedo descargar el respaldo directamente al servidor sin pasar por mi PC?
Sí. Los respaldos se crean en el servidor directamente en la carpeta respaldos/YYYY-MM-DD/manual/ o auto/. Cuando pulsas "Descargar", es solo para copiarlo a tu PC. Pero el archivo YA está en el servidor desde que se creó.

Puedes acceder al servidor por SSH/SFTP y copiar los archivos directamente sin usar el navegador.
¿Qué pasa si modifico un dato y el sistema deja de funcionar?
Ejemplo: cambias el estado de un asociado a un valor que no es válido. El sistema mostrará errores.

Para solucionarlo:
1. Verifica qué cambiaste (recuerda el campo y el valor anterior).
2. Vuelve a editar la fila y corrige el valor.
3. Si no recuerdas qué era, restaura el respaldo más reciente: descarga el .db, detén el servidor, reemplaza el archivo caja.db, y vuelve a arrancar.
¿Puedo usar el módulo Base de Datos sin ser ADMIN?
Parcialmente. Los endpoints de lectura (GET) están permitidos para cualquier usuario autenticado. Pero los de escritura (PUT, DELETE, POST) requieren rol ADMIN o DIRECTIVA.

Si eres ANALISTA o ASOCIADO, puedes ver las tablas pero no editarlas ni eliminarlas. Tampoco puedes crear respaldos.
¿Cómo restauro un respaldo completo (.db)?
Proceso manual en el servidor:
1. Detén el servidor: Ctrl + C.
2. Descarga el respaldo desde el módulo (botón ⬇️).
3. Renombra el caja.db actual a caja.db.bak (por seguridad).
4. Copia el respaldo descargado a la raíz del proyecto como caja.db.
5. Elimina los archivos caja.db-shm y caja.db-wal (si existen).
6. Arranca el servidor: node server.js.

¡Listo! El sistema vuelve al estado del respaldo.
¿Cuál es la diferencia entre WAL y el archivo .db principal?
SQLite usa WAL (Write-Ahead Logging) para mejorar el rendimiento. Los cambios se escriben primero en caja.db-wal, y luego se hacen "checkpoint" al caja.db principal cada X tiempo.

Consecuencia: si copias caja.db sin hacer checkpoint, puedes perder los cambios más recientes (que están aún en el WAL).

Por eso el respaldo del módulo hace checkpoint primero: fuerza la escritura al .db principal antes de copiar. Esto garantiza que el respaldo esté 100% actualizado.