5. Módulos verticales (activación por empresa)
El sistema tiene dos capas:
- el núcleo de facturación, común para todas las empresas (capítulos 1 a 4: ventas, cartera, compras, caja, inventario, catálogos y reportes), y
- los módulos verticales, funcionalidades de industria que se encienden por empresa. Hoy existen tres: Carnicería (capítulo 6), Planta de beneficio (capítulo 7) y Restaurante (capítulo 8).
Una empresa sin módulos ve exactamente el sistema descrito en los capítulos 1–4. Una empresa con un módulo activo ve, además, los grupos de menú, permisos y reportes que ese módulo aporta.
5.1 Qué cambia cuando un módulo está activo
| Área | Efecto |
|---|---|
| Menú lateral | Aparecen los grupos del módulo (por ejemplo Carnicería, Restaurante o Planta, Empaque, Despacho, Liquidación). |
| Permisos | El catálogo de Configuración → Roles y permisos gana las categorías del módulo; se asignan por rol igual que los del núcleo. |
| Reportes | Las tarjetas del módulo aparecen en Reportes → Reportes PDF / Excel, en su propio grupo. |
| Punto de venta | Algunos módulos cambian el POS: Carnicería reemplaza el buscador de líneas por el escáner de báscula; Planta permite facturar un despacho escaneando su número; Restaurante agrega la casilla «Enviar a cocina» y muestra el turno al guardar la venta. |
| Datos | Al desactivar un módulo, sus pantallas y rutas desaparecen (el servidor responde "módulo deshabilitado"), pero los datos no se borran: reactivarlo lo deja todo como estaba. |
5.2 Quién activa un módulo
La activación es una operación técnica, por empresa, en dos pasos que ejecuta el proveedor o el administrador del servidor (no hay pantalla de usuario):
- Licencia: autorizar el módulo para la empresa
(
php artisan modules:allow <empresa> <módulo>). - Encendido: activarlo en la empresa
(
php artisan modules:enable <módulo> --tenant=<empresa>).
modules:list muestra el estado; modules:disable lo apaga sin borrar datos.
Los módulos disponibles se identifican por su clave: butcher-pos (Carnicería),
meat-plant (Planta) y restaurant (Restaurante).
5.3 Después de activar
- Cada usuario debe cerrar sesión y volver a entrar para que el menú y los permisos del módulo aparezcan (la activación viaja con la sesión).
- El administrador debe asignar los permisos nuevos a los roles que los
necesiten (Configuración → Roles y permisos). El rol
adminlos recibe automáticamente en la sincronización. - Si una pantalla del módulo responde "Prohibido", falta el permiso; si responde "módulo deshabilitado", el módulo no está activo para esa empresa.