Manual de Usuario · v2026

PSICOLE Plataforma de Gestión Integral del Colegio

Gestión de matrículas, finanzas, cursos y trámites para el Colegio de Psicólogos. Una plataforma unificada para los 9 perfiles del sistema.

9 Roles Matrículas Online Pagos Integrados Portal Móvil Autogestión
psicole.org  ›  administrador
Panel administrativo PSICOLE
PSICOLE móvil

Manual PSICOLE

Bienvenido al manual de usuario del sistema PSICOLE — plataforma de gestión integral del Colegio de Psicólogos.

¿Qué es PSICOLE?

PSICOLE es el sistema centralizado para la gestión de matrículas, finanzas, cursos de capacitación y autogestión de profesionales matriculados. Permite a los operadores del Colegio y a los propios profesionales realizar todos sus trámites de forma digital.

¿Por dónde empiezo?

Elegí tu perfil para ir directo a la guía de inicio rápido:

  • Administrador


    Gestión completa del sistema, usuarios y configuración.

    Guía del Administrador

  • Operador de Matrículas


    Alta, seguimiento y validación de solicitudes de matrícula.

    Guía del Operador de Matrículas

  • Operador de Finanzas


    Gestión de pagos, recibos, cuotas y conciliación bancaria.

    Guía del Operador de Finanzas

  • Operador de Cursos


    Alta y gestión de cursos de capacitación continua.

    Guía del Operador de Cursos

  • Operador de Trámites


    Procesamiento de solicitudes y trámites administrativos.

    Guía del Operador de Trámites

  • Supervisor de Trámites


    Supervisión y aprobación de trámites del equipo.

    Guía del Supervisor de Trámites

  • Colegiado


    Portal de autogestión para profesionales matriculados.

    Guía del Colegiado

  • Prestador


    Envío de órdenes de obras sociales y seguimiento de liquidaciones.

    Guía del Prestador

  • Aspirante


    Solicitantes de matrícula que aún no están matriculados.

    Guía del Aspirante

Módulos del sistema

Módulo Descripción
Autenticación y Permisos Login, roles y control de acceso
Solicitud de Matrícula Proceso de solicitud para nuevos profesionales
Gestión de Matrículas Administración de matrículas activas
Finanzas Cuotas, pagos, recibos, descuentos y recargos
Pagos Online Pagos digitales vía Mercado Pago
Conciliación Bancaria Importación y matching de extractos bancarios
Cursos y Capacitación Gestión de cursos de formación continua
Prestadores y Órdenes Órdenes de obras sociales
Liquidaciones y Comisiones Cálculo y pago de comisiones
Autogestión del Profesional Portal de autoservicio para colegiados

Referencia rápida

  • Glosario de términos
  • Matriz de permisos por rol
  • Preguntas frecuentes
  • Errores comunes y soluciones
Panel de administración general del sistema
🖥 Escritorio Panel de administración general del sistema
Panel de administración general del sistema — móvil
📱 Móvil Panel de administración general del sistema

Guía de Inicio Rápido — Administrador

¿Qué es este rol?

El Administrador es el rol con mayor nivel de acceso en PSICOLE. Tiene control total sobre la configuración del sistema, la gestión de usuarios y permisos, y la supervisión de todos los módulos. Es responsable de mantener la integridad operativa de la plataforma, crear y desactivar cuentas de operadores, configurar parámetros globales y auditar el comportamiento del sistema.

Este rol está reservado para el personal técnico o directivo del Colegio de Psicólogos con responsabilidad sobre la administración TI del sistema.

Acceso al sistema

  • URL de login: https://psicole.app/login (o la URL interna asignada por el Colegio)
  • Credenciales: proporcionadas por el equipo técnico durante la puesta en marcha; se recomienda cambiar la contraseña en el primer ingreso
  • Dashboard: al ingresar verás el panel de administración con métricas globales: total de colegiados activos, matrículas pendientes, recaudación del mes, trámites en curso y estado de los jobs automáticos (CRON)

Tus tareas principales

1. Crear y gestionar usuarios del sistema

La tarea más frecuente del Administrador es dar de alta o de baja a operadores del Colegio.

  1. Ingresá a Administración → Usuarios.
  2. Hacé clic en + Nuevo usuario.
  3. Completá: nombre completo, correo electrónico institucional, contraseña temporal y rol (elegí uno de los 9 roles disponibles).
  4. Asigná los permisos específicos si el rol lo requiere (los permisos se expresan como triplets modulo/accion/recurso, por ejemplo FINANZAS/CREATE/PAYMENT).
  5. Guardá. El usuario recibirá un correo de bienvenida con instrucciones para activar su cuenta.

Para desactivar un usuario: buscalo en la lista, hacé clic en los tres puntos () y seleccioná Desactivar cuenta. El usuario pierde acceso inmediatamente pero sus datos históricos se conservan.

2. Configurar parámetros globales del sistema

  1. Ingresá a Administración → Configuración.
  2. Desde allí podés ajustar:
  3. Valores de cuotas mensuales y categorías de matrícula.
  4. Integración con Mercado Pago: actualizá las claves API (ACCESS_TOKEN, PUBLIC_KEY) y configurá las URLs de webhook.
  5. CRON jobs: habilitá o deshabilitá las tareas automáticas (generación mensual de cuotas, envío de notificaciones de vencimiento, conciliación automática).
  6. Parámetros de PDF: logotipo, datos del Colegio que aparecen en recibos y certificados.
  7. Guardá cada sección por separado. Los cambios en Mercado Pago requieren reiniciar el servicio desde Administración → Servicios.

3. Auditar el sistema y revisar logs

  1. Ingresá a Administración → Auditoría.
  2. Filtrá por fecha, usuario o módulo para ver el registro de acciones.
  3. Cada entrada muestra: fecha/hora, usuario, acción realizada (CREATE, UPDATE, DELETE), módulo afectado y detalle del objeto modificado.
  4. Podés exportar los logs en formato CSV para reportes de auditoría interna.

4. Supervisar los CRON jobs automáticos

  1. Ingresá a Administración → Tareas Automáticas.
  2. Verás el estado de cada job: último tiempo de ejecución, próxima ejecución, cantidad de registros procesados y si hubo errores.
  3. Si un job falló, podés relanzarlo manualmente con el botón Ejecutar ahora.
  4. Los jobs críticos incluyen: generación de cuotas mensuales, recordatorios de vencimiento por e-mail y conciliación bancaria nocturna.

Lo que NO podés hacer con este rol

  • Operar módulos de negocio directamente como si fueras un operador (aunque técnicamente tenés acceso, el rol Admin está pensado para configuración, no para carga operativa diaria).
  • Eliminar registros históricos de pagos, matrículas o trámites (el sistema no lo permite por integridad contable; solo podés anular con trazabilidad).
  • Modificar el código fuente desde el panel (la configuración es a nivel de parámetros, no de código).

Flujos de trabajo típicos

Escenario 1: Alta de un nuevo operador de finanzas

  1. El jefe administrativo solicita dar de alta a un nuevo empleado para el área de finanzas.
  2. Ingresás a Administración → Usuarios → + Nuevo usuario.
  3. Asignás el rol OPERADOR_FINANZAS y los permisos FINANZAS/CREATE/PAYMENT, FINANZAS/READ/RECEIPT, FINANZAS/UPDATE/CUOTA.
  4. El operador recibe el correo de activación y puede ingresar al sistema.

Escenario 2: Actualización de claves de Mercado Pago tras renovación anual

  1. Mercado Pago notifica el vencimiento de las credenciales de integración.
  2. Ingresás a Administración → Configuración → Integraciones → Mercado Pago.
  3. Reemplazás ACCESS_TOKEN y PUBLIC_KEY con los nuevos valores obtenidos del panel de Mercado Pago.
  4. Guardás y reiniciás el servicio de pagos online desde Administración → Servicios.
  5. Realizás un pago de prueba desde una cuenta colegiado de test para confirmar que la integración funciona.

Recursos relacionados

  • Módulo de Administración de Usuarios
  • Configuración Global del Sistema
  • Tareas Automáticas (CRON)
  • Auditoría y Logs
  • Integración Mercado Pago
Bandeja de solicitudes de matrícula
🖥 Escritorio Bandeja de solicitudes de matrícula
Bandeja de solicitudes de matrícula — móvil
📱 Móvil Bandeja de solicitudes de matrícula

Guía de Inicio Rápido — Operador de Matrículas

¿Qué es este rol?

El Operador de Matrículas es el responsable de gestionar el ciclo de vida de las matrículas profesionales en el Colegio. Revisa las solicitudes de nuevos aspirantes, valida la documentación presentada, aprueba o rechaza inscripciones, emite credenciales y mantiene actualizado el padrón de colegiados. Es el nexo entre los aspirantes que solicitan matricularse y la habilitación formal para ejercer la profesión.

Acceso al sistema

  • URL de login: https://psicole.app/login
  • Dashboard: al ingresar verás un resumen de solicitudes pendientes de revisión, matrículas vencidas por renovar y alertas de documentación incompleta. El panel principal muestra una cola de trabajo priorizada por antigüedad de solicitud.

Tus tareas principales

1. Revisar y procesar solicitudes de matrícula

Esta es la tarea central del rol. Las solicitudes llegan desde el portal del Aspirante.

  1. Ingresá a Matrículas → Solicitudes Pendientes.
  2. La lista muestra cada solicitud con: nombre del aspirante, fecha de solicitud, estado de la documentación y días en cola.
  3. Hacé clic en una solicitud para abrir el expediente digital.
  4. Revisá cada documento adjunto (título universitario, DNI, foto, constancia de CUIL, comprobante de pago del arancel de inscripción):
  5. Tildá cada documento como Verificado si es legible y válido.
  6. Si un documento está incompleto o ilegible, usá Solicitar corrección para enviar un mensaje automático al aspirante indicando qué debe reenviar.
  7. Una vez que todos los documentos estén verificados, habilitá el botón Aprobar solicitud.
  8. Al aprobar, el sistema genera automáticamente:
  9. Número de matrícula (correlativo).
  10. Credencial digital con código QR.
  11. Notificación por e-mail al nuevo colegiado.
  12. Primera cuota de matrícula anual (en coordinación con el módulo de Finanzas).

2. Gestionar el padrón de colegiados activos

  1. Ingresá a Matrículas → Padrón de Colegiados.
  2. Podés buscar por nombre, apellido, número de matrícula o DNI.
  3. Desde la ficha de cada colegiado podés:
  4. Actualizar datos personales (domicilio, teléfono, e-mail) a pedido del profesional.
  5. Registrar un cambio de categoría (por ejemplo, de matrícula provisoria a definitiva).
  6. Suspender o dar de baja una matrícula por resolución del Colegio (requiere ingresar el número de expediente resolutivo).
  7. Emitir una nueva credencial si la anterior fue extraviada o venció.

3. Controlar vencimientos y renovaciones

  1. Ingresá a Matrículas → Vencimientos.
  2. El sistema muestra un calendario con las matrículas que vencen en los próximos 30, 60 y 90 días.
  3. Podés lanzar un envío masivo de notificaciones a todos los colegiados con vencimiento próximo desde el botón Notificar seleccionados.
  4. Para procesar una renovación: buscá al colegiado, verificá que esté al día con sus cuotas (el indicador de deuda aparece en la ficha) y hacé clic en Renovar matrícula. El sistema actualizará la fecha de vigencia automáticamente.

Lo que NO podés hacer con este rol

  • Registrar o modificar pagos — eso es exclusivo del Operador de Finanzas.
  • Acceder a los expedientes de trámites (habilitaciones, certificados) — eso lo gestiona el Operador de Trámites.
  • Crear usuarios del sistema — es función del Administrador.
  • Aprobar o rechazar devoluciones de cuotas — requiere permisos de Finanzas.
  • Ver información financiera consolidada del Colegio (reportes de recaudación global).

Flujos de trabajo típicos

Escenario 1: Aspirante que completó su solicitud online

  1. Recibís una notificación en el dashboard: "Nueva solicitud de matrícula — García, María José".
  2. Abrís el expediente en Matrículas → Solicitudes Pendientes.
  3. Revisás los 5 documentos requeridos. El título universitario está escaneado con baja resolución.
  4. Hacés clic en Solicitar corrección → seleccionás "Título universitario" → escribís: "Por favor, reenvíe el título con mejor resolución (mínimo 300 DPI)".
  5. El aspirante recibe el correo, reenvía el documento actualizado y la solicitud vuelve a tu cola.
  6. Verificás el nuevo documento, tildás todos como válidos y hacés clic en Aprobar solicitud.
  7. El sistema genera la matrícula N° 4821 y envía la credencial digital a la aspirante.

Escenario 2: Colegiado solicita duplicado de credencial

  1. El colegiado llama indicando que perdió su credencial.
  2. Buscás la matrícula en Matrículas → Padrón de Colegiados.
  3. Verificás que la matrícula esté vigente y sin deudas.
  4. Hacés clic en Emitir duplicado de credencial.
  5. El sistema genera un PDF con código QR actualizado que podés descargar e imprimir o enviar por e-mail.

Recursos relacionados

  • Módulo de Solicitud de Matrícula
  • Gestión de Matrículas
  • Credenciales y Códigos QR
  • Flujo del Aspirante
Panel de cobro de cuotas y deudas
🖥 Escritorio Panel de cobro de cuotas y deudas
Panel de cobro de cuotas y deudas — móvil
📱 Móvil Panel de cobro de cuotas y deudas

Guía de Inicio Rápido — Operador de Finanzas

¿Qué es este rol?

El Operador de Finanzas gestiona todo el ciclo económico del Colegio: emisión y seguimiento de cuotas, registro de pagos manuales, emisión de recibos, conciliación bancaria y control de deudas. Trabaja en estrecha coordinación con el módulo de Pagos Online (Mercado Pago) para registrar cobros automáticos y con el módulo de Liquidaciones para distribuir fondos de prestadores.

Es el rol responsable de mantener la salud financiera del padrón: que cada colegiado tenga sus cuotas generadas, que los pagos estén correctamente imputados y que los recibos sean emitidos con datos válidos.

Acceso al sistema

  • URL de login: https://psicole.app/login
  • Dashboard: al ingresar verás indicadores clave: recaudación del mes en curso, cantidad de cuotas vencidas sin pagar, pagos online pendientes de conciliación y alertas de discrepancias bancarias. El resumen financiero se actualiza en tiempo real.

Tus tareas principales

1. Registrar un pago manual

Cuando un colegiado paga en la sede del Colegio (efectivo, transferencia bancaria u otro medio fuera de Mercado Pago):

  1. Ingresá a Finanzas → Pagos → Registrar pago manual.
  2. Buscá al colegiado por nombre, DNI o número de matrícula.
  3. El sistema mostrará automáticamente las cuotas adeudadas ordenadas por vencimiento.
  4. Seleccioná la/s cuota/s que el colegiado está pagando.
  5. Completá:
  6. Monto recibido (puede incluir intereses por mora si corresponde).
  7. Medio de pago (efectivo, transferencia, cheque).
  8. Número de comprobante (si aplica, ej: número de transferencia bancaria).
  9. Fecha de pago (por defecto es hoy, pero podés retroceder si el pago fue procesado con demora).
  10. Hacé clic en Confirmar pago. El sistema imputará el pago a las cuotas seleccionadas y generará automáticamente el recibo.
  11. Podés descargar el recibo en PDF para entregar al colegiado o enviarlo por e-mail con el botón Enviar recibo.

2. Gestionar cuotas del padrón

  1. Ingresá a Finanzas → Cuotas.
  2. Podés filtrar por: colegiado, período, estado (pagada/vencida/pendiente/en mora).
  3. Para generar cuotas manualmente (si el CRON automático no se ejecutó o para un caso particular): buscá al colegiado → Acciones → Generar cuota → seleccioná período y monto.
  4. Para aplicar un descuento o bonificación: ingresá a la cuota, hacé clic en Modificar monto e ingresá el justificativo (este cambio queda registrado en la auditoría).
  5. Para dar de baja una cuota por error (por ejemplo, se generó duplicada): seleccioná la cuota y usá Anular cuota. Solo podés anular cuotas que no tengan pagos imputados.

3. Conciliación bancaria

La conciliación bancaria permite cruzar los movimientos del extracto bancario con los pagos registrados en el sistema.

  1. Ingresá a Finanzas → Conciliación Bancaria.
  2. Importá el extracto bancario en formato CSV o TXT (según el formato del banco).
  3. El sistema intentará matchear automáticamente cada movimiento bancario con un pago registrado, usando el monto, la fecha y el número de referencia.
  4. Los movimientos no identificados aparecen en la sección Pendientes de conciliación.
  5. Para cada pendiente: buscá manualmente el pago correspondiente usando el buscador lateral o marcalo como Ingreso no identificado para revisión posterior.
  6. Al finalizar, generá el Informe de conciliación en PDF.

4. Emitir y gestionar recibos

  1. Ingresá a Finanzas → Recibos.
  2. Podés buscar recibos por colegiado, número de recibo, período o fecha.
  3. Para reemitir un recibo (si el colegiado lo perdió): buscá el pago, hacé clic en Reemitir recibo. El sistema genera un PDF idéntico con marca de agua "DUPLICADO".
  4. Para anular un recibo: ingresá el número de recibo, clic en Anular e ingresá el motivo. La anulación queda registrada y el pago vuelve al estado "pendiente de imputación".

Lo que NO podés hacer con este rol

  • Aprobar o rechazar solicitudes de matrícula — es función del Operador de Matrículas.
  • Acceder al panel de administración de usuarios del sistema.
  • Modificar los parámetros de integración de Mercado Pago — eso lo hace el Administrador.
  • Gestionar cursos o inscripciones — es función del Operador de Cursos.
  • Aprobar trámites — es función del Operador o Supervisor de Trámites.

Flujos de trabajo típicos

Escenario 1: Colegiado paga en ventanilla con efectivo

  1. El colegiado se presenta en la sede y entrega $15.000 en efectivo por 2 cuotas adeudadas.
  2. Ingresás a Finanzas → Pagos → Registrar pago manual.
  3. Buscás al colegiado por DNI: "28.741.963".
  4. El sistema muestra 3 cuotas vencidas. Seleccionás las primeras 2 (las más antiguas, por orden de vencimiento).
  5. Ingresás monto $15.000, medio "Efectivo", fecha de hoy.
  6. El sistema calcula que las 2 cuotas suman $14.200 y el excedente de $800 se registra como adelanto para la próxima cuota.
  7. Se genera el recibo N° 000847. Lo imprimís y se lo entregás al colegiado.

Escenario 2: Detectar y resolver una discrepancia en conciliación

  1. Al importar el extracto bancario del viernes, el sistema deja 3 movimientos sin identificar.
  2. Ingresás a Finanzas → Conciliación Bancaria → Pendientes.
  3. Uno de los movimientos de $7.500 no matchea. Revisás la descripción: "TRANSFERENCIA GONZALEZ PEDRO".
  4. Buscás en pagos online y encontrás un pago de Mercado Pago de ese colegiado por el mismo monto registrado el mismo día pero con un ID diferente.
  5. Asociás manualmente el movimiento bancario al pago MP y lo marcás como conciliado.
  6. Los otros 2 movimientos son depósitos propios del Colegio; los marcás como "Operación interna".

Recursos relacionados

  • Módulo de Finanzas — Cuotas y Pagos
  • Pagos Online con Mercado Pago
  • Conciliación Bancaria
  • Módulo de Liquidaciones
  • Emisión de Recibos y PDFs
Gestión de cursos de capacitación
🖥 Escritorio Gestión de cursos de capacitación
Gestión de cursos de capacitación — móvil
📱 Móvil Gestión de cursos de capacitación

Guía de Inicio Rápido — Operador de Cursos

¿Qué es este rol?

El Operador de Cursos administra la oferta de capacitación y formación continua del Colegio. Es responsable de crear y publicar cursos, gestionar las inscripciones de los colegiados, controlar la asistencia, emitir certificados de aprobación y manejar los aranceles asociados a cada capacitación.

Este rol trabaja de forma coordinada con el módulo de Finanzas cuando los cursos son arancelados, ya que el pago de la inscripción se procesa a través del sistema de cuotas o de Mercado Pago.

Acceso al sistema

  • URL de login: https://psicole.app/login
  • Dashboard: al ingresar verás un resumen de cursos activos, inscripciones de la semana, próximas fechas de inicio y alertas de cursos con cupo casi completo. También aparece una bandeja de solicitudes de inscripción pendientes de confirmación.

Tus tareas principales

1. Crear y publicar un nuevo curso

  1. Ingresá a Cursos → Gestión de Cursos → + Nuevo curso.
  2. Completá el formulario:
  3. Nombre del curso y descripción detallada.
  4. Modalidad: presencial, virtual o híbrida.
  5. Fechas: fecha de inicio, fecha de fin y fechas de cada clase si es un curso con múltiples encuentros.
  6. Cupo máximo: cantidad de inscriptos permitidos.
  7. Arancel: si es gratuito o arancelado (en ese caso, ingresá el monto y el método de cobro: débito automático, Mercado Pago o pago en sede).
  8. Instructor/Disertante: nombre y datos del responsable del curso.
  9. Puntaje de actualización: si el curso otorga créditos de formación continua, ingresá la cantidad de horas o puntos.
  10. Subí el material de difusión (imagen de portada, programa del curso en PDF).
  11. Hacé clic en Guardar como borrador para revisarlo antes de publicar.
  12. Una vez conforme, hacé clic en Publicar. El curso aparecerá disponible en el portal de autogestión de los colegiados.

2. Gestionar inscripciones

  1. Ingresá a Cursos → Inscripciones.
  2. Seleccioná el curso para ver su lista de inscriptos.
  3. Las inscripciones pueden venir de dos fuentes:
  4. Online: el colegiado se inscribió desde su portal de autogestión. Aparece con estado "Pendiente de confirmación".
  5. Manual: un colegiado solicitó inscripción por teléfono o presencialmente. Usá + Inscribir manualmente, buscá al colegiado por matrícula o DNI y confirmá.
  6. Para confirmar una inscripción online: revisá si el curso es arancelado y si el pago fue registrado. Si todo está en orden, hacé clic en Confirmar inscripción. El colegiado recibe un e-mail de confirmación con los datos del curso.
  7. Para cancelar una inscripción: seleccioná al inscripto y hacé clic en Cancelar. Si corresponde devolución de arancel, coordiná con el Operador de Finanzas.
  8. Si el cupo se completó, el sistema cierra automáticamente las inscripciones. Podés habilitar una lista de espera desde la configuración del curso.

3. Registrar asistencia y emitir certificados

Registro de asistencia:

  1. Ingresá a Cursos → Asistencia.
  2. Seleccioná el curso y la fecha del encuentro.
  3. Para cada participante de la lista, marcá Presente, Ausente o Tardanza.
  4. Guardá la asistencia. El sistema acumula el porcentaje de asistencia por participante.

Emisión de certificados:

  1. Una vez finalizado el curso, ingresá a Cursos → Certificados.
  2. El sistema lista a todos los inscriptos con su porcentaje de asistencia.
  3. Marcá como Aprobados a quienes cumplieron el mínimo de asistencia requerido (configurable por curso, generalmente 75%).
  4. Hacé clic en Generar certificados masivos. El sistema crea un PDF personalizado para cada aprobado, firmado digitalmente con el logo y datos del Colegio.
  5. Los certificados quedan disponibles para descarga en el portal de autogestión de cada colegiado y podés enviarlos masivamente por e-mail desde el mismo módulo.

Lo que NO podés hacer con este rol

  • Registrar pagos de aranceles — los pagos los gestiona el Operador de Finanzas.
  • Aprobar matrículas o trámites del Colegio.
  • Acceder a información financiera global del Colegio (recaudación, deudas del padrón).
  • Crear o modificar usuarios del sistema.
  • Gestionar prestadores ni órdenes de obras sociales.

Flujos de trabajo típicos

Escenario 1: Puesta en marcha de un curso de posgrado arancelado

  1. El área académica confirma que se dictará "Terapia Cognitivo Conductual — Módulo Avanzado", 4 sábados, arancel $8.000, cupo 20 personas.
  2. Creás el curso en Cursos → + Nuevo curso con todos los datos, configurás el pago por Mercado Pago y publicás.
  3. En los siguientes días, llegán 18 inscripciones online. Revisás que cada una tenga el pago confirmado desde Cursos → Inscripciones.
  4. Dos inscripciones están sin pago; enviás un recordatorio automático con el botón Notificar pago pendiente.
  5. Al completarse el primer encuentro, registrás asistencia: 17 presentes, 1 ausente justificado.
  6. Al finalizar el cuarto módulo, generás los 16 certificados de aprobación (17 asistentes menos 1 que no alcanzó el 75% de asistencia).

Escenario 2: Gestión de un curso gratuito con lista de espera

  1. Publicás un webinar gratuito con cupo de 50 personas.
  2. En 2 horas se completa el cupo. Activás la lista de espera desde Cursos → Configuración del curso.
  3. Una semana antes del curso, 5 inscriptos cancelan. El sistema automáticamente notifica a los primeros 5 de la lista de espera para que confirmen.
  4. Confirmás los nuevos inscriptos y el cupo queda completo nuevamente.

Recursos relacionados

  • Módulo de Cursos
  • Emisión de Certificados
  • Integración de Pagos de Aranceles
  • Autogestión del Profesional — Inscripción a Cursos
Bandeja de tickets y trámites asignados
🖥 Escritorio Bandeja de tickets y trámites asignados
Bandeja de tickets y trámites asignados — móvil
📱 Móvil Bandeja de tickets y trámites asignados

Guía de Inicio Rápido — Operador de Trámites

¿Qué es este rol?

El Operador de Trámites gestiona los tickets y solicitudes formales que los colegiados presentan al Colegio. Recibe tickets asignados automáticamente por el sistema, los atiende dentro del plazo (SLA) establecido, y puede pedir documentación adicional, pausar, resolver o derivar al supervisor.

Al ingresar al sistema, el operador llega directamente a su Dashboard Personal — una vista de bienvenida con todas sus tareas organizadas por urgencia.


Acceso al sistema

  • URL: https://psicole.app/login
  • Redirección automática: al ingresar, el sistema te lleva directo a /operator/dashboard — sin pasos extra.

Mi Dashboard Personal

Ruta: /operator/dashboard

Al entrar verás un panel con encabezado en degradado que muestra tu nombre, fecha y rol, seguido de los indicadores clave de tu trabajo.

Dashboard personal del operador con encabezado de bienvenida y KPIs

KPIs en tiempo real

Los indicadores en el encabezado muestran de un vistazo:

  • Pendientes — tickets que todavía no tomaste
  • En progreso — tickets que ya estás atendiendo
  • Resueltos hoy — completados en el día
  • Vencidos — tickets cuyo SLA ya expiró

KPIs del dashboard con contadores por estado

Alerta de tickets vencidos

Si tenés tickets con SLA vencido, aparece un banner rojo al tope del dashboard para que no se te escapen.

Tickets agrupados por urgencia

Los tickets están organizados en grupos con color en el borde izquierdo:

Grupo Color Descripción
SLA Vencido Rojo Requieren atención inmediata
En Progreso Azul Estás trabajando activamente
En Advertencia Naranja Menos del 25% del tiempo restante
Resto Gris Dentro del plazo normal

Grupos de tickets por urgencia con semáforo SLA

Vista en mobile:

Dashboard del operador en celular


Kanban de Tickets

Ruta: /operator/tickets

Vista estilo tablero con columnas por estado. Cada columna muestra los tickets que corresponden a ese estado y el semáforo SLA (verde / naranja / rojo).

Kanban de tickets del operador en desktop

Vista mobile:

Kanban en celular


Detalle de un Ticket

Hacé clic en cualquier ticket (en el dashboard o en el kanban) para abrir el detalle completo.

Detalle de ticket en desktop

Desde el detalle podés:

  • Ver todos los datos del solicitante y la categoría
  • Leer el historial de comentarios y acciones
  • Cambiar el estado del ticket (tomar, avanzar, pausar, resolver)
  • Agregar comentarios internos o públicos
  • Si la categoría tiene un trámite vinculado, aparece el botón "Ver servicio relacionado" para ir directamente al módulo

Vista mobile:

Detalle de ticket en celular


Ciclo de vida de un ticket

PENDIENTE → ASIGNADO → EN PROGRESO → [PAUSADO] → RESUELTO → CERRADO
Acción Cuándo usarla
Tomar ticket Para asumir un ticket pendiente
Iniciar progreso Cuando comenzás a trabajar activamente
Pausar Si necesitás esperar algo (con motivo registrado)
Esperando solicitante Si el colegiado debe responder o aportar algo
Resolver Cuando el trabajo está completado

El semáforo SLA en cada ticket indica: - 🟢 Verde — dentro del plazo - 🟠 Naranja — menos del 25% del tiempo restante - 🔴 Rojo — SLA vencido


Alertas y notificaciones

Cuando se te asigna un ticket nuevo, recibís una notificación en la campana del header. Haciendo clic en la notificación llegás directamente al ticket.

Panel de notificaciones con ticket asignado

Vista mobile:

Notificaciones en celular


Flujo diario típico

  1. Entrás al sistema → aterrizás en Mi Dashboard
  2. Revisás el banner rojo (si hay tickets vencidos, atendelós primero)
  3. Revisás el grupo En Advertencia (naranja) — son los que están por vencerse
  4. Trabajás los tickets En Progreso
  5. Tomás tickets Pendientes según disponibilidad
  6. Al resolver, cambiás el estado a Resuelto — el sistema notifica al solicitante automáticamente

Recursos relacionados

  • Sistema completo de Tickets y Soporte
  • Gestión del Supervisor de Trámites
Panel de supervisión de trámites y SLA
🖥 Escritorio Panel de supervisión de trámites y SLA
Panel de supervisión de trámites y SLA — móvil
📱 Móvil Panel de supervisión de trámites y SLA

Guía de Inicio Rápido — Supervisor de Trámites

¿Qué es este rol?

El Supervisor de Trámites tiene visibilidad completa sobre la operación: ve los tickets de todos los operadores, puede reasignar, cerrar y monitorear el cumplimiento de SLA. Además accede al dashboard de métricas con KPIs globales y a la vista kanban por operador.


Acceso al sistema

  • URL: https://psicole.app/login
  • Menú: Tickets → Métricas / Tickets → Gestión de Tickets

Dashboard de Métricas

Ruta: /supervisor/metrics

Vista ejecutiva con KPIs del estado completo de la operación: tickets por estado, tiempos de resolución promedio y carga por operador.

Dashboard de métricas del supervisor en desktop

Vista mobile:

Métricas del supervisor en celular

Los indicadores clave incluyen: - Total de tickets activos en el sistema - Tickets por estado (pendiente, en progreso, resueltos, vencidos) - Distribución por operador y área de trabajo - Semáforo SLA global


Kanban por Operador

Ruta: /supervisor/tickets → Tab "Por operador"

Vista kanban que agrupa todos los tickets por operador para visualizar la carga de trabajo de cada uno. Desde acá podés detectar desbalances y reasignar tickets.

Kanban agrupado por operador con semáforo SLA

Reasignar un ticket

  1. Abrís el detalle del ticket
  2. Clic en Reasignar
  3. Seleccionás el nuevo operador disponible
  4. El operador anterior y el nuevo reciben notificación automática

Semáforo SLA

El semáforo es visible en todas las vistas:

Color Estado Acción recomendada
🟢 Verde OK — dentro del plazo Ninguna
🟠 Naranja WARNING — menos del 25% restante Verificar avance
🔴 Rojo BREACHED — SLA vencido Reasignar o intervenir

El sistema puede generar alertas automáticas al supervisor cuando se supera el SLA (configurado en Tareas Programadas).


Cerrar un ticket

Como supervisor podés cerrar definitivamente un ticket resuelto: 1. Abrís el detalle del ticket (estado RESOLVED) 2. Clic en Cerrar ticket 3. El ticket pasa a estado CLOSED — acción irreversible

El cierre automático ocurre a los 7 días de resolución (configurable en Parámetros del Sistema).


Configuración del módulo

La configuración de categorías, áreas de trabajo y parámetros es responsabilidad del Administrador. Ver:

  • Categorías de Tickets
  • Áreas de Trabajo
  • Parámetros del Sistema — Sección TICKETS

Recursos relacionados

  • Sistema completo de Tickets y Soporte
  • Guía del Operador de Trámites
Portal de autogestión del profesional
🖥 Escritorio Portal de autogestión del profesional
Portal de autogestión del profesional — móvil
📱 Móvil Portal de autogestión del profesional

Guía de Inicio Rápido — Colegiado

¿Qué es este rol?

El Colegiado es el profesional psicólogo matriculado en el Colegio que accede al portal de autogestión para gestionar sus asuntos de manera autónoma: consultar y pagar sus cuotas, descargar recibos y certificados, solicitar trámites, inscribirse a cursos y actualizar sus datos. Este rol tiene acceso exclusivamente a su propia información — nunca puede ver ni modificar datos de otros colegiados.

Es el rol de mayor cantidad de usuarios en el sistema, ya que representa a todos los profesionales matriculados activos.

Acceso al sistema

  • URL de login: https://psicole.app/login (o el subdominio personalizado del Colegio, por ejemplo matriculas.cpacf.org.ar)
  • Credenciales: número de matrícula como usuario y la contraseña establecida durante la activación de la cuenta. Si es el primer ingreso, usá el link de activación enviado por e-mail cuando fue aprobada tu matrícula.
  • Dashboard: al ingresar verás un resumen de tu situación: estado de la matrícula (vigente/vencida), cuotas adeudadas, próximos cursos a los que estás inscripto y trámites en curso.

Tus tareas principales

1. Consultar y pagar tus cuotas online

  1. Ingresá a Mi cuenta → Cuotas y pagos.
  2. Verás el historial completo de cuotas: las pagas con fecha de pago y número de recibo, y las pendientes con su fecha de vencimiento y monto.
  3. Para pagar online, seleccioná la/s cuota/s que querés abonar (podés seleccionar varias a la vez).
  4. Hacé clic en Pagar con Mercado Pago. Serás redirigido al checkout de Mercado Pago.
  5. Elegí tu medio de pago: tarjeta de crédito/débito, transferencia bancaria o dinero en cuenta de Mercado Pago.
  6. Completá el pago. Al volver al portal, el sistema actualizará automáticamente el estado de las cuotas (puede demorar hasta 2 minutos en reflejarse si el banco tarda en confirmar).
  7. El recibo digital quedará disponible inmediatamente en Mi cuenta → Mis recibos.

2. Descargar recibos y comprobantes

  1. Ingresá a Mi cuenta → Mis recibos.
  2. Los recibos se muestran ordenados por fecha. Podés filtrar por año o período.
  3. Hacé clic en Descargar PDF sobre cualquier recibo para obtener el comprobante oficial del Colegio con número de recibo, datos del pago y código QR de verificación.
  4. El código QR del recibo permite que terceros (obras sociales, empleadores, juzgados) verifiquen la autenticidad del documento accediendo a https://psicole.app/verificar.

3. Solicitar un trámite

  1. Ingresá a Trámites → Nueva solicitud.
  2. Seleccioná el tipo de trámite que necesitás del menú desplegable (por ejemplo: "Constancia de matrícula vigente", "Certificado de buena conducta", "Habilitación de consultorio").
  3. Completá el formulario con los datos requeridos y adjuntá la documentación solicitada (el sistema indica qué documentos son obligatorios para cada tipo de trámite).
  4. Si el trámite tiene arancel, el sistema te solicitará el pago antes de confirmar la solicitud.
  5. Hacé clic en Enviar solicitud. Recibirás un número de expediente y un correo de confirmación.
  6. Podés seguir el estado del trámite en tiempo real desde Trámites → Mis trámites. Si el operador te solicita documentación adicional, recibirás una notificación y podrás adjuntarla desde el mismo expediente.

4. Inscribirte a un curso

  1. Ingresá a Cursos → Oferta de cursos.
  2. Explorá los cursos disponibles. Podés filtrar por modalidad, fecha o temática.
  3. Hacé clic en un curso para ver el detalle: descripción, programa, disertante, fechas, cupo disponible y arancel.
  4. Si querés inscribirte, hacé clic en Inscribirme.
  5. Si el curso es gratuito, la inscripción se confirma de inmediato.
  6. Si el curso es arancelado, el sistema te redirigirá al pago mediante Mercado Pago. Una vez confirmado el pago, tu inscripción queda registrada.
  7. Recibirás un e-mail de confirmación con todos los detalles del curso (links de acceso si es virtual, dirección si es presencial).

5. Actualizar tus datos personales y profesionales

  1. Ingresá a Mi cuenta → Mis datos.
  2. Podés actualizar: domicilio particular, domicilio profesional, teléfono de contacto y e-mail.
  3. Importante: algunos cambios (como el cambio de nombre por razones legales) requieren documentación respaldatoria y se procesan como un trámite formal.
  4. Guardá los cambios. Los datos actualizados se reflejan en los próximos certificados y constancias que solicites.

Lo que NO podés hacer con este rol

  • Ver información de otros colegiados — el sistema te muestra exclusivamente tu propia información.
  • Modificar el monto de tus cuotas ni solicitar exenciones de pago directamente (debés solicitarlo como un trámite formal).
  • Acceder a los módulos administrativos (matrículas, finanzas, cursos, trámites) en su versión operativa.
  • Descargar recibos de pagos que no te correspondan.
  • Aprobar o rechazar ningún tipo de solicitud.

Flujos de trabajo típicos

Escenario 1: Pagar las cuotas atrasadas y descargar un certificado para una obra social

  1. Tu obra social requiere una constancia de matrícula vigente y de estar al día con las cuotas del Colegio.
  2. Ingresás a Mi cuenta → Cuotas y pagos: tenés 2 cuotas vencidas.
  3. Seleccionás ambas cuotas y pagás online con tu tarjeta de crédito a través de Mercado Pago.
  4. Una vez confirmado el pago, ingresás a Trámites → Nueva solicitud → "Constancia de matrícula vigente".
  5. Enviás la solicitud. En minutos recibís el PDF por e-mail y también está disponible en Trámites → Mis trámites.
  6. Descargás el PDF y lo adjuntás en el formulario de la obra social.

Escenario 2: Inscripción a un curso con cupo limitado

  1. Ves publicado el curso "Neuropsicología Clínica" con solo 5 lugares disponibles.
  2. Ingresás a Cursos → Oferta de cursos, buscás el curso y hacés clic en Inscribirme.
  3. El curso tiene arancel de $5.000. Pagás con tu tarjeta a través de Mercado Pago.
  4. Recibís la confirmación: "Tu inscripción al curso Neuropsicología Clínica fue confirmada. Fecha de inicio: 15 de abril."
  5. El certificado de aprobación estará disponible automáticamente en tu portal al finalizar el curso.

Recursos relacionados

  • Autogestión del Profesional — Guía completa
  • Pagos Online con Mercado Pago
  • Tipos de Trámites disponibles
  • Oferta de Cursos
  • Verificación de Documentos con QR
Portal de carga de órdenes de obra social
🖥 Escritorio Portal de carga de órdenes de obra social
Portal de carga de órdenes de obra social — móvil
📱 Móvil Portal de carga de órdenes de obra social

Guía de Inicio Rápido — Prestador

¿Qué es este rol?

El Prestador es el profesional psicólogo matriculado que, además de su membresía como colegiado, está registrado como prestador de servicios de salud mental para una o más obras sociales y/o prepagas. A través de este rol, gestiona las órdenes de atención que recibe de sus pacientes afiliados, las presenta al Colegio para su procesamiento y cobra sus honorarios mediante el sistema de liquidaciones.

El módulo de Prestadores es el nexo entre la atención clínica individual del profesional y la facturación a las obras sociales. El Colegio actúa como intermediario, acumula las órdenes, factura a las obras sociales y liquida los honorarios a los prestadores.

Acceso al sistema

  • URL de login: https://psicole.app/login
  • Dashboard: al ingresar verás un resumen de tu actividad como prestador: órdenes cargadas en el período actual, estado de la última liquidación, importe pendiente de cobro y alertas de órdenes rechazadas que requieren tu atención.

Tus tareas principales

1. Cargar órdenes de atención

Esta es la tarea más frecuente del prestador, realizada habitualmente al cierre de cada mes o período de presentación.

  1. Ingresá a Prestaciones → Cargar órdenes.
  2. Hacé clic en + Nueva orden.
  3. Completá los datos de la orden:
  4. Obra social / prepaga: seleccioná de la lista la obra social del paciente.
  5. Número de afiliado del paciente.
  6. Fecha de atención.
  7. Código de prestación (código de nomenclador correspondiente al tipo de consulta, por ejemplo: 25-01 para psicoterapia individual).
  8. Cantidad de sesiones del período (si la orden cubre múltiples sesiones).
  9. Adjunto: escaneá la orden física o subí la orden digital enviada por el paciente (JPG, PNG o PDF).
  10. Hacé clic en Guardar orden.
  11. Podés cargar múltiples órdenes en la misma sesión repitiendo el proceso.

Carga masiva: si tenés muchas órdenes del mismo período, usá la opción Importar desde planilla (Excel o CSV con el formato estándar descargable desde el sistema).

2. Revisar el estado de tus órdenes

  1. Ingresá a Prestaciones → Mis órdenes.
  2. Filtrá por período, obra social o estado.
  3. Los estados posibles son:
  4. Cargada: recibida por el sistema, pendiente de revisión por el área de prestaciones del Colegio.
  5. En proceso: el Colegio está verificando y preparando la facturación a la obra social.
  6. Presentada: la obra social recibió la facturación.
  7. Liquidada: la obra social pagó y el importe será incluido en tu próxima liquidación.
  8. Rechazada: la obra social rechazó la orden (verás el motivo del rechazo).
  9. Las órdenes rechazadas requieren tu atención: leé el motivo (puede ser un dato incorrecto, número de afiliado erróneo, código de prestación inválido) y usá Rectificar orden para corregir y volver a presentar.

3. Consultar y descargar liquidaciones

El Colegio emite liquidaciones periódicas (generalmente mensuales) con el detalle de los honorarios a acreditar.

  1. Ingresá a Prestaciones → Mis liquidaciones.
  2. Cada liquidación muestra: período, cantidad de órdenes incluidas, importe bruto, deducciones (si aplican, por ejemplo retenciones impositivas) e importe neto a acreditar.
  3. Hacé clic en Ver detalle para ver el desglose obra social por obra social.
  4. Hacé clic en Descargar liquidación para obtener el PDF oficial con firma digital del Colegio (válido como comprobante contable y para presentar a tu contador).
  5. La fecha de acreditación estimada se indica en cada liquidación.

4. Gestionar tu perfil de prestador

  1. Ingresá a Prestaciones → Mi perfil de prestador.
  2. Desde aquí podés:
  3. Ver las obras sociales habilitadas para presentar órdenes (si necesitás agregar una nueva, debés solicitarlo como un trámite formal).
  4. Actualizar tu CBU bancario para la acreditación de liquidaciones (requiere verificación del área de finanzas).
  5. Consultar tu código de prestador ante cada obra social.

Lo que NO podés hacer con este rol

  • Ver las órdenes de otros prestadores ni los importes de sus liquidaciones.
  • Aprobar tus propias órdenes — la verificación y aprobación la realiza el área de prestaciones del Colegio.
  • Modificar una orden ya liquidada — si hay un error en una orden ya cobrada, debés iniciar un trámite de rectificación formal.
  • Acceder a los módulos operativos del Colegio (matrículas, finanzas, cursos, trámites).
  • Cargar órdenes de obras sociales para las cuales no estás habilitado en el sistema.

Flujos de trabajo típicos

Escenario 1: Cierre mensual de presentación de órdenes

  1. Al fin del mes de marzo, tenés 28 sesiones realizadas distribuidas entre OSDE (12), Swiss Medical (10) y IOMA (6).
  2. Ingresás a Prestaciones → Cargar órdenes y cargás las 28 órdenes una a una (o importás la planilla Excel con todas).
  3. Confirmás la presentación del período marzo haciendo clic en Cerrar presentación del período. Las órdenes quedan en estado "Cargada" y el Colegio recibe la notificación.
  4. En los días siguientes, el área de prestaciones revisa las órdenes. Una orden de IOMA aparece como "Rechazada" con motivo: "Número de afiliado inválido".
  5. Contactás al paciente, obtenés el número correcto y usás Rectificar orden para corregirlo y volver a presentar.

Escenario 2: Recepción y descarga de liquidación mensual

  1. Recibís una notificación por e-mail: "Tu liquidación del período marzo 2026 está disponible."
  2. Ingresás a Prestaciones → Mis liquidaciones y abrís la liquidación de marzo.
  3. Ves el detalle: 27 órdenes liquidadas (1 aún en proceso), importe bruto $185.400, retención 3% = $5.562, importe neto a acreditar: $179.838. Fecha de acreditación: 5 de abril.
  4. Descargás el PDF para entregárselo a tu contador.
  5. El 5 de abril verificás en tu cuenta bancaria que el importe fue acreditado.

Recursos relacionados

  • Módulo de Prestadores
  • Guía de Carga de Órdenes
  • Sistema de Liquidaciones
  • Obras Sociales habilitadas
  • Autogestión del Profesional
Formulario de solicitud de matrícula
🖥 Escritorio Formulario de solicitud de matrícula
Formulario de solicitud de matrícula — móvil
📱 Móvil Formulario de solicitud de matrícula

Guía de Inicio Rápido — Aspirante

¿Qué es este rol?

El Aspirante es el profesional que completó su formación universitaria y desea matricularse en el Colegio de Psicólogos para ejercer legalmente la profesión. Es un rol temporal: existe únicamente durante el proceso de solicitud de matrícula. Una vez que la solicitud es aprobada, el usuario pasa a ser Colegiado automáticamente.

El Aspirante tiene acceso muy acotado al sistema: puede crear su cuenta, completar el formulario de solicitud de matrícula, adjuntar la documentación requerida, pagar el arancel de inscripción y hacer seguimiento del estado de su solicitud.

Acceso al sistema

  • URL de registro: https://psicole.app/registro (no es el mismo link que el login de colegiados)
  • Credenciales: las creás vos mismo al registrarte con tu dirección de e-mail y una contraseña.
  • Dashboard: al ingresar verás exclusivamente el estado de tu solicitud de matrícula: documentos entregados, documentos pendientes, estado general del expediente y mensajes del área de matrículas.

Tus tareas principales

1. Registrarse y crear la solicitud de matrícula

Si todavía no tenés cuenta en el sistema:

  1. Ingresá a https://psicole.app/registro.
  2. Completá el formulario de registro inicial:
  3. Nombre completo (tal como figura en tu DNI).
  4. Número de DNI.
  5. Número de CUIL.
  6. Correo electrónico (será tu medio de comunicación con el Colegio durante todo el proceso).
  7. Contraseña (mínimo 8 caracteres, al menos una mayúscula y un número).
  8. Recibirás un correo de verificación. Hacé clic en el link para activar tu cuenta.
  9. Una vez activada, ingresás con tu e-mail y contraseña.
  10. El sistema te llevará directamente al formulario de Solicitud de Matrícula.

2. Completar el formulario de solicitud

El formulario de solicitud tiene varias secciones. Podés guardarlo como borrador y completarlo en varias sesiones.

Sección 1: Datos personales - Nombre completo, fecha de nacimiento, domicilio particular, teléfono de contacto. - Foto de perfil (formato JPG o PNG, fondo blanco, mínimo 400x400 px).

Sección 2: Datos profesionales - Universidad de egreso. - Título obtenido (Licenciado/a en Psicología, Doctor/a, etc.). - Año de egreso. - Domicilio profesional (dirección donde ejercerás, puede ser el mismo que el particular).

Sección 3: Adjuntar documentación

Esta sección es crítica. Los documentos requeridos son:

Documento Formato aceptado Observaciones
DNI (frente y dorso) JPG, PNG, PDF Escaneado o foto clara, legible
Título universitario PDF o JPG Anverso y reverso; mínimo 300 DPI
Constancia de CUIL (AFIP) PDF Impresión del sitio de AFIP
Certificado analítico de materias PDF Emitido por la universidad, con sello y firma
Foto carnet JPG, PNG Fondo blanco, cara visible, sin accesorios
  • Hacé clic en + Adjuntar al lado de cada documento y seleccioná el archivo desde tu computadora o celular.
  • El sistema indica con un tilde verde cada documento correctamente cargado.

Sección 4: Pago del arancel de inscripción

  1. Una vez completadas las secciones anteriores, el sistema mostrará el monto del arancel de inscripción.
  2. Hacé clic en Pagar arancel de inscripción para ser redirigido al checkout de Mercado Pago.
  3. Podés pagar con tarjeta de crédito, débito, transferencia o dinero en cuenta de Mercado Pago.
  4. Una vez confirmado el pago, quedará registrado automáticamente en tu solicitud.

Envío final:

  1. Revisá que todas las secciones estén completas (el sistema señalará en rojo las incompletas).
  2. Hacé clic en Enviar solicitud. Recibirás un número de expediente y un correo de confirmación.

3. Hacer seguimiento de tu solicitud

  1. Ingresá al portal con tu e-mail y contraseña.
  2. En el dashboard verás el estado actual de tu expediente:
  3. Recibida: el Colegio recibió tu solicitud, está en cola de revisión.
  4. En revisión: un operador está verificando tu documentación.
  5. Documentación incompleta: el operador te solicita que corrijas o reenvíes algún documento. Recibirás un correo con el detalle.
  6. Aprobada: tu matrícula fue aprobada. Recibirás un correo con tu número de matrícula y las instrucciones para acceder al portal como Colegiado.
  7. Rechazada: la solicitud fue rechazada con el motivo indicado (podés subsanar el problema y presentar una nueva solicitud si corresponde).

4. Responder a una solicitud de corrección de documentación

Si el operador de matrículas detecta un problema con tu documentación:

  1. Recibirás un e-mail con el asunto: "Solicitud de corrección — Expediente N° XXXX".
  2. Ingresá al portal y en tu dashboard aparecerá un aviso naranja con el detalle de lo que debés corregir.
  3. Hacé clic en Ver solicitud de corrección para leer el mensaje del operador.
  4. Reemplazá el documento observado: hacé clic en Reenviar documento al lado del documento indicado y adjuntá el nuevo archivo.
  5. Una vez que hayas corregido todo lo indicado, hacé clic en Confirmar corrección. El expediente volverá a la cola de revisión del operador.

Lo que NO podés hacer con este rol

  • Acceder a ningún módulo del Colegio más allá de tu propia solicitud de matrícula.
  • Ver el estado de las solicitudes de otros aspirantes.
  • Solicitar trámites, inscribirte a cursos ni pagar cuotas — esas funciones estarán disponibles una vez que seas Colegiado.
  • Modificar el arancel de inscripción ni solicitar exenciones (debés contactar al Colegio por los canales institucionales antes de iniciar la solicitud).
  • Reutilizar el mismo e-mail para crear múltiples solicitudes simultáneas.

Flujos de trabajo típicos

Escenario 1: Primera solicitud de matrícula desde cero

  1. Te graduaste en marzo 2026 y querés matricularte.
  2. Ingresás a https://psicole.app/registro, creás tu cuenta y activás el e-mail.
  3. Completás el formulario: datos personales, datos de la UBA (tu universidad), subís los 5 documentos requeridos.
  4. Pagás el arancel de $12.000 con tu tarjeta de crédito.
  5. Enviás la solicitud. Recibís el correo: "Solicitud recibida — Expediente N° 2026-0847".
  6. A los 3 días hábiles, el operador detecta que el título subido está en baja resolución.
  7. Recibís el correo de corrección. Reescaneás el título a 300 DPI y lo reenvíás desde el portal.
  8. A los 2 días hábiles siguientes recibís: "Tu matrícula N° 5312 fue aprobada. Bienvenido/a al Colegio de Psicólogos."
  9. Tu acceso cambia automáticamente al rol Colegiado y podés usar todas las funciones del portal.

Escenario 2: Consultar el estado de una solicitud demorada

  1. Enviaste la solicitud hace 10 días hábiles y no recibiste novedades.
  2. Ingresás al portal: el estado dice "En revisión". No hay alertas de corrección pendiente.
  3. Revisás si llegó algún correo a la carpeta de spam — no hay ninguno.
  4. Usás el botón Contactar área de Matrículas (disponible en tu dashboard) para enviar un mensaje interno al Colegio preguntando el estado.
  5. Al día siguiente el operador responde: "Su expediente fue asignado a revisión, en 2 días hábiles tendrá respuesta."

Recursos relacionados

  • Módulo de Solicitud de Matrícula
  • Documentación requerida para matricularse
  • Preguntas frecuentes del Aspirante
  • Qué pasa después de ser aprobado — Guía del Colegiado
Pantalla de inicio de sesión en PSICOLE
🖥 Escritorio Pantalla de inicio de sesión en PSICOLE
Pantalla de inicio de sesión en PSICOLE — móvil
📱 Móvil Pantalla de inicio de sesión en PSICOLE

Autenticación y Permisos

Descripción

El módulo de Autenticación y Permisos gestiona el acceso seguro a PSICOLE mediante un esquema de doble token JWT y un modelo de control de acceso basado en roles (RBAC). Cada sesión emite un access token de 15 minutos (firmado con JWT_SECRET) y un refresh token de 7 días (firmado con JWT_REFRESH_SECRET) que se persiste en la base de datos, lo que permite invalidarlo en forma explícita en el logout o al detectar uso indebido.

El sistema implementa 9 roles fijos: ADMIN, OPERADOR_MATRICULAS, OPERADOR_FINANZAS, OPERADOR_CURSOS, OPERADOR_TRAMITES, SUPERVISOR_TRAMITES, COLEGIADO, PRESTADOR y ASPIRANTE. Cada rol lleva asociado un conjunto de permisos expresados como tripletas módulo / acción / recurso (por ejemplo, FINANZAS / CREATE / PAYMENT). El middleware authenticate verifica y decodifica el access token en cada request; requireRole y requirePermission aplican la regla de autorización antes de que el controlador procese la solicitud.

La impersonación de administrador permite al rol ADMIN iniciar sesión visual como cualquier otro usuario (excepto otros ADMIN) para diagnóstico y soporte. La sesión de impersonación es estrictamente de solo lectura: el middleware blockIfImpersonating() bloquea todas las operaciones de escritura. Cada inicio y fin de impersonación queda registrado en el AuditLog con IP, User-Agent, usuario origen y usuario destino.

Roles con acceso

Rol Nivel de acceso
ADMIN Administración completa — gestión de usuarios, impersonación, audit log
OPERADOR_MATRICULAS Acceso a su módulo asignado (EPIC-01)
OPERADOR_FINANZAS Acceso a su módulo asignado (EPIC-02)
OPERADOR_CURSOS Acceso a su módulo asignado (EPIC-03)
OPERADOR_TRAMITES Acceso a su módulo asignado (EPIC-09)
SUPERVISOR_TRAMITES Acceso supervisado al módulo de trámites
COLEGIADO Acceso a autogestión propia
PRESTADOR Acceso al portal de prestadores
ASPIRANTE Acceso al formulario de solicitud de matrícula

Flujo principal

Login

  1. El usuario ingresa su email (normalizado a minúsculas) y contraseña en el formulario de login (POST /api/v1/auth/login).
  2. El sistema busca el usuario en la base de datos e incluye el rol con todos sus permisos y los módulos operador asignados.
  3. Si el usuario no existe o la contraseña no coincide (verificada con bcrypt.compare), devuelve 401 Credenciales inválidas sin revelar cuál campo es incorrecto.
  4. Si el usuario existe pero está inactivo (isActive = false), devuelve 403 Usuario inactivo.
  5. Ante login exitoso, se generan el access token (15 min) y el refresh token (7 días). El refresh token se persiste en la tabla refresh_tokens con fecha de expiración.
  6. Se actualiza lastLogin del usuario y se incrementan las métricas de Prometheus correspondientes.
  7. La respuesta incluye accessToken, refreshToken y el objeto user completo (id, nombre, rol, permisos, datos del profesional si corresponde, módulos operador activos).

Pantalla de login con campos email y contraseña

Renovación de token (Refresh)

  1. El cliente (frontend con Axios) detecta una respuesta 401 con el access token expirado.
  2. El interceptor de Axios llama automáticamente a POST /api/v1/auth/refresh enviando el refresh token almacenado en memoria.
  3. El backend verifica la firma del refresh token, lo busca en la base de datos y comprueba que no haya expirado y que el usuario siga activo.
  4. Si todo es válido, devuelve un nuevo access token. El refresh token existente no se rota (solo se genera uno nuevo al hacer login o al detener impersonación).
  5. El interceptor reintenta automáticamente el request original con el nuevo token. Si el refresh falla, redirige al login.

📸No tiene pantalla propia — flujo transparente para el usuario — <em>screenshot pendiente — Fase 2</em>Captura — Fase 2

Logout

  1. El usuario hace clic en Cerrar Sesión en el menú de usuario.
  2. El frontend envía POST /api/v1/auth/logout con el refresh token.
  3. El backend elimina el registro del refresh token de la tabla refresh_tokens, invalidándolo para futuros intentos de renovación.
  4. El frontend borra el estado de autenticación en Zustand (authStore) y redirige al login.

Menú desplegable con opción Cerrar Sesión

Impersonación de usuario (solo ADMIN)

  1. El administrador navega a Usuarios → [usuario objetivo] → Iniciar Vista Como.
  2. El frontend llama a POST /api/v1/auth/impersonate/:userId.
  3. El sistema verifica que el solicitante sea ADMIN y que el objetivo no sea otro ADMIN.
  4. Se genera un access token especial con los campos isImpersonating: true e impersonatedBy: <adminId>. No se emite refresh token para las sesiones de impersonación.
  5. El audit log registra la acción IMPERSONATE_USER con IP y User-Agent.
  6. El frontend muestra un banner visual de advertencia ("Estás viendo como [nombre del usuario]") durante toda la sesión.
  7. Todas las peticiones de escritura (POST, PUT, DELETE) son bloqueadas por blockIfImpersonating() con 403 read-only.
  8. Para terminar, el administrador hace clic en Volver a mi cuenta (POST /api/v1/auth/stop-impersonation). El sistema genera tokens normales para el admin y registra STOP_IMPERSONATION en el audit log.

Banner de impersonación activo con nombre del usuario y botón Volver

Cambio de contraseña

  1. El usuario autenticado navega a Mi Perfil → Cambiar Contraseña.
  2. Ingresa la contraseña actual y la nueva contraseña (mínimo 8 caracteres).
  3. El sistema verifica la contraseña actual con bcrypt.compare antes de actualizar.
  4. El hash de la nueva contraseña se genera con bcrypt (rondas configurables, por defecto 10).

Formulario de cambio de contraseña con validaciones

Campos y validaciones

Campo Tipo Requerido Descripción
email string (email) Normalizado a minúsculas; unicidad validada en DB
password string Mínimo 8 caracteres; almacenado con bcrypt
firstName string Sí (registro) Nombre del usuario
lastName string Sí (registro) Apellido del usuario
dni string No (registro interno) Unicidad validada si se provee
refreshToken string JWT Sí (refresh/logout) Token emitido en login; firmado con JWT_REFRESH_SECRET

Reglas de negocio

Tokens de impersonación sin refresh

Las sesiones de impersonación no emiten refresh token. Al expirar el access token (15 min), la sesión termina automáticamente y el administrador debe volver a hacer login con sus propias credenciales.

Impersonación bloqueada entre administradores

Un ADMIN no puede impersonar a otro usuario con rol ADMIN. El sistema devuelve 403 en esos intentos.

Escritura bloqueada en modo impersonación

El middleware blockIfImpersonating() se aplica a todas las rutas de escritura. Cualquier intento de crear, modificar o eliminar datos durante una sesión de impersonación es rechazado con 403 read-only.

Contraseñas y seguridad

Los mensajes de error de login son deliberadamente ambiguos ("Credenciales inválidas") tanto para usuario no encontrado como para contraseña incorrecta, para evitar enumeración de usuarios.

Estados y transiciones

stateDiagram-v2
    [*] --> Anónimo
    Anónimo --> Autenticado : login exitoso
    Autenticado --> Anónimo : logout / token expirado sin refresh válido
    Autenticado --> Renovando : access token expirado
    Renovando --> Autenticado : refresh válido → nuevo access token
    Renovando --> Anónimo : refresh inválido o expirado
    Autenticado --> Impersonando : ADMIN inicia impersonación
    Impersonando --> Autenticado : stop-impersonation (vuelve al admin)
    Impersonando --> Anónimo : access token expirado (sin refresh)

Errores frecuentes

Error Causa Solución
401 Credenciales inválidas Email no existe o contraseña incorrecta Verificar email y contraseña; resetear desde administración si es necesario
403 Usuario inactivo El usuario tiene isActive = false El administrador debe reactivar el usuario desde Usuarios → Editar
401 Refresh token inválido o expirado El refresh token venció (7 días) o fue eliminado al hacer logout en otro dispositivo Iniciar sesión nuevamente
403 Solo los administradores pueden impersonar usuarios Se llama a /impersonate con un rol distinto a ADMIN Verificar que el usuario sea ADMIN antes de usar esta función
403 No puedes realizar esta acción en modo vista Se intenta una operación de escritura durante impersonación Detener la impersonación antes de realizar cambios
500 Error de configuración del sistema El rol ASPIRANTE no existe en la base de datos Ejecutar el seed de roles: npm run db:seed

Preguntas frecuentes

¿Qué pasa si el access token expira mientras el usuario está usando el sistema? El interceptor de Axios detecta la respuesta 401 y llama automáticamente al endpoint de refresh con el refresh token almacenado. Si el refresh es válido, el usuario no nota la interrupción. Si el refresh también venció (pasaron más de 7 días sin actividad), el usuario es redirigido al login.

¿Los refresh tokens se invalidan al cambiar la contraseña? No de forma automática en la implementación actual. Si se sospecha una sesión comprometida, el administrador puede desactivar el usuario (isActive = false) para forzar el cierre de todas las sesiones activas.

¿Qué información queda registrada en el audit log? Cada impersonación registra: ID del admin, email del admin, ID del usuario objetivo, email del objetivo, IP de origen y User-Agent del navegador. Las acciones IMPERSONATE_USER y STOP_IMPERSONATION son rastreables en Administración → Audit Log.

¿Puede un operador tener acceso a varios módulos? Sí. Un operador con rol genérico puede recibir asignaciones de módulos (OperatorModuleAssignment) que le otorgan acceso a EPICs específicos. El middleware requireModuleAccess verifica estas asignaciones en tiempo real contra la base de datos.

¿Cómo se crean los usuarios iniciales? El seed de base de datos (npm run db:seed) crea los roles del sistema y un usuario ADMIN inicial. Los demás usuarios se crean desde Administración → Usuarios o, en el caso de aspirantes, mediante el registro público en el formulario de solicitud de matrícula.

Formulario multi-paso de solicitud de matrícula
🖥 Escritorio Formulario multi-paso de solicitud de matrícula
Formulario multi-paso de solicitud de matrícula — móvil
📱 Móvil Formulario multi-paso de solicitud de matrícula

Solicitud de Matrícula

Descripción

El módulo de Solicitud de Matrícula implementa el proceso de onboarding de nuevos profesionales (UC-1.1). Un aspirante que desea colegiarse puede completar todo el trámite de forma digital, sin necesidad de concurrir físicamente al Colegio en la etapa inicial. El proceso está estructurado en un formulario multi-paso de 5 pasos con guardado automático de progreso: el aspirante puede cerrar la sesión y retomar desde el punto en que quedó.

El flujo comienza con la creación de una cuenta de usuario con rol ASPIRANTE y la verificación del email mediante un token de 24 horas. A continuación, el aspirante completa sus datos personales, académicos, carga los documentos requeridos (DNI frente/dorso, título universitario, analítico), firma la declaración jurada y abona el arancel de inscripción para enviar la solicitud. El sistema asigna un número de solicitud único con formato SOL-YYYY-XXXXXXXX.

Una vez enviada la solicitud, su estado pasa a PENDING_REVIEW y queda disponible en la bandeja de trabajo de los operadores de matrículas para su revisión. El aspirante puede consultar el estado de su solicitud en cualquier momento desde su portal de autogestión y recibe notificaciones por email ante cada cambio de estado.

Roles con acceso

Rol Nivel de acceso
ASPIRANTE Creación y edición de su propia solicitud; consulta de estado
OPERADOR_MATRICULAS Lectura de todas las solicitudes para revisión; solicitud de correcciones
ADMINISTRADOR Administración completa; acceso a todas las solicitudes

Flujo principal

Paso 0 — Registro de cuenta y verificación de email

  1. El aspirante accede a la URL pública de registro (/registro) e ingresa email, contraseña (mínimo 8 caracteres), nombre y apellido.
  2. El sistema crea el usuario con rol ASPIRANTE y la solicitud en estado DRAFT en paso 1.
  3. Se envía un email con un enlace de verificación válido por 24 horas.
  4. El aspirante hace clic en el enlace (GET /api/v1/enrollment-application/verify-email/:token).
  5. El sistema marca emailVerified = true y emite tokens de acceso (access + refresh) para que el aspirante continúe directamente al formulario.
  6. Si el enlace venció, el aspirante puede solicitar uno nuevo desde la pantalla de login con "Reenviar verificación".

Pantalla de registro con campos nombre, apellido, email y contraseña

Paso 1 — Datos personales

  1. El aspirante completa los datos personales obligatorios: nombre, apellido, DNI (tipo: DNI/LC/LE/Pasaporte), CUIT/CUIL, teléfono, fecha de nacimiento, género, nacionalidad y domicilio completo (calle, número, piso, departamento, código postal, ciudad, provincia).
  2. El sistema valida el dígito verificador del CUIT/CUIL con el algoritmo oficial argentino.
  3. Se verifica la unicidad de DNI y CUIT/CUIL contra todos los usuarios existentes.
  4. El aspirante puede declarar el tipo de solicitud: PROVISORIA (título en trámite de legalización) o DEFINITIVA (título ya legalizado).
  5. Al guardar, el paso avanza a 2 y los datos quedan persistidos aunque el aspirante cierre la sesión.

Formulario de datos personales con validación de CUIT en tiempo real

Paso 2 — Datos académicos

  1. El aspirante ingresa: nombre de la universidad, fecha de egreso, título obtenido (ej: Licenciado en Psicología) y especialidades (selección múltiple).
  2. Todos los campos son obligatorios excepto especialidades.
  3. El sistema actualiza el paso a 3 al guardar exitosamente.

Formulario de datos académicos con selector de especialidades

Paso 3 — Carga de documentos

  1. El aspirante sube los archivos requeridos. Formatos aceptados: PDF, JPEG, PNG. Tamaño máximo: 5 MB por archivo.
  2. Documentos obligatorios (sin estos no se puede enviar la solicitud):
    • DNI_FRONT — Frente del DNI
    • DNI_BACK — Dorso del DNI
    • UNIVERSITY_DEGREE — Título universitario o constancia de tramitación
    • ACADEMIC_TRANSCRIPT — Analítico de materias aprobadas
  3. Documentos opcionales:
    • CRIMINAL_RECORD — Certificado de antecedentes penales
    • GOOD_CONDUCT — Certificado de buena conducta
    • PHOTO — Foto tipo carnet
    • OTHER — Documentación adicional
  4. Cada documento subido queda asociado a la solicitud con su tipo, nombre original, tamaño y fecha de carga.
  5. La pantalla muestra el estado de cada documento requerido (subido / pendiente) y resalta los faltantes.

Panel de carga de documentos con indicadores de estado por tipo

Paso 4 — Declaración jurada y consentimiento

  1. El sistema muestra el texto completo de la declaración jurada de veracidad de datos y la política de privacidad.
  2. El aspirante debe tildar explícitamente los checkboxes de aceptación antes de continuar.
  3. Se registra la fecha y hora de aceptación.

Pantalla de declaración jurada con checkboxes de consentimiento

Paso 5 — Pago del arancel y envío

  1. El sistema calcula el arancel de inscripción según el tipo de solicitud y muestra una boleta con número único (BOL-YYYYMM-XXXXXX).
  2. El aspirante puede abonar online (mediante Mercado Pago integrado) o presencialmente (en cuyo caso un operador confirmará el pago manualmente).
  3. Una vez confirmado el pago, el estado de la solicitud cambia a PENDING_REVIEW y el aspirante recibe un email de confirmación con el número de solicitud.
  4. La solicitud queda disponible en la bandeja de trabajo de los operadores de matrículas.

Resumen final de la solicitud con monto del arancel y opciones de pago

Consulta de estado (vista del aspirante)

  1. El aspirante autenticado accede a Mi Solicitud desde su panel.
  2. Ve el estado actual, el número de solicitud, la fecha de envío y el historial de cambios de estado con comentarios del operador.
  3. Si el estado es REQUIRES_CHANGES, puede ver las observaciones del operador y subir los documentos corregidos.

Vista de seguimiento de solicitud con timeline de estados

Campos y validaciones

Campo Tipo Requerido Descripción
email string (email) Único en el sistema; usado como credencial de acceso
password string Mínimo 8 caracteres
firstName string Nombre del aspirante
lastName string Apellido del aspirante
dni string Sí (paso 1) Único; tipos: DNI, LC, LE, Pasaporte
dniType enum Sí (paso 1) DNI / LC / LE / PASAPORTE
cuitCuil string (11 dígitos) Sí (paso 1) Validado con algoritmo dígito verificador
phone string Sí (paso 1) Teléfono de contacto
birthDate date Sí (paso 1) Fecha de nacimiento
gender string No Género declarado
nationality string No Nacionalidad
street / streetNumber string No Domicilio particular
postalCode / city / province string No Localización del domicilio
universityName string Sí (paso 2) Institución donde obtuvo el título
graduationDate date Sí (paso 2) Fecha de egreso
degreeTitle string Sí (paso 2) Título obtenido
specialties string[] No Especialidades declaradas
applicationType enum No PROVISORIA o DEFINITIVA
documents file[] Sí (paso 3) PDF/JPEG/PNG, máx. 5 MB cada uno

Reglas de negocio

Email no verificado bloquea el avance

Mientras el email no esté verificado, el aspirante no puede guardar datos del formulario. El token de verificación tiene validez de 24 horas; vencido ese plazo, debe solicitar uno nuevo.

Documentos obligatorios para enviar

La solicitud no puede enviarse al colegio si faltan alguno de los 4 documentos obligatorios: DNI (frente y dorso), título universitario y analítico. El sistema muestra qué documentos faltan y bloquea el botón de envío.

Unicidad de DNI y CUIT/CUIL

Si el DNI o CUIT/CUIL ya existe en el sistema (incluso en usuarios dados de baja), el sistema rechaza el guardado con un error descriptivo. El caso debe ser analizado manualmente por un operador.

Progreso guardado automáticamente

El formulario multi-paso guarda el progreso paso a paso. El aspirante puede cerrar el navegador y retomar desde donde lo dejó. La solicitud permanece en estado DRAFT hasta que se envía con el pago confirmado.

Estados y transiciones

stateDiagram-v2
    [*] --> DRAFT : registro exitoso
    DRAFT --> DRAFT : completando pasos 1-4
    DRAFT --> PENDING_PAYMENT : formulario completo, esperando pago
    PENDING_PAYMENT --> PENDING_REVIEW : pago confirmado (online o manual)
    PENDING_REVIEW --> UNDER_REVIEW : operador toma la solicitud
    UNDER_REVIEW --> REQUIRES_CHANGES : operador solicita correcciones
    REQUIRES_CHANGES --> UNDER_REVIEW : aspirante sube documentos corregidos
    UNDER_REVIEW --> INTERNALLY_APPROVED : aprobación interna → matrícula provisoria
    UNDER_REVIEW --> REJECTED : rechazo definitivo
    INTERNALLY_APPROVED --> PENDING_MINISTRY : se eleva al Ministerio de Salud
    PENDING_MINISTRY --> APPROVED : aprobación ministerial → colegiado definitivo
    PENDING_MINISTRY --> REJECTED : rechazo ministerial

Errores frecuentes

Error Causa Solución
409 El email ya está registrado El email ya tiene una cuenta (activa o inactiva) Usar "Recuperar contraseña" o contactar al Colegio para unificar registros
409 El DNI ya está registrado en el sistema Otro usuario tiene ese DNI El operador debe revisar si se trata de un duplicado o un error de carga
400 El CUIT/CUIL ingresado no es válido El dígito verificador no coincide Verificar que el número sea correcto; los guiones no son necesarios
400 Token de verificación ha expirado Pasaron más de 24 horas desde el envío del email Usar "Reenviar verificación" en la pantalla de login
400 Faltan campos requeridos Se intentó guardar un paso sin completar todos los campos obligatorios Completar los campos marcados en rojo antes de guardar
Archivo rechazado al subir Tipo de archivo no permitido o supera 5 MB Convertir a PDF/JPEG/PNG y reducir tamaño si supera el límite

Preguntas frecuentes

¿Puedo modificar los datos después de enviar la solicitud? Una vez enviada (estado PENDING_REVIEW), los datos ya no se pueden modificar directamente. Si el operador detecta un error, puede cambiar el estado a REQUIRES_CHANGES para que el aspirante corrija los documentos. Los datos personales solo se modifican mediante una solicitud formal al operador.

¿Qué significa solicitud de tipo PROVISORIA vs DEFINITIVA? PROVISORIA es para quienes tienen el título pero aún no han completado el trámite de legalización ante el Ministerio de Salud. DEFINITIVA es para quienes ya tienen el título debidamente apostillado o legalizado. Ambas pueden presentarse; la diferencia afecta el flujo de aprobación ministerial posterior.

¿Cuánto tiempo tengo para completar el formulario? No hay límite de tiempo para completar los pasos del formulario (la solicitud permanece en DRAFT indefinidamente). El único vencimiento es el token de verificación de email (24 horas) y la preferencia de pago online si se genera (24 horas).

¿Cómo sé si mi solicitud fue recibida correctamente? Recibirás un email de confirmación con el número de solicitud (SOL-YYYY-XXXXXXXX) cuando el pago sea confirmado y la solicitud pase a PENDING_REVIEW. También podés consultar el estado en cualquier momento desde tu portal.

¿Puedo subir más de un archivo por tipo de documento? No. Cada tipo de documento admite un solo archivo. Si necesitás reemplazar un documento ya subido, deberás subir el nuevo archivo para el mismo tipo, que sobreescribirá el anterior.

Gestión y revisión de solicitudes de matrícula
🖥 Escritorio Gestión y revisión de solicitudes de matrícula
Gestión y revisión de solicitudes de matrícula — móvil
📱 Móvil Gestión y revisión de solicitudes de matrícula

Gestión de Matrículas

Descripción

El módulo de Gestión de Matrículas (UC-1.2) es el espacio de trabajo de los operadores y administradores para revisar, aprobar, rechazar y administrar las matrículas de los psicólogos colegiados. Centraliza el ciclo de vida completo de la matrícula: desde la solicitud inicial enviada por el aspirante hasta la emisión del certificado ministerial y la credencial digital con QR.

El proceso de aprobación tiene dos fases diferenciadas: una interna del Colegio (revisión documental y aprobación con asignación de número de matrícula provisoria) y una externa (presentación ante el Ministerio de Salud y aprobación de la matrícula definitiva). La fase interna habilita al profesional a ejercer con matrícula provisoria; la fase externa le otorga la matrícula definitiva con número correlativo definitivo. Ambas fases generan documentación oficial en PDF.

Adicionalmente, el módulo gestiona modificaciones de datos solicitadas por colegiados, suspensiones y reactivaciones de matrícula, y el historial completo de cambios de estado con auditoría. La credencial digital del profesional (generada con QRCode y verificable en una URL pública) se emite automáticamente al completar la matrícula definitiva.

Roles con acceso

Rol Nivel de acceso
OPERADOR_MATRICULAS Escritura — revisión, aprobación/rechazo, gestión de estado, modificaciones
ADMINISTRADOR Administración completa — incluyendo baja definitiva, configuración de parámetros

Flujo principal

Revisión de solicitudes (bandeja de trabajo)

  1. El operador accede a Matrículas → Solicitudes Pendientes. La bandeja muestra todas las solicitudes en estado PENDING_REVIEW y UNDER_REVIEW, ordenadas por fecha de envío.
  2. Cada fila muestra: número de solicitud, nombre del aspirante, tipo de solicitud (PROVISORIA / DEFINITIVA), fecha de envío y días transcurridos.
  3. El operador abre la solicitud haciendo clic en su número para ver el detalle completo: datos personales, datos académicos, documentos adjuntos y estado del pago del arancel.
  4. Si toma la solicitud para revisión, el estado cambia a UNDER_REVIEW y queda asociada a ese operador.
  5. El operador visualiza cada documento en el visor integrado (PDF inline o previsualización de imagen).

Bandeja de solicitudes pendientes con filtros por estado y tipo

Aprobación interna — Matrícula Provisoria (Fase 1)

  1. Luego de revisar la documentación, el operador hace clic en Aprobar Internamente.
  2. El sistema genera automáticamente un número de matrícula provisoria (provisionalNumber) con formato correlativo.
  3. El estado de la solicitud pasa a INTERNALLY_APPROVED y el estado del profesional a PROVISIONAL.
  4. Se genera el certificado para el Ministerio de Salud en PDF (usando PDFKit) con los datos del profesional y el número de matrícula provisoria.
  5. El operador descarga el PDF ministerial para presentarlo ante el organismo correspondiente.
  6. Se envía un email al aspirante notificando que su solicitud fue aprobada internamente y que se encuentra en trámite ante el Ministerio.

Modal de aprobación interna con vista previa del PDF ministerial

Solicitud de correcciones

  1. Si la documentación es incompleta o incorrecta, el operador hace clic en Solicitar Correcciones.
  2. Ingresa un comentario detallando qué documentos o datos deben corregirse.
  3. El estado cambia a REQUIRES_CHANGES y se envía un email al aspirante con las observaciones.
  4. El aspirante puede subir los documentos corregidos desde su portal. Al hacerlo, el estado vuelve a UNDER_REVIEW.

Formulario de solicitud de correcciones con campo de observaciones

Rechazo de solicitud

  1. Si la solicitud no cumple los requisitos y no es subsanable, el operador hace clic en Rechazar.
  2. Ingresa el motivo del rechazo (obligatorio).
  3. El estado cambia a REJECTED y se envía un email al aspirante con el motivo.
  4. El arancel abonado queda registrado para gestión de devolución manual (no se devuelve automáticamente).

Modal de rechazo con campo de motivo obligatorio

Aprobación definitiva — Matrícula Definitiva (Fase 2 — respuesta del Ministerio)

  1. Una vez recibida la resolución ministerial de aprobación, el operador registra la respuesta en el sistema.
  2. Ingresa el número de matrícula definitivo asignado por el Ministerio de Salud.
  3. El sistema actualiza el estado de la solicitud a APPROVED y el estado del profesional a APPROVED.
  4. Se genera la credencial digital del profesional:
    • Se crea un código QR único (PSICOLE-XXXXXXXXXXXXXXXX) asociado al profesional.
    • El QR apunta a la URL pública de verificación: {FRONTEND_URL}/verificar/{qrCode}.
    • El PDF de credencial digital se genera con PDFKit incluyendo foto, datos, número de matrícula y QR.
  5. El profesional recibe un email con el enlace para descargar su credencial y con acceso a su portal de colegiado.
  6. El rol del usuario cambia de ASPIRANTE a COLEGIADO y se habilita su acceso completo al sistema.

Pantalla de aprobación definitiva con campo de número ministerial y previsualización de credencial

Verificación pública de credencial (QR)

  1. Cualquier persona puede escanear el QR de la credencial del profesional con su teléfono.
  2. Es redirigido a la URL pública {FRONTEND_URL}/verificar/{qrCode} (no requiere autenticación).
  3. El sistema verifica el código QR y muestra los datos públicos del profesional: nombre, número de matrícula, estado (activo / suspendido), especialidades declaradas y fecha de vencimiento si aplica.

Página pública de verificación de credencial con datos del profesional

Gestión de profesionales matriculados

  1. El operador accede a Matrículas → Profesionales para ver el padrón completo.
  2. Puede filtrar por estado de matrícula, tipo (colegiado / prestador / aspirante), estado de pago y búsqueda por nombre, DNI o número de matrícula.
  3. Desde el detalle de cada profesional puede:
    • Ver su ficha completa (datos personales, académicos, financieros).
    • Suspender la matrícula (estado SUSPENDED) por sanción o deuda.
    • Reactivar una matrícula suspendida.
    • Registrar el fallecimiento (estado DECEASED) para casos migrados del sistema legacy.
    • Iniciar el proceso de baja voluntaria (DISCHARGED).

Ficha del profesional con panel de acciones y historial de estados

Aprobación de solicitudes de modificación de datos

  1. Cuando un colegiado solicita un cambio de datos desde su portal (dirección, teléfono, especialidades, etc.), el operador recibe una notificación en Matrículas → Modificaciones Pendientes.
  2. El operador revisa los datos actuales vs. los datos propuestos.
  3. Puede aprobar (los datos se actualizan en el sistema) o rechazar con un comentario.
  4. El colegiado recibe un email con la resolución.

Vista comparativa de datos actuales vs. propuestos en una solicitud de modificación

Campos y validaciones

Campo Tipo Requerido Descripción
enrollmentNumber string Sí (aprobación definitiva) Número de matrícula definitiva asignado por el Ministerio
provisionalNumber string Auto Generado por el sistema al aprobar internamente
enrollmentStatus enum Auto Estado actual de la matrícula del profesional
enrollmentDate date Auto Fecha de aprobación definitiva
enrollmentExpiryDate date No Fecha de vencimiento de matrícula (si aplica)
qrCode string Auto Código único PSICOLE-XXXXXXXXXXXXXXXX generado al aprobar definitivamente
rejectionReason string (texto) Sí al rechazar Motivo del rechazo; enviado al aspirante por email
correctionNotes string (texto) Sí al pedir correcciones Observaciones detalladas para el aspirante

Reglas de negocio

Aprobación interna no es aprobación definitiva

Un profesional con matrícula PROVISIONAL puede ejercer pero no tiene número de matrícula definitivo. El proceso ministerial puede tardar semanas. El sistema mantiene ambos estados claramente diferenciados.

El QR es permanente e irrevocable

El código QR se genera una sola vez al aprobar definitivamente. Si la matrícula es suspendida, la URL de verificación seguirá siendo accesible pero mostrará el estado SUSPENDIDA. El QR no se regenera.

La suspensión no cancela deudas existentes

Suspender una matrícula cambia el estado del profesional pero no afecta las deudas pendientes. Las cuotas continúan generándose según la configuración de tipos de cuota hasta que el operador interrumpa la generación manualmente o se registre la baja.

Credencial digital habilitada solo para matriculados definitivos

La credencial con QR solo se genera para profesionales con estado APPROVED. Los que tienen matrícula PROVISIONAL no tienen credencial digital, aunque sí tienen acceso al portal de colegiado con funcionalidades limitadas.

Estados y transiciones

stateDiagram-v2
    [*] --> PENDING : solicitud enviada y pagada
    PENDING --> PROVISIONAL : aprobación interna del Colegio
    PENDING --> REJECTED : rechazo definitivo
    PROVISIONAL --> APPROVED : aprobación ministerial + número definitivo
    PROVISIONAL --> REJECTED : rechazo ministerial
    APPROVED --> SUSPENDED : suspensión por sanción o deuda
    SUSPENDED --> APPROVED : reactivación por operador
    APPROVED --> DISCHARGED : baja voluntaria o definitiva
    SUSPENDED --> DISCHARGED : baja estando suspendido
    APPROVED --> DECEASED : fallecimiento (legacy)

Leyenda de estados del profesional:

Estado Nombre visible Descripción
PENDING Pendiente de revisión Solicitud recibida, en cola de revisión
PROVISIONAL Matrícula Provisoria Aprobado internamente; en trámite ministerial
APPROVED Matriculado Matrícula definitiva otorgada por el Ministerio
REJECTED Rechazado Solicitud rechazada definitivamente
SUSPENDED Suspendido Matrícula suspendida temporalmente
DISCHARGED Dado de baja Baja del padrón
DECEASED Fallecido Registrado post-mortem (migración legacy)

Errores frecuentes

Error Causa Solución
No aparece la solicitud en la bandeja El aspirante no completó el pago del arancel Verificar en la ficha de la solicitud el estado de pago; registrar pago manual si corresponde
El PDF ministerial no se genera Faltan datos académicos en la solicitud Verificar que los campos universityName, graduationDate y degreeTitle estén completos
El QR no se visualiza en la credencial El profesional no tiene qrCode asignado Ir al detalle del profesional y usar Regenerar Credencial
Error al cambiar estado a SUSPENDED El sistema intenta notificar por email pero el SMTP no está configurado Verificar variables SMTP_* en .env del backend; el cambio de estado se puede forzar sin email desde el panel de administración
El profesional no puede iniciar sesión como COLEGIADO El cambio de rol no se aplicó al aprobar Verificar en Administración → Usuarios que el rol del usuario sea COLEGIADO y no ASPIRANTE

Preguntas frecuentes

¿Cuánto tiempo queda en estado PROVISORIA una matrícula? No hay un límite de tiempo automático. El estado PROVISIONAL persiste hasta que el operador registre la respuesta del Ministerio de Salud (positiva o negativa). El tiempo real depende del trámite ministerial, que puede extenderse varias semanas o meses.

¿Un profesional con matrícula PROVISORIA puede pagar cuotas? Sí. Las cuotas se generan automáticamente para todos los profesionales con estado PROVISIONAL o APPROVED según la configuración del tipo de cuota. El tipo de cuota a aplicar (mensual novel, mensual plena) depende de los atributos del profesional configurados en el FeeType.

¿Qué datos son públicos en la verificación por QR? La URL de verificación pública muestra únicamente: nombre completo, número de matrícula, estado de la matrícula, especialidades declaradas y, si aplica, fecha de vencimiento. No muestra DNI, CUIT, dirección ni datos financieros.

¿Puede el aspirante subir más documentos después de que el operador solicite correcciones? Sí. Cuando el estado es REQUIRES_CHANGES, el aspirante puede subir nuevos archivos para los tipos de documentos observados. Al guardar, el estado vuelve automáticamente a UNDER_REVIEW y el operador recibe una notificación.

¿Cómo se maneja una baja voluntaria? El operador inicia el proceso desde Profesionales → [profesional] → Registrar Baja. Se registra la fecha de baja, el motivo y el estado pasa a DISCHARGED. Las deudas pendientes al momento de la baja quedan registradas para gestión de cobro posterior. El usuario conserva acceso al sistema solo para consultar su historial.

Renovación de Matrícula

Descripción

La Renovación de Matrícula es un trámite anual obligatorio para todos los colegiados. Consiste en la presentación de una Declaración Jurada en la que el profesional declara que continúa cumpliendo con los requisitos para el ejercicio de la profesión y que no tiene incompatibilidades sobrevinientes.

El proceso es gestionado por los operadores de matrículas, quienes revisan cada declaración jurada y la aprueban o rechazan. La aprobación extiende la vigencia de la matrícula por un año.

Roles con acceso

RolAcceso
COLEGIADOPresenta su Declaración Jurada anual desde el portal de autogestión
OPERADOR_MATRICULASRevisa, aprueba o rechaza las declaraciones juradas
ADMINAcceso completo: revisa, aprueba, rechaza y configura parámetros de renovación

Flujo de trabajo

  1. Convocatoria: El sistema notifica a los colegiados cuyo vencimiento de matrícula se aproxima (30 días antes) mediante email y notificación en la campanita.
  2. Presentación: El colegiado completa el formulario de Declaración Jurada desde /mi-matricula/renovacion. Declara que no tiene incompatibilidades, adjunta documentación si corresponde y confirma sus datos de contacto.
  3. Revisión: El operador de matrículas revisa la DJ en el panel /admin/matricula/renovacion. Puede: aprobarla (si todo está correcto), solicitar correcciones (si falta documentación o hay errores) o rechazarla (si el colegiado no cumple los requisitos).
  4. Aprobación: Al aprobarse, la fecha de expiración de la matrícula se extiende automáticamente por un año. El colegiado recibe una notificación de confirmación.
  5. Rechazo: Si se rechaza, el colegiado recibe el motivo y puede subsanar y volver a presentar.

Panel de administración

Ruta: /admin/matricula/renovacion — Componente: AdminMatriculaRenewal

  • Bandeja de renovaciones pendientes con filtros por estado y fecha de vencimiento
  • Visor de la Declaración Jurada presentada
  • Historial de renovaciones anteriores por colegiado
  • Estadísticas: renovaciones aprobadas, pendientes y rechazadas por período
  • Configuración de plazo de anticipación de notificaciones desde Parámetros del Sistema

Preguntas frecuentes

¿Qué pasa si un colegiado no renueva a tiempo? La matrícula pasa a estado SUSPENDED al día siguiente del vencimiento si no se presentó la DJ. El colegiado puede presentar la renovación fuera de término, pero deberá abonar la deuda acumulada más los recargos por mora para reactivar su matrícula.

¿Se requiere documentación adicional para la renovación? En general solo se requiere la Declaración Jurada. Sin embargo, si el colegiado cambió sus datos (domicilio, especialidad, etc.) debe actualizarlos antes o durante la renovación.

¿La renovación tiene costo? La renovación en sí no tiene un arancel específico, pero el colegiado debe tener sus cuotas al día para que la matrícula permanezca activa.

Módulo de cobro de cuotas y finanzas
🖥 Escritorio Módulo de cobro de cuotas y finanzas
Módulo de cobro de cuotas y finanzas — móvil
📱 Móvil Módulo de cobro de cuotas y finanzas

Finanzas

Descripción

NUEVO: La interfaz administrativa completa está ahora en el Módulo DINERO con 13 secciones: dashboard, cobranza, caja, conciliación, transferencias, planes de pago, débito automático, tarjetas sin asociar, salud de pagos, contabilidad, facturación, reportes y configuración. Esta sección documenta el modelo financiero y las reglas de negocio; la operación diaria se realiza desde el Módulo DINERO.

El módulo de Finanzas (UC-2.1) gestiona la economía de los colegiados: generación automática de cuotas, registro de pagos en todos los medios disponibles, emisión de recibos con numeración correlativa única, aplicación de descuentos y recargos por mora, y consulta de cuenta corriente por profesional.

La generación de cuotas es completamente automática mediante CRON jobs. El día 1 de cada mes a las 00:05 hs, el scheduler ejecuta el proceso de generación para todos los profesionales con estado APPROVED o PROVISIONAL. Cada profesional recibe una deuda del tipo de cuota que le corresponde (configurado en FeeTypes), con los descuentos aplicables ya calculados. Diariamente a las 00:01 hs, un segundo job actualiza el estado de las deudas vencidas de PENDING a OVERDUE.

Los recibos tienen numeración correlativa anual única con formato REC-YYYY-NNNNNN (por ejemplo, REC-2026-000042). Cada pago genera exactamente un recibo que puede ser descargado por el colegiado desde su portal o por el operador desde el backoffice. Los recibos anulados cambian a estado VOIDED pero se conservan en la base de datos para auditoría.

La cuenta corriente del profesional es un registro cronológico de todos los movimientos: débitos (cuotas generadas), créditos (pagos realizados) y el saldo resultante en cada operación. Es el libro mayor del vínculo financiero entre el profesional y el Colegio.

Roles con acceso

Rol Nivel de acceso
OPERADOR_FINANZAS Escritura — registro de pagos, emisión de recibos, gestión de deudas
ADMINISTRADOR Administración completa — anulación de recibos, ajustes manuales, configuración
COLEGIADO Lectura — vista de su propia cuenta corriente, deudas y recibos

Flujo principal

Generación automática de cuotas (CRON mensual)

  1. El scheduler ejecuta generateQuotasForPeriod() el día 1 de cada mes a las 00:05 hs (configurable con variable QUOTA_GENERATION_CRON, por defecto 5 0 1 * *).
  2. El job obtiene todos los profesionales activos con estado APPROVED o PROVISIONAL.
  3. Para cada profesional, obtiene el FeeType (tipo de cuota) configurado y vigente para el período.
  4. Calcula los descuentos aplicables en orden de prioridad:
    • Débito automático (hasDirectDebit = true): descuento configurable, por defecto 30% aplicado sobre el monto base.
    • Jubilado (isRetired = true): descuento configurable, por defecto 50% aplicado sobre el remanente luego del descuento por débito.
    • Beneficio parental (paternidad/maternidad activo): porcentaje configurado en el beneficio, aplicado sobre el remanente.
  5. Verifica que no exista ya una deuda para ese profesional, tipo de cuota y período (idempotencia).
  6. Crea el registro de Debt con: monto base, descuento total, monto final, período (YYYY-MM), fecha de vencimiento (día 10 del mes generado) y estado PENDING.
  7. Crea la transacción correspondiente en la cuenta corriente del profesional (débito).
  8. Envía un email de notificación al profesional (si tiene emailNotifications = true).
  9. Al finalizar, envía un email de resumen al administrador con el resultado del proceso (total generado, errores si los hubo).

Panel de CRON jobs con estado de la última ejecución de generación de cuotas

Actualización de deudas vencidas (CRON diario)

  1. El scheduler ejecuta updateOverdueDebts() todos los días a las 00:01 hs (1 0 * * *, configurable con OVERDUE_UPDATE_CRON).
  2. Busca todas las deudas en estado PENDING cuya dueDate sea menor a la fecha actual.
  3. Actualiza el estado a OVERDUE.
  4. Las deudas vencidas empiezan a acumular recargos por mora calculados en tiempo real al momento de cada consulta o pago.

Listado de deudas con columna de estado mostrando PENDIENTE y VENCIDA

Recordatorios de pago y avisos de mora (CRONs de email)

  • Recordatorios previos al vencimiento: diariamente a las 09:00 hs, el sistema envía emails a profesionales con deudas que vencen en los próximos 5 días (configurable con PAYMENT_REMINDER_DAYS).
  • Avisos de mora: todos los lunes a las 10:00 hs, el sistema envía avisos a profesionales con deudas en estado OVERDUE.

Template de email de recordatorio de pago

Registro manual de pago (operador en ventanilla o teléfono)

  1. El operador de finanzas accede a Finanzas → Registrar Pago o desde el perfil del profesional.
  2. Selecciona al profesional (búsqueda por nombre, DNI o número de matrícula).
  3. El sistema muestra todas las deudas pendientes y vencidas del profesional con sus montos y recargos calculados.
  4. El operador selecciona las deudas a pagar y el método de pago:
    • CASH — Efectivo
    • TRANSFER — Transferencia bancaria
    • DEBIT_CARD — Tarjeta de débito
    • CREDIT_CARD — Tarjeta de crédito
    • NAVE — Pago online NAVE (Banco Galicia)
  5. Si el método incluye una referencia externa (número de transferencia, número de operación), la ingresa en el campo de referencia.
  6. Puede aplicar un descuento por pago anticipado adicional si el FeeType lo permite.
  7. El sistema calcula el total final incluyendo todos los descuentos y recargos por mora vigentes.
  8. Al confirmar, el sistema:
    • Crea los registros de Payment (uno por cada deuda incluida en el pago).
    • Actualiza el estado de cada deuda a PAID con la fecha del pago.
    • Genera el recibo con número correlativo REC-YYYY-NNNNNN.
    • Registra la transacción de crédito en la cuenta corriente del profesional.
    • Envía el recibo por email al profesional si tiene notificaciones habilitadas.
  9. El operador puede descargar e imprimir el recibo inmediatamente.

Formulario de registro de pago con selección de deudas y método

Consulta de deudas de un profesional

  1. El operador accede al perfil del profesional y navega a la pestaña Finanzas.
  2. Ve el resumen de cuenta: total adeudado, cantidad de cuotas pendientes, cantidad de cuotas vencidas y saldo de cuenta corriente.
  3. Puede filtrar las deudas por estado (PENDIENTE, VENCIDA, PAGADA, ANULADA) y por período.
  4. Al expandir cada deuda, ve el detalle: concepto, período, monto base, descuentos aplicados, monto final y recargo por mora calculado al momento de la consulta.

Pestaña Finanzas del perfil del profesional con resumen y listado de deudas

Cuenta corriente del profesional

  1. El operador (o el propio colegiado desde su portal) accede a Estado de Cuenta.
  2. Se muestra un registro cronológico de todos los movimientos: débitos (cuotas generadas, ajustes), créditos (pagos, descuentos) y el saldo corrido en cada operación.
  3. Cada línea indica: fecha, tipo de movimiento, descripción, monto (débito o crédito) y saldo acumulado.
  4. Se puede exportar a PDF o CSV para el período seleccionado.

Cuenta corriente con columnas de fecha, concepto, débito, crédito y saldo

Anulación de recibo

  1. Solo el administrador puede anular recibos (ADMIN).
  2. Accede a Finanzas → Recibos → [recibo] → Anular.
  3. Ingresa el motivo de anulación (obligatorio).
  4. El estado del recibo pasa a VOIDED.
  5. Las deudas asociadas al recibo vuelven a estado PENDING para ser cobradas nuevamente.
  6. Se crea una transacción de reversa en la cuenta corriente del profesional.

Modal de anulación de recibo con campo de motivo

Generación manual de cuotas

  1. Si por algún motivo el CRON no ejecutó correctamente, el administrador puede generar cuotas en forma manual desde Administración → Tareas Programadas → Ejecutar Ahora.
  2. También puede crear una deuda individual para un profesional desde Finanzas → Nueva Deuda, especificando el tipo de cuota, período, monto y fecha de vencimiento.

Panel de ejecución manual de tareas programadas

Campos y validaciones

Campo Tipo Requerido Descripción
professionalId UUID Profesional al que se asigna la deuda o el pago
feeTypeId UUID Sí (generación) Tipo de cuota aplicado (ver módulo FeeTypes)
period string YYYY-MM Sí (cuotas) Período al que corresponde la cuota
amount decimal Monto base sin descuentos
discount decimal Auto Suma de todos los descuentos aplicados
finalAmount decimal Auto amount - discount; monto que debe pagar el profesional
dueDate date Fecha de vencimiento; por defecto día 10 del mes
status enum Auto PENDING / PAID / OVERDUE / CANCELLED
method enum Sí (pago) CASH / TRANSFER / DEBIT_CARD / CREDIT_CARD / NAVE / MERCADO_PAGO / PAYWAY / MODO
externalId string No (pago) Número de operación / referencia de transferencia
receiptNumber string REC-YYYY-NNNNNN Auto Generado correlativamente al confirmar el pago

Reglas de negocio

Idempotencia de generación de cuotas

Si el CRON se ejecuta más de una vez en el mismo mes (por error o ejecución manual), el sistema verifica la existencia de una deuda para el mismo profesional, tipo de cuota y período antes de crear una nueva. Si ya existe, la omite sin error. Esto garantiza que no se generen cuotas duplicadas.

Recargos por mora calculados en tiempo real

El recargo por mora no se almacena como campo fijo en la deuda sino que se calcula en cada consulta según la configuración vigente de LateFeeConfig (porcentaje, período de gracia en días, si es acumulativo por períodos de N días y monto máximo). Esto permite modificar la regla de mora sin afectar el monto base de las deudas existentes.

Descuentos aplicados en cascada

Los descuentos se aplican en orden: primero el de débito automático sobre el monto base, luego el de jubilado sobre el remanente, luego el de beneficio parental sobre el remanente resultante. No son porcentajes sumados sino aplicados en cascada.

Numeración correlativa de recibos

La numeración REC-YYYY-NNNNNN se genera con una consulta al último recibo del año en curso. En entornos de alta concurrencia, es posible que dos recibos generados simultáneamente reciban el mismo número. Se recomienda ejecutar las confirmaciones de pago de forma secuencial o agregar un control de unicidad a nivel de base de datos.

Descuento por débito automático

El campo hasDirectDebit en el profesional activa el descuento automáticamente al generar la cuota. Si el profesional se adhiere al débito después de que la cuota fue generada, el descuento no se aplica retroactivamente; se aplicará desde la próxima generación.

Estados y transiciones

stateDiagram-v2
    [*] --> PENDING : CRON genera cuota
    PENDING --> OVERDUE : CRON diario detecta vencimiento
    PENDING --> PAID : pago registrado (manual u online)
    OVERDUE --> PAID : pago registrado con recargo por mora
    PENDING --> CANCELLED : anulación administrativa
    OVERDUE --> CANCELLED : anulación administrativa
    PAID --> PENDING : anulación del recibo (reversión)

Estados de deuda:

Estado Descripción
PENDING Generada y vigente, dentro del plazo
OVERDUE Venció la fecha de vencimiento; acumula recargo por mora
PAID Pagada; tiene recibo asociado
CANCELLED Anulada administrativamente; no requiere pago

Errores frecuentes

Error Causa Solución
CRON de generación no ejecutó Variable ENABLE_SCHEDULER=false en .env Verificar la variable de entorno y reiniciar el backend; ejecutar manualmente desde el panel si es urgente
Recibo sin número (receiptNumber vacío) Concurrencia al generar dos pagos simultáneos El recibo queda sin número; el administrador debe asignar uno manual desde la edición del recibo
Descuento no aplicado al profesional jubilado El campo isRetired no está marcado en el perfil El operador debe actualizar el perfil del profesional y regenerar la cuota del mes afectado
Deuda aparece en OVERDUE el mismo día de vencimiento El CRON corre a las 00:01 hs y la dueDate ya venció Comportamiento esperado; la deuda vence a las 00:00 hs del día indicado
403 No tiene permisos para anular recibos El usuario no tiene rol ADMIN Solo el ADMIN puede anular recibos; el operador debe elevar el pedido al administrador
Email de notificación no enviado SMTP no configurado o emailNotifications = false en el profesional Verificar configuración SMTP y preferencias de notificación del profesional

Preguntas frecuentes

¿Cuándo se genera la cuota del mes siguiente? El día 1 de cada mes a las 00:05 hs en forma automática. El período de la cuota corresponde al mes en curso (ej: el 1 de marzo se genera la cuota de marzo 2026-03).

¿Qué pasa si un profesional tiene el débito automático pero la cuota ya fue generada sin descuento? El descuento por débito se aplica en el momento de la generación. Si el profesional adhirió al débito después del 1 del mes, la cuota ya generada no tiene el descuento; solo las cuotas generadas en meses siguientes lo incluirán. El operador puede anular la cuota y crear una nueva manualmente con el descuento aplicado.

¿Se puede pagar una parte de una deuda? No. Los pagos son por el total de cada deuda seleccionada. No se admiten pagos parciales de una deuda individual.

¿Los recargos por mora se cobran al colegiado online también? Sí. El portal de pagos online calcula los recargos en tiempo real y los incluye en el monto total cobrado por Mercado Pago. El recibo generado detalla el monto base, el recargo y el total.

¿Cómo sé si el CRON se ejecutó correctamente? El panel Administración → Tareas Programadas muestra la fecha y hora de la última ejecución de cada job, el resultado (éxito / error) y los detalles de la ejecución. También se puede revisar el log de la aplicación en busca de mensajes del scheduler.

¿Puede el operador de finanzas modificar el monto de una deuda existente? No directamente. El flujo correcto es anular la deuda existente (cambiar a CANCELLED) y crear una nueva con el monto correcto. Solo el administrador puede realizar ajustes manuales directos sobre deudas existentes.

Panel de pagos online del colegiado
🖥 Escritorio Panel de pagos online del colegiado
Panel de pagos online del colegiado — móvil
📱 Móvil Panel de pagos online del colegiado

Pagos Online

Descripción

El módulo de Pagos Online (UC-2.2) permite a los colegiados abonar sus cuotas y deudas desde cualquier dispositivo con conexión a internet, sin necesidad de concurrir al Colegio. PSICOLE integra múltiples pasarelas de pago a través de una capa de abstracción (paymentGatewayService): Mercado Pago como proveedor principal, y soporte para NAVE (Banco Galicia), Payway y MODO. El proveedor por defecto es configurable desde los Parámetros del Sistema → PAYMENTS. Las credenciales de los gateways (MercadoPago, NAVE, Payway) se gestionan en esa misma sección y se cifran con AES-256-CBC antes de guardarse.

El flujo de pago sigue el patrón checkout externo con webhook de confirmación: el sistema genera una preferencia de pago en la pasarela seleccionada, redirige al colegiado al checkout del proveedor (donde no se almacenan datos de tarjeta en PSICOLE), y espera la notificación de confirmación a través de un webhook. Una vez confirmado el pago por la pasarela, el sistema procesa todo en una transacción de base de datos atómica: marca las deudas como pagadas, genera el recibo con número correlativo, registra el movimiento en cuenta corriente y envía la notificación al colegiado.

Las preferencias de pago tienen una vigencia de 24 horas. Si el colegiado no completa el pago en ese plazo, la preferencia expira y debe generarse una nueva. El sistema es idempotente ante webhooks duplicados: si el pago ya fue procesado (estado APPROVED), un segundo webhook con el mismo external_reference es ignorado sin error.

Roles con acceso

Rol Nivel de acceso
COLEGIADO Acceso completo — ver deudas, iniciar pago, consultar historial, descargar recibos
OPERADOR_FINANZAS Lectura — consultar preferencias de pago y estado de transacciones online
ADMINISTRADOR Administración completa — configuración de proveedores, consulta de webhooks

Flujo principal

Ver deudas pendientes (Mi Cuenta)

  1. El colegiado inicia sesión y navega a Mi Cuenta → Mis Pagos o hace clic en el banner de deuda del panel principal.
  2. El sistema llama a GET /api/v1/online-payment/my-account y obtiene todas las deudas con estado PENDING u OVERDUE.
  3. Cada deuda muestra: tipo de cuota, período (YYYY-MM), monto original, descuentos aplicados, monto final, fecha de vencimiento, estado y recargo por mora calculado al momento de la consulta.
  4. El resumen superior muestra el total adeudado (incluyendo moras), cantidad de cuotas pendientes y cantidad vencidas.
  5. Si no hay proveedores de pago configurados, el botón Pagar Online está deshabilitado y se muestra un mensaje indicando que el pago debe realizarse presencialmente.

Panel de cuenta con listado de deudas y resumen de total a pagar

Selección de deudas y generación de preferencia

  1. El colegiado marca con el checkbox las deudas que desea pagar (puede seleccionar una o varias).
  2. El sistema actualiza en tiempo real el total seleccionado incluyendo los recargos por mora de cada deuda marcada.
  3. Hace clic en Pagar Seleccionados.
  4. Si hay más de un proveedor disponible, se muestra un selector de medio de pago (Mercado Pago, NAVE, etc.). Si solo hay uno configurado, se omite este paso.
  5. El frontend llama a POST /api/v1/online-payment/preference con debtIds (array de IDs) y provider (código del proveedor, opcional).
  6. El backend valida:
    • Que el colegiado tenga al menos una deuda seleccionada.
    • Que todas las deudas pertenezcan al profesional autenticado.
    • Que todas estén en estado PENDING u OVERDUE (no pagadas).
    • Que el proveedor seleccionado esté disponible y configurado.
  7. Calcula el monto total: subtotal + totalRecargosPosMora.
  8. Crea la preferencia en la API del proveedor de pago con:
    • Items (una línea por deuda con descripción y monto).
    • Datos del pagador (nombre, apellido, email, DNI).
    • URLs de retorno (back_urls): éxito, fallo, pendiente.
    • external_reference único: PSICOLE-{timestamp36}-{random8hex}.
    • notification_url: URL del webhook del sistema.
    • Expiración: 24 horas desde la generación.
  9. Guarda la preferencia en la tabla online_payment_preferences con estado PENDING.
  10. Devuelve al frontend el initPoint (URL del checkout del proveedor) y el resumen.

Resumen de deudas seleccionadas con total y botón Confirmar y Pagar

Checkout en Mercado Pago (o proveedor seleccionado)

  1. El frontend redirige al colegiado al initPoint del proveedor (o abre el checkout en un iframe/modal según el proveedor).
  2. El colegiado completa el pago en la interfaz del proveedor: selecciona el medio (tarjeta de crédito, débito, transferencia CBU, billetera digital, etc.) e ingresa los datos requeridos.
  3. PSICOLE no almacena en ningún momento datos de tarjeta ni credenciales bancarias.
  4. Al completar el pago, el proveedor redirige al colegiado a la URL de éxito/fallo/pendiente configurada.

📸Redirect al checkout de Mercado Pago (pantalla del proveedor, no de PSICOLE) — <em>screenshot pendiente — Fase 2</em>Captura — Fase 2

Webhook de confirmación de pago

  1. El proveedor de pago envía una notificación POST al endpoint POST /api/v1/online-payment/webhook con el type y el data.id del pago.
  2. El backend responde inmediatamente con HTTP 200 (independientemente del resultado del procesamiento) para evitar reintentos innecesarios del proveedor.
  3. Si el type no es payment, la notificación se ignora.
  4. El backend consulta la API del proveedor para obtener los datos completos del pago (estado, monto, external_reference).
  5. Busca la preferencia local por external_reference. Si no existe, ignora el webhook.
  6. Según el estado devuelto por el proveedor:
    • approved: se ejecuta processApprovedPayment() (ver siguiente flujo).
    • pending / in_process: la preferencia pasa a estado PROCESSING; el pago está en revisión por el proveedor.
    • rejected / cancelled: la preferencia pasa a estado REJECTED o CANCELLED.
    • refunded: se ejecuta el proceso de reembolso (processRefund()).

Log de webhooks recibidos en el panel de administración

Procesamiento de pago aprobado

Cuando el webhook indica approved, el sistema ejecuta una transacción atómica en la base de datos:

  1. Verifica que la preferencia no tenga ya estado APPROVED (idempotencia).
  2. Obtiene todas las deudas incluidas en la preferencia (debtIds).
  3. Genera el número de recibo correlativo REC-YYYY-NNNNNN (consulta el último del año y suma 1).
  4. Crea el recibo (Receipt) con: número, profesionalId, monto total, método MERCADO_PAGO (u otro), referencia externa (ID del pago en la pasarela), detalle de conceptos en JSON, monto base, descuentos, recargos, estado ACTIVE y issuedBy: 'SYSTEM'.
  5. Para cada deuda incluida: crea el registro de Payment y actualiza la deuda a estado PAID con la fecha del pago.
  6. Crea la transacción de crédito en la cuenta corriente del profesional (decrementa el saldo deudor).
  7. Crea una notificación interna al colegiado: "Se ha confirmado su pago por $X. Recibo N° REC-YYYY-NNNNNN".
  8. Actualiza la preferencia a estado APPROVED con el ID del pago del proveedor.
  9. Envía el email de confirmación al colegiado con el PDF del recibo adjunto.

Pantalla de éxito de pago con número de recibo y enlace de descarga

Descarga de recibos

  1. El colegiado accede a Mi Cuenta → Mis Recibos (GET /api/v1/online-payment/my-receipts).
  2. Se lista el historial paginado de recibos activos ordenados por fecha descendente.
  3. Al hacer clic en Descargar, el sistema genera el PDF del recibo en tiempo real con PDFKit (membrete del Colegio, datos del profesional, conceptos, monto, método de pago, número de recibo y código de verificación).
  4. Los recibos están disponibles indefinidamente.

Historial de recibos con número, fecha, monto y botón de descarga

Verificar configuración de proveedores (Admin)

  1. El administrador puede consultar GET /api/v1/online-payment/config para ver los proveedores disponibles, el proveedor por defecto y si alguno está configurado.
  2. La configuración de cada proveedor se gestiona mediante variables de entorno y parámetros del sistema (Access Token de Mercado Pago, credenciales NAVE, etc.).

Panel de configuración de proveedores de pago

Campos y validaciones

Campo Tipo Requerido Descripción
debtIds UUID[] Array de IDs de deudas a pagar; mínimo 1
provider string No Código del proveedor: MERCADO_PAGO, NAVE, PAYWAY, MODO. Si se omite, se usa el proveedor por defecto
externalReference string Auto PSICOLE-{timestamp36}-{random8hex}; único por preferencia
preferenceId string Auto ID de la preferencia en el sistema del proveedor
initPoint URL Auto URL del checkout del proveedor; válida por 24 horas
totalAmount decimal Auto subtotal + lateFeeAmount
subtotal decimal Auto Suma de finalAmount de cada deuda seleccionada
lateFeeAmount decimal Auto Suma de recargos por mora calculados en el momento
receiptNumber string REC-YYYY-NNNNNN Auto Generado al confirmar el pago aprobado

Reglas de negocio

Preferencias expiran en 24 horas

Una preferencia de pago generada es válida por 24 horas. Si el colegiado no completa el pago en ese tiempo (por ejemplo, abre el checkout y no finaliza), deberá iniciar el proceso nuevamente. La preferencia vencida queda en estado PENDING en la base de datos; no se cancela automáticamente.

El recargo por mora se cobra sin excepción

Si alguna de las deudas seleccionadas tiene estado OVERDUE, el recargo por mora se calcula e incluye en el total cobrado. No es posible pagar la deuda vencida sin el recargo. La regla de mora vigente al momento del pago es la que aplica.

Solo deudas propias

Un colegiado solo puede pagar sus propias deudas. El backend valida que todos los debtIds enviados pertenezcan al profesional asociado al usuario autenticado. Cualquier intento de pagar deudas ajenas resulta en 400 o 404.

Webhook siempre responde 200

El endpoint de webhook devuelve HTTP 200 incluso si ocurre un error interno al procesar el pago. Esto es intencional para evitar que el proveedor de pago reintente la notificación indefinidamente. Los errores quedan registrados en los logs del servidor para revisión manual.

Idempotencia de pagos aprobados

Si el proveedor envía el mismo webhook más de una vez (comportamiento normal ante timeouts de red), el sistema detecta que la preferencia ya tiene estado APPROVED y no vuelve a procesar el pago. Ninguna deuda se marca como pagada dos veces ni se genera un segundo recibo.

Ambiente sandbox para pruebas

En entornos de desarrollo/staging, el campo sandboxInitPoint contiene la URL del checkout de pruebas de Mercado Pago. Usar este URL en lugar de initPoint para realizar pruebas sin procesar pagos reales.

Estados y transiciones de la preferencia de pago

stateDiagram-v2
    [*] --> PENDING : POST /preference exitoso
    PENDING --> PROCESSING : webhook pending / in_process
    PENDING --> APPROVED : webhook approved
    PENDING --> REJECTED : webhook rejected
    PENDING --> CANCELLED : webhook cancelled
    PROCESSING --> APPROVED : webhook approved (resolución tardía)
    PROCESSING --> REJECTED : webhook rejected (resolución tardía)
    APPROVED --> [*] : pago procesado; recibo emitido
    REJECTED --> [*] : el colegiado puede iniciar una nueva preferencia
    CANCELLED --> [*] : el colegiado puede iniciar una nueva preferencia

Errores frecuentes

Error Causa Solución
503 No hay proveedores de pago configurados No hay ninguna pasarela configurada con credenciales válidas El administrador debe configurar MERCADOPAGO_ACCESS_TOKEN (u otras credenciales) en .env y reiniciar el backend
400 Debe seleccionar al menos una deuda para pagar El array debtIds llegó vacío al backend Verificar que el frontend envíe correctamente el array; si el problema persiste, limpiar cache del navegador
400 Algunas deudas ya fueron pagadas o no existen Una deuda del array fue pagada entre que el colegiado la vio y confirmó el pago Refrescar la lista de deudas y seleccionar nuevamente
El colegiado pagó pero la deuda sigue como PENDING El webhook aún no llegó o llegó con error Esperar unos minutos (MP puede tardar en notificar); revisar el log de webhooks; si el pago fue confirmado por el proveedor, procesarlo manualmente
El recibo no se recibió por email SMTP no configurado o dirección de email incorrecta Verificar configuración SMTP en .env; el colegiado puede descargar el recibo desde Mis Recibos aunque el email haya fallado
initPoint expiró antes de que el colegiado pagara Pasaron más de 24 horas desde que se generó la preferencia El colegiado debe iniciar el proceso de pago nuevamente desde Mis Pagos
Error interno en webhook — pago procesado pero sin recibo Falla en la generación del número correlativo por concurrencia El administrador debe identificar el pago en Finanzas → Pagos Online y generar el recibo manualmente

Preguntas frecuentes

¿PSICOLE guarda mis datos de tarjeta de crédito? No. PSICOLE nunca accede ni almacena datos de tarjeta ni credenciales bancarias. El pago se procesa íntegramente en la plataforma del proveedor (Mercado Pago, NAVE, etc.). PSICOLE solo recibe la confirmación de pago aprobado a través del webhook.

¿Cuánto tarda en procesarse un pago online? En la mayoría de los casos, el webhook de confirmación llega en segundos. En algunos medios de pago (como transferencias bancarias), puede tardar hasta 48 horas hábiles. Mientras tanto, la preferencia permanece en estado PROCESSING y la deuda en PENDING u OVERDUE.

¿Qué pasa si el pago fue aprobado por Mercado Pago pero PSICOLE no lo registró? Esto puede ocurrir si el webhook falló. El administrador puede consultar el external_reference en el panel de Mercado Pago, compararlo con la preferencia en PSICOLE y ejecutar el procesamiento manual del pago desde el backoffice.

¿Puedo pagar con tarjeta de crédito en cuotas? Depende de la configuración de la cuenta de Mercado Pago del Colegio. PSICOLE no controla esta configuración; es el proveedor quien habilita o no las cuotas. El colegiado verá las opciones disponibles directamente en el checkout del proveedor.

¿Por qué el monto que me cobra Mercado Pago es mayor al que aparece en PSICOLE? Mercado Pago puede aplicar su propio interés financiero según el medio de pago elegido (tarjeta de crédito con cuotas, por ejemplo). El monto mostrado en PSICOLE es el monto de la deuda más el recargo por mora del Colegio; cualquier interés adicional del medio de pago es cargo del proveedor, no del Colegio.

¿Puedo ver el historial de pagos online en el backoffice? Sí. El administrador y el operador de finanzas pueden acceder a Finanzas → Pagos Online para ver todas las preferencias generadas, su estado, el proveedor utilizado, los montos y los IDs de pago del proveedor.

Conciliación bancaria y matching de pagos
🖥 Escritorio Conciliación bancaria y matching de pagos
Conciliación bancaria y matching de pagos — móvil
📱 Móvil Conciliación bancaria y matching de pagos

Conciliación Bancaria

Descripción

La conciliación bancaria es el proceso mediante el cual el sistema compara los movimientos registrados en el extracto bancario con los pagos registrados en PSICOLE, identificando correspondencias y detectando diferencias. Este módulo permite importar extractos en formato CSV o Excel directamente desde el banco, reduciendo la carga manual y el riesgo de errores.

El motor de matching automático analiza cada transacción del extracto y busca pagos pendientes de conciliar utilizando criterios configurables: monto exacto, referencia de comprobante, fecha y datos del titular. Las transacciones que no puedan asociarse automáticamente quedan en estado "pendiente" para resolución manual por parte del operador de finanzas.

Cada proceso de conciliación se organiza en sesiones de conciliación, que agrupan un extracto importado junto con todos los emparejamientos (automáticos y manuales) realizados sobre él. Las sesiones quedan auditadas con fecha, usuario y justificación de cada decisión.

Roles con acceso

Rol Nivel de acceso
ADMIN Acceso completo: importar, conciliar, revertir, ver auditoría
OPERADOR_FINANZAS Importar extracto, conciliar automática y manualmente, cerrar sesión

Flujo principal

1. Importar extracto bancario

  1. Ir a Finanzas → Conciliación Bancaria → Nueva Sesión.
  2. Seleccionar el banco de origen en el desplegable (ej. Banco Nación, Santander, Galicia).
  3. Hacer clic en Subir Archivo y seleccionar el archivo .csv o .xlsx exportado desde el homebanking.
  4. El sistema valida el formato del archivo; si hay errores de estructura, se muestra el detalle de las filas con problemas.
  5. Confirmar el período del extracto (fecha desde / fecha hasta) y hacer clic en Importar.
  6. El sistema crea la sesión de conciliación con estado ABIERTA y lista todas las transacciones importadas.

Pantalla de carga de archivo con preview de primeras 5 filas del extracto

2. Matching automático

  1. Desde la sesión abierta, hacer clic en Ejecutar Matching Automático.
  2. El sistema procesa cada transacción del extracto y aplica las reglas de matching configuradas (ver sección de Reglas de Negocio).
  3. Al finalizar, se muestra un resumen: cantidad de transacciones emparejadas, monto total conciliado y cantidad de transacciones sin match.
  4. Las transacciones emparejadas automáticamente quedan en estado CONCILIADO_AUTO y el pago asociado en PSICOLE se marca como confirmado.
  5. Revisar el resumen y avanzar al matching manual para las restantes.

Resultado del matching automático con barra de progreso y estadísticas

3. Matching manual

  1. En la sesión, filtrar por estado PENDIENTE para ver las transacciones sin match automático.
  2. Seleccionar una transacción del extracto; el panel derecho mostrará los pagos candidatos sugeridos por similitud.
  3. Revisar los candidatos y hacer clic en Emparejar junto al pago correcto.
  4. Si no existe un pago en el sistema para esa transacción, seleccionar una de las acciones alternativas:
  5. Marcar como No Identificado: la transacción queda registrada pero sin pago asociado.
  6. Crear Pago Manual: genera un nuevo pago en el sistema vinculado a la transacción.
  7. Ignorar / Excluir: excluye la transacción de la conciliación (ej. comisiones bancarias).
  8. En todos los casos se requiere ingresar una justificación en el campo de texto obligatorio.
  9. Repetir hasta resolver todas las transacciones pendientes.

Panel de matching manual con transacción a la izquierda y candidatos de pago a la derecha

4. Cerrar sesión de conciliación

  1. Una vez resueltas todas las transacciones (o decidido ignorar las irresolubles), hacer clic en Cerrar Sesión.
  2. El sistema muestra el resumen final: total importado, total conciliado, total no identificado, diferencia.
  3. Si la diferencia es cero o está dentro del umbral configurado, confirmar el cierre.
  4. La sesión pasa a estado CERRADA y queda disponible en el historial con todos sus datos de auditoría.
  5. Se genera automáticamente el informe de cierre descargable en PDF.

Pantalla de resumen de cierre de sesión con totales y botón de confirmación

5. Consultar auditoría

  1. Ir a Finanzas → Conciliación Bancaria → Historial de Sesiones.
  2. Seleccionar la sesión a auditar y hacer clic en Ver Detalle.
  3. La vista de auditoría muestra: usuario que realizó cada acción, timestamp, estado anterior y nuevo, y justificación ingresada.
  4. Usar los filtros por usuario, fecha o tipo de acción para acotar resultados.
  5. Exportar el log de auditoría en CSV si se requiere para revisión externa.

Log de auditoría con columnas de usuario, fecha, acción y justificación

Campos y validaciones

Campo Tipo Requerido Descripción
Banco Selección Entidad bancaria del extracto importado
Archivo Archivo (.csv/.xlsx) Extracto exportado desde homebanking
Fecha desde Fecha Inicio del período del extracto
Fecha hasta Fecha Fin del período del extracto
Justificación (match manual) Texto libre Motivo del emparejamiento o exclusión
Referencia de transacción Texto No Número de referencia del banco (facilita matching)

Reglas de negocio

Criterios de matching automático

El motor aplica coincidencia por: (1) monto exacto ± tolerancia configurable, (2) referencia bancaria que contenga el número de comprobante PSICOLE, (3) fecha de transacción dentro de la ventana de ±3 días hábiles del pago registrado. Los tres criterios deben cumplirse simultáneamente para que el match sea automático.

Sesiones solapadas

El sistema no permite importar un extracto cuyo período se solape con una sesión ya cerrada del mismo banco. Si existe solapamiento, se notifica al operador y se debe verificar si el extracto es un duplicado o cubre un subperíodo diferente.

Reversión de match

Solo el rol ADMIN puede revertir un emparejamiento ya realizado. La reversión requiere justificación y queda registrada en el log de auditoría. No se pueden revertir matches de sesiones ya cerradas sin reabrirlas.

Sesión sin cerrar

Si una sesión queda abierta por más de 30 días, el sistema envía una alerta automática al ADMIN y bloquea la creación de nuevas sesiones para ese banco hasta que la existente sea cerrada o descartada.

Tolerancia de monto

La tolerancia de diferencia de monto para matching automático es configurable en Administración → Parámetros del Sistema (valor por defecto: $0,00, es decir, coincidencia exacta).

Errores frecuentes

Error Causa Solución
FORMATO_EXTRACTO_INVALIDO El archivo CSV/Excel no corresponde al formato esperado para el banco seleccionado Verificar que el banco seleccionado coincida con el formato del archivo. Consultar el listado de formatos soportados en Administración
PERIODO_SOLAPADO El extracto importado cubre fechas ya conciliadas en una sesión anterior Revisar las sesiones existentes y ajustar el período del nuevo extracto
TRANSACCION_DUPLICADA Una transacción del extracto ya existe en una sesión anterior (mismo banco, monto, fecha y referencia) El sistema bloquea la importación del duplicado; verificar si el extracto fue importado previamente
SESION_BLOQUEADA Hay una sesión abierta para ese banco hace más de 30 días Resolver o descartar la sesión antigua antes de crear una nueva
MATCH_SIN_JUSTIFICACION Se intentó guardar un match manual sin ingresar justificación Completar el campo de justificación antes de confirmar el emparejamiento
ARCHIVO_VACIO El archivo importado no contiene transacciones Verificar que el extracto del homebanking corresponda al período con movimientos

Preguntas frecuentes

¿Qué formatos de archivo se soportan? Se soportan archivos .csv (separado por coma o punto y coma) y .xlsx. El sistema reconoce automáticamente el formato según el banco seleccionado. Si el banco no está en la lista, contactar al administrador para configurar un nuevo perfil de importación.

¿Qué pasa si el mismo pago aparece en dos extractos? El sistema detecta la transacción como duplicada durante la importación y la bloquea. Solo puede existir un emparejamiento por pago en PSICOLE. Si se requiere corregir un emparejamiento previo, el ADMIN debe revertirlo desde la sesión original.

¿Puedo conciliar pagos de Mercado Pago? Los pagos procesados por Mercado Pago se concilian automáticamente mediante el webhook de notificaciones. El módulo de conciliación bancaria está diseñado para extractos de cuentas bancarias tradicionales. Ver módulo Pagos Online para el flujo de MP.

¿Se puede reabrir una sesión cerrada? Solo el ADMIN puede reabrir una sesión cerrada, siempre que no existan sesiones posteriores para el mismo banco que dependan de ella. La reapertura queda auditada.

¿Qué significa "No Identificado"? Una transacción marcada como "No Identificado" es un ingreso o egreso en el extracto que no tiene correspondencia con ningún pago en PSICOLE. Debe ser investigada manualmente con el banco para determinar su origen.

Cursos y Capacitación

Descripción

El módulo de Cursos y Capacitación gestiona la oferta formativa del Colegio: talleres, jornadas, seminarios y cursos de actualización profesional. Soporta tres modalidades —presencial, virtual e híbrida— con configuración independiente de cupos, aula/link de videoconferencia y cronograma de encuentros.

Las inscripciones incluyen un sistema de lista de espera automática: cuando se completan los cupos, los nuevos interesados quedan en lista y son promovidos en orden cuando se libera un lugar o se amplía el cupo. El módulo también gestiona prerequisitos (cursos anteriores o condición de matrícula activa), materiales descargables y la emisión de certificados digitales con código QR verificable públicamente.

El pago puede ser en un solo desembolso o en cuotas, con vencimientos y recargos configurables por curso. Los certificados se emiten automáticamente cuando el colegiado completa la asistencia mínima requerida y tiene el pago al día.

Roles con acceso

Rol Nivel de acceso
ADMIN Acceso completo a todos los cursos y configuraciones
OPERADOR_CURSOS Crear, editar y dar de baja cursos; gestionar inscripciones; emitir certificados; cargar materiales
COLEGIADO Consultar catálogo, inscribirse, pagar, descargar materiales y certificados propios

Flujo principal

1. Crear un nuevo curso

  1. Ir a Cursos → Nuevo Curso.
  2. Completar los datos generales: nombre, descripción, modalidad (presencial / virtual / híbrido), fechas de inicio y fin, cupo máximo y cupo mínimo (por debajo del cual el curso puede cancelarse).
  3. En la sección Encuentros, agregar cada sesión con fecha, hora, duración y aula o link de videoconferencia.
  4. En Prerequisitos, seleccionar los cursos previos requeridos y/o marcar si se requiere matrícula activa.
  5. En Aranceles, configurar si el pago es único o en cuotas, ingresando monto, cantidad de cuotas y fecha de cada vencimiento.
  6. En Materiales, subir los archivos que serán accesibles a los inscriptos (PDF, video, enlace externo).
  7. Hacer clic en Guardar como Borrador o Publicar para que quede visible en el catálogo del colegiado.

Formulario de alta de curso con secciones colapsables

2. Gestionar inscripciones

  1. Ir a Cursos → [Nombre del Curso] → Inscripciones.
  2. La lista muestra todos los inscriptos con estado (Confirmado, Pendiente de Pago, Lista de Espera, Baja).
  3. Para inscribir manualmente a un colegiado: clic en Agregar Inscripto, buscar por apellido o número de matrícula, seleccionar y confirmar.
  4. El sistema verifica automáticamente los prerequisitos y rechaza la inscripción si no se cumplen, indicando el motivo.
  5. Si el cupo está completo, el sistema ofrece agregar al interesado a la lista de espera.
  6. Para dar de baja a un inscripto: seleccionarlo, clic en Dar de Baja, indicar el motivo y si aplica reembolso.

Lista de inscriptos con filtros de estado y botón de agregar

3. Administrar lista de espera

  1. En la pestaña Lista de Espera del curso, se visualizan los interesados en orden de anotación (posición 1, 2, 3…).
  2. Cuando se libera un cupo (baja de inscripto o ampliación de cupo), el sistema notifica automáticamente por email al primero en la lista.
  3. El interesado tiene un plazo configurable (por defecto 48 horas) para confirmar su inscripción y abonar.
  4. Si no confirma en el plazo, pasa al final de la lista y se notifica al siguiente.
  5. El operador puede mover manualmente a un interesado dentro de la lista ingresando justificación.

Vista de lista de espera con posición, fecha de anotación y estado de notificación

4. Registrar asistencia

  1. En Cursos → [Nombre del Curso] → Asistencia, seleccionar el encuentro del día.
  2. La lista muestra todos los inscriptos confirmados con checkbox de presente/ausente.
  3. Marcar la asistencia y hacer clic en Guardar Asistencia.
  4. El sistema calcula automáticamente el porcentaje de asistencia acumulado de cada participante.
  5. Al alcanzar la asistencia mínima configurada (ej. 75%), el participante queda habilitado para recibir su certificado.

Planilla de asistencia con porcentaje acumulado por participante

5. Emitir certificados digitales con QR

  1. Ir a Cursos → [Nombre del Curso] → Certificados.
  2. El sistema lista los participantes que cumplen los requisitos de asistencia y pago.
  3. Hacer clic en Emitir Certificados para procesarlos en lote, o en Emitir en la fila de un participante específico.
  4. El certificado se genera en PDF con los datos del colegiado, nombre del curso, fecha, horas de capacitación y un código QR único.
  5. El QR apunta a una URL pública de verificación donde cualquier persona puede confirmar la autenticidad del certificado.
  6. El certificado queda disponible en el portal de autogestión del colegiado para su descarga.

Certificado generado con diseño institucional y código QR visible

6. Cargar y gestionar materiales

  1. En Cursos → [Nombre del Curso] → Materiales, hacer clic en Agregar Material.
  2. Elegir el tipo: archivo subido (PDF, DOCX, PPTX, video) o enlace externo.
  3. Ingresar el nombre del material y, opcionalmente, el número de encuentro al que corresponde.
  4. Configurar la visibilidad: Libre (visible antes de inscribirse) o Solo Inscriptos.
  5. Los inscriptos confirmados con pago al día pueden descargar los materiales desde su portal de autogestión.

Listado de materiales de un curso con tipo, visibilidad y acciones

Campos y validaciones

Campo Tipo Requerido Descripción
Nombre del curso Texto (máx. 200 car.) Nombre público que aparece en el catálogo
Modalidad Selección Presencial, Virtual o Híbrido
Cupo máximo Entero positivo Máximo de inscriptos simultáneos
Cupo mínimo Entero positivo No Umbral para confirmar o cancelar el curso
Asistencia mínima (%) Decimal 0-100 Porcentaje requerido para certificar (por defecto 75)
Prerequisitos Múltiple selección No Cursos previos requeridos
Fecha de inicio Fecha No puede ser anterior a la fecha de publicación
Fecha de fin Fecha Debe ser posterior a la fecha de inicio
Arancel único Decimal ≥ 0 Condicional Requerido si modalidad de pago es "único"
Cantidad de cuotas Entero 1-12 Condicional Requerido si modalidad de pago es "cuotas"
Fecha de vencimiento (cuota) Fecha Sí por cuota Una fecha por cada cuota configurada

Reglas de negocio

Prerequisitos estrictos

Si un colegiado no cumple todos los prerequisitos, el sistema bloquea la inscripción con un mensaje que indica cuál prerequisito falta. No se puede omitir esta validación salvo que un ADMIN desactive manualmente el prerequisito del curso.

Cupo y lista de espera

Cuando el cupo máximo se alcanza, la inscripción directa queda inhabilitada y se activa automáticamente la lista de espera. El orden de la lista no puede modificarse manualmente sin justificación auditable.

Cancelación del curso

Si al cierre de inscripciones (fecha configurable, por defecto 48 hs antes del inicio) el número de inscriptos confirmados con pago es inferior al cupo mínimo, el sistema genera un alerta para que el operador decida cancelar o continuar. La cancelación genera reembolsos automáticos de los pagos acreditados.

Certificados y pagos

No se emite certificado a participantes con cuotas pendientes de pago, aunque hayan cumplido la asistencia mínima. El certificado se libera automáticamente al registrarse el pago de la última cuota adeudada.

Modificación de cursos publicados

Cambiar el arancel o la cantidad de cuotas en un curso con inscriptos confirmados no afecta retroactivamente las inscripciones ya realizadas. Los cambios aplican solo a nuevas inscripciones.

Errores frecuentes

Error Causa Solución
PREREQUISITO_NO_CUMPLIDO El colegiado no completó el curso prerequisito Verificar el historial de cursos del colegiado; si existe error, un ADMIN puede aprobar la inscripción manualmente
CUPO_AGOTADO El cupo máximo ya fue alcanzado Inscribir al interesado en lista de espera o ampliar el cupo desde la configuración del curso
INSCRIPCION_DUPLICADA El colegiado ya está inscripto en ese curso Verificar en la lista de inscriptos; si fue dado de baja puede reinscribirse si quedan cupos
MATRICULA_INACTIVA El colegiado tiene matrícula suspendida o vencida Regularizar la matrícula antes de inscribirse en cursos que requieren matrícula activa
CERTIFICADO_NO_HABILITADO El participante no cumple asistencia mínima o tiene cuotas pendientes Revisar asistencia y estado de pagos; emitir el certificado cuando ambos requisitos estén cumplidos
MATERIAL_FORMATO_INVALIDO El archivo subido supera el tamaño máximo (50 MB) o el formato no está permitido Comprimir el archivo o usar un enlace externo para materiales de gran tamaño

Preguntas frecuentes

¿Puede un colegiado inscribirse en varios cursos simultáneamente? Sí, no hay límite de inscripciones simultáneas. Sin embargo, si dos cursos tienen encuentros en el mismo horario, el sistema muestra una advertencia (no bloquea la inscripción).

¿Cómo se manejan las cuotas vencidas? Las cuotas vencidas generan una deuda en la cuenta corriente del colegiado. Después de X días de mora (configurable), se suspende el acceso a los materiales del curso. El certificado no se emite mientras haya cuotas impagas.

¿Se puede inscribir a alguien en lista de espera directamente? Sí, el operador puede agregar manualmente a una persona en lista de espera incluso cuando hay cupos disponibles (ej. si el interesado quiere esperar por razones económicas). En ese caso queda al final de la lista con estado EN_ESPERA_VOLUNTARIA.

¿El QR del certificado funciona sin conexión a internet? No. El QR apunta a una URL del sistema PSICOLE. Para verificar la autenticidad del certificado se requiere conexión. El PDF del certificado puede descargarse y compartirse offline, pero la verificación del QR es siempre online.

¿Cómo se comunica a los inscriptos cuando se cancela un curso? Al confirmar la cancelación, el sistema envía automáticamente un correo a todos los inscriptos (incluyendo lista de espera) y procesa los reembolsos configurados. No requiere acción manual adicional del operador.

Portal de prestadores y órdenes de obra social
🖥 Escritorio Portal de prestadores y órdenes de obra social
Portal de prestadores y órdenes de obra social — móvil
📱 Móvil Portal de prestadores y órdenes de obra social

Prestadores y Órdenes de Servicio

Descripción

El módulo de Prestadores gestiona la relación entre el Colegio y las obras sociales que derivan pacientes a los psicólogos matriculados. Las obras sociales (OSDE, Swiss Medical, IOMA, PAMI, y otras) envían mensualmente un listado de órdenes de servicio: cada orden corresponde a una prestación realizada por un colegiado a un afiliado de la obra social.

El flujo comienza con la recepción y carga de las órdenes, sigue con la validación por parte del operador (verificación de que el prestador está habilitado, que los montos corresponden al nomenclador vigente y que no existan duplicados), y culmina con la aprobación del lote mensual que dispara el proceso de liquidación. El Colegio retiene una comisión configurable antes de transferir el saldo al psicólogo.

El portal del prestador permite a los colegiados que operan como prestadores ver el estado de sus órdenes, el detalle de las liquidaciones recibidas y descargar los comprobantes correspondientes.

Roles con acceso

Rol Nivel de acceso
ADMIN Acceso completo: alta de obras sociales, configuración de comisiones, aprobación de lotes, auditoría
OPERADOR_FINANZAS Cargar órdenes, validar, aprobar lotes mensuales, generar liquidaciones
PRESTADOR Ver estado de sus propias órdenes, descargar liquidaciones y comprobantes

Flujo principal

1. Alta de obra social (prestador)

  1. Ir a Prestadores → Obras Sociales → Nueva Obra Social.
  2. Completar los datos de la entidad: razón social, CUIT, nombre fantasia, código interno, dirección y datos de contacto del responsable de facturación.
  3. En la sección Configuración de Comisiones, definir el porcentaje o monto fijo de comisión que el Colegio retiene. Se puede configurar por tipo de orden (consulta, psicoterapia, evaluación, etc.).
  4. En Nomenclador, cargar o importar la tabla de valores por código de prestación vigente para esa obra social.
  5. Hacer clic en Guardar. La obra social queda activa y disponible para recibir órdenes.

Formulario de alta de obra social con sección de comisiones y nomenclador

2. Carga de órdenes de servicio

  1. Ir a Prestadores → Órdenes → Cargar Lote.
  2. Seleccionar la obra social y el mes/año de las órdenes.
  3. Subir el archivo de órdenes en el formato acordado con la obra social (CSV, Excel o XML según integración).
  4. El sistema realiza una validación previa: detecta filas con datos faltantes, prestadores no matriculados o sin habilitación activa, y códigos de prestación no registrados en el nomenclador.
  5. El resultado de la validación muestra las filas aceptadas y las rechazadas con el motivo de rechazo.
  6. Confirmar la importación de las filas aceptadas. Las rechazadas deben corregirse y reimportarse.

Pantalla de resultado de importación con tabla de órdenes aceptadas y rechazadas

3. Validación de órdenes

  1. En Prestadores → Órdenes → Pendientes de Validación, se listan todas las órdenes importadas con estado PENDIENTE.
  2. Seleccionar un lote o validar orden por orden según el flujo de trabajo del operador.
  3. Para cada orden revisar: prestador activo, código de prestación en nomenclador, monto consistente con el valor del nomenclador (±tolerancia configurable), y que no exista duplicado en el período.
  4. Si todo es correcto, cambiar el estado a VALIDADA. Si hay inconsistencias, cambiar a OBSERVADA con comentario.
  5. Las órdenes observadas se devuelven a la obra social para corrección. El sistema puede enviar el listado de observaciones por email al contacto configurado.
  6. Una vez validadas todas las órdenes del mes, avanzar al cierre del lote mensual.

Vista de validación de órdenes con filtros y panel de detalle por orden

4. Cierre del lote mensual

  1. En Prestadores → Lotes Mensuales, seleccionar el lote del mes a cerrar.
  2. Verificar el resumen: total de órdenes validadas, monto bruto, comisión del Colegio, monto neto a liquidar.
  3. Si el resumen es correcto, hacer clic en Cerrar y Aprobar Lote.
  4. El sistema cambia el estado del lote a APROBADO y genera automáticamente las liquidaciones individuales por prestador (ver módulo Liquidaciones).
  5. Se notifica por email a cada prestador con el detalle de su liquidación.
  6. El lote aprobado queda bloqueado para modificaciones; solo el ADMIN puede reabrirlo.

Pantalla de cierre de lote con resumen financiero y botón de aprobación

5. Consulta del portal del prestador

  1. El colegiado con rol PRESTADOR accede a Mi Portal → Mis Órdenes.
  2. Puede filtrar por obra social, período y estado de la orden.
  3. Ver el detalle de cada orden: código de prestación, paciente (nombre o número de afiliado), fecha, monto bruto, comisión aplicada, monto neto.
  4. En Mis Liquidaciones, descargar el comprobante de liquidación en PDF con detalle del lote.
  5. En caso de discrepancia, el prestador puede generar un Ticket de Reclamo directamente desde la vista de la orden (ver módulo Tickets).

Portal del prestador con lista de órdenes y opción de descarga

Campos y validaciones

Campo Tipo Requerido Descripción
Obra social (razón social) Texto Nombre legal de la obra social
CUIT obra social CUIT válido (XX-XXXXXXXX-X) Identificación fiscal de la entidad
Código interno Texto alfanumérico Código PSICOLE para identificar la obra social
Comisión (%) Decimal 0-100 Porcentaje de retención del Colegio
Tipo de orden Selección Consulta, psicoterapia, evaluación, informe, etc.
Período del lote Mes/Año Mes y año al que corresponden las órdenes
Número de orden Texto Identificador único de la obra social para la orden
Matrícula del prestador Entero Número de matrícula del psicólogo en PSICOLE
Código de prestación Texto Código del nomenclador de la obra social
Monto de la orden Decimal ≥ 0 Valor informado por la obra social

Reglas de negocio

Prestador habilitado

Solo se aceptan órdenes de colegiados con matrícula activa y sin inhabilitaciones vigentes. Las órdenes de prestadores con matrícula suspendida son automáticamente rechazadas durante la validación.

Sin duplicados por período

El sistema detecta órdenes con el mismo número de orden y obra social dentro del mismo período. Las duplicadas se marcan como RECHAZADA_DUPLICADO y no se incorporan al lote.

Comisión configurable por tipo

La comisión puede diferenciarse por tipo de prestación. Si no existe una comisión específica para el tipo de orden, se aplica la comisión general configurada para la obra social. Si la comisión general tampoco está definida, el sistema alerta al operador antes de aprobar el lote.

Período de lote bloqueado

Una vez aprobado el lote, no se pueden agregar ni modificar órdenes del mismo período y obra social. Para correcciones post-cierre se utiliza el mecanismo de órdenes de ajuste (crédito/débito) en el lote del mes siguiente.

Órdenes observadas

Las órdenes con estado OBSERVADA no se incluyen en el lote hasta que la obra social las corrija y se reimporte. El operador puede decidir excluirlas permanentemente del período si la obra social no corrige en tiempo.

Errores frecuentes

Error Causa Solución
PRESTADOR_NO_MATRICULADO El número de matrícula en la orden no existe en PSICOLE Verificar el número con la obra social; si el profesional está matriculado, buscar posibles errores tipográficos
PRESTADOR_INHABILITADO La matrícula existe pero está suspendida o cancelada Regularizar la situación de la matrícula antes de validar la orden
CODIGO_PRESTACION_DESCONOCIDO El código de prestación no está en el nomenclador cargado Actualizar el nomenclador de la obra social con el código faltante
MONTO_FUERA_DE_RANGO El monto informado difiere en más del umbral configurado respecto al nomenclador Verificar con la obra social si el valor del nomenclador fue actualizado; ajustar el nomenclador si corresponde
LOTE_YA_APROBADO Se intenta importar órdenes en un período y obra social ya cerrados Usar órdenes de ajuste en el próximo lote; no se puede modificar un lote aprobado
FORMATO_ARCHIVO_INCOMPATIBLE El archivo enviado por la obra social no coincide con el perfil de importación configurado Verificar el formato acordado con la obra social; solicitar el archivo en el formato correcto o actualizar el perfil de importación

Preguntas frecuentes

¿Puede un colegiado ser prestador de varias obras sociales? Sí. Un colegiado puede estar habilitado como prestador para múltiples obras sociales simultáneamente. Cada obra social tendrá su propio historial de órdenes y liquidaciones para ese prestador.

¿Cómo se actualiza el nomenclador cuando la obra social cambia los valores? El operador debe ir a Prestadores → Obras Sociales → [Nombre] → Nomenclador y actualizar los valores. El cambio aplica a los lotes cuyo período sea posterior a la fecha de actualización; los lotes históricos no se modifican.

¿Qué pasa si la obra social envía el archivo fuera de término? El sistema no tiene una restricción automática por fecha de envío, pero el operador puede configurar una fecha límite de carga por período. Si se supera esa fecha, el sistema requiere aprobación del ADMIN para cargar el lote fuera de término.

¿El prestador puede ver órdenes observadas? Sí. En el portal del prestador, las órdenes observadas aparecen con el motivo de observación visible, para que el profesional pueda informar a su obra social la corrección necesaria.

¿Cómo se maneja la facturación del Colegio a la obra social? La factura del Colegio a la obra social se genera en el módulo de Liquidaciones cuando se aprueba el lote. El módulo de Prestadores solo gestiona la validación y aprobación de las órdenes; la parte de facturación y cobro es responsabilidad del módulo Liquidaciones.

Panel de liquidaciones y comisiones a prestadores
🖥 Escritorio Panel de liquidaciones y comisiones a prestadores
Panel de liquidaciones y comisiones a prestadores — móvil
📱 Móvil Panel de liquidaciones y comisiones a prestadores

Liquidaciones y Comisiones

Descripción

El módulo de Liquidaciones y Comisiones cubre el ciclo completo de distribución de fondos entre el Colegio y los psicólogos que operan como prestadores de obras sociales. Una vez que el operador aprueba un lote mensual de órdenes de servicio, el sistema calcula automáticamente la comisión del Colegio para cada tipo de prestación y genera los documentos de liquidación individuales.

Las comisiones son totalmente configurables: pueden definirse como porcentaje o monto fijo, diferenciadas por obra social, por tipo de prestación y con vigencias temporales (ej. una tarifa que rige solo desde el 1 de enero). Esto permite reflejar los acuerdos comerciales vigentes sin necesidad de desarrollo adicional.

La etapa final es la generación de lotes de pago: el sistema agrupa las liquidaciones aprobadas, genera la orden de transferencia bancaria consolidada y registra cada pago efectuado para su posterior conciliación. El historial de liquidaciones y los comprobantes están disponibles tanto para el operador como para el prestador desde su portal de autogestión.

Roles con acceso

Rol Nivel de acceso
ADMIN Acceso completo: configurar comisiones, aprobar liquidaciones, ejecutar lotes, auditoría
OPERADOR_FINANZAS Revisar y aprobar liquidaciones, generar lotes de pago, descargar comprobantes
PRESTADOR Ver liquidaciones propias, descargar comprobantes, consultar historial

Flujo principal

1. Configurar comisiones

  1. Ir a Administración → Liquidaciones → Configuración de Comisiones.
  2. Seleccionar la obra social para la cual se define la comisión.
  3. Hacer clic en Nueva Regla de Comisión.
  4. Configurar los parámetros:
  5. Tipo de aplicación: porcentaje sobre el monto de la orden o monto fijo por orden.
  6. Tipo de prestación: aplicar a todas las prestaciones o a un tipo específico (consulta, evaluación, informe, etc.).
  7. Vigencia desde: fecha a partir de la cual aplica esta regla.
  8. Vigencia hasta: opcional; si no se especifica, la regla rige indefinidamente.
  9. Guardar. El sistema muestra el historial de reglas con sus vigencias para auditoría.
  10. Para una obra social con múltiples reglas, el sistema aplica siempre la regla más específica vigente al momento del cierre del lote.

Tabla de configuración de comisiones con columnas de tipo, valor y vigencias

2. Revisión automática de liquidaciones generadas

  1. Al aprobar un lote mensual desde el módulo de Prestadores, el sistema genera automáticamente una liquidación por cada prestador del lote.
  2. Ir a Liquidaciones → Pendientes de Revisión.
  3. Cada liquidación muestra: prestador, obra social, período, total de órdenes, monto bruto, comisión aplicada, monto neto a transferir.
  4. El operador puede expandir el detalle para ver el cálculo orden por orden y verificar que la comisión se aplicó correctamente.
  5. Si el cálculo es correcto, cambiar el estado a APROBADA. Si hay discrepancias, cambiar a EN_REVISION y agregar un comentario.

Vista de liquidación con detalle de comisiones por orden y estado

3. Generar lote de pago

  1. Ir a Liquidaciones → Lotes de Pago → Nuevo Lote.
  2. Seleccionar el período y las liquidaciones aprobadas que se incluirán en el lote (se puede filtrar por obra social, período o prestador).
  3. El sistema muestra el resumen del lote: cantidad de liquidaciones, monto total a transferir, detalle por prestador con CBU/CVU destino.
  4. Revisar y hacer clic en Generar Lote.
  5. El lote queda en estado GENERADO. Descargar el archivo de transferencias bancarias en el formato requerido por el banco (SEPA, TXT Bancario, etc.).
  6. Procesar la transferencia desde el homebanking. Una vez acreditada, regresar al lote y hacer clic en Marcar como Pagado, adjuntando el comprobante bancario.
  7. El lote pasa a estado PAGADO y cada liquidación incluida queda en estado LIQUIDADA.

Pantalla de generación de lote con tabla de beneficiarios y montos

4. Conciliación mensual de liquidaciones

  1. Ir a Liquidaciones → Conciliación Mensual.
  2. Seleccionar el mes a conciliar.
  3. El sistema cruza las liquidaciones pagadas contra los débitos registrados en la cuenta bancaria del Colegio (importados desde el módulo de Conciliación Bancaria).
  4. Las transferencias que coincidan quedan marcadas como CONCILIADA. Las que no coincidan quedan como PENDIENTE_CONCILIACION.
  5. Resolver manualmente las pendientes, adjuntando evidencia del pago si es necesario.
  6. Al cerrar la conciliación mensual, se genera el informe de cierre con los totales por obra social.

Tabla de conciliación mensual con estado por liquidación y totales

5. Consulta del historial de liquidaciones

  1. En Liquidaciones → Historial, filtrar por período, prestador, obra social o estado.
  2. Seleccionar una liquidación para ver su detalle completo: cada orden incluida con código de prestación, monto, comisión aplicada y monto neto.
  3. Descargar el comprobante de liquidación en PDF (disponible también para el prestador en su portal).
  4. El historial es permanente e inmutable: las liquidaciones cerradas no pueden editarse, solo anularse con nota de crédito si corresponde.

Detalle de liquidación individual con tabla de órdenes y totales

Campos y validaciones

Campo Tipo Requerido Descripción
Tipo de comisión Selección (% / monto fijo) Define si la comisión es proporcional o un valor fijo
Valor de comisión Decimal ≥ 0 Porcentaje (0-100) o monto en pesos
Tipo de prestación Selección o "Todas" A qué tipo de órdenes aplica la regla
Vigencia desde Fecha Inicio de vigencia de la regla de comisión
Vigencia hasta Fecha No Fin de vigencia; si vacío la regla no vence
CBU/CVU del prestador 22 dígitos Cuenta bancaria destino de la transferencia
Comprobante de pago Archivo (PDF/imagen) Sí al marcar pagado Evidencia de la transferencia bancaria realizada

Reglas de negocio

Regla más específica tiene prioridad

Si existen dos reglas de comisión aplicables (una para "Todas las prestaciones" y otra para "Consulta"), el sistema aplica la regla más específica. En caso de empate de especificidad, aplica la de vigencia más reciente.

Liquidaciones solo desde lotes aprobados

No es posible crear una liquidación manualmente sin un lote de órdenes aprobado como origen. Esto garantiza la trazabilidad completa desde la orden hasta el pago.

Monto neto negativo bloqueado

Si la comisión resultara mayor al monto bruto de la orden (situación anómala), el sistema bloquea la aprobación de esa liquidación y alerta al operador para revisión manual.

Prestador sin CBU

Si el prestador no tiene CBU/CVU registrado en su perfil, la liquidación se genera pero no puede incluirse en un lote de pago hasta que el dato sea cargado. El sistema notifica al prestador para que actualice su información bancaria desde el portal de autogestión.

Cierre de período

Una vez generado y marcado como pagado un lote, las liquidaciones incluidas quedan bloqueadas. Para correcciones se emite una nota de crédito/débito en el período siguiente, manteniendo la integridad del período cerrado.

Cambio de comisión retroactivo

Los cambios en las reglas de comisión no afectan lotes ya aprobados. La fecha de vigencia siempre se respeta: si se cierra un lote del mes de enero, se usa la comisión vigente en enero, aunque en febrero se haya modificado la configuración.

Errores frecuentes

Error Causa Solución
SIN_REGLA_COMISION No existe ninguna regla de comisión configurada para la obra social o el tipo de prestación del lote Configurar la regla de comisión correspondiente antes de aprobar el lote
PRESTADOR_SIN_CBU El prestador no tiene CBU/CVU registrado Solicitar al prestador que complete su CBU en el portal de autogestión o cargarlo manualmente desde la ficha del colegiado
MONTO_NETO_NEGATIVO La comisión supera el monto bruto de la orden Revisar la configuración de la comisión; probablemente el tipo o valor sea incorrecto
LIQUIDACION_DUPLICADA Se intentó generar una liquidación para un prestador y período que ya tiene una liquidación aprobada Verificar en el historial; si la existente tiene error, anularla antes de generar la nueva
LOTE_SIN_LIQUIDACIONES Se intentó generar un lote de pago sin seleccionar liquidaciones aprobadas Asegurarse de que haya liquidaciones en estado APROBADA antes de crear el lote
COMPROBANTE_REQUERIDO Se intentó marcar un lote como pagado sin adjuntar el comprobante de transferencia Subir el comprobante bancario antes de confirmar el pago

Preguntas frecuentes

¿Se puede tener comisiones diferentes para la misma obra social según el tipo de prestación? Sí. Se pueden configurar tantas reglas como tipos de prestación existan. Por ejemplo: 10% para consultas, 8% para evaluaciones y $500 fijo por informes periciales. El sistema aplica la regla más específica vigente.

¿Cómo se maneja un error en el monto de una liquidación ya aprobada? No se puede editar una liquidación aprobada. El procedimiento correcto es anular la liquidación (genera un registro de anulación en el historial) y generar una nueva liquidación corregida. Si el lote ya fue pagado, la corrección se realiza mediante nota de crédito/débito en el próximo período.

¿El prestador recibe algún aviso cuando se genera su liquidación? Sí. Al aprobarse el lote mensual que incluye sus órdenes, el sistema envía automáticamente un email al prestador con el resumen de su liquidación y un link para descargar el comprobante desde su portal.

¿Cómo afecta el cambio de CUIT de una obra social a las liquidaciones históricas? El cambio de CUIT no modifica liquidaciones pasadas. Las liquidaciones históricas conservan el CUIT que tenía la obra social al momento del cierre del lote. El nuevo CUIT aplica solo para liquidaciones futuras.

¿Se puede liquidar a un prestador en cuotas? No. Cada liquidación mensual se paga en una única transferencia. Las cuotas no aplican al mecanismo de liquidación a prestadores, que está diseñado para pagos únicos mensuales.

Certificados de Ética

Descripción

El Certificado de Ética es un documento oficial que acredita que un colegiado no registra sanciones éticas en el Tribunal de Ética del Colegio. Es requerido frecuentemente por empleadores, obras sociales, instituciones de salud y para presentaciones judiciales como perito.

El certificado se emite como PDF con firma digital y código QR de verificación. Tiene una validez limitada (típicamente 30 días desde su emisión) porque el estado de sanciones puede cambiar.

Roles con acceso

RolAcceso
COLEGIADOSolicita el certificado desde su portal de autogestión
ADMINAcceso completo: revisa solicitudes, emite certificados, configura arancel
OPERADORProcesa solicitudes y emite certificados

Flujo de trabajo

  1. Solicitud: El colegiado solicita el certificado desde /mis-tramites o desde el portal de autogestión. El sistema verifica que no tenga sanciones éticas activas en el registro del Tribunal.
  2. Pago del arancel: El sistema genera una deuda por el arancel configurado. El colegiado debe abonarla mediante pago online (MercadoPago, NAVE, Payway) o en caja.
  3. Revisión: Un operador revisa la solicitud, confirma que el pago está acreditado y que no hay sanciones éticas pendientes de registro.
  4. Emisión: El sistema genera un PDF con los datos del colegiado, número de matrícula, fecha de emisión, fecha de vencimiento (30 días), firma digital del Colegio y un código QR único.
  5. Verificación pública: Cualquier tercero puede escanear el QR para verificar la autenticidad y vigencia del certificado en una página pública sin necesidad de login.

Panel de administración

Ruta: /admin/etica — Componente: AdminEthicsCertificates

  • Bandeja de solicitudes pendientes con filtros por estado y fecha
  • Verificación automática contra el registro de sanciones del Tribunal
  • Emisión del PDF con un clic
  • Historial de certificados emitidos con código QR y fecha de vencimiento
  • Configuración del arancel desde Parámetros del Sistema

Preguntas frecuentes

¿Cuánto tarda la emisión del certificado? Si el colegiado no tiene sanciones y el pago está acreditado, el operador puede emitirlo en el acto. El tiempo depende de la disponibilidad del operador para revisar la solicitud.

¿Qué pasa si el colegiado tiene una sanción ética? El sistema muestra la sanción al operador. El certificado no puede emitirse mientras la sanción esté vigente. El colegiado puede consultar el estado de su sanción en el portal de autogestión.

¿El certificado se puede renovar automáticamente? No. Cada emisión requiere una nueva solicitud y el pago del arancel correspondiente.

Portal de autogestión: cuenta corriente y credencial
🖥 Escritorio Portal de autogestión: cuenta corriente y credencial
Portal de autogestión: cuenta corriente y credencial — móvil
📱 Móvil Portal de autogestión: cuenta corriente y credencial

Autogestión del Profesional

Descripción

El portal de Autogestión es la interfaz propia del psicólogo matriculado (colegiado) para interactuar con el Colegio sin necesidad de intermediación del personal administrativo. Disponible las 24 horas desde cualquier dispositivo, permite consultar el estado de cuenta, pagar deudas online con tarjeta o transferencia (mediante Mercado Pago), descargar documentos oficiales y mantener los datos personales actualizados.

El módulo está diseñado para reducir la carga operativa de las ventanillas físicas y agilizar trámites que históricamente requerían turno presencial. Los documentos generados (recibos, certificados, credencial digital) tienen validez oficial y están firmados digitalmente por el sistema.

Las solicitudes de modificación de datos (cambio de domicilio, teléfono, CUIT, especialidad declarada, etc.) no se aplican de forma inmediata sino que generan un flujo de aprobación interno: un operador de matrículas revisa los cambios y los aprueba o rechaza con un comentario. Esto garantiza la integridad del padrón de matriculados.

Roles con acceso

Rol Nivel de acceso
COLEGIADO Acceso completo a su propia autogestión

Flujo principal

1. Ver estado de cuenta y deudas

  1. Al iniciar sesión, el panel principal muestra un resumen de la cuenta corriente: saldo deudor, próximo vencimiento y últimos movimientos.
  2. Ir a Mi Cuenta → Estado de Cuenta para ver el detalle completo.
  3. La vista lista todas las cuotas y conceptos adeudados con fecha de vencimiento, monto original, recargos por mora acumulados y total a pagar.
  4. Usar los filtros por período, tipo de cuota o estado (vigente, vencida, pagada) para acotar la consulta.
  5. Las cuotas próximas a vencer (dentro de los 7 días configurables) se destacan con una alerta visual.

Panel principal con resumen de deuda y próximo vencimiento

2. Pagar online con Mercado Pago

  1. Desde el estado de cuenta, marcar las cuotas o conceptos a pagar con el checkbox correspondiente.
  2. Hacer clic en Pagar Seleccionados. El sistema muestra el resumen del pago con el total que se procesará.
  3. Confirmar y seleccionar el medio de pago en la pantalla de Mercado Pago: tarjeta de crédito, débito, transferencia bancaria o billetera digital.
  4. Completar los datos de pago en la interfaz de Mercado Pago (el sistema no almacena datos de tarjeta).
  5. Al recibir la confirmación de Mercado Pago (webhook), el sistema registra el pago automáticamente y genera el recibo.
  6. El colegiado es redirigido al portal de PSICOLE con la confirmación del pago y el enlace para descargar el recibo.

Pantalla de selección de cuotas a pagar y resumen previo al checkout

Pagos parciales

Es posible seleccionar solo algunas cuotas para pagar. Sin embargo, si existen cuotas con mora, el sistema obliga a incluir el recargo de mora en el monto total. No se puede pagar la cuota sin el recargo correspondiente.

3. Descargar recibos

  1. Ir a Mi Cuenta → Mis Recibos.
  2. Se lista el historial de todos los pagos realizados, con fecha, concepto, monto y número de recibo.
  3. Hacer clic en Descargar en el recibo deseado para obtener el PDF oficial con membrete del Colegio y firma digital del sistema.
  4. El recibo incluye un código de verificación que permite confirmar su autenticidad en el portal público del Colegio.
  5. Los recibos están disponibles para descarga indefinidamente desde el historial.

Listado de recibos con filtro por período y botón de descarga

4. Descargar certificados

  1. Ir a Mi Cuenta → Mis Certificados.
  2. El sistema lista los certificados disponibles por tipo:
  3. Certificado de Matrícula Vigente: acredita que la matrícula está activa al día de la fecha.
  4. Certificado de Libre Deuda: acredita que no existen deudas pendientes con el Colegio.
  5. Certificados de Cursos: emitidos al completar los cursos de capacitación (con QR verificable).
  6. Para certificados con validez temporal (matrícula, libre deuda), hacer clic en Generar Nuevo para obtener uno con la fecha actual. Los certificados anteriores quedan archivados.
  7. Descargar el PDF. El certificado tiene validez de 30 días (configurable) y muestra la fecha de emisión.

Panel de certificados con tipos disponibles y botón de generación

5. Ver y usar la credencial digital QR

  1. Ir a Mi Cuenta → Mi Credencial.
  2. La credencial digital muestra la foto del profesional, nombre completo, número de matrícula, especialidad y estado de la matrícula.
  3. El código QR embebido puede escanearse para verificar en tiempo real la validez de la matrícula en la web pública del Colegio.
  4. Hacer clic en Descargar Credencial para obtener la imagen en alta resolución (PNG o PDF).
  5. La credencial se actualiza automáticamente al cambiar el estado de la matrícula; si se suspende, la credencial muestra el estado SUSPENDIDA y el QR redirige a la novedad correspondiente.

Credencial digital con foto, datos y código QR visible

6. Solicitar modificación de datos personales

  1. Ir a Mi Perfil → Editar Datos.
  2. Visualizar los datos actuales registrados en el sistema: domicilio, teléfono, email, CUIT, especialidades declaradas, banco y CBU para liquidaciones.
  3. Modificar los campos que se deseen actualizar. Los campos editables están marcados; algunos datos (como el número de matrícula) no son modificables por el usuario.
  4. Subir la documentación de respaldo requerida según el tipo de dato a cambiar (ej. servicio de luz para cambio de domicilio, constancia AFIP para cambio de CUIT).
  5. Hacer clic en Enviar Solicitud de Modificación. La solicitud queda en estado PENDIENTE.
  6. Un operador de matrículas revisará la solicitud y la aprobará o rechazará con un comentario.
  7. El colegiado recibirá un email con el resultado. Si se aprueba, los datos se actualizan automáticamente en el padrón. Si se rechaza, se indica el motivo y el colegiado puede reenviar la solicitud con la corrección.

Formulario de edición de datos con campos habilitados e indicación de documentación requerida

7. Consultar el historial de solicitudes

  1. Ir a Mi Perfil → Mis Solicitudes.
  2. Se listan todas las solicitudes de modificación enviadas con su estado (Pendiente, Aprobada, Rechazada) y la fecha de resolución.
  3. Hacer clic en una solicitud para ver el detalle: datos solicitados, documentación adjuntada, comentario del operador.
  4. Si una solicitud fue rechazada, desde esta vista se puede clonar y reenviar con correcciones.

Historial de solicitudes con estado y detalle expandible

Campos y validaciones

Campo Tipo Requerido Descripción
Domicilio Texto + localidad/provincia Domicilio profesional o particular según tipo
Teléfono Texto (formato +54 …) Número de contacto con código de área
Email Email válido Dirección de correo para notificaciones
CUIT CUIT válido (XX-XXXXXXXX-X) Identificación fiscal
CBU/CVU 22 dígitos numéricos No Cuenta para recibir liquidaciones como prestador
Especialidad declarada Selección múltiple No Especialidades habilitadas en el Colegio
Documentación adjunta PDF/JPG/PNG (máx. 5 MB c/u) Condicional Requerida según el tipo de dato a modificar

Reglas de negocio

Solicitudes simultáneas

Solo puede existir una solicitud de modificación activa por campo. Si el colegiado envía una solicitud de cambio de domicilio y ya hay una pendiente de aprobación, el sistema bloquea la segunda hasta que la primera sea resuelta.

Certificado de Libre Deuda

El certificado de libre deuda solo puede generarse si el colegiado no tiene deudas vencidas en el sistema. Si existe deuda, el botón de generación está deshabilitado y se muestra el detalle de los conceptos adeudados.

Mercado Pago y cuotas

El procesamiento del pago es asíncrono: el webhook de Mercado Pago puede tardar hasta 5 minutos en llegar al sistema. Durante ese período, el pago aparecerá como PROCESANDO. No intentar pagar nuevamente hasta que el estado se actualice.

Datos bancarios para prestadores

El CBU/CVU cargado en el perfil es el que se usa para las liquidaciones de órdenes de servicio. Si se modifica, el cambio aplica al próximo lote de liquidaciones; los lotes ya generados no se ven afectados.

Credencial QR y matrícula suspendida

Si la matrícula es suspendida, la credencial sigue siendo descargable pero muestra el estado SUSPENDIDA. El QR verifica el estado en tiempo real, por lo que cualquier persona que escanee el código verá el estado actual, no el histórico.

Errores frecuentes

Error Causa Solución
PAGO_PROCESANDO El webhook de Mercado Pago aún no llegó al sistema Esperar hasta 5 minutos y recargar la página; si persiste después de 15 minutos, contactar al operador
DEUDA_IMPIDE_CERTIFICADO Se intenta generar un certificado de libre deuda con deudas pendientes Pagar las deudas vencidas primero; el botón se habilita automáticamente al regularizar la situación
SOLICITUD_PENDIENTE_EXISTENTE Ya existe una solicitud de modificación activa para el mismo campo Esperar la resolución de la solicitud existente o cancelarla antes de enviar una nueva
DOCUMENTACION_FALTANTE Se envió la solicitud sin adjuntar el documento de respaldo requerido Adjuntar el documento indicado antes de enviar la solicitud
CBU_INVALIDO El CBU/CVU ingresado no tiene el formato correcto o no pasa la validación de dígito verificador Verificar el número con el banco; debe tener exactamente 22 dígitos
SESION_EXPIRADA La sesión de usuario expiró durante el proceso de pago Iniciar sesión nuevamente; el pago en Mercado Pago se habrá registrado de todas formas si se completó el checkout

Preguntas frecuentes

¿Puedo pagar con tarjeta de crédito en cuotas? Depende del plan vigente en Mercado Pago configurado por el Colegio. Algunas cuotas de la matrícula pueden abonarse en cuotas con tarjeta según los acuerdos comerciales activos. La pantalla de checkout de Mercado Pago mostrará las opciones disponibles.

¿Mis recibos son válidos para presentar ante AFIP u otros organismos? Sí. Los recibos generados por PSICOLE tienen validez oficial como comprobante de pago interno del Colegio. Sin embargo, para fines impositivos consultar con el área de Finanzas del Colegio si se requiere una factura o comprobante adicional.

¿Cuánto tiempo tarda en aprobarse una solicitud de modificación de datos? El SLA interno es de 3 días hábiles. Si la solicitud supera ese plazo sin resolución, se genera automáticamente un ticket de escalamiento al supervisor. El colegiado puede consultar el estado desde Mis Solicitudes.

¿Puedo ver las cuotas de mis cursos en el portal de autogestión? Sí. Las cuotas de cursos aparecen en el estado de cuenta junto con las cuotas de matrícula y otros conceptos. Se identifican por el tipo de cuota ("Curso: [nombre del curso]") y pueden pagarse online de la misma manera.

¿El certificado de matrícula vigente tiene algún costo? No. La generación de certificados de matrícula vigente y libre deuda es gratuita para el colegiado. Solo los certificados de cursos específicos pueden tener un costo asociado al procesamiento, según la configuración del Colegio.

¿Qué pasa si pagué de más por error? El sistema no procesa reembolsos automáticos. Contactar al operador de finanzas para que registre el crédito en la cuenta corriente o procese la devolución según el medio de pago utilizado.

Módulo de Tickets y Trámites (EPIC-09)

El módulo de Tickets y Trámites permite gestionar solicitudes formales de colegiados y prestadores con flujo de trabajo completo, SLA configurable, semáforo de tiempos y asignación automática de operadores.

Para la documentación de administración (categorías, áreas, parámetros, dashboards), ver la sección de Administración:

Ver documentación completa → Tickets y Soporte{ .md-button .md-button--primary }


Vistas por Rol

Operador de Trámites

El operador accede a su dashboard personal al ingresar al sistema, con tickets agrupados por urgencia y semáforo SLA en cada tarjeta.

Dashboard personal del operador con KPIs y grupos por urgencia

Rutas: - Dashboard personal: /operator/dashboard - Kanban propio: /operator/tickets - Detalle de ticket: /tickets/:id

Guía completa del Operador de Trámites{ .md-button }


Supervisor de Trámites

El supervisor accede a métricas globales y al kanban por operador para monitorear la operación completa.

Dashboard de métricas del supervisor

Kanban por operador con semáforo SLA

Rutas: - Métricas: /supervisor/metrics - Gestión: /supervisor/tickets

Guía completa del Supervisor de Trámites{ .md-button }


Colegiado / Prestador

Los colegiados y prestadores pueden crear tickets, ver el estado de los suyos y agregar comentarios.

Vista de mis trámites del colegiado

Formulario de nuevo ticket

Vista mobile:

Mis trámites en celular

Ruta: /my-tickets


Seguimiento público

Cualquier persona puede consultar el estado de un ticket con su número de seguimiento, sin necesidad de iniciar sesión.

Pantalla de seguimiento público de ticket

Ruta: /track


Ciclo de vida

PENDIENTE → ASIGNADO → EN PROGRESO → [PAUSADO] → RESUELTO → CERRADO
Estado Descripción
PENDING Ticket recibido, sin operador
ASSIGNED Operador asignado automáticamente
IN_PROGRESS Operador trabajando
PAUSED Pausado con motivo registrado
WAITING_REQUESTER Esperando respuesta del solicitante
RESOLVED Resuelto por el operador
CLOSED Cerrado (supervisor o automático a los 7 días)
REOPENED Reabierto por el colegiado

Semáforo SLA

Color Estado
🟢 Verde OK — dentro del plazo
🟠 Naranja WARNING — menos del 25% restante
🔴 Rojo BREACHED — SLA vencido

Integración con trámites

Cuando una categoría de ticket tiene un módulo relacionado configurado (ej: Renovación de Matrícula, Débito Automático), en el detalle del ticket aparece el botón "Ver servicio relacionado" que lleva directamente al módulo correspondiente del sistema.


Documentación de administración

  • Configuración de Categorías, Áreas de Trabajo y Parámetros
  • Dashboard Global Admin

Directorio Público de Psicólogos

El directorio público es el módulo que expone el listado de profesionales habilitados a cualquier persona y a cualquier sitio web externo, sin necesidad de autenticación. Está disponible como página web en el portal y como API REST pública consumible desde cualquier servicio externo.


Quién aparece en el directorio

Para que un profesional aparezca en el directorio deben cumplirse dos condiciones simultáneas:

Condición Campo en base de datos Quién lo controla
Perfil público activado is_public_profile_active = true El propio profesional (autogestión) o el Administrador
Matrícula vigente enrollment_status IN ('APPROVED', 'PROVISIONAL') El sistema — se actualiza al aprobar o suspender la matrícula

Si cualquiera de las dos condiciones deja de cumplirse — por ejemplo, si se suspende la matrícula o el profesional desactiva su perfil — el registro deja de aparecer en todos los endpoints públicos de forma inmediata (respetando el TTL de caché).


Arquitectura del módulo

El módulo tiene tres capas independientes:

┌─────────────────────────────────────────────────────────────┐
│  BASE DE DATOS (MySQL)                                       │
│  Tabla `professionals` — campos públicos separados          │
│  de los datos de matrícula y expediente                      │
└───────────────────┬─────────────────────────────────────────┘
                    │ Prisma ORM
┌───────────────────▼─────────────────────────────────────────┐
│  BACKEND API (Node/Express)                                  │
│  publicDirectoryController.js                                │
│  Montado en /api/v1/public — CORS *, sin auth, rate limit    │
└───────────────────┬─────────────────────────────────────────┘
                    │ HTTP (fetch / axios)
┌───────────────────▼─────────────────────────────────────────┐
│  FRONTEND SPA (React)                                        │
│  PublicDirectory.jsx → /directorio-psicologos                │
│  Filtros inicializados desde URL query params                │
└─────────────────────────────────────────────────────────────┘

Acceso

Vía URL
Portal web https://sandbox.umdev.com.ar/directorio-psicologos
Portal web (pre-filtrado) https://sandbox.umdev.com.ar/directorio-psicologos?city=GODOY+CRUZ&insurance=OSEP
Perfil individual https://sandbox.umdev.com.ar/directorio-psicologos/garcia-maria-jose
API REST https://sandbox.umdev.com.ar/api/v1/public/directory

Modelo de datos — campos públicos vs. datos de matrícula

El modelo Professional en la base de datos mantiene dos grupos de campos claramente separados.

Campos exclusivos del perfil público

Estos campos son editados directamente por el profesional (o el admin) para controlar cómo aparece en el directorio. No afectan al expediente de matrícula.

Campo DB Clave JSON Descripción
is_public_profile_active (no expuesto) Toggle de visibilidad en el directorio
public_display_name displayName Nombre visible; si es null, usa firstName + lastName del usuario
public_bio bio Presentación profesional en texto libre
public_photo photo URL de foto de perfil
public_email email Email de contacto público
public_phone phone Teléfono público; si es null, usa office_phone
public_website website URL de sitio o red profesional
public_slug slug Identificador URL único, auto-generado

Campos del expediente usados en el directorio

Estos campos forman parte del expediente de matrícula. Aparecen en el directorio pero solo pueden modificarse desde la ficha profesional, no desde la autogestión de perfil público.

Campo DB Clave JSON Descripción
attention_modality modality PRESENCIAL, VIRTUAL o BOTH
attention_area attentionArea Población atendida (texto libre: "Niños, Adolescentes")
attention_schedule schedule Horarios de atención (texto libre)
accepted_insurances insurances Obras sociales aceptadas (texto libre)
languages languages Idiomas separados por coma
specialties specialty Especialidades clínicas
theoretical_orientation orientation Línea teórica (ej. "Cognitivo-Conductual")
office_city city Ciudad del consultorio
office_address officeAddress Dirección del consultorio
university_name university Universidad de graduación (solo en detalle)
degree_title degree Título obtenido (solo en detalle)
enrollment_date enrollmentDate Fecha de matriculación (solo en detalle)

Cadenas de fallback

Cuando un campo público no está cargado, la API aplica las siguientes cadenas de fallback en orden:

displayName  =  public_display_name  ??  user.firstName + " " + user.lastName
city         =  office_city  ??  professional.city  ??  user.city
phone        =  public_phone  ??  office_phone

Esto significa que un profesional sin public_display_name configurado aparecerá con su nombre y apellido del sistema. Si no cargó teléfono público, se usará el del consultorio si existe.


Sistema de slugs

Cada profesional con perfil activo tiene un slug único que forma su URL pública.

Generación automática

El slug se genera a partir de apellido + nombre, siguiendo estas transformaciones en orden:

  1. Convertir a minúsculas
  2. Normalizar caracteres Unicode (NFD) y eliminar diacríticos: á→a, ñ→n, ü→u
  3. Eliminar todo lo que no sea letra, número, espacio o guión
  4. Recortar espacios extremos
  5. Reemplazar espacios por guiones
  6. Colapsar guiones múltiples en uno solo

Ejemplo:

Apellido: "De Stefano Surballe"
Nombre:   "Candela"
Slug:     "de-stefano-surballe-candela"

Resolución de colisiones

Si el slug generado ya existe (dos profesionales con el mismo nombre), el sistema agrega un sufijo numérico incremental hasta encontrar uno libre:

garcia-maria-jose      → ocupado
garcia-maria-jose-2    → ocupado
garcia-maria-jose-3    → libre ✓

El slug es un campo UNIQUE en la base de datos — nunca puede haber dos profesionales con el mismo slug.

URL directa a un perfil

https://sandbox.umdev.com.ar/directorio-psicologos/de-stefano-surballe-candela

Al acceder a esta URL, el portal carga el directorio y abre automáticamente el modal de detalle del profesional correspondiente.


API REST Pública

Características generales

Característica Detalle
Base URL https://sandbox.umdev.com.ar/api/v1/public
CORS Access-Control-Allow-Origin: * — cualquier origen
Métodos permitidos GET, POST, OPTIONS
Autenticación Ninguna
Rate limiting 200 requests por IP cada 15 minutos
Formato JSON (Content-Type: application/json)
Versión v1

CORS solo en rutas públicas

El Origin: * aplica únicamente a /api/v1/public/*. El resto de la API (rutas autenticadas) usa CORS restrictivo configurado por CORS_ORIGIN en el entorno.


GET /directory/info

Metadatos de la API: total de profesionales activos, desglose por modalidad, lista de endpoints y parámetros disponibles.

Cache: public, max-age=300 (5 minutos)

Request:

curl https://sandbox.umdev.com.ar/api/v1/public/directory/info

Response:

{
  "success": true,
  "data": {
    "version": "v1",
    "totalProfessionals": 631,
    "baseUrl": "https://sandbox.umdev.com.ar/api/v1/public",
    "endpoints": {
      "list":         "GET /directory",
      "bySlug":       "GET /directory/by-slug/:slug",
      "byMatricula":  "GET /directory/:enrollmentNumber",
      "info":         "GET /directory/info"
    },
    "filters": {
      "search":    "string — búsqueda libre en nombre, bio, especialidad",
      "city":      "string — ciudad de atención",
      "specialty": "string — especialidad o área clínica",
      "modality":  "PRESENCIAL | VIRTUAL | BOTH",
      "insurance": "string — obra social aceptada",
      "page":      "integer — página (default: 1)",
      "limit":     "integer — resultados por página (default: 20, max: 50)"
    },
    "modalityBreakdown": {
      "PRESENCIAL": 210,
      "VIRTUAL": 152,
      "BOTH": 269
    }
  }
}

Útil para construir selectores dinámicos: consumir /info primero para obtener el total y el desglose antes de renderizar la UI de búsqueda.


GET /directory

Lista paginada de profesionales con perfil público activo.

Cache: public, max-age=120 (2 minutos)

Parámetros:

Parámetro Tipo Default Validación Descripción
search string Búsqueda libre
city string Ciudad de atención
specialty string Especialidad clínica
modality string Exacto: PRESENCIAL, VIRTUAL o BOTH Modalidad
insurance string Obra social
page integer 1 Mínimo: 1 Número de página
limit integer 20 Mínimo: 1, Máximo: 50 Resultados por página

Ejemplos:

# Listado básico
curl "https://sandbox.umdev.com.ar/api/v1/public/directory"

# Zona Mendoza + OSEP + especialista en niños
curl "https://sandbox.umdev.com.ar/api/v1/public/directory?city=GODOY+CRUZ&insurance=OSEP&search=ni%C3%B1os"

# Solo atención virtual, página 2
curl "https://sandbox.umdev.com.ar/api/v1/public/directory?modality=VIRTUAL&page=2&limit=10"

Response:

{
  "success": true,
  "data": [
    {
      "id": "clx1234...",
      "enrollmentNumber": "M-3847",
      "slug": "garcia-maria-jose",
      "displayName": "María José García",
      "photo": null,
      "specialty": "Psicología Clínica",
      "city": "GODOY CRUZ",
      "province": "Mendoza",
      "modality": "VIRTUAL",
      "attentionArea": "Adultos, Parejas",
      "schedule": "Lunes a Viernes 14:00 a 20:00",
      "phone": "+54 261 4XXXXXX",
      "email": "mgarcia@example.com",
      "website": null,
      "bio": "Especialista en terapia cognitivo-conductual.",
      "insurances": "OSEP, Swiss Medical, OSDE",
      "languages": "Español",
      "orientation": "Cognitivo-Conductual",
      "officeAddress": "Av. San Martín 1234, Mendoza"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 631,
    "totalPages": 32,
    "hasNextPage": true,
    "hasPrevPage": false
  }
}

GET /directory/by-slug/:slug

Perfil completo de un profesional por su slug único.

Cache: public, max-age=300 (5 minutos)

Request:

curl "https://sandbox.umdev.com.ar/api/v1/public/directory/by-slug/garcia-maria-jose"

Devuelve los mismos campos que el listado más los campos de detalle: university, degree, enrollmentDate.


GET /directory/:enrollmentNumber

Perfil completo por número de matrícula. Retorna los mismos campos que by-slug.

Request:

curl "https://sandbox.umdev.com.ar/api/v1/public/directory/M-3847"

Lógica interna de búsqueda y filtros

Comprender cómo se construye la consulta a la base de datos es clave para predecir los resultados.

Filtros individuales

Cada filtro agrega una condición AND al WHERE:

Filtro Operación SQL equivalente
modality=VIRTUAL attention_modality = 'VIRTUAL' (exacto)
specialty=ansiedad specialties LIKE '%ansiedad%'
insurance=OSEP accepted_insurances LIKE '%OSEP%'

Filtro de ciudad

city busca en dos campos simultáneamente (ciudad de consultorio y ciudad del profesional):

(office_city LIKE '%GODOY CRUZ%' OR city LIKE '%GODOY CRUZ%')

Búsqueda libre (search)

Busca en 6 campos con OR:

(
  public_display_name LIKE '%ansiedad%' OR
  public_bio LIKE '%ansiedad%' OR
  specialties LIKE '%ansiedad%' OR
  attention_area LIKE '%ansiedad%' OR
  user.first_name LIKE '%ansiedad%' OR
  user.last_name LIKE '%ansiedad%'
)

Combinación city + search

Cuando se usan ambos filtros juntos, la lógica cambia para garantizar que ambas condiciones se cumplan:

WHERE is_public_profile_active = 1
  AND enrollment_status IN ('APPROVED', 'PROVISIONAL')
  AND (office_city LIKE '%GODOY CRUZ%' OR city LIKE '%GODOY CRUZ%')   -- ciudad
  AND (                                                                  -- search
    public_display_name LIKE '%niños%' OR
    public_bio LIKE '%niños%' OR
    specialties LIKE '%niños%' OR
    attention_area LIKE '%niños%' OR
    user.first_name LIKE '%niños%' OR
    user.last_name LIKE '%niños%'
  )

Añadir más filtros (insurance, modality) agrega condiciones AND adicionales al mismo WHERE.

Sensibilidad a mayúsculas

MySQL con utf8mb4_unicode_ci (collation por defecto) hace los LIKE case-insensitive. osep, OSEP y Osep devuelven el mismo resultado. Sin embargo, los datos del campo city en el sandbox están cargados en MAYÚSCULAS (GODOY CRUZ), por lo que en producción los valores dependerán de cómo se ingresen los datos.


Cache y rendimiento

Endpoint Cache-Control TTL efectivo
GET /directory/info public, max-age=300 5 min
GET /directory public, max-age=120 2 min
GET /directory/by-slug/:slug public, max-age=300 5 min
GET /directory/:enrollmentNumber public, max-age=300 5 min

El header public permite que CDNs y proxies inversos (nginx, Cloudflare, etc.) cacheen las respuestas. Consecuencias prácticas:

  • Un perfil recién activado puede tardar hasta 2 minutos en aparecer en el listado y hasta 5 minutos en responder desde by-slug.
  • Un perfil recién desactivado puede seguir siendo accesible durante el TTL restante desde nodos de caché intermedios.
  • El endpoint /info refleja el total actualizado con hasta 5 minutos de retraso.

CORS y rate limiting

CORS

Configurado en app.js exclusivamente para el prefijo /api/v1/public:

cors({
  origin: '*',
  methods: ['GET', 'POST', 'OPTIONS'],
  allowedHeaders: ['Content-Type']
})

Headers enviados en cada respuesta:

Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Content-Type

Rate limiting

  • Límite: 200 requests por IP cada 15 minutos
  • Headers de respuesta: RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset (draft-7)
  • Requests OPTIONS: no cuentan hacia el límite (para no penalizar preflight CORS)
  • Respuesta al exceder el límite (HTTP 429):
{
  "success": false,
  "message": "Demasiadas solicitudes. Intente nuevamente en 15 minutos."
}

Portal web — comportamiento del frontend

La página /directorio-psicologos es una SPA React (PublicDirectory.jsx) con las siguientes características:

Inicialización desde URL query params

Los filtros se inicializan a partir de los query params de la URL al cargar la página. Esto permite compartir búsquedas pre-filtradas:

/directorio-psicologos?city=GODOY+CRUZ&insurance=OSEP&search=niños&modality=VIRTUAL&page=2

Parámetros soportados: search, city, modality, attentionArea, insurance, page.

Comportamiento de los filtros

  • Búsqueda libre: debounce de 350ms — no dispara la API en cada tecla
  • Cambio de filtro dropdown: dispara la API inmediatamente y resetea a página 1
  • Paginación: 20 resultados por página

Apertura de perfiles

Al hacer clic en una tarjeta: 1. Abre el modal de detalle 2. Hace un fetch a GET /directory/:enrollmentNumber para obtener los campos de detalle adicionales (university, degree, enrollmentDate) 3. Si el fetch falla (ej. caché expirado y perfil ya inactivo), muestra los datos de la tarjeta como fallback

URL compartible de perfil individual

Si la URL tiene el formato /directorio-psicologos/:slug, el modal se abre automáticamente al cargar la página haciendo un fetch a GET /directory/by-slug/:slug.


Gestión del perfil — Psicólogo (autogestión)

Ruta en el portal: /mi-perfil-publico

Endpoint backend: PUT /api/v1/professionals/my-public-profile

Flujo completo

Carga de página
    → GET /users/{userId}/full-profile
    → Mapea campos al formulario

Toggle "Publicar perfil"
    → PUT /professionals/my-public-profile
    → Payload: { isPublicProfileActive: boolean }
    → Efecto inmediato (sin guardar el resto del formulario)

Guardar cambios
    → PUT /professionals/my-public-profile
    → Payload: { todos los campos del formulario }

Campos editables desde autogestión

Campo Tipo Descripción
Publicar perfil toggle Activa/desactiva la aparición en el directorio
Nombre a mostrar texto Nombre visible (por defecto: nombre y apellido del sistema)
Foto URL URL de la imagen de perfil
Biografía textarea Presentación profesional
Email público email Email de contacto en el directorio
Teléfono público texto Teléfono de contacto
Sitio web URL Sitio web o red profesional
Modalidad select Presencial / Virtual / Ambas
Área de atención texto Poblaciones que atiende
Horarios textarea Horarios de atención
Obras sociales textarea Obras sociales aceptadas
Idiomas texto Idiomas en que atiende

Campos NO editables desde aquí

Los siguientes campos provienen del expediente de matrícula y solo pueden modificarse desde la ficha profesional en el panel de Administración:

  • specialty (especialidades clínicas)
  • orientation (orientación teórica)
  • university / degree (formación académica)
  • slug (auto-generado, no modificable manualmente)

Vista previa en tiempo real

La página incluye una tarjeta de previsualización que muestra en tiempo real cómo aparecerá el profesional en el directorio público, con foto, nombre, especialidad, ciudad, modalidad, teléfono y obras sociales.


Gestión del perfil — Administrador

Endpoint: PUT /api/v1/professionals/:id/public-profile

Requiere: rol ADMIN

Permite activar, desactivar y editar cualquier campo del perfil público de cualquier profesional desde la ficha individual en el módulo de Matrículas.

# Activar perfil
curl -X PUT "https://sandbox.umdev.com.ar/api/v1/professionals/[id]/public-profile" \
  -H "Authorization: Bearer [token-admin]" \
  -H "Content-Type: application/json" \
  -d '{ "isPublicProfileActive": true }'

# Actualizar campos
curl -X PUT "https://sandbox.umdev.com.ar/api/v1/professionals/[id]/public-profile" \
  -H "Authorization: Bearer [token-admin]" \
  -H "Content-Type: application/json" \
  -d '{
    "isPublicProfileActive": true,
    "attentionModality": "VIRTUAL",
    "acceptedInsurances": "OSEP, OSDE, Swiss Medical",
    "languages": "Español, Inglés"
  }'

El endpoint acepta los mismos campos que la autogestión. Solo los campos presentes en el body se actualizan — el resto permanece sin cambios.


Endpoints de utilidad

Estos endpoints son de uso excepcional, no forman parte del flujo normal de la API.

POST /directory/seed-profiles

Activa perfiles públicos en lote para entornos nuevos. Genera datos demo (modalidad, área, horarios, obras sociales) y asigna slugs automáticamente.

Protección: requiere secret: "psicole-seed-2026" en el body.

curl -X POST "https://sandbox.umdev.com.ar/api/v1/public/directory/seed-profiles" \
  -H "Content-Type: application/json" \
  -d '{ "secret": "psicole-seed-2026", "count": 300 }'
Parámetro Default Máximo Descripción
count 300 500 Cantidad de perfiles a activar

Solo para entornos sin datos previos

Ejecutar solo una vez en entornos nuevos. Si se ejecuta en un entorno con perfiles ya activados, solo procesa los que tienen is_public_profile_active = false.

POST /directory/generate-slugs

Genera slugs para todos los perfiles activos que no tienen uno asignado. Operación idempotente — no modifica los slugs existentes.

curl -X POST "https://sandbox.umdev.com.ar/api/v1/public/directory/generate-slugs" \
  -H "Content-Type: application/json" \
  -d '{ "secret": "psicole-seed-2026" }'

Response:

{ "success": true, "generated": 45, "total": 45 }

Integración en sitios externos

fetch (JavaScript)

// Metadatos primero — obtener total y filtros disponibles
const info = await fetch('https://sandbox.umdev.com.ar/api/v1/public/directory/info')
  .then(r => r.json());
console.log(`Hay ${info.data.totalProfessionals} profesionales en el directorio`);

// Buscar psicólogos en zona Mendoza que acepten OSEP y atiendan niños
const res = await fetch(
  'https://sandbox.umdev.com.ar/api/v1/public/directory' +
  '?city=GODOY+CRUZ&insurance=OSEP&search=ni%C3%B1os&limit=10'
);
const { data, pagination } = await res.json();
console.log(`${pagination.total} resultados — mostrando ${data.length}`);

data.forEach(psi => {
  console.log(`${psi.displayName} | ${psi.modality} | ${psi.phone}`);
});

PHP

$url = 'https://sandbox.umdev.com.ar/api/v1/public/directory'
     . '?city=GODOY+CRUZ&insurance=OSEP&search=ni%C3%B1os&limit=10';
$json = json_decode(file_get_contents($url), true);

foreach ($json['data'] as $psi) {
    echo $psi['displayName'] . ' — ' . $psi['phone'] . PHP_EOL;
}

Python

import requests

resp = requests.get(
    'https://sandbox.umdev.com.ar/api/v1/public/directory',
    params={
        'city': 'GODOY CRUZ',
        'insurance': 'OSEP',
        'search': 'niños',
        'limit': 10
    }
)
data = resp.json()

for psi in data['data']:
    print(f"{psi['displayName']} | {psi['city']} | {psi['attentionArea']}")

URL compartible pre-filtrada

Para enlazar desde otro sitio web hacia el directorio con filtros pre-aplicados:

https://sandbox.umdev.com.ar/directorio-psicologos?city=GODOY+CRUZ&insurance=OSEP&search=ni%C3%B1os

Al abrir ese link, el portal carga con los filtros ya activos y muestra los resultados correspondientes.


Referencia completa de campos en la respuesta

Campos del listado (GET /directory)

Campo Tipo Descripción
id string ID interno del registro
enrollmentNumber string Número de matrícula (ej: M-3847)
slug string|null Slug URL único (apellido-nombre)
displayName string Nombre visible (con fallback)
photo string|null URL de foto de perfil
specialty string|null Especialidades clínicas
city string|null Ciudad de atención (con fallback en tres niveles)
province string|null Provincia
modality PRESENCIAL|VIRTUAL|BOTH|null Modalidad de atención
attentionArea string|null Población que atiende
schedule string|null Horarios (texto libre)
phone string|null Teléfono (con fallback a teléfono de consultorio)
email string|null Email de contacto público
website string|null Sitio web
bio string|null Biografía profesional
insurances string|null Obras sociales aceptadas
languages string|null Idiomas
orientation string|null Orientación teórica
officeAddress string|null Dirección de consultorio

Campos adicionales en detalle (by-slug y /:enrollmentNumber)

Campo Tipo Descripción
university string|null Universidad de graduación
degree string|null Título obtenido
enrollmentDate ISO 8601|null Fecha de matriculación

Manejo de errores

Código HTTP Situación
200 OK — respuesta exitosa
403 Secret incorrecto en endpoints de utilidad (seed, generate-slugs)
404 Profesional no encontrado, perfil inactivo, o matrícula no vigente
429 Rate limit excedido (200 req / 15 min por IP)
500 Error interno del servidor

Estructura de error:

{
  "success": false,
  "message": "Perfil profesional no encontrado o no es público"
}
Dashboard del módulo DINERO con indicadores financieros
🖥 Escritorio Dashboard del módulo DINERO con indicadores financieros
Dashboard del módulo DINERO — móvil
📱 Móvil Dashboard del módulo DINERO

Módulo DINERO

Descripción

El módulo DINERO centraliza todas las operaciones financieras del Colegio. Accesible desde la barra lateral por usuarios con roles ADMIN y OPERADOR_FINANZAS, agrupa 13 secciones que cubren el ciclo completo: desde la generación de cuotas y la cobranza hasta la conciliación bancaria, reportes financieros y configuración del módulo.

Todas las operaciones del módulo DINERO se ejecutan en tiempo real contra la base de datos. Los indicadores del dashboard se calculan con consultas en paralelo para ofrecer una visión instantánea del estado financiero.

Ayuda contextual: Cada pantalla del módulo DINERO muestra un ícono (?) a la derecha del título. Al hacer clic, despliega una ayuda contextual específica para esa sección con un enlace directo a este manual.

Roles con acceso

RolNivel de acceso
ADMINAcceso completo a las 13 secciones, incluyendo configuración
OPERADOR_FINANZASAcceso completo a las 13 secciones
CONTADORAcceso de lectura a dashboard, reportes y conciliación

1. Dashboard de Dinero

Ruta: /admin/dinero/dashboard

El Dashboard es el punto de entrada al módulo. Ejecuta 14 consultas en paralelo para mostrar en tiempo real:

  • Deuda total pendiente y desglose por estado (PENDING, OVERDUE)
  • Pagos recibidos (hoy, este mes, este año)
  • Top deudores con mayor deuda acumulada
  • Estado de conciliación bancaria (transacciones sin matchear)
  • Recargos por mora aplicados en el período
  • Retenciones AFIP/IIBB reportadas
  • Descuentos aplicados (débito automático, jubilados, pago anticipado)
  • Alertas activas (SLA vencido, cuotas impagas críticas)
  • Recupero de deuda en gestión
  • Pagos pendientes de aprobación (transferencias)
  • Estado del débito directo (adheridos, rechazos, pendientes)

Dashboard del módulo DINERO con 14 indicadores en paralelo

2. Cobranza

Ruta: /admin/dinero/cobranza

Interfaz principal de cobro para operadores de caja. Permite:

  • Buscar profesionales por nombre, apellido, DNI o n° de matrícula
  • Visualizar todas las deudas pendientes y vencidas del profesional
  • Seleccionar deudas para pago (individual o múltiple)
  • Registrar pagos en efectivo, transferencia o débito automático
  • Emitir recibos con numeración correlativa automática
  • Anular recibos (solo ADMIN) con registro de auditoría
  • Ver historial completo de pagos del profesional

Panel de cobranza con búsqueda y listado de deudas

3. Caja

Ruta: /admin/dinero/caja

Gestión de la caja diaria con:

  • Apertura y cierre de caja con saldo inicial y final
  • Registro de todos los movimientos (ingresos y egresos)
  • Arqueo de caja con desglose por medio de pago
  • Historial de cierres anteriores con auditoría
  • Reporte de caja del día exportable

Panel de caja con arqueo y movimientos

4. Conciliación Bancaria

Ruta: /admin/dinero/conciliacion

Ver sección completa: Conciliación Bancaria. Esta sección del módulo DINERO integra la carga de extractos bancarios (CSV/XLS), el matching automático y manual con pagos registrados, y la auditoría de diferencias.

Conciliación bancaria con matching automático

5. Transferencias Pendientes

Ruta: /admin/dinero/transferencias

Bandeja de pagos por transferencia bancaria que requieren aprobación manual:

  • Listado de transferencias pendientes con datos del ordenante
  • Comprobante de transferencia subido por el colegiado
  • Aprobación o rechazo con motivo
  • Matcheo automático por CBU/CUIT del ordenante
  • Notificación automática al colegiado al aprobar/rechazar

Bandeja de transferencias pendientes de aprobación

6. Planes de Pago

Ruta: /admin/dinero/planes

Administración de planes de pago en cuotas para deudas acumuladas:

  • Crear plan de pago personalizado (cantidad de cuotas, monto, vencimientos)
  • Visualizar plan con cronograma de pagos
  • Registrar pagos de cuotas del plan
  • Seguimiento del estado del plan (al día, moroso, cancelado)
  • Cancelación anticipada con recálculo automático

Planes de pago en cuotas con cronograma

7. Débito Automático

Ruta: /admin/dinero/debito-automatico

Gestión del sistema de débito automático (débito bancario y tarjeta de crédito). Este panel es la interfaz administrativa; los colegiados gestionan su adhesión desde Autogestión → Débito Automático donde pueden registrar su CBU, consultar el estado de su adhesión y ver el historial de débitos procesados.

El sistema aplica un descuento del 30% sobre la cuota para los colegiados adheridos al débito automático. El descuento se configura en Parámetros del Sistema → Descuentos → Débito Directo.

Gestión del sistema de débito automático (débito bancario y tarjeta de crédito):

  • Listado de profesionales adheridos con estado de cada adhesión
  • Alta de nueva adhesión (CBU o tarjeta)
  • Gestión de rechazos: revisión y resolución
  • Generación de archivos COELSA para procesamiento bancario
  • Suspensión/reactivación de débitos por mora
  • Historial de débitos procesados con resultado

Ver documentación completa: Débito Automático Feature.

Panel de gestión de débito automático

8. Tarjetas sin Asociar

Ruta: /admin/dinero/tarjetas-sin-asociar

Bandeja de matching para pagos con tarjeta donde no se pudo identificar automáticamente al profesional:

  • Listado de transacciones de tarjeta sin matchear
  • Búsqueda del profesional por nombre, DNI o últimos dígitos de tarjeta
  • Asociación manual (matcheo) con un profesional existente
  • Crear nueva tarjeta para el profesional al asociar
  • Historial de matcheos resueltos

Tarjetas sin asociar - bandeja de matching

9. Salud de Pagos

Ruta: /admin/dinero/salud-pagos

Indicadores de morosidad y salud de la cartera de colegiados:

  • Ranking de morosidad por profesional (días de atraso, monto acumulado)
  • Distribución de deuda por antigüedad (30/60/90+ días)
  • Tasa de pago puntual vs. pago con mora
  • Alertas de profesionales en riesgo de suspensión
  • Evolución histórica de la morosidad (gráficos)

Salud de pagos con indicadores de morosidad

10. Contabilidad

Ruta: /admin/dinero/contabilidad

Registro contable de todas las operaciones financieras:

  • Libro diario con asientos contables automáticos
  • Plan de cuentas configurable
  • Asientos generados automáticamente por cobros, pagos a prestadores, retenciones
  • Consultas por cuenta, fecha, tipo de operación
  • Exportación a formato compatible con sistemas contables externos

Libro diario contable con asientos automáticos

11. Facturación

Ruta: /admin/dinero/facturacion

Emisión de facturas electrónicas:

  • Facturación de cuotas mensuales a colegiados
  • Facturación a obras sociales por órdenes de prestadores
  • Facturación de cursos y certificados
  • Numeración fiscal correlativa (CAI/CAE)
  • Visualización y descarga de facturas en PDF

Panel de facturación electrónica

12. Reportes Financieros

Ruta: /admin/dinero/reportes

Generación de reportes financieros exportables:

  • Ingresos por período, por tipo de cuota, por medio de pago
  • Egresos: pagos a prestadores, liquidaciones, gastos
  • Balance mensual/anual comparativo
  • Reporte de retenciones AFIP/IIBB
  • Deuda por rango de antigüedad y por profesional
  • Exportación a Excel, PDF y CSV

Reportes financieros con filtros y exportación

13. Configuración de Dinero

Ruta: /admin/dinero/configuracion

Configuración operativa del módulo DINERO. A diferencia de Parámetros del Sistema (que contiene variables fundacionales), MoneyConfig expone parámetros que se ajustan en vivo sin reinicio:

DominioKeysDescripción
recovery3Gestión de recupero de deuda (plazos, estrategias)
reconciliation2Tolerancia y reglas de matching bancario
direct_debit3Configuración de débito automático
payment_plan2Planes de pago (cuotas máximas, interés)
discounts2Descuentos globales (% débito, % jubilados)
alerts2Umbrales de alerta de morosidad
late_fees0 (vacío)Reservado para configuración de recargos (gestionado vía DebtCollection API)

Configuración del módulo DINERO con 7 dominios


Notas importantes

  • Todas las operaciones del módulo DINERO quedan registradas en el log de auditoría con usuario, fecha, IP y detalle de la operación.
  • El módulo DINERO en el entorno sandbox es completamente inerte: los pagos online usan entornos de prueba (sandbox de MercadoPago, developer de Payway, sandbox de NAVE) y los emails se redirigen a una dirección segura.
  • Las credenciales de los gateways de pago (MercadoPago, NAVE, Payway) se configuran en Parámetros del Sistema → PAGOS y se cifran antes de guardarse en la base de datos.
Panel de auditoría de comunicaciones del sistema
🖥 Escritorio Panel de envío de avisos internos a usuarios
Bandeja de mensajes — móvil
📱 Móvil Bandeja de mensajes del usuario

Comunicaciones

Descripción

El módulo de Comunicaciones abarca tres subsistemas integrados que gestionan todas las comunicaciones del sistema: Mensajería Interna (avisos de operadores a usuarios), Notificaciones del Sistema (alertas automáticas por eventos), e Infraestructura de Email (envío transaccional con 4 capas de seguridad).

Ayuda contextual: La pantalla de Auditoría de Comunicaciones muestra un ícono (?) a la derecha del título. Al hacer clic, despliega una ayuda contextual con un enlace directo a esta sección del manual.

Incluye además un Panel de Auditoría para Super Admins que permite monitorear en tiempo real todos los mensajes enviados, con estadísticas, agrupación por template y exportación CSV.

Roles con acceso

RolNivel de acceso
ADMINAcceso completo: enviar avisos, ver auditoría, monitorear infraestructura
Todos los operadoresEnviar avisos internos a usuarios por rol o individualmente
Todos los rolesBandeja de entrada (/mis-mensajes), campanita de notificaciones
COLEGIADO, PRESTADORAdicional: /mi-agenda con eventos pendientes

Arquitectura general

El módulo se organiza en 3 subsistemas más un panel de monitoreo:

SubsistemaModeloCanalesDisparador
Mensajería InternaInternalMessage + InternalMessageRecipientCampana (in-app), emailManual (operador)
Notificaciones del SistemaNotification (32 tipos)Campana (in-app), SSE, email, WhatsApp, TelegramAutomático (eventos del sistema)
Infraestructura de EmailEmailLog (28 templates)Email (SMTP)Automático y manual

1. Mis Avisos y Notificaciones (Usuario)

Ruta: /mis-mensajes

Bandeja de entrada unificada para todos los roles. Organizada en dos pestañas:

  • Avisos (InternalMessage): mensajes enviados por operadores del Colegio. Cada mensaje tiene prioridad (LOW, NORMAL, HIGH, URGENT) y puede estar dirigido a TODOS, a un ROL específico, o a un usuario INDIVIDUAL. Incluye tracking de lectura (el operador puede ver quiénes leyeron).
  • Notificaciones (Notification): alertas automáticas del sistema con 32 tipos distintos que cubren: pagos recibidos, cuotas generadas, vencimientos, recordatorios, cursos (inscripción, certificado, lista de espera), débito directo (adhesión, rechazo, suspensión), trámites (creación, asignación, resolución), beneficios (jubilación, retiro), prestadores (registro, validación, liquidación), y más.

Ambas pestañas tienen filtro Todos / No leídos, paginación, panel de detalle al hacer clic, y botón "Marcar todo como leído".

Bandeja de avisos internos del usuario

Campanita de Notificaciones (Header)

Presente en todas las páginas para todos los roles. Componente NotificationBell en el header:

  • Badge numérico con conteo de no leídos
  • Dropdown con dos pestañas: Avisos (mensajes internos) y Sistema (notificaciones automáticas)
  • Polling cada 60 segundos para actualizar el conteo
  • Actualización en tiempo real vía SSE (Server-Sent Events) para notificaciones críticas
  • Botón "Marcar todo como leído" en cada pestaña
  • Click en un ítem: navega al recurso relacionado (ej: el pago, el curso, el ticket)

2. Mi Agenda (Colegiado / Prestador)

Ruta: /mi-agenda

Vista consolidada de eventos pendientes para el profesional:

  • Anuncios con snooze activo
  • Vencimientos de matrícula
  • Inicio de cursos inscriptos
  • Deudas próximas a vencer
  • Tickets pendientes de respuesta
  • Tarjetas con estilo visual por prioridad (URGENT: rojo, HIGH: naranja, NORMAL: azul, LOW: gris)

Agenda de eventos pendientes del profesional

3. Avisos Internos (Admin / Operadores)

Ruta: /admin/internal-messages

Panel para que los operadores envíen comunicaciones a los usuarios:

Componer y enviar

  • Destinatarios: tres modos — Todos los usuarios (ALL), por Rol (ROLE, con selector de rol), o Individual (INDIVIDUAL, con búsqueda por nombre/email)
  • Prioridad: LOW, NORMAL, HIGH, URGENT (afecta el estilo visual en la bandeja del destinatario)
  • Título y cuerpo del mensaje
  • Validación Zod de todos los campos antes del envío
  • Rate limit: máximo 30 mensajes por hora por operador
  • Permiso requerido: COMUNICACIONES/CREATE/INTERNAL_MESSAGE

Panel de envío de avisos internos del operador

Historial de enviados

  • Listado de todos los mensajes enviados por el operador
  • Estadísticas de lectura: total de destinatarios, leídos, no leídos
  • Detalle por mensaje: lista de destinatarios con estado de lectura individual
  • Fecha y hora de lectura de cada destinatario

4. Auditoría de Comunicaciones (Super Admin)

Ruta: /admin/communications-audit

Panel exclusivo para ADMIN que permite auditar todas las comunicaciones del sistema. Organizado en 3 tabs:

Tab 1: Emails

  • Listado paginado de todos los emails enviados con filtros: por fecha, template, estado, destinatario
  • Agrupación por template + fecha: útil para ver rápidamente cuántos emails de cada tipo se enviaron en un día
  • Desglose por dominio de destinatario dentro de cada grupo (gmail.com, hotmail.com, etc.)
  • Estados: SENT (enviado), DEFERRED (diferido por rate limit), BOUNCED (rebotado), ERROR (falló), BLOCKED (bloqueado por kill switch / circuit breaker)
  • Exportación CSV de todo el listado o de un grupo específico
  • Estadísticas agregadas: conteo 24h, tasa de error 7 días

Auditoría de emails con agrupación por template y fecha

Tab 2: Mensajes Internos

  • Listado combinado de InternalMessage + Notification
  • Filtros por tipo, fecha, usuario destinatario
  • Estadísticas de lectura globales

Tab 3: Notificaciones

  • Notificaciones del sistema agrupadas por tipo + fecha
  • Desglose individual dentro de cada grupo
  • Conteo por tipo de notificación

Monitoreo de Infraestructura

El panel incluye indicadores en tiempo real de:

  • Rate Limiter: tokens disponibles, tasa de consumo, límites (10/min, 200/hora)
  • Circuit Breaker: estado (CLOSED / OPEN / HALF_OPEN), tasa de error en ventana de 5 minutos, muestras

Infraestructura de Email

El envío de emails transaccionales está protegido por 4 capas de seguridad:

CapaMecanismoDescripción
1. Kill SwitchDISABLE_ALL_EMAILS + PSICOLE_DEPLOYMENT_ENVSi el deployment env no es "production" o el flag está activo, bloquea todos los envíos. En sandbox, todos los emails se redirigen a una dirección segura configurada en EMAIL_REDIRECT_TO.
2. Circuit BreakerSliding window 5 min, umbral 30% errorSi más del 30% de los envíos fallan en 5 minutos, abre el circuito y detiene todos los envíos. Se recupera automáticamente (HALF_OPEN) tras 2 minutos sin errores.
3. Rate LimiterToken bucket: 10/min, 200/horaLimita la tasa de envío para no saturar el servidor SMTP ni ser marcados como spam. Los emails que exceden el límite se encolan (estado DEFERRED) y se reintentan.
4. Audit LogEmailLog en base de datosTodos los intentos de envío se registran con: destinatario, template, estado, mensaje de error, fecha. Esto permite auditoría completa y debugging.

Templates de Email (28 tipos)

El sistema incluye templates HTML para cada tipo de comunicación:

  • Pagos y Cuotas: PAYMENT_REMINDER, OVERDUE_NOTICE, PAYMENT_RECEIVED, QUOTA_GENERATED
  • Matrículas: ENROLLMENT_APPROVED, ENROLLMENT_REJECTED, ENROLLMENT_ONBOARDING, RENOVACION_MATRICULA
  • Cursos: COURSE_REGISTRATION, COURSE_CERTIFICATE
  • Tickets: TICKET_CREATED, TICKET_UPDATED, TICKET_ASSIGNED, TICKET_RESOLVED
  • Prestadores: PROVIDER_ORDER, PROVIDER_VALIDATION, RENDITION_RESULT, ORDER_OBSERVED
  • Débito Directo: DIRECT_DEBIT_MANDATE, DIRECT_DEBIT_REJECTION
  • Beneficios: BENEFIT_APPROVED, BENEFIT_REJECTED, PARENTAL_BENEFIT, RETIREMENT_BENEFIT
  • Otros: PASSWORD_RESET, ETHICS_CERTIFICATE, BULK_ANNOUNCEMENT, MANUAL

Seguridad en Sandbox

En el entorno de sandbox (PSICOLE_DEPLOYMENT_ENV=sandbox), la capa de kill switch garantiza que ningún email salga a destinatarios reales:

  • Todos los emails se redirigen a EMAIL_REDIRECT_TO (configurado en docker-compose)
  • Si EMAIL_REDIRECT_TO no está configurado o se elimina accidentalmente, el kill switch detiene el arranque del servidor
  • El circuit breaker y rate limiter también aplican en sandbox, permitiendo probar su comportamiento
Gestión de usuarios y asignación de roles
🖥 Escritorio Gestión de usuarios y asignación de roles
Gestión de usuarios y asignación de roles — móvil
📱 Móvil Gestión de usuarios y asignación de roles

Usuarios y Roles

Descripción

Este módulo permite al administrador gestionar todos los usuarios del sistema: crear cuentas, asignar roles, revocar accesos, visualizar la actividad de cualquier usuario mediante impersonación y consultar el historial de auditoría de accesos.

Acceso

Menú: Administración → Usuarios y Roles Roles con acceso: ADMIN


Crear un usuario

  1. Ir a Administración → Usuarios y Roles → Nuevo usuario.
  2. Completar el formulario:
Campo Tipo Requerido Descripción
Nombre completo Texto Nombre visible en el sistema
Email Email Se usa como credencial de login y para notificaciones
DNI Numérico Documento Nacional de Identidad
Rol Select Ver tabla de roles disponibles
Contraseña temporal Texto El usuario deberá cambiarla en el primer login
Activo Toggle Habilitado por defecto
  1. Hacer clic en Guardar. El sistema envía un email de bienvenida al usuario con sus credenciales.

Formulario de creación de usuario con todos los campos


Roles disponibles

Rol Descripción
ADMIN Acceso total al sistema, incluyendo configuración y auditoría
OPERADOR_MATRICULAS Gestión de solicitudes y matrículas activas
OPERADOR_FINANZAS Gestión de cuotas, pagos y recibos
OPERADOR_CURSOS Alta y administración de cursos de capacitación
OPERADOR_TRAMITES Procesamiento de trámites administrativos
SUPERVISOR_TRAMITES Supervisión y aprobación de trámites del equipo
COLEGIADO Portal de autogestión del profesional matriculado
PRESTADOR Envío de órdenes de obras sociales
ASPIRANTE Solicitante de matrícula (acceso limitado al formulario)

Importante

Un usuario solo puede tener un rol asignado en simultáneo. Si necesitás ampliar permisos de forma excepcional, utilizá la función de permisos adicionales (ver sección Permisos avanzados).


Editar y revocar acceso

  • Para editar un usuario: hacer clic en el ícono de lápiz en la fila correspondiente.
  • Para desactivar (sin eliminar): usar el toggle Activo en el formulario de edición. El usuario no podrá iniciar sesión pero sus datos e historial se conservan.
  • Para eliminar permanentemente: hacer clic en el ícono de papelera. Esta acción requiere confirmación y es irreversible.

Eliminar vs. Desactivar

Se recomienda desactivar en lugar de eliminar, ya que la eliminación borra el historial de actividad del usuario y puede romper referencias en auditorías y registros financieros.

Lista de usuarios con columnas de estado, rol y acciones


Impersonación de administrador

La impersonación permite a un ADMIN visualizar el sistema exactamente como lo ve otro usuario, sin poder realizar cambios. Es útil para soporte y diagnóstico.

Cómo impersonar:

  1. En la lista de usuarios, hacer clic en el ícono "Ver como este usuario" (ícono de ojo).
  2. Se abre una nueva pestaña con la sesión del usuario en modo solo-lectura.
  3. Un banner naranja en la parte superior indica: "Estás viendo el sistema como [Nombre del usuario] — Modo solo-lectura".
  4. Para salir de la impersonación, hacer clic en "Volver a mi sesión" en el banner.

Modo solo-lectura

Durante la impersonación no es posible guardar, aprobar, rechazar ni modificar ningún dato. Cualquier intento de acción mostrará un mensaje de bloqueo. Todas las sesiones de impersonación quedan registradas en el log de auditoría.

Banner de impersonación activa con nombre del usuario y botón de salida


Auditoría de accesos

El log de auditoría registra automáticamente todos los eventos de seguridad relevantes.

Cómo acceder: Administración → Usuarios y Roles → Auditoría

Eventos registrados:

Evento Descripción
LOGIN_SUCCESS Inicio de sesión exitoso
LOGIN_FAILED Intento de login fallido (contraseña incorrecta)
LOGOUT Cierre de sesión
PASSWORD_CHANGED Cambio de contraseña
ROLE_ASSIGNED Asignación o cambio de rol
USER_DEACTIVATED Desactivación de cuenta
IMPERSONATION_START Inicio de sesión de impersonación
IMPERSONATION_END Fin de sesión de impersonación
PERMISSION_DENIED Intento de acceso a recurso no autorizado

Filtros disponibles: por usuario, por tipo de evento, por rango de fechas.

Tabla de auditoría con filtros activos

Configuración de parámetros del sistema
🖥 Escritorio Panel de parámetros del sistema — vista general
Parámetros del sistema — móvil
📱 Móvil Panel de parámetros del sistema

Parámetros del Sistema

Descripción

Los Parámetros del Sistema son la configuración global que define el comportamiento de la plataforma. Se accede desde Administración → Parámetros del Sistema y está disponible solo para el rol ADMIN.

Los parámetros están organizados en 6 categorías con un total de 37 parámetros. Cada parámetro tiene tipo (STRING, NUMBER, BOOLEAN, JSON), validación de tipo automática, y registro de auditoría (quién lo modificó, cuándo, valor anterior y nuevo).

Los cambios se aplican inmediatamente al guardar. Para credenciales de gateways de pago, el sistema sincroniza automáticamente las variables de entorno y reinicializa los clientes sin necesidad de reiniciar el servidor.

Acceso

Menú: Administración → Parámetros del Sistema
Roles con acceso: ADMIN
Inicialización: Si es la primera vez, hacer clic en "Inicializar Parámetros por Defecto" para crear los 37 parámetros con sus valores default.

Vista general

La página muestra los parámetros agrupados por categoría en secciones colapsables. Cada categoría se puede filtrar individualmente con el selector superior o ver todas juntas. Cada parámetro muestra: etiqueta, valor actual, tipo, descripción, y fecha de última modificación con el usuario que la realizó.

Vista general de parámetros del sistema con todas las categorías

Modos de edición

El sistema ofrece dos modos de edición:

  • Edición individual: clic en el ícono de lápiz junto a cada parámetro. Abre un modal con el campo de valor, validación de tipo en tiempo real, y botón Guardar. Útil para cambios puntuales.
  • Edición masiva (Bulk): clic en "Editar Todo" en una categoría. Convierte todos los campos en inputs editables simultáneamente. Un solo botón "Guardar Cambios" persiste todos a la vez. Ideal para configuraciones iniciales o ajustes globales.

Categorías de Parámetros

1. INSTITUTION — Datos Institucionales (5 parámetros)

Definen la identidad del Colegio. Estos datos aparecen en reportes, credenciales digitales, encabezados de emails, recibos y facturas.

KeyTipoDefaultDescripción
INSTITUTION_NAMESTRINGColegio de PsicólogosNombre oficial del colegio profesional
INSTITUTION_CUITSTRING(vacío)CUIT/número de identificación fiscal
INSTITUTION_ADDRESSSTRING(vacío)Dirección física de la sede
INSTITUTION_PHONESTRING(vacío)Teléfono de contacto principal
INSTITUTION_EMAILSTRING(vacío)Email institucional de contacto

Parámetros de la categoría INSTITUTION

2. SECURITY — Seguridad (4 parámetros)

Controlan el acceso al sistema y la protección de cuentas.

KeyTipoDefaultDescripción
MAX_LOGIN_ATTEMPTSNUMBER5Intentos fallidos antes de bloquear la cuenta. Se lee dinámicamente en cada intento de login (con cache de 60s).
MAX_INTENTOS_LOGINNUMBER5Alias alternativo para maximum login attempts
SESSION_TIMEOUT_MINUTESNUMBER30Minutos de inactividad antes del cierre de sesión automático
REQUIRE_EMAIL_VERIFICATIONBOOLEANtrueSi está activo, los nuevos usuarios deben verificar su email

Parámetros de la categoría SECURITY

3. EMAIL — Correo Electrónico (5 parámetros)

Configuración de envío de emails del sistema.

KeyTipoDefaultDescripción
EMAIL_FROM_NAMESTRINGColegio de PsicólogosNombre del remitente en los emails enviados
EMAIL_SUBJECT_PREFIXSTRING[PSIcole]Prefijo antepuesto al asunto de todos los emails
EMAIL_REMITENTESTRING(vacío)Dirección de email del remitente
EMAIL_FIRMASTRING(vacío)Firma incluida al pie de los emails
DIAS_RECORDATORIO_CUOTANUMBER5Días antes del vencimiento para enviar recordatorio de pago

Parámetros de la categoría EMAIL

4. PAYMENTS — Pagos y Finanzas (19 parámetros)

La categoría más grande. Agrupa la configuración general de pagos, los parámetros de cuotas y mora, y las credenciales de los gateways de pago.

Parámetros generales de pago

KeyTipoDefaultDescripción
DEFAULT_PAYMENT_METHODSSTRINGCASH,TRANSFER,ONLINEMétodos de pago habilitados (separados por coma)
ONLINE_PAYMENTS_ENABLEDBOOLEANtrueHabilita/deshabilita globalmente los pagos en línea
DEFAULT_PAYMENT_PROVIDERSTRINGMERCADO_PAGOGateway de pago predeterminado: MERCADO_PAGO, NAVE, o PAYWAY
DIRECT_DEBIT_ENABLEDBOOLEANtrueHabilita/deshabilita globalmente el sistema de débito automático
RECEIPT_NUMBER_PREFIXSTRINGREC-Prefijo para los números de recibo generados

Cuotas, descuentos y recargos

KeyTipoDefaultDescripción
CUOTA_MENSUAL_IMPORTENUMBER(vacío)Importe base de la cuota mensual (en ARS)
CUOTA_DIA_VENCIMIENTONUMBER10Día del mes en que vence la cuota
DESCUENTO_DEBITO_AUTONUMBER30Porcentaje de descuento por adherir al débito automático
LATE_FEE_GRACE_DAYSNUMBER5Días de gracia después del vencimiento antes de aplicar recargo
RECARGO_MORA_PORCENTAJENUMBER(vacío)Porcentaje mensual de recargo por mora

Credenciales de Gateways de Pago

Estos parámetros contienen las claves y tokens de acceso para los proveedores de pago. Los valores sensibles se cifran con AES-256-CBC antes de guardarse en la base de datos (prefijo enc:). Al leerlos desde la API, se descifran automáticamente para mostrarse en la UI.

Al guardar un cambio en cualquiera de estos parámetros, el sistema sincroniza la variable de entorno correspondiente y reinicializa el cliente del gateway en caliente, sin necesidad de reiniciar el servidor.

KeyTipo¿Se cifra?Descripción
MERCADO_PAGO_ACCESS_TOKENSTRINGToken de acceso de MercadoPago
MERCADO_PAGO_PUBLIC_KEYSTRINGNo (pública)Clave pública de MercadoPago usada en el frontend
NAVE_CLIENT_IDSTRINGNo (público)Client ID de NAVE (Banco Galicia)
NAVE_CLIENT_SECRETSTRINGClient Secret de NAVE
NAVE_PLATFORMSTRINGNoIdentificador de plataforma de NAVE
NAVE_STORE_IDSTRINGNoID de comercio de NAVE
PAYWAY_PUBLIC_KEYSTRINGNo (pública)Clave pública de Payway/Decidir
PAYWAY_PRIVATE_KEYSTRINGClave privada de Payway
PAYWAY_SITE_IDSTRINGNoSite ID de Payway/Decidir

Parámetros generales de pago

Credenciales de gateways de pago - sección scrolleada

Hot-reload de gateways: Al guardar credenciales de MercadoPago, NAVE o Payway desde esta pantalla, el sistema sincroniza automáticamente process.env y llama a reinitializeClient() en el gateway correspondiente. Los nuevos pagos usan las credenciales actualizadas al instante. No se requiere reiniciar el contenedor.

5. TICKETS — Trámites y Tickets (3 parámetros)

Controlan el comportamiento automático del sistema de tickets.

KeyTipoDefaultDescripción
TICKET_GRACE_PERIOD_MINUTESNUMBER30Minutos de gracia antes de escalar un ticket con SLA vencido
TICKET_INACTIVITY_HOURSNUMBER24Horas sin respuesta antes de reasignar automáticamente
TICKET_AUTO_CLOSE_DAYSNUMBER7Días sin actividad para cerrar tickets en estado RESUELTO

Parámetros de la categoría TICKETS

6. GENERAL — General (1 parámetro)

KeyTipoDefaultDescripción
MAX_INSCRIPCIONES_CURSONUMBER(vacío)Cantidad máxima de inscripciones por curso

Encriptación de credenciales

Los parámetros marcados como sensibles en la tabla de gateways de pago usan encriptación AES-256-CBC:

  • La clave de encriptación se configura en la variable de entorno CBU_ENCRYPTION_KEY (64 caracteres hexadecimales = 32 bytes).
  • Los valores cifrados en la base de datos llevan el prefijo enc: seguido del texto cifrado en hexadecimal.
  • Al leer un parámetro vía API, el sistema detecta el prefijo enc: y descifra automáticamente antes de enviar la respuesta.
  • Al guardar, el sistema detecta si el parámetro es sensible (isSensitiveParam()) y cifra antes del INSERT/UPDATE.
  • Importante: Si CBU_ENCRYPTION_KEY no está configurada o tiene un formato incorrecto, los valores se guardan en texto plano sin advertencia. Verificar que esté presente en todos los entornos (sandbox, producción).

API

MétodoEndpointDescripción
GET/api/v1/system-parametersObtener todos los parámetros agrupados por categoría. Query param opcional: ?category=PAYMENTS para filtrar.
GET/api/v1/system-parameters/:keyObtener un parámetro por clave
PUT/api/v1/system-parameters/:keyActualizar un parámetro individual. Body: { "value": "nuevo valor" }
PUT/api/v1/system-parametersActualizar múltiples parámetros. Body: [{ "key": "...", "value": "..." }, ...]. Rate limit: 60 req/min.
POST/api/v1/system-parameters/initInicializar parámetros por defecto (solo crea los que no existen)

Notas importantes

  • Los parámetros no tienen cache HTTP. Cada GET trae el valor más reciente de la base de datos. Los cambios se reflejan inmediatamente en la UI tras guardar.
  • Toda modificación queda registrada en la tabla con el updatedBy (usuario) y updatedAt (timestamp).
  • Los parámetros de tipo JSON deben ser un objeto JSON válido. La validación se ejecuta tanto en el frontend como en el backend.
  • Para obtener credenciales de los gateways de pago (NAVE, MercadoPago, Payway), consultar la Guía de Credenciales de Pagos.
Definición de tipos de cuota y aranceles
🖥 Escritorio Definición de tipos de cuota y aranceles
Definición de tipos de cuota y aranceles — móvil
📱 Móvil Definición de tipos de cuota y aranceles

Tipos de Cuota (FeeTypes)

Descripción

Los Tipos de Cuota definen las distintas categorías de cobro que el Colegio aplica a sus matriculados. Cada tipo especifica el importe base, la periodicidad de generación, a qué roles aplica y si admite descuentos. El CRON de generación mensual usa esta configuración para crear automáticamente las cuotas de cada período.

Acceso

Menú: Administración → Tipos de Cuota Roles con acceso: ADMIN, OPERADOR_FINANZAS


Listado de tipos de cuota

La pantalla principal muestra una tabla con todos los tipos de cuota configurados:

Columna Descripción
Nombre Identificador descriptivo del tipo
Importe base Monto sin descuentos ni recargos
Periodicidad Con qué frecuencia se genera
Aplica a Roles que reciben este tipo de cuota
Activo Si el tipo se incluye en la próxima generación automática
Acciones Editar / Desactivar

Tabla de tipos de cuota con columnas de configuración


Crear un tipo de cuota

  1. Hacer clic en Nuevo tipo de cuota.
  2. Completar el formulario:
Campo Tipo Requerido Descripción
Nombre Texto Nombre descriptivo que aparecerá en el recibo. Ej.: "Cuota Mensual Plena"
Código interno Texto Identificador único sin espacios. Ej.: MENSUAL_PLENA
Descripción Textarea No Detalle adicional para uso interno
Importe base Decimal Monto en pesos sin descuentos. Ej.: 8500.00
Periodicidad Select MENSUAL, BIMESTRAL, TRIMESTRAL, SEMESTRAL, ANUAL, ÚNICA
Aplica a roles Multi-select Roles que recibirán este tipo de cuota automáticamente
Admite descuento por débito directo Toggle Si aplica el descuento configurado globalmente
Admite descuento por jubilación Toggle Si aplica el descuento para jubilados
Admite descuento por pago anticipado Toggle Si aplica el descuento por pago antes de la fecha límite
Admite recargo por mora Toggle Si aplica recargos por pago tardío
Activo Toggle Habilitado por defecto. Solo los tipos activos se incluyen en el CRON
  1. Hacer clic en Guardar.

Código interno

El código interno es permanente y no puede modificarse una vez creado el tipo de cuota. Asegurarse de que sea claro y consistente con la nomenclatura del Colegio.

Formulario de nuevo tipo de cuota con campos de descuentos desplegados


Editar un tipo de cuota

Se pueden modificar todos los campos excepto el Código interno. Los cambios de importe aplican únicamente a las cuotas que se generen a partir del siguiente período. Las cuotas ya generadas no se recalculan.

Cambios de importe retroactivos

Si necesitás ajustar el importe de cuotas ya generadas, debés editarlas individualmente desde el módulo de Finanzas → Cuotas.


Desactivar un tipo de cuota

Desactivar un tipo lo excluye de futuras generaciones automáticas. Las cuotas ya existentes de ese tipo no se eliminan ni modifican.

Para desactivar: en la tabla, hacer clic en el toggle Activo de la fila correspondiente, o entrar a editar y desmarcar el toggle Activo.


Ejemplos de tipos de cuota comunes

Cuota Mensual Plena

Campo Valor
Nombre Cuota Mensual Plena
Código interno MENSUAL_PLENA
Importe base $8.500,00
Periodicidad MENSUAL
Aplica a roles COLEGIADO
Débito directo Sí (30% de descuento)
Jubilación Sí (50% de descuento)
Pago anticipado Sí (X% configurable)
Mora

Cuota Mensual Novel

Aplica a profesionales matriculados hace menos de 2 años (clasificados manualmente en este rol).

Campo Valor
Nombre Cuota Mensual Novel
Código interno MENSUAL_NOVEL
Importe base $4.250,00
Periodicidad MENSUAL
Aplica a roles COLEGIADO (con atributo "novel")
Débito directo
Jubilación No
Pago anticipado
Mora

Matrícula Anual

Cargo único por año calendario.

Campo Valor
Nombre Matrícula Anual
Código interno MATRICULA_ANUAL
Importe base $12.000,00
Periodicidad ANUAL
Aplica a roles COLEGIADO
Débito directo No
Jubilación
Pago anticipado No
Mora

Cuota de Inscripción (única)

Cargo de ingreso al Colegio, generado una sola vez al aprobar la matrícula.

Campo Valor
Nombre Cuota de Inscripción
Código interno INSCRIPCION_UNICA
Importe base $5.000,00
Periodicidad ÚNICA
Aplica a roles ASPIRANTE (al convertirse en COLEGIADO)
Débito directo No
Jubilación No
Pago anticipado No
Mora No

Descuentos y Recargos

Descripción

PSICOLE aplica automáticamente descuentos e intereses por mora sobre las cuotas generadas. Los descuentos se otorgan según condiciones del colegiado (débito directo, jubilación) o comportamiento de pago (pago anticipado). Los recargos se acumulan de forma escalonada según los días transcurridos desde el vencimiento.

Acceso

Menú: Administración → Descuentos y Recargos Roles con acceso: ADMIN, OPERADOR_FINANZAS


Descuentos automáticos

Los descuentos se configuran como porcentajes globales y se aplican a todos los tipos de cuota que tengan habilitado el descuento correspondiente (ver Tipos de Cuota).

Débito directo

Descuento para colegiados que tengan registrado un CBU para débito automático y su cuenta esté activa.

Parámetro Descripción Valor por defecto
Porcentaje de descuento % que se resta del importe base 30%
Condición CBU registrado y activo en el perfil del colegiado
Aplicación Automática al generar la cuota si el CBU está activo

Ejemplo: Cuota Mensual Plena $8.500 → con débito directo: $5.950 (30% de descuento).

Panel de configuración de descuento por débito directo

Descuento por jubilación

Descuento para colegiados marcados como jubilados en su perfil.

Parámetro Descripción Valor por defecto
Porcentaje de descuento % que se resta del importe base 50%
Condición Atributo jubilado = true en el perfil del colegiado
Aplicación Automática al generar la cuota

Ejemplo: Cuota Mensual Plena $8.500 → jubilado: $4.250 (50% de descuento).

Acumulación de descuentos

Los descuentos por débito directo y jubilación son excluyentes entre sí: se aplica el mayor. No se acumulan. El sistema evalúa ambas condiciones y aplica automáticamente el porcentaje más beneficioso para el colegiado.

Descuento por pago anticipado

Descuento para colegiados que abonan su cuota antes de la fecha límite de descuento configurada.

Parámetro Descripción Valor por defecto
Porcentaje de descuento % configurable por tipo de cuota Variable
Fecha límite de descuento Días del mes hasta los cuales aplica Configurable por tipo
Condición Pago registrado antes de la fecha límite

Para configurarlo por tipo de cuota: ir a Tipos de Cuota → Editar → campo "% pago anticipado" y "Fecha límite de pago anticipado".

Configuración de descuento por pago anticipado con porcentaje y fecha límite


Recargos por mora

Los recargos por mora se calculan automáticamente mediante el CRON de mora (ver Tareas Programadas) y se acumulan de forma escalonada según los días transcurridos desde el vencimiento.

Tabla de recargos (configuración por defecto)

Tramo Días de mora Recargo adicional Recargo acumulado
Tramo 1 1 – 30 días 5% 5%
Tramo 2 31 – 60 días 5% adicional 10%
Tramo 3 61 – 90 días 5% adicional 15%
Tramo 4 91 – 120 días 5% adicional 20%
Tramo 5 Más de 120 días 5% adicional 25%

Los porcentajes de cada tramo son completamente configurables.

Cómo configurar los tramos de mora

  1. Ir a Administración → Descuentos y Recargos → Recargos por mora.
  2. La tabla muestra los tramos actuales. Hacer clic en Editar tramos.
  3. Para cada tramo:
Campo Descripción
Desde (días) Primer día del tramo
Hasta (días) Último día del tramo (0 para "sin límite")
Porcentaje adicional % que se suma al recargo del tramo anterior
  1. Usar + Agregar tramo para incluir nuevos rangos.
  2. Hacer clic en Guardar configuración.

Cambios en tramos de mora

Modificar los tramos afecta únicamente los cálculos de mora que se ejecuten a partir del siguiente CRON. Las cuotas que ya tienen recargo calculado no se recalculan automáticamente. Para recalcular cuotas específicas, hacerlo manualmente desde Finanzas → Cuotas.

Editor de tramos de mora con rangos de días y porcentajes

Ejemplo de cálculo de mora

Cuota Mensual Plena $8.500, vencida hace 45 días, sin descuentos activos:

Concepto Cálculo Monto
Importe base $8.500,00
Recargo tramo 1 (1–30 días) 5% sobre $8.500 +$425,00
Recargo tramo 2 (31–60 días) 5% adicional sobre $8.500 +$425,00
Total a pagar $9.350,00

Orden de aplicación

Cuando coexisten descuentos y recargos, el sistema aplica el siguiente orden:

  1. Se toma el importe base del tipo de cuota.
  2. Se aplica el descuento (si corresponde): débito directo, jubilación o pago anticipado.
  3. Se calcula el recargo por mora sobre el importe ya descontado.

Ejemplo: Cuota $8.500, jubilado (50% descuento), 45 días de mora:

Paso Operación Monto
1 Importe base $8.500,00
2 Descuento jubilado (50%) −$4.250,00 → $4.250,00
3 Mora 10% sobre $4.250 +$425,00
Total $4.675,00

Tareas Programadas

Descripción

PSICOLE incluye un conjunto de tareas automáticas (CRON jobs) que ejecutan procesos periódicos sin intervención manual: generación de cuotas, cálculo de mora, envío de notificaciones y otras automatizaciones del ciclo operativo. Estas tareas se activan o desactivan mediante la variable de entorno ENABLE_SCHEDULER.

Acceso

Menú: Administración → Tareas Programadas Roles con acceso: ADMIN


Activar y desactivar el scheduler

El scheduler global se controla con la variable de entorno en el archivo .env del servidor:

# Habilitar todas las tareas programadas
ENABLE_SCHEDULER=true

# Deshabilitar todas las tareas (ej.: mantenimiento)
ENABLE_SCHEDULER=false

Importante

Deshabilitar el scheduler detiene todas las tareas automáticas simultáneamente. Si solo necesitás pausar una tarea específica, usá el toggle individual desde el panel de Tareas Programadas en la interfaz de administración. Los cambios en .env requieren reiniciar el servidor de Node.js para tener efecto.

Desde la interfaz, cada tarea también tiene un toggle individual de habilitación que persiste en base de datos y no requiere reiniciar el servidor.

Panel de tareas programadas con estado activo/inactivo de cada job


Lista de tareas programadas

1. Generación mensual de cuotas

Propiedad Valor
Nombre generate-monthly-fees
Descripción Genera automáticamente las cuotas del mes siguiente para todos los colegiados activos, según los Tipos de Cuota activos y sus roles
Cron expression 0 6 1 * * — a las 6:00 AM del día 1 de cada mes
Roles afectados Todos los roles con tipos de cuota activos asignados
Resultado Cuotas con estado PENDIENTE en el módulo de Finanzas
Log Registra cantidad de cuotas generadas, errores por colegiado y resumen total

Ejecución manual

Si el día 1 del mes el scheduler estaba deshabilitado, es posible ejecutar la generación manualmente desde el panel haciendo clic en Ejecutar ahora junto a esta tarea. Se recomienda hacerlo antes del día 5 para no afectar los vencimientos configurados.


2. Cálculo de recargos por mora

Propiedad Valor
Nombre calculate-late-fees
Descripción Recorre todas las cuotas con estado VENCIDA o PENDIENTE pasada la fecha de vencimiento y aplica el recargo de mora según la tabla de tramos configurada
Cron expression 0 7 * * * — a las 7:00 AM todos los días
Resultado Actualiza el campo surchargeAmount de cada cuota afectada
Log Lista de cuotas actualizadas, monto de recargo aplicado y tramo asignado

3. Marcado de cuotas vencidas

Propiedad Valor
Nombre mark-overdue-fees
Descripción Cambia el estado de cuotas PENDIENTE a VENCIDA cuando su fecha de vencimiento ha pasado y no registran pago
Cron expression 0 0 * * * — a medianoche todos los días
Resultado Cuotas actualizadas a estado VENCIDA

4. Notificación de cuotas próximas a vencer

Propiedad Valor
Nombre notify-upcoming-due
Descripción Envía un email de aviso a los colegiados cuyas cuotas vencen en los próximos N días (configurable en Parámetros del Sistema)
Cron expression 0 8 * * * — a las 8:00 AM todos los días
Condición Cuotas con estado PENDIENTE cuyo vencimiento es en ≤ N días
Resultado Email de aviso enviado al colegiado

5. Notificación de cuotas vencidas sin pago

Propiedad Valor
Nombre notify-overdue-fees
Descripción Envía recordatorio de deuda a colegiados con cuotas en estado VENCIDA. Se envía en intervalos configurables para no saturar
Cron expression 0 9 * * 1 — los lunes a las 9:00 AM
Resultado Email de recordatorio de deuda enviado al colegiado

6. Escalado automático de tickets

Propiedad Valor
Nombre escalate-tickets
Descripción Revisa los tickets de soporte abiertos y escala automáticamente aquellos que superaron su SLA sin respuesta o resolución
Cron expression 0 */2 * * * — cada 2 horas
Resultado Tickets con estado actualizado a ESCALADO y notificación al supervisor del área

7. Limpieza de sesiones expiradas

Propiedad Valor
Nombre cleanup-expired-sessions
Descripción Elimina los registros de sesión expirados de la base de datos para mantener el rendimiento
Cron expression 0 3 * * 0 — los domingos a las 3:00 AM
Resultado Sesiones expiradas eliminadas de la tabla sessions

Log de ejecución

Cada ejecución de tarea queda registrada en la tabla scheduler_logs con:

  • Nombre de la tarea
  • Fecha y hora de inicio y fin
  • Estado: SUCCESS / ERROR / PARTIAL
  • Resumen de resultados (registros procesados, errores)
  • Mensaje de error detallado si aplica

Para consultar el log: Administración → Tareas Programadas → Ver historial.

Historial de ejecuciones con estado y detalle de resultados

Notificaciones

Descripción

PSICOLE envía correos electrónicos automáticos ante eventos clave del sistema (nuevas cuotas, pagos, aprobaciones, vencimientos, etc.). La entrega se realiza mediante SMTP con soporte para Gmail y otros proveedores compatibles. Desde este módulo se configura el servidor de correo y se gestiona la lista de templates activos.

Acceso

Menú: Administración → Notificaciones Roles con acceso: ADMIN


Configuración SMTP

Variables de entorno

La configuración SMTP se define en el archivo .env del servidor:

# Host del servidor SMTP
SMTP_HOST=smtp.gmail.com

# Puerto SMTP (587 para TLS, 465 para SSL)
SMTP_PORT=587

# Seguridad: true para SSL (puerto 465), false para TLS/STARTTLS (puerto 587)
SMTP_SECURE=false

# Credenciales
SMTP_USER=noreply@colegiopsicologos.org.ar
SMTP_PASS=tu_contraseña_o_app_password

# Dirección y nombre del remitente
SMTP_FROM_EMAIL=noreply@colegiopsicologos.org.ar
SMTP_FROM_NAME=PSICOLE — Colegio de Psicólogos

Configuración para Gmail

Si usás una cuenta de Gmail, debés generar una Contraseña de aplicación (App Password) en lugar de usar tu contraseña habitual:

  1. Ir a myaccount.google.com → Seguridad → Verificación en dos pasos (debe estar activa).
  2. En la misma sección: Contraseñas de aplicaciones → Crear nueva → tipo "Correo".
  3. Copiar la contraseña de 16 caracteres generada.
  4. Usarla como valor de SMTP_PASS en el .env.

Gmail con 2FA

Google requiere verificación en dos pasos habilitada para generar contraseñas de aplicación. No es posible usar Gmail SMTP con la contraseña normal de la cuenta.

Probar la configuración

Desde la interfaz: Administración → Notificaciones → Probar conexión SMTP.

El sistema enviará un email de prueba a la dirección que especifiques y mostrará el resultado (éxito o error detallado).

Panel de prueba SMTP con campo de email destino y resultado de conexión


Lista de emails automáticos

Cada evento del sistema dispara un email automático al destinatario correspondiente. Los templates se pueden personalizar en Administración → Notificaciones → Templates.

Finanzas

Trigger Destinatario Asunto (por defecto) Toggle
Nueva cuota generada Colegiado Tu cuota de [mes] ya está disponible
Cuota próxima a vencer Colegiado Recordatorio: tu cuota vence en [N] días
Cuota vencida sin pago Colegiado Cuota vencida — regularizá tu situación
Pago registrado (manual) Colegiado Recibo de pago emitido — [número de recibo]
Pago confirmado (online) Colegiado Pago confirmado — [número de recibo]
Pago rechazado (online) Colegiado Tu pago no pudo procesarse

Matrículas

Trigger Destinatario Asunto (por defecto) Toggle
Solicitud recibida Aspirante Solicitud de matrícula recibida — PSICOLE
Solicitud en revisión Aspirante Tu solicitud está siendo revisada
Matrícula aprobada Aspirante / nuevo Colegiado ¡Tu matrícula fue aprobada!
Matrícula rechazada Aspirante Tu solicitud de matrícula fue rechazada
Documentación faltante Aspirante Documentación incompleta — [lista de docs]

Credenciales y constancias

Trigger Destinatario Asunto (por defecto) Toggle
Credencial digital emitida Colegiado Tu credencial digital está lista
Credencial regenerada Colegiado Tu credencial digital fue actualizada
Constancia de matrícula disponible Colegiado Constancia de matrícula generada

Tickets y trámites

Trigger Destinatario Asunto (por defecto) Toggle
Ticket abierto Usuario que abrió el ticket Ticket #[ID] recibido
Ticket respondido Usuario que abrió el ticket Respuesta a tu ticket #[ID]
Ticket resuelto Usuario que abrió el ticket Tu ticket #[ID] fue resuelto
Ticket escalado Supervisor del área Ticket #[ID] escalado — requiere atención
Trámite aprobado Colegiado Tu trámite fue aprobado
Trámite rechazado Colegiado Tu trámite fue rechazado

Seguridad y cuenta

Trigger Destinatario Asunto (por defecto) Toggle
Bienvenida / cuenta creada Nuevo usuario Bienvenido/a a PSICOLE — tus credenciales
Recuperación de contraseña Usuario Solicitud de cambio de contraseña
Contraseña cambiada Usuario Tu contraseña fue actualizada

Personalizar templates

Cada template de email se puede personalizar con el editor integrado:

  1. Ir a Administración → Notificaciones → Templates.
  2. Hacer clic en el template a editar.
  3. El editor muestra el HTML del email con variables disponibles (ej.: {{nombre}}, {{importe}}, {{fechaVencimiento}}).
  4. Previsualizar el resultado con Vista previa.
  5. Guardar.

Edición de templates

Modificar el HTML de un template requiere conocimientos básicos de HTML. Un error de sintaxis puede hacer que el email se envíe sin formato. Usar siempre la vista previa antes de guardar.

Editor de template con panel de variables disponibles y previsualización


Habilitar / deshabilitar notificaciones individuales

Cada email automático tiene un toggle en la columna Activo de la tabla. Desactivar un email impide que se envíe para ese evento, sin afectar los demás.

Para deshabilitar todas las notificaciones (ej.: modo mantenimiento): usar la variable de entorno DISABLE_EMAIL_NOTIFICATIONS=true en el .env del servidor.

Credenciales Digitales

Descripción

PSICOLE genera credenciales digitales en formato PDF para los profesionales matriculados. Cada credencial incluye los datos del colegiado, el logo y los datos institucionales del Colegio, la firma escaneada del directivo autorizado y un código QR único que permite verificar la validez de la matrícula en línea.

Acceso

Menú: Administración → Credenciales Digitales Roles con acceso: ADMIN, OPERADOR_MATRICULAS

Los colegiados pueden descargar su propia credencial desde el portal de autogestión: Mi Cuenta → Mi Credencial.


Contenido de la credencial

Cada credencial PDF incluye los siguientes elementos:

Elemento Fuente de datos
Logo del Colegio Parámetros del Sistema → Logo para PDF
Nombre completo del profesional Perfil del colegiado
DNI Perfil del colegiado
Número de matrícula Registro de matrícula
Fecha de colegiación Registro de matrícula
Estado de la matrícula Calculado al momento de generación
Especialidad / área Perfil del colegiado (si aplica)
Firma escaneada del directivo Parámetros del Sistema → Firma escaneada
Nombre y cargo del firmante Parámetros del Sistema → Firma escaneada
Código QR único Generado automáticamente por el sistema
Fecha de emisión Generada al momento de creación del PDF
Texto de validez Configurable en Parámetros del Sistema

Vista previa de credencial PDF con todos los elementos indicados


Generación automática

Las credenciales se generan automáticamente en los siguientes momentos:

  • Al aprobar una matrícula: el sistema genera la credencial del nuevo colegiado y le envía un email con el PDF adjunto.
  • Al renovar matrícula anual: si el Colegio tiene ciclo de renovación, se regenera la credencial con la nueva vigencia.
  • Al actualizar datos firmantes: si se cambia la firma o el directivo en Parámetros del Sistema, se puede optar por regenerar todas las credenciales activas en bloque (ver más abajo).

Generación manual de una credencial

  1. Ir a Administración → Credenciales Digitales.
  2. Buscar al colegiado por nombre, DNI o número de matrícula.
  3. Hacer clic en Generar / Regenerar credencial.
  4. El sistema genera el PDF y lo guarda. El colegiado recibe un email de notificación automáticamente (si las notificaciones están activas).
  5. Para descargar el PDF desde el panel: hacer clic en Descargar PDF.

Búsqueda de colegiado y botón de regeneración de credencial


Regeneración masiva

Permite regenerar las credenciales de todos los colegiados activos en un solo paso. Útil tras un cambio de autoridades, actualización del logo o cambio de diseño.

Tiempo de procesamiento

La regeneración masiva es un proceso en background. Para colegios con muchos matriculados puede tardar varios minutos. El sistema muestra el progreso en tiempo real y envía un email al administrador cuando finaliza. No cerrar el navegador durante el proceso.

Pasos:

  1. Ir a Administración → Credenciales Digitales → Regeneración masiva.
  2. Seleccionar el alcance: Todos los activos o Solo los generados antes de [fecha].
  3. Opcionalmente, marcar Notificar a los colegiados por email.
  4. Hacer clic en Iniciar regeneración.
  5. Monitorear el progreso en el panel.

Panel de regeneración masiva con barra de progreso y log de resultados


Código QR y verificación

Cada credencial lleva un código QR único que codifica una URL de verificación pública:

https://[URL_BASE]/verificar/matricula/[TOKEN_UNICO]

Al escanear el QR:

  • Si la matrícula está activa: muestra nombre, número de matrícula, estado y fecha de vencimiento.
  • Si la matrícula está suspendida o inactiva: muestra un aviso de inhabilitación.
  • Si el token no existe o fue revocado: muestra un error de verificación.

Esta página es pública (no requiere login) para que terceros puedan verificar la matrícula de un profesional.

Token único

El token del QR cambia cada vez que se regenera la credencial. Las credenciales anteriores quedan invalidadas automáticamente: su QR mostrará el estado actualizado (la verificación siempre consulta la base de datos en tiempo real, no el PDF).


Personalización del diseño

El diseño del PDF se puede personalizar modificando el template HTML/CSS desde:

Administración → Credenciales Digitales → Configurar diseño

Elementos configurables:

  • Colores de fondo y tipografía (usar los colores institucionales de Parámetros del Sistema)
  • Posición y tamaño del logo
  • Disposición de los campos de datos
  • Texto de pie de página y leyenda de validez

Edición avanzada

La personalización del diseño requiere conocimientos de HTML y CSS. Se recomienda generar una credencial de prueba antes de aplicar cambios en producción.

Beneficios

Descripción

El módulo de Beneficios permite a los colegiados solicitar dos tipos de beneficios que reducen el monto de la cuota anual: Beneficio Parental (por nacimiento, adopción o guarda) y Beneficio por Jubilación (para colegiados que obtuvieron el beneficio jubilatorio de ANSES).

Los beneficios son gestionados desde el portal de autogestión del colegiado y procesados por el personal administrativo. Cada tipo tiene condiciones, documentación requerida y porcentajes de descuento específicos configurables desde el panel de administración.

Roles con acceso

RolAcceso
COLEGIADOSolicita el beneficio desde su portal de autogestión, adjunta documentación
ADMINAcceso completo: revisa, aprueba o rechaza solicitudes, configura parámetros
OPERADORRevisa y procesa solicitudes de beneficios

1. Beneficio Parental

Ruta colegiado: /mis-beneficiosRuta admin: /admin/beneficios-parentales

El beneficio parental aplica un descuento sobre la cuota anual del colegiado que haya tenido un hijo por nacimiento, adopción o guarda con fines de adopción. El colegiado debe solicitarlo dentro de los 90 días de ocurrido el evento.

  • El colegiado completa el formulario con los datos del evento (fecha, tipo) y adjunta la documentación respaldatoria (partida de nacimiento, sentencia de adopción o guarda).
  • El operador revisa la solicitud, valida la documentación y aprueba o rechaza con un comentario.
  • Al aprobarse, se aplica automáticamente el descuento configurado sobre la cuota del período correspondiente.
  • El descuento es por única vez por cada evento (no renovable).

Panel de administración: AdminParentalBenefits — listado de solicitudes con filtros por estado, fecha y profesional. Incluye visor de documentos adjuntos y acciones de aprobar/rechazar.

2. Beneficio por Jubilación

Ruta colegiado: /mis-beneficiosRuta admin: /admin/beneficios-jubilacion

El beneficio por jubilación aplica un descuento permanente sobre la cuota del colegiado que acredite haber obtenido el beneficio jubilatorio de ANSES. A diferencia del parental, este beneficio es permanente mientras el colegiado mantenga su matrícula activa.

  • El colegiado presenta la resolución de ANSES que otorga el beneficio jubilatorio.
  • El operador verifica la resolución contra el sistema de ANSES (manual o por API) y aprueba el beneficio.
  • El porcentaje de descuento se configura en Parámetros del Sistema → Descuentos.
  • El descuento se aplica automáticamente a todas las cuotas futuras mientras el beneficio esté vigente.

Panel de administración: AdminRetirementBenefits — listado de beneficios de jubilación con estado, fecha de aprobación, porcentaje aplicado e historial de cuotas con descuento.


Preguntas frecuentes

¿Se pueden solicitar ambos beneficios simultáneamente? No. Los beneficios no son acumulables. Si un colegiado tiene ambos, se aplica el de mayor descuento.

¿Qué pasa si venció el plazo de 90 días para el beneficio parental? La solicitud fuera de término queda registrada como "Fuera de plazo" y el operador puede rechazarla automáticamente o elevarla a la Comisión Directiva para evaluación excepcional.

¿El beneficio por jubilación tiene fecha de vencimiento? No. El beneficio es permanente mientras el colegiado mantenga su matrícula. Si el colegiado se da de baja y reingresa, debe solicitar el beneficio nuevamente.

Sistema de tickets y soporte interno
🖥 Escritorio Sistema de tickets y soporte interno
Sistema de tickets y soporte interno — móvil
📱 Móvil Sistema de tickets y soporte interno

Tickets y Soporte (EPIC-09)

PSICOLE incluye un sistema completo de gestión de tickets para trámites administrativos. Permite a los colegiados y prestadores iniciar solicitudes formales, y a los operadores gestionarlas con SLA, semáforo de tiempos y flujo de trabajo completo.


Acceso por rol

Rol Acceso
ADMIN Control total: categorías, áreas, asignaciones, todos los tickets, cierre, reasignación
SUPERVISOR_TRAMITES Dashboard de métricas, kanban por operador, reasignar, cerrar
OPERADOR_TRAMITES Dashboard personal, gestión de tickets asignados
Colegiados / Prestadores Crear tickets, ver propios, comentar, seguimiento público

Ciclo de vida de un ticket

PENDIENTE → ASIGNADO → EN PROGRESO → [PAUSADO] → RESUELTO → CERRADO
                                         ↓
                                    (con justificación)
Estado Descripción
PENDING Ticket recibido, sin operador asignado
ASSIGNED Operador tomó el ticket
IN_PROGRESS Operador trabajando activamente
PAUSED Pausado con motivo registrado
WAITING_REQUESTER Esperando respuesta del solicitante
RESOLVED Resuelto por el operador
CLOSED Cerrado definitivamente (supervisor o automático)
REOPENED Reabierto por el colegiado

Configuración de Categorías

Ruta: Administración → Tickets → Categorías (/admin/ticket-categories)

Las categorías definen el tipo de trámite, el área receptora, la prioridad y el SLA.

Lista de categorías con columnas Nombre, Código, Área, Origen y Estado

Crear / Editar categoría

Formulario de nueva categoría con todos los campos visibles

Campo Descripción
Nombre Nombre visible para el usuario
Código Identificador único sin espacios (ej: MAT-RENOVACION)
Área de trabajo Área responsable de atender esta categoría
Prioridad LOW / NORMAL / HIGH / URGENT
SLA (días) Días hábiles máximos para resolver
Tipo de Origen MANUAL / Trámite de Usuario / Tarea Programada
Módulo relacionado Módulo del sistema vinculado (aparece si Origen ≠ MANUAL)

Tipo de Origen determina cómo se genera el ticket:

  • Manual: creado desde el portal por el colegiado u operador
  • Trámite de Usuario: generado automáticamente cuando un colegiado inicia un trámite (ej: renovación de matrícula)
  • Tarea Programada: creado por el scheduler del sistema (ej: conciliación bancaria)

Cuando se elige "Trámite de Usuario" o "Tarea Programada", aparece el campo Módulo relacionado que vincula la categoría con el módulo del sistema. Esto permite que desde el detalle del ticket aparezca un botón directo al módulo.

Vista en mobile:

Categorías en pantalla de celular


Configuración de Áreas de Trabajo

Ruta: Administración → Tickets → Áreas de Trabajo (/admin/ticket-work-areas)

Las áreas agrupan operadores que atienden tickets de determinadas categorías. El sistema asigna automáticamente tickets al operador con menor carga dentro del área.

Lista de áreas de trabajo con contador de operadores

Panel de operadores (expandible)

Haciendo clic en el contador de operadores de cada área se expande un panel con:

  • Lista de operadores asignados al área
  • Estado de disponibilidad con toggle (disponible / no disponible)
  • Botón para agregar nuevos operadores

Panel expandible mostrando operadores del área con toggle de disponibilidad

Modal de asignación de operador

Al hacer clic en "Agregar Operador" se abre un formulario que muestra únicamente usuarios con roles de staff (Admin, Supervisor, Operadores) — sin colegiados ni prestadores.

Modal de asignación con selector de operadores staff

Vista mobile:

Áreas de trabajo en mobile


Parámetros del Sistema — Sección TICKETS

Ruta: ⚡ Super Admin → Parámetros del Sistema (/admin/system-parameters)

Sección TICKETS en los parámetros del sistema con los 3 parámetros configurables

Parámetro Clave Valor por defecto Descripción
Período de gracia TICKET_GRACE_PERIOD_MINUTES 30 min Minutos antes de que el SLA empiece a contar
Inactividad TICKET_INACTIVITY_HOURS 24 hs Horas sin actividad antes de alerta al supervisor
Auto-cierre TICKET_AUTO_CLOSE_DAYS 7 días Días tras resolución para cierre automático

Dashboard Global — Admin

Ruta: Administración → Tickets → Dashboard (/admin/ticket-dashboard)

Vista ejecutiva con indicadores globales del sistema de trámites.

Dashboard global de tickets con KPIs por estado y área


Dashboard de Métricas — Supervisor

Ruta: Tickets → Métricas (/supervisor/metrics)

El dashboard del supervisor muestra el estado completo de la operación con KPIs por estado, tiempos de resolución y carga por operador.

Dashboard de métricas del supervisor con KPIs globales y tabla de tickets

Vista mobile:

Métricas del supervisor en celular


Kanban por Operador — Supervisor

Ruta: Tickets → Gestión de Tickets → Tab "Por operador" (/supervisor/tickets)

Vista kanban que agrupa los tickets por operador para visualizar la carga de trabajo de cada uno.

Kanban agrupado por operador con semáforo SLA por ticket


Escalado automático y SLA

El semáforo de SLA es visible en todas las vistas de tickets:

Color Estado Descripción
🟢 Verde OK SLA dentro del plazo
🟠 Naranja WARNING Menos del 25% del tiempo restante
🔴 Rojo BREACHED SLA vencido — requiere atención inmediata

El sistema también puede generar alertas automáticas al supervisor cuando se supera el SLA (configurado en Tareas Programadas).


Asignación automática de operadores

Al crear un ticket en un área que tiene operadores asignados, el sistema los distribuye automáticamente eligiendo al operador disponible con menor cantidad de tickets activos. Esto se configura en Áreas de Trabajo → Panel de Operadores.

Parámetros requeridos en entorno nuevo

En un entorno nuevo (develop, staging, producción), los parámetros TICKETS no se crean automáticamente. Ejecutar: POST /api/v1/system-parameters/init con un token de admin para inicializarlos.

Glosario

Definición de todos los términos técnicos y operativos utilizados en PSICOLE, ordenados alfabéticamente.


A

Aspirante Persona que ha iniciado el proceso de solicitud de matrícula en el Colegio de Psicólogos pero aún no recibió la aprobación definitiva. Tiene acceso limitado al sistema: puede completar su solicitud, subir documentación y consultar el estado del trámite. No puede operar como colegiado hasta que la matrícula sea aprobada.

Auditoría Registro inmutable de todas las acciones realizadas en el sistema: usuario que ejecutó la acción, fecha y hora, estado anterior y nuevo del registro, y descripción de la operación. La auditoría es de solo lectura y no puede eliminarse ni modificarse.


B

Baja de Matrícula Proceso administrativo mediante el cual se cancela definitivamente la matrícula de un profesional, ya sea a solicitud propia o por resolución del Colegio. La baja impide al profesional ejercer bajo el amparo del Colegio y elimina su acceso al portal de autogestión.

CBU (Clave Bancaria Uniforme) Número de 22 dígitos que identifica de forma unívoca una cuenta bancaria en Argentina. Utilizado en PSICOLE para las transferencias de liquidaciones a prestadores. Ver también: CVU.

CVU (Clave Virtual Uniforme) Equivalente al CBU para cuentas en billeteras virtuales (ej. Mercado Pago, Ualá). Tiene el mismo formato de 22 dígitos y es intercambiable con el CBU a los fines del sistema.


C

Certificado de Libre Deuda Documento oficial emitido por PSICOLE que acredita que un colegiado no tiene deudas vencidas con el Colegio a la fecha de emisión. Tiene validez de 30 días y puede generarse desde el portal de autogestión siempre que no existan cuotas impagas.

Certificado de Matrícula Vigente Documento oficial que acredita que la matrícula de un profesional se encuentra activa y al día. Incluye nombre, número de matrícula, especialidad y fecha de emisión. Tiene validez de 30 días.

Código QR de Credencial Código de respuesta rápida (QR) embebido en la credencial digital de cada colegiado. Al escanearse redirige a una página pública del sistema que muestra el estado actual de la matrícula en tiempo real, permitiendo verificar su autenticidad.

Colegiado Profesional psicólogo con matrícula activa otorgada por el Colegio. Es el rol principal del sistema para los profesionales. Puede acceder al portal de autogestión, inscribirse en cursos, operar como prestador de obras sociales y gestionar sus datos personales.

Comisión Porcentaje o monto fijo que el Colegio retiene de las liquidaciones de órdenes de servicio antes de transferir el saldo neto al prestador. Se configura por obra social y tipo de prestación, con vigencias temporales.

Conciliación Bancaria Proceso de comparación entre los movimientos del extracto bancario del Colegio y los pagos registrados en PSICOLE, con el objetivo de verificar que todos los ingresos y egresos estén correctamente imputados.

Credencial Digital Documento digital en formato PDF o imagen que identifica al colegiado como miembro activo del Colegio. Incluye foto, datos personales, número de matrícula y un código QR verificable. Reemplaza a la credencial física en la mayoría de los trámites.

Cuenta Corriente Registro individual de todos los movimientos financieros de un colegiado con el Colegio: cuotas generadas, pagos acreditados, recargos por mora, créditos y ajustes. El saldo de la cuenta corriente refleja la deuda o el crédito del colegiado en todo momento.

Cuota Concepto de cobro generado por el sistema para un colegiado. Puede corresponder a la matrícula anual, cuota mensual, aranceles de cursos u otros conceptos definidos por el Colegio. Cada cuota tiene un monto, una fecha de vencimiento y un estado (pendiente, vencida, pagada).


D

Débito Directo Modalidad de cobro automático en la que el sistema intenta debitar la cuota de la cuenta bancaria del colegiado en la fecha de vencimiento, sin requerir acción manual del profesional. Requiere autorización previa del titular de la cuenta.

Deuda Suma de todas las cuotas y conceptos vencidos e impagos que tiene un colegiado con el Colegio. Se visualiza en la cuenta corriente y puede incluir recargos por mora acumulados.


E

Especialidad Área de ejercicio profesional declarada por el psicólogo al momento de matricularse o mediante una solicitud de modificación posterior (ej. Psicología Clínica, Neuropsicología, Psicología Laboral). Una matrícula puede estar asociada a múltiples especialidades.

Extracto Bancario Archivo exportado desde el homebanking del Colegio (en formato CSV o Excel) que lista todos los movimientos de la cuenta bancaria en un período determinado. Es el insumo principal del módulo de Conciliación Bancaria.


F

FeeType (Tipo de Cuota) Configuración que define un tipo de concepto de cobro en el sistema: nombre, descripción, si genera mora automática, el porcentaje o monto de mora, y si es recurrente o de única vez. Ejemplos: MATRICULA_ANUAL, CUOTA_MENSUAL, ARANCEL_CURSO.


H

Habilitación Estado que permite a un colegiado ejercer bajo el amparo del Colegio. La habilitación puede ser plena (matrícula activa y al día) o condicionada (con observaciones). Distinto de la matriculación: un profesional puede estar matriculado pero inhabilitado temporalmente.


I

Inhabilitación Medida disciplinaria o administrativa que suspende temporalmente la habilitación de un colegiado para ejercer. Puede ser total o parcial. Durante una inhabilitación, la credencial muestra el estado SUSPENDIDA y el QR refleja la situación en tiempo real.


L

Liquidación Documento que detalla el cálculo del monto neto a pagar a un prestador por sus órdenes de servicio en un período determinado. Muestra el total bruto de las órdenes, la comisión retenida por el Colegio, y el monto neto a transferir, desglosado orden por orden.

Lista de Espera Cola ordenada de personas interesadas en inscribirse en un curso cuyo cupo máximo ya fue alcanzado. El sistema promueve automáticamente al primero de la lista cuando se libera un cupo, notificándolo por email.

Lote de Pago Agrupación de liquidaciones aprobadas que se procesan en una única transferencia bancaria consolidada. Permite enviar los pagos a múltiples prestadores en una sola operación bancaria, generando un archivo de transferencias en el formato requerido por el banco.

Lote Mensual (de órdenes) Conjunto de órdenes de servicio de una obra social correspondientes a un mismo período (mes/año). Se importa, valida y aprueba como una unidad. Su aprobación dispara la generación de liquidaciones para los prestadores incluidos.


M

Matching Proceso de emparejamiento entre una transacción del extracto bancario y un pago registrado en PSICOLE. Puede ser automático (realizado por el motor de matching según criterios configurables) o manual (realizado por el operador).

Matrícula Registro oficial que habilita a un psicólogo para ejercer la profesión bajo el amparo del Colegio de Psicólogos. Cada matrícula tiene un número único, un titular, una fecha de alta y un estado (activa, suspendida, cancelada).

Mercado Pago Plataforma de pagos online integrada en PSICOLE para procesar pagos de cuotas y aranceles por parte de los colegiados desde el portal de autogestión. Soporta tarjeta de crédito, débito, transferencia bancaria y billetera digital.

Mora Recargo económico que se aplica automáticamente sobre una cuota cuando no se abona antes de su fecha de vencimiento. El porcentaje de mora y el período de gracia (días antes de aplicar el recargo) son configurables por tipo de cuota (FeeType).


N

Nomenclador Tabla de códigos y valores que define cuánto debe pagar una obra social por cada tipo de prestación. Cada obra social tiene su propio nomenclador, que debe cargarse y mantenerse actualizado en PSICOLE para validar los montos de las órdenes.


O

Operador de Cursos Rol administrativo con acceso al módulo de Cursos y Capacitación. Puede crear y gestionar cursos, inscribir participantes, registrar asistencia y emitir certificados.

Operador de Finanzas Rol administrativo con acceso a los módulos financieros: Finanzas, Conciliación Bancaria, Prestadores, Liquidaciones y Pagos Online. Gestiona el ciclo completo de ingresos y egresos del Colegio.

Operador de Matrículas Rol administrativo que gestiona el ciclo de vida de las matrículas: evalúa solicitudes de aspirantes, aprueba o rechaza matriculaciones, y administra modificaciones de datos de los colegiados.

Operador de Trámites Rol administrativo que gestiona los trámites internos del Colegio: solicitudes de certificados con costo, legalizaciones, cambios de especialidad y otros procesos que requieren intervención administrativa.

Orden de Servicio Registro de una prestación psicológica realizada por un colegiado a un afiliado de una obra social. Contiene: número de orden, código de prestación, fecha, datos del profesional y del paciente (o su número de afiliado), y monto a cobrar.


P

Padrón Base de datos oficial de todos los colegiados matriculados, con sus datos personales y profesionales. Es el registro maestro que alimenta la emisión de credenciales, certificados y la verificación pública de matrículas.

Portal del Profesional Ver Autogestión del Profesional.

