# Maestro de clientes por empresa

Ubicación: Gestión de tareas → Maestro de clientes.

El maestro consulta directamente las empresas existentes. No crea personas, cuentas cliente ni empresas duplicadas. Una empresa nueva aparece automáticamente para los usuarios autorizados, incluso si está inactiva. El Excel de referencia no se importa automáticamente.

## Uso

1. Selecciona una empresa de referencia. La tabla muestra las empresas autorizadas de esa cuenta.
2. Usa «Completar ficha» para guardar los datos adicionales de una empresa.
3. «Configurar columnas» permite al administrador de cuenta o superadministrador añadir o editar una columna. Se pueden crear hasta 150 campos por cuenta: texto, texto largo, fecha, número, correo, sí/no, lista y acceso protegido.
4. «Solicitar al cliente» decide si el campo aparece en el formulario público. «Obligatorio» exige que se complete. «Columna activa» permite ocultarlo conservando su información. El tipo de una columna existente no se cambia para evitar reinterpretar datos guardados.
5. «Columnas visibles» permite elegir todos los campos adicionales que necesites. La tabla tiene desplazamiento horizontal y mantiene fija la columna de empresa. Marca las columnas (o usa «Marcar todas») y pulsa «Aplicar selección». El selector permanece abierto mientras la tabla se actualiza. La selección se recuerda en la sesión del usuario.
6. «Solicitar información» genera un enlace y permite enviarlo al correo indicado o copiarlo. No se envía ningún correo por el simple hecho de crear una empresa.
7. «Ver tareas» abre las tareas de la empresa, respetando los permisos del usuario.

Los administradores y supervisores autorizados completan fichas y gestionan invitaciones. Los operarios pueden consultar el maestro de sus empresas. La configuración de columnas es compartida por cuenta y solo la administra el administrador de cuenta o el superadministrador.

## Formulario del cliente

El formulario identifica a la empresa por razón social y RUC; estos datos proceden del registro de empresas. Las respuestas se guardan en su ficha adicional. No se crea un usuario interno para el cliente.

Un enlace dura siete días y admite un envío correcto. Generar otro revoca los enlaces pendientes anteriores. También se pueden revocar manualmente. Una empresa inactiva, una licencia vencida o la desactivación del módulo bloquean los enlaces.

El formulario siempre lee la configuración actual: las nuevas columnas habilitadas para el cliente aparecen al abrir o recargar el enlace. Si cambia la configuración mientras alguien completa el formulario, se solicita recargar antes de guardar. Un formulario ya enviado necesita una nueva invitación para completar columnas nuevas. Se controlan las versiones para evitar sobrescribir cambios de otro usuario.

Las respuestas se cifran en la base de datos usando la clave de Laravel. Los campos de acceso protegido son internos: nunca aparecen ni se precargan en el formulario público o en la tabla. En el editor interno se puede reemplazar su contenido; dejarlo vacío conserva el anterior.

La actividad registra fecha, autor, acción y nombres de los campos cambiados, sin incluir las contraseñas. Los tokens se almacenan como hash y las páginas públicas se sirven sin caché.

## Correo y acceso exterior

El envío usa la configuración de correo del sistema para la empresa seleccionada. Si falla, se informa y queda disponible el enlace para copiar. Para que clientes externos puedan abrirlo, se debe usar una dirección pública HTTPS del sistema; localhost o 127.0.0.1 solo sirven en el equipo local. Esta implementación no publica el servidor ni cambia el programador de correos.