Prestador Colegiado que, además de su matrícula, está habilitado para recibir pacientes derivados por obras sociales y facturar sus prestaciones a través del Colegio. Tiene acceso a un subportal específico dentro de la autogestión.

Prerequisito Condición que un colegiado debe cumplir para poder inscribirse en un curso. Puede ser haber completado un curso anterior o tener la matrícula activa.


R

Recibo Comprobante oficial de pago emitido por PSICOLE cuando se acredita un pago de un colegiado. Incluye número de recibo, fecha, concepto, monto y firma digital del sistema. Tiene validez como constancia de pago interno del Colegio.

Rol Conjunto de permisos que determina a qué módulos y acciones puede acceder un usuario en PSICOLE. Los nueve roles del sistema son: ADMIN, OPERADOR_MATRICULAS, OPERADOR_FINANZAS, OPERADOR_CURSOS, OPERADOR_TRAMITES, SUPERVISOR_TRAMITES, COLEGIADO, PRESTADOR y ASPIRANTE.


S

Sesión de Conciliación Unidad de trabajo del módulo de Conciliación Bancaria. Agrupa un extracto bancario importado con todos los emparejamientos (matches) realizados sobre sus transacciones. Una sesión puede estar abierta (en proceso) o cerrada (conciliación finalizada y auditada).

SLA (Service Level Agreement) Tiempo máximo establecido para la resolución de un ticket de soporte interno según su categoría y prioridad. PSICOLE permite configurar SLAs por tipo de ticket y emite alertas cuando un ticket está próximo a vencer o ya superó el plazo.

Supervisor de Trámites Rol administrativo con capacidad de supervisar y escalar los trámites gestionados por los operadores de trámites. Puede aprobar trámites de mayor complejidad y acceder a reportes de gestión.

Suspensión de Matrícula Estado temporal de la matrícula en el que el colegiado no puede ejercer bajo el amparo del Colegio. Puede generarse por deuda acumulada, resolución disciplinaria o a solicitud del propio profesional (baja voluntaria temporal).


T

Ticket Registro de una consulta, solicitud o incidencia generada por un usuario interno o externo del sistema. Los tickets tienen categorías, áreas de trabajo asignadas, prioridad, historial de estados y SLA asociado.

Tipo de Orden Clasificación de las órdenes de servicio según el tipo de prestación psicológica realizada (ej. consulta, psicoterapia, evaluación, informe pericial). Determina qué regla de comisión aplica.

Trámite Procedimiento administrativo formal gestionado por el Colegio que requiere documentación, revisión y resolución por parte del personal (ej. cambio de especialidad, solicitud de legalizaciones, recursos disciplinarios).


V

Vigencia de Comisión Período durante el cual una regla de comisión está activa para una obra social y tipo de prestación. Permite reflejar cambios históricos sin perder el rastro de qué tarifa aplicó en cada período cerrado.


W

Webhook Mecanismo de notificación automática que Mercado Pago utiliza para informar a PSICOLE sobre el resultado de un pago (aprobado, rechazado, pendiente). Es asíncrono: puede tardar hasta 5 minutos desde que el usuario completa el checkout hasta que el sistema registra el pago.

Matriz de Permisos

Descripción

Tabla completa de permisos por rol y módulo. Los permisos siguen el modelo RBAC (Role-Based Access Control) con triplets MODULO/ACCION/RECURSO. Las acciones disponibles son: Leer (READ), Crear (CREATE), Editar (UPDATE), Eliminar (DELETE) y Aprobar (APPROVE).

Convención

Símbolo Significado
Permiso completo
👁 Solo lectura (propia)
👁+ Lectura extendida (todos los registros)
Solo crear
✏️ Crear y editar (sin eliminar ni aprobar)
Sin acceso

Módulo: AUTENTICACION

Acción / Recurso ADMIN OP_MATRICULAS OP_FINANZAS OP_CURSOS OP_TRAMITES SUP_TRAMITES COLEGIADO PRESTADOR ASPIRANTE
Iniciar sesión
Cerrar sesión
Cambiar contraseña propia
Recuperar contraseña
Gestionar usuarios (CRUD)
Asignar roles
Ver log de auditoría
Impersonar usuario

Módulo: MATRICULAS

Acción / Recurso ADMIN OP_MATRICULAS OP_FINANZAS OP_CURSOS OP_TRAMITES SUP_TRAMITES COLEGIADO PRESTADOR ASPIRANTE
Ver solicitudes de matrícula 👁+ 👁+ 👁
Crear solicitud de matrícula
Editar solicitud propia
Editar cualquier solicitud
Aprobar matrícula
Rechazar matrícula
Ver matrículas activas 👁+ 👁+ 👁
Editar datos de matrícula activa
Suspender / reactivar matrícula
Eliminar registro de matrícula

Módulo: FINANZAS

Acción / Recurso ADMIN OP_MATRICULAS OP_FINANZAS OP_CURSOS OP_TRAMITES SUP_TRAMITES COLEGIADO PRESTADOR ASPIRANTE
Ver cuotas (todas)
Ver cuotas propias
Crear cuota manual
Editar cuota
Eliminar cuota
Registrar pago manual
Ver recibos (todos)
Ver recibos propios
Anular recibo
Ver configuración descuentos
Editar configuración descuentos
Ver configuración recargos
Editar configuración recargos
Configurar tipos de cuota

Módulo: PAGOS

Acción / Recurso ADMIN OP_MATRICULAS OP_FINANZAS OP_CURSOS OP_TRAMITES SUP_TRAMITES COLEGIADO PRESTADOR ASPIRANTE
Iniciar pago online (propio)
Ver estado de pago online
Confirmar pago (webhook)
Ver todos los pagos online
Emitir devolución

Módulo: CONCILIACION

Acción / Recurso ADMIN OP_MATRICULAS OP_FINANZAS OP_CURSOS OP_TRAMITES SUP_TRAMITES COLEGIADO PRESTADOR ASPIRANTE
Ver extractos bancarios
Importar extracto bancario
Conciliar movimientos
Marcar movimiento como irrelevante
Ver reportes de conciliación

Módulo: CURSOS

Acción / Recurso ADMIN OP_MATRICULAS OP_FINANZAS OP_CURSOS OP_TRAMITES SUP_TRAMITES COLEGIADO PRESTADOR ASPIRANTE
Ver catálogo de cursos
Crear curso
Editar curso
Eliminar curso
Publicar / despublicar curso
Inscribir colegiado en curso
Ver inscripciones (todas)
Ver inscripciones propias
Registrar asistencia
Emitir certificado de curso

Módulo: TRAMITES

Acción / Recurso ADMIN OP_MATRICULAS OP_FINANZAS OP_CURSOS OP_TRAMITES SUP_TRAMITES COLEGIADO PRESTADOR ASPIRANTE
Ver todos los trámites 👁+
Iniciar trámite propio
Ver trámites propios
Editar trámite en borrador
Aprobar trámite
Rechazar trámite
Eliminar trámite
Ver plantillas de trámites
Configurar plantillas

Módulo: PRESTADORES

Acción / Recurso ADMIN OP_MATRICULAS OP_FINANZAS OP_CURSOS OP_TRAMITES SUP_TRAMITES COLEGIADO PRESTADOR ASPIRANTE
Ver listado de prestadores
Registrar prestador
Editar prestador
Ver órdenes propias
Cargar orden de obra social
Ver todas las órdenes
Procesar liquidación
Ver liquidación propia

Módulo: CREDENCIALES

Acción / Recurso ADMIN OP_MATRICULAS OP_FINANZAS OP_CURSOS OP_TRAMITES SUP_TRAMITES COLEGIADO PRESTADOR ASPIRANTE
Generar credencial (propia)
Descargar credencial propia
Regenerar credencial de cualquier usuario
Regeneración masiva
Verificar QR (público)
Configurar diseño de credencial

Módulo: ADMINISTRACION

Acción / Recurso ADMIN OP_MATRICULAS OP_FINANZAS OP_CURSOS OP_TRAMITES SUP_TRAMITES COLEGIADO PRESTADOR ASPIRANTE
Ver parámetros del sistema
Editar parámetros del sistema
Gestionar tareas programadas
Ver log de tareas programadas
Configurar SMTP
Gestionar templates de email
Gestionar tickets (bandeja)
Configurar categorías de tickets
Ver reportes de tickets
Abrir ticket

Resumen ejecutivo por rol

Rol Alcance general
ADMIN Acceso total a todos los módulos, configuración, auditoría e impersonación
OPERADOR_MATRICULAS CRUD de solicitudes y matrículas, regeneración de credenciales, lectura de trámites
OPERADOR_FINANZAS CRUD de cuotas, pagos, recibos, conciliación bancaria, descuentos y recargos
OPERADOR_CURSOS CRUD de cursos, inscripciones, asistencia y certificados
OPERADOR_TRAMITES Gestión de trámites, edición de borradores, bandeja de tickets
SUPERVISOR_TRAMITES Todo lo de OPERADOR_TRAMITES + aprobación/rechazo de trámites, escalado de tickets
COLEGIADO Autogestión propia: ver cuotas, pagar, ver matrícula, descargar credencial, inscribirse en cursos
PRESTADOR Cargar órdenes de obras sociales y ver sus liquidaciones
ASPIRANTE Crear y editar solicitud de matrícula, ver estado de su solicitud, pagar cuota de inscripción

Preguntas Frecuentes

Respuestas a las dudas más comunes sobre el uso de PSICOLE, organizadas por tema.


Acceso y cuentas de usuario

¿Cómo recupero mi contraseña? En la pantalla de inicio de sesión, hacer clic en ¿Olvidaste tu contraseña? e ingresar el email registrado. El sistema envía un enlace de recuperación válido por 24 horas. Si no llega el correo, revisar la carpeta de spam o contactar al administrador del sistema.

¿Puedo tener más de un rol simultáneamente? Un usuario puede tener asignados múltiples roles. Sin embargo, los roles de colegiado/prestador/aspirante son exclusivos del portal del profesional y no pueden combinarse con roles administrativos (ADMIN, OPERADOR_*) en la misma cuenta.

¿Qué hago si mi sesión se cierra inesperadamente durante un pago? La sesión de PSICOLE expira por inactividad, pero el proceso de pago en Mercado Pago es independiente. Si el pago fue completado en MP, el sistema lo registrará automáticamente cuando llegue el webhook (hasta 5 minutos). Iniciar sesión nuevamente y verificar el estado de cuenta.

¿Puedo acceder al sistema desde el celular? Sí. PSICOLE está diseñado con interfaz responsive y funciona correctamente en navegadores móviles (Chrome, Safari). No existe una app nativa, pero puede agregarse a la pantalla de inicio del dispositivo como acceso directo.


Matrículas y aspirantes

¿Cuánto tiempo tarda la aprobación de una solicitud de matrícula? El SLA interno para resolución de solicitudes de matrícula es de 10 días hábiles desde la recepción de la documentación completa. Si la documentación está incompleta, el plazo se detiene hasta que el aspirante envíe los documentos faltantes.

¿Puede un aspirante trabajar mientras espera la aprobación de su matrícula? No. El aspirante no puede ejercer bajo el amparo del Colegio ni acceder a los servicios de prestador hasta que la matrícula sea aprobada formalmente.

¿Cómo sé si mi documentación fue recibida y está completa? El portal del aspirante muestra el estado de cada documento requerido: pendiente, recibido, aprobado u observado. Si un documento tiene observaciones, el sistema indica qué corrección se necesita.

¿Qué pasa si me rechazan la solicitud de matrícula? El aspirante recibe una notificación con el motivo del rechazo y puede subsanar las observaciones y reiniciar el proceso. El sistema mantiene el historial de la solicitud original.


Finanzas y pagos

¿Cuáles son los medios de pago aceptados en el portal online? El portal de autogestión acepta: tarjeta de crédito (Visa, Mastercard, American Express), tarjeta de débito, transferencia bancaria y saldo en billetera de Mercado Pago. Las opciones disponibles pueden variar según los acuerdos comerciales vigentes del Colegio.

¿Puedo pagar en cuotas con tarjeta de crédito? Depende de las promociones activas configuradas por el Colegio en Mercado Pago. La pantalla de checkout mostrará las opciones de cuotas disponibles. Si no aparece la opción de cuotas, el pago debe realizarse al contado.

¿Cuánto tarda en reflejarse un pago realizado online? Los pagos con tarjeta o billetera MP se acreditan en tiempo real una vez que llega el webhook de confirmación (generalmente en menos de 5 minutos). Las transferencias bancarias pueden tardar hasta 24 horas hábiles.

¿Cómo obtengo una factura por mis pagos al Colegio? Los recibos generados por PSICOLE son comprobantes de pago internos. Para obtener factura con valor fiscal (Factura B o C), contactar directamente al área de Finanzas del Colegio. Los recibos del portal son válidos para acreditar el pago ante otros organismos.

¿Qué pasa si pagué de más por error? PSICOLE no procesa reembolsos automáticos. Contactar al operador de finanzas para que registre el crédito en la cuenta corriente o gestione la devolución. El crédito quedará disponible para aplicar en el próximo vencimiento.

¿Cómo se calculan los recargos por mora? El recargo se calcula automáticamente según la configuración del FeeType (tipo de cuota). Generalmente es un porcentaje mensual que se aplica a partir del día siguiente al vencimiento (o después del período de gracia configurado). El monto de mora se muestra en el detalle de cada cuota vencida.


Cursos y capacitación

¿Cómo sé si estoy en lista de espera o inscripto directamente? En Mi Portal → Mis Inscripciones, cada curso muestra el estado: Inscripto Confirmado, Pendiente de Pago o En Lista de Espera. El estado En Lista de Espera incluye la posición actual en la cola.

¿Qué pasa si no pago el curso en el plazo establecido? Si la inscripción estaba condicionada al pago (dentro de un plazo post-inscripción), el sistema puede liberar automáticamente el lugar si el pago no se acredita en el plazo configurado por el operador. El colegiado recibirá un email de advertencia antes de que se ejecute la baja.

¿Se puede cancelar una inscripción y recibir un reembolso? La política de cancelación y reembolso es definida por el Colegio para cada curso. Contactar al operador de cursos para gestionar una baja. El sistema permite registrar reembolsos totales o parciales según la política aplicable.

¿Cuándo se emite el certificado del curso? El certificado se emite automáticamente cuando el participante cumple el porcentaje mínimo de asistencia (configurable por curso, por defecto 75%) y tiene todos los pagos al día. Si queda una cuota pendiente, el certificado se libera automáticamente al registrarse el pago.

¿Puedo descargar los materiales del curso antes de asistir? Depende de la configuración de cada material. Los materiales marcados como "Libre" están disponibles antes de inscribirse. Los marcados como "Solo Inscriptos" requieren inscripción confirmada con pago para poder descargarse.


Prestadores y obras sociales

¿Cómo me habilito como prestador de una obra social? La habilitación como prestador para una obra social específica se tramita mediante un trámite administrativo ante el Colegio. Contactar al Operador de Trámites para iniciar el proceso, que puede requerir documentación específica según la obra social.

¿Por qué algunas de mis órdenes aparecen como "Observadas"? Una orden observada es aquella que presentó alguna inconsistencia durante la validación (monto fuera del nomenclador, código de prestación desconocido, etc.). Ver el detalle de la observación en el portal del prestador y comunicárselo a la obra social para corrección.

¿Cuándo recibo el pago de mis liquidaciones? Los lotes de pago se generan después del cierre del lote mensual de órdenes, que habitualmente ocurre dentro de los primeros 10 días hábiles del mes siguiente. La fecha exacta depende de la obra social y el flujo operativo del Colegio.

¿Puedo tener liquidaciones de varias obras sociales en el mismo mes? Sí. Si sos prestador de múltiples obras sociales, recibirás una liquidación separada por cada obra social, aunque todas pueden incluirse en el mismo lote de pago bancario.


Datos personales y solicitudes

¿Cuáles son los datos que puedo modificar por mi cuenta desde el portal? Desde el portal de autogestión podés solicitar cambios de: domicilio, teléfono, email, CUIT, especialidades declaradas y CBU/CVU para liquidaciones. Algunos cambios requieren documentación de respaldo. El número de matrícula y la foto de perfil no se modifican por autogestión.

¿Cuánto tiempo tarda la aprobación de una solicitud de cambio de datos? El SLA interno es de 3 días hábiles. Si la solicitud supera ese plazo, se genera un escalamiento automático al supervisor. Podés consultar el estado en cualquier momento desde Mi Perfil → Mis Solicitudes.

¿Puedo cancelar una solicitud de modificación que envié? Sí, mientras la solicitud esté en estado PENDIENTE (no haya sido procesada por el operador), podés cancelarla desde Mis Solicitudes → [Solicitud] → Cancelar.


Credenciales y certificados

¿Con qué frecuencia debo renovar mi credencial digital? La credencial digital no tiene vencimiento propio, pero los certificados de matrícula vigente y libre deuda generados desde ella tienen una validez de 30 días. La credencial en sí refleja el estado actual de la matrícula en tiempo real mediante el QR.

¿El QR de mi credencial funciona sin internet? No. El código QR apunta a una URL online del sistema PSICOLE. Para verificar la autenticidad se requiere conexión a internet. La imagen de la credencial puede guardarse y compartirse offline, pero la verificación siempre es online.

¿Cómo verifico un certificado de otro profesional? Escaneando el QR del certificado con cualquier lector de QR. El enlace resultante mostrará una página pública con los datos del certificado (nombre, matrícula, fecha de emisión, vigencia y autenticidad). No se requiere login.

Errores Comunes

Referencia de los errores más frecuentes en PSICOLE, con descripción de la causa y los pasos para resolverlos. Los errores están agrupados por módulo.


Autenticación y acceso

Código / Mensaje Causa Solución
CREDENCIALES_INVALIDAS El email o la contraseña ingresados no coinciden con ningún usuario activo Verificar que no haya errores tipográficos. Usar la opción Olvidé mi contraseña si se desconoce la clave actual
USUARIO_INACTIVO La cuenta del usuario fue desactivada por el administrador Contactar al ADMIN para que reactive la cuenta o informe el motivo de la desactivación
SESION_EXPIRADA La sesión cerró por inactividad (timeout configurado) Iniciar sesión nuevamente. Si ocurrió durante un proceso crítico (ej. pago), verificar el estado de cuenta antes de reintentar
PERMISOS_INSUFICIENTES El rol del usuario no tiene acceso a la funcionalidad solicitada Verificar con el ADMIN que el rol asignado sea el correcto para la operación que se intenta realizar

Matrículas y aspirantes

Código / Mensaje Causa Solución
DOCUMENTACION_INCOMPLETA La solicitud de matrícula no tiene todos los documentos requeridos adjuntos Revisar el checklist de documentación en el portal del aspirante y subir los documentos faltantes
MATRICULA_DUPLICADA Existe una solicitud activa o una matrícula vigente para el mismo DNI/CUIL Verificar en el padrón si el profesional ya tiene matrícula. Si es un error del sistema, contactar al ADMIN
DNI_INVALIDO El número de DNI ingresado no tiene el formato correcto o no pasó la validación Verificar el número sin puntos ni espacios. El formato esperado es un número de 7 u 8 dígitos

Finanzas y pagos

Código / Mensaje Causa Solución
PAGO_RECHAZADO_MP Mercado Pago rechazó la transacción (fondos insuficientes, tarjeta bloqueada, etc.) Intentar con otro medio de pago. El detalle del rechazo lo provee Mercado Pago en la pantalla de checkout
PAGO_PROCESANDO El webhook de confirmación de Mercado Pago aún no llegó al sistema Esperar hasta 5 minutos y recargar la página. Si persiste después de 15 minutos, contactar al Operador de Finanzas
CUOTA_YA_PAGADA Se intentó pagar una cuota que ya fue acreditada en una transacción anterior Verificar el historial de recibos. Si el sistema no refleja el pago anterior, reportarlo al Operador de Finanzas
MORA_REQUERIDA Se intentó pagar una cuota vencida sin incluir el recargo de mora El sistema requiere pagar el monto original más el recargo de mora en la misma transacción. El recargo se calcula automáticamente y se agrega al total

Conciliación bancaria

Código / Mensaje Causa Solución
FORMATO_EXTRACTO_INVALIDO El archivo CSV/Excel no corresponde al formato configurado para el banco seleccionado Verificar que el banco seleccionado en el sistema coincida con el del archivo. Consultar al ADMIN los formatos soportados
PERIODO_SOLAPADO El período del extracto importado se superpone con el de una sesión ya existente para ese banco Revisar las sesiones existentes y ajustar el rango de fechas del nuevo extracto. Si hay sesiones abiertas, cerrarlas primero
TRANSACCION_DUPLICADA Una transacción del extracto ya existe en una sesión anterior (mismo banco, monto, fecha y referencia) El archivo puede ser un duplicado de una importación anterior. Verificar el historial de sesiones antes de reimportar
SESION_BLOQUEADA Hay una sesión de conciliación abierta hace más de 30 días para ese banco Resolver o descartar la sesión antigua. Solo el ADMIN puede descartar sesiones vencidas sin completar
MATCH_SIN_JUSTIFICACION Se intentó guardar un emparejamiento manual sin ingresar el campo de justificación Completar el campo de justificación con una descripción del motivo del match antes de confirmar
REVERSION_NO_PERMITIDA Se intentó revertir un match en una sesión ya cerrada sin permisos de ADMIN Solicitar al ADMIN que reabra la sesión si se requiere corregir el emparejamiento

Cursos y capacitación

Código / Mensaje Causa Solución
PREREQUISITO_NO_CUMPLIDO El colegiado no completó el curso prerequisito requerido Verificar el historial de cursos del colegiado. Si existe un error en el registro, el ADMIN puede aprobar la inscripción manualmente desactivando el prerequisito
CUPO_AGOTADO El cupo máximo del curso fue alcanzado Inscribir al interesado en la lista de espera. El operador también puede ampliar el cupo desde la configuración del curso si hay capacidad disponible
INSCRIPCION_DUPLICADA El colegiado ya tiene una inscripción activa en ese curso Verificar el estado de la inscripción existente. Si fue dada de baja por error, el operador puede reincorporarlo si hay cupos
CERTIFICADO_NO_HABILITADO El participante no cumple el mínimo de asistencia y/o tiene cuotas del curso pendientes Verificar la planilla de asistencia y el estado de pagos. El certificado se libera automáticamente al regularizar ambas condiciones

Prestadores y órdenes

Código / Mensaje Causa Solución
PRESTADOR_NO_MATRICULADO El número de matrícula en la orden no existe en PSICOLE Verificar el número con la obra social. Buscar el profesional por nombre ante posibles errores tipográficos en el número de matrícula
PRESTADOR_INHABILITADO El profesional tiene matrícula suspendida o cancelada Regularizar la situación de la matrícula antes de procesar las órdenes del prestador
CODIGO_PRESTACION_DESCONOCIDO El código de prestación de la orden no está en el nomenclador de esa obra social Actualizar el nomenclador en Prestadores → Obras Sociales → [Nombre] → Nomenclador con el código faltante
MONTO_FUERA_DE_RANGO El monto informado por la obra social difiere en más del umbral configurado respecto al nomenclador Verificar si el nomenclador está desactualizado. Actualizar los valores si la obra social modificó sus aranceles
LOTE_YA_APROBADO Se intenta importar órdenes en un período y obra social que ya tiene lote cerrado Usar el mecanismo de órdenes de ajuste (crédito/débito) en el lote del mes siguiente. Los lotes aprobados no se modifican

Liquidaciones

Código / Mensaje Causa Solución
SIN_REGLA_COMISION No existe ninguna regla de comisión configurada para la obra social o el tipo de prestación del lote a liquidar Ir a Administración → Liquidaciones → Configuración de Comisiones y crear la regla faltante antes de aprobar el lote
PRESTADOR_SIN_CBU El prestador no tiene CBU/CVU registrado en su perfil Solicitar al prestador que ingrese su CBU desde el portal de autogestión, o cargarlo manualmente desde la ficha del colegiado
MONTO_NETO_NEGATIVO La comisión configurada supera el monto bruto de la orden, generando un neto negativo Revisar la configuración de la regla de comisión. Probablemente el valor sea un porcentaje ingresado como entero (ej. 110 en lugar de 1.10)

Autogestión del profesional

Código / Mensaje Causa Solución
DEUDA_IMPIDE_CERTIFICADO Se intenta generar un certificado de libre deuda con cuotas vencidas pendientes Pagar las cuotas vencidas desde el portal online. El botón de generación del certificado se habilita automáticamente
SOLICITUD_PENDIENTE_EXISTENTE Ya hay una solicitud de modificación activa para el mismo campo de datos Esperar la resolución de la solicitud existente. Si necesitás urgencia, contactar al Operador de Matrículas para que la procese con prioridad
CBU_INVALIDO El CBU/CVU ingresado no supera la validación de dígito verificador Verificar el número con el banco o la billetera virtual. Debe tener exactamente 22 dígitos y pasar la validación algorítmica
DOCUMENTACION_FALTANTE Se envió una solicitud de modificación sin adjuntar el documento de respaldo requerido Adjuntar el documento indicado (ej. servicio de luz para cambio de domicilio) antes de enviar la solicitud

Índice de Tags

Esta página es generada automáticamente por MkDocs Material a partir de los tags definidos en el frontmatter de cada página.

Usá los tags para filtrar el contenido del manual por rol y acceder rápidamente a las secciones relevantes para tu función.


Cómo usar los tags

Cada página del manual tiene uno o más tags en su encabezado que indican a qué roles es relevante. Al hacer clic en un tag, verás todas las páginas etiquetadas con ese rol.

Los tags disponibles son:

Tag Rol en el sistema Descripción
Administrador ADMIN Acceso completo al sistema. Configuración, auditoría y operaciones de alto impacto
Operador Matrículas OPERADOR_MATRICULAS Gestión del ciclo de vida de las matrículas y trámites de aspirantes
Operador Finanzas OPERADOR_FINANZAS Finanzas, pagos, conciliación bancaria, prestadores y liquidaciones
Operador Cursos OPERADOR_CURSOS Creación y gestión de cursos, inscripciones, asistencia y certificados
Operador Trámites OPERADOR_TRAMITES Gestión de trámites internos y atención de solicitudes de colegiados
Supervisor Trámites SUPERVISOR_TRAMITES Supervisión y escalamiento de trámites; acceso a reportes de gestión
Colegiado COLEGIADO Portal de autogestión del profesional matriculado
Prestador PRESTADOR Portal de prestador: órdenes de servicio, liquidaciones y comprobantes
Aspirante ASPIRANTE Portal de solicitud de matrícula y seguimiento del trámite de matriculación

Índice de tags

[TAGS]

Changelog

Historial de cambios del sistema PSICOLE. Las versiones siguen el esquema Versionado Semántico: MAJOR.MINOR.PATCH.


v2.1.0 — 2026-04-27

Nuevas funcionalidades

  • Módulo DINERO: nuevo módulo financiero completo con 13 secciones: Dashboard con 14 indicadores en paralelo, Cobranza, Caja, Conciliación Bancaria, Transferencias Pendientes, Planes de Pago, Débito Automático, Tarjetas sin Asociar, Salud de Pagos, Contabilidad, Facturación, Reportes Financieros y Configuración de Dinero. Roles: ADMIN, OPERADOR_FINANZAS, CONTADOR (lectura).
  • Módulo COMUNICACIONES: 3 subsistemas integrados — Mensajería Interna (avisos de operadores a usuarios con tracking de lectura), Notificaciones del Sistema (32 tipos automáticos), e Infraestructura de Email con 4 capas de seguridad (kill switch, circuit breaker, rate limiter, audit log). Incluye Panel de Auditoría para Super Admins con estadísticas y exportación CSV.
  • Campanita de Notificaciones (NotificationBell): presente en todas las páginas, badge numérico con conteo de no leídos, polling 60s y actualización en tiempo real vía SSE.
  • Agenda del Profesional: nueva página /mi-agenda con eventos pendientes (vencimientos, cursos, tickets, deudas) priorizados por colores.
  • Expansión de Parámetros del Sistema: de ~10 a 37 parámetros en 6 categorías (INSTITUTION, SECURITY, EMAIL, PAYMENTS, TICKETS, GENERAL). Incluye credenciales de gateways de pago con encriptación AES-256-CBC.
  • Hot-reload de gateways de pago: al guardar credenciales de MercadoPago, NAVE o Payway, el sistema sincroniza process.env y reinicializa el cliente sin reiniciar el servidor.
  • Rate limits dinámicos: MAX_LOGIN_ATTEMPTS ahora se lee de la base de datos con cache de 60s, permitiendo ajustar la seguridad sin deploy.

Mejoras

  • Los parámetros del sistema ya no tienen cache HTTP — los cambios se reflejan inmediatamente en la UI al guardar.
  • 28 templates de email para todas las comunicaciones transaccionales del sistema.
  • Seguridad en sandbox: todos los emails se redirigen a EMAIL_REDIRECT_TO, cero riesgo de envío a destinatarios reales.
  • Circuit breaker en envío de emails: si más del 30% fallan en 5 minutos, detiene todos los envíos automáticamente.
  • Rate limiter de emails: token bucket 10/min, 200/hora para no saturar el servidor SMTP.
  • Configuración de Dinero (MoneyConfig) con 7 dominios ajustables en vivo sin reinicio.

v2.1.1 — 2026-04-28

Nuevas funcionalidades

  • Sistema de Ayuda Contextual (HelpTooltip): implementado en 15 pantallas del sistema. Cada pantalla muestra un ícono (?) a la derecha del título que despliega una ayuda contextual específica con descripción, tips y enlace directo a la sección correspondiente del manual.
  • HelpTooltips en DINERO (14 pantallas): Dashboard, Cobranza, Caja, Conciliación Bancaria, Transferencias Pendientes, Planes de Pago, Débito Automático, Tarjetas sin Asociar, Salud de Pagos, Contabilidad, Facturación, Reportes Financieros, Configuración de Dinero y Cuenta Corriente.
  • HelpTooltip en COMUNICACIONES (1 pantalla): Auditoría de Comunicaciones.
  • Registro centralizado en helpContent.js: todas las ayudas contextuales se definen en un único archivo de configuración con título, cuerpo, tip opcional y URL del manual. Formato de claves: modulo.pantalla.elemento.
  • Nuevas secciones del manual: Beneficios, Certificados de Ética, Renovación de Matrícula y ancla de Débito Automático agregadas para cubrir todas las referencias de ayuda contextual.

Mejoras

  • Corrección de 4 enlaces rotos en ayudas contextuales que apuntaban a secciones inexistentes del manual.
  • Tooltips responsivos: en desktop se muestran como popover, en móvil como hoja inferior (bottom sheet).
  • El tooltip se cierra al presionar Escape o al hacer clic fuera.

v1.3.0 — 2026-04-04

Nuevas funcionalidades

  • Tickets y Trámites (EPIC-09) — Sistema completo: nuevo módulo de gestión de tickets con SLA configurable, semáforo de tiempos (verde/naranja/rojo), asignación automática de operadores por área de trabajo y flujo completo de estados.
  • Dashboard personal del Operador de Trámites: vista de bienvenida con encabezado en degradado, KPIs embebidos, alerta roja para tickets vencidos y tickets agrupados por urgencia. Al ingresar al sistema, el operador llega directamente a este dashboard.
  • Kanban de tickets: vista estilo tablero por estado para operadores; vista por operador para supervisores.
  • Dashboard de métricas del Supervisor: KPIs globales, tiempos de resolución y carga por operador en tiempo real.
  • Categorías de tickets con Tipo de Origen: las categorías pueden ser MANUAL, Trámite de Usuario o Tarea Programada, con campo de Módulo Relacionado que vincula el ticket al módulo del sistema.
  • Áreas de trabajo: panel expandible con operadores por área, toggle de disponibilidad y asignación automática al operador con menor carga.
  • Parámetros configurables TICKETS: período de gracia, horas de inactividad y días para auto-cierre configurables desde Parámetros del Sistema.
  • Integración alertas → tickets: las notificaciones de asignación en la campana llevan directamente al ticket asignado.
  • Link "Ver servicio relacionado": en el detalle del ticket aparece un botón de acceso directo al módulo vinculado (Renovación de Matrícula, Débito Automático, Conciliación Bancaria, etc.).
  • Seguimiento público: página /track para consultar el estado de un ticket sin login.

Mejoras

  • Filas de tickets en kanban y dashboard son completamente clicables (no solo el ícono).
  • Redirección automática al dashboard del operador al ingresar con rol OPERADOR_TRAMITES.
  • El modal de asignación de operadores en Áreas de Trabajo filtra y muestra únicamente usuarios con roles de staff (excluye colegiados y prestadores).

v1.2.0 — 2026-03-01

Nuevas funcionalidades

  • Conciliación bancaria: nuevo módulo para importar extractos bancarios en formato .txt (Banco Nación, Banco Provincia, BBVA) y realizar matching automático con los pagos registrados en el sistema. Los movimientos sin match quedan en cola para resolución manual.
  • Pagos online con Mercado Pago: integración con la API de Mercado Pago para que los colegiados puedan abonar sus cuotas directamente desde el portal de autogestión. Incluye webhook de confirmación y generación automática del recibo.
  • Regeneración masiva de credenciales: nueva acción en el panel de Credenciales Digitales que permite regenerar en background las credenciales de todos los colegiados activos con un solo clic. Envía email de resumen al administrador al completar.
  • Tickets — áreas de trabajo: los tickets ahora se enrutan automáticamente al área correspondiente según su categoría. Los operadores ven solo los tickets de sus áreas asignadas.
  • Descuento por pago anticipado configurable por tipo de cuota: el porcentaje y la fecha límite de pago anticipado ahora se configuran individualmente en cada Tipo de Cuota, en lugar de aplicarse globalmente.

Mejoras

  • El panel de Tareas Programadas ahora muestra el historial de las últimas 50 ejecuciones con estado, duración y resumen de resultados.
  • El log de auditoría incorpora filtros por tipo de evento y exportación en formato CSV.
  • Los emails de notificación de cuotas vencidas ahora incluyen un link directo al portal de pago online.
  • Mejoras de rendimiento en la generación masiva de cuotas: reducción del 40% en tiempo de ejecución para colegios con más de 500 matriculados.

Correcciones

  • Corregido error que causaba que el descuento por débito directo se aplicara duplicado en ciertos casos donde el colegiado tenía CBU registrado pero inactivo.
  • Corregido error de zona horaria que hacía que el CRON de generación de cuotas se ejecutara a las 21:00 del día anterior en servidores con timezone UTC.
  • Corregida visualización de importes en la credencial digital cuando el nombre del colegiado superaba los 50 caracteres.

v1.1.0 — 2025-11-15

Nuevas funcionalidades

  • Credenciales digitales con QR: los colegiados ahora reciben su credencial en PDF al ser aprobados. El PDF incluye logo institucional, datos del matriculado, firma escaneada del directivo y un código QR único para verificación pública en línea.
  • Impersonación de administrador: los usuarios ADMIN pueden visualizar el sistema como cualquier otro usuario en modo solo-lectura. Todas las sesiones de impersonación quedan registradas en el log de auditoría.
  • Recargos por mora escalonados: nueva configuración de tramos de mora en Administración → Descuentos y Recargos. Los porcentajes se aplican de forma acumulada según los días transcurridos desde el vencimiento.
  • CRON de escalado de tickets: el sistema evalúa cada 2 horas los tickets con SLA vencido y los escala automáticamente, notificando al supervisor del área por email.
  • Módulo de Prestadores: alta de prestadores (profesionales que trabajan con obras sociales), carga de órdenes y gestión de liquidaciones y comisiones.
  • Portal de autogestión para Colegiados: nueva sección Mi Cuenta que permite al colegiado ver su estado de matrícula, descargar su credencial, consultar y pagar cuotas, y ver su historial de pagos.

Mejoras

  • La plantilla de emails automáticos ahora es editable desde el panel de Administración → Notificaciones → Templates, con soporte de variables dinámicas.
  • El formulario de solicitud de matrícula ahora admite adjuntos múltiples (hasta 5 archivos, 10 MB cada uno).
  • Los tipos de cuota ahora tienen campo de descripción interna para documentar su propósito sin que sea visible al colegiado.
  • Nuevo reporte de Tickets: cumplimiento de SLA por área y por operador.

Correcciones

  • Corregido error que impedía generar el PDF de credencial cuando la firma escaneada tenía fondo no transparente.
  • Corregida notificación de matrícula aprobada que en algunos casos se enviaba con el nombre del operador en lugar del nombre del colegiado.
  • Corregido el toggle de Activo en Tipos de Cuota que no persistía correctamente en base de datos al desactivar un tipo con cuotas pendientes asociadas.

v1.0.0 — 2025-08-01

Lanzamiento inicial

Primera versión productiva de PSICOLE. Incluye el núcleo funcional del sistema:

  • Autenticación y RBAC: sistema de login con JWT, 9 roles predefinidos y modelo de permisos RBAC con triplets MODULO/ACCION/RECURSO.
  • Gestión de usuarios: CRUD de usuarios, asignación de roles, activación/desactivación de cuentas.
  • Solicitud y gestión de matrículas: flujo completo desde la solicitud del aspirante hasta la aprobación/rechazo por el operador. Estados: BORRADOR → EN_REVISION → APROBADA / RECHAZADA.
  • Módulo de Finanzas base: Tipos de Cuota (FeeTypes) con CRUD, generación mensual de cuotas mediante CRON el 1ro de cada mes, registro manual de pagos y emisión de recibos.
  • Descuentos automáticos: configuración de descuento por débito directo (30%) y descuento para jubilados (50%), aplicados automáticamente al generar las cuotas.
  • Notificaciones por email: integración SMTP (compatible con Gmail), con emails automáticos para los eventos principales: bienvenida, cuota generada, pago registrado, matrícula aprobada/rechazada, recuperación de contraseña.
  • Sistema de tickets: apertura de tickets por cualquier usuario autenticado, categorías con SLA, gestión por operadores y supervisores, historial inmutable de mensajes.
  • Módulo de Cursos: alta y publicación de cursos, inscripción de colegiados, registro de asistencia.
  • Módulo de Trámites: plantillas de trámites configurables, flujo de aprobación con rol SUPERVISOR_TRAMITES.
  • Panel de administración: parámetros del sistema, logo, firma escaneada, configuración SMTP y panel de tareas programadas.

Próximas versiones (roadmap)

Versión Feature planificada
v1.3.0 App móvil para colegiados (React Native)
v1.3.0 Exportación de reportes en Excel y PDF
v1.4.0 Integración con AFIP para validación de CUIT
v1.4.0 Firma digital de documentos (token FNMT)
v2.0.0 Multi-colegio: soporte para gestionar múltiples colegios desde una sola instancia