Apariencia
Administración técnica
Esta parte es para quien instala y da soporte al sistema. Los comandos se corren en el servidor, dentro de la carpeta del sistema (/opt/coyote/current en una instalación de cliente).
Licencia
Configuración → Licencia muestra la licencia del servidor (cliente, RNC, vigencia y módulos) y permite cargar un archivo .lic nuevo. La licencia va atada al RNC de la empresa. Los módulos que la licencia no incluye desaparecen del menú para todos los usuarios.
Dos meses después del vencimiento el sistema queda en solo lectura: se puede consultar, pero no guardar. La caja y las autorizaciones de supervisor siguen funcionando.
Facturación electrónica
Configuración → Facturación electrónica conecta la sucursal con Coyote e-CF y maneja la contingencia con serie B. El Correo de avisos de los e-CF rechazados tiene su propia página en Configuración y lo puede cambiar también el Administrador. Los rangos de e-NCF y NCF están en Comprobantes fiscales. Si la empresa emite NCF tradicionales (Configuración → Empresa → Tipo de comprobantes), esta conexión no se usa. Cualquier cambio aquí afecta la facturación ante la DGII: pruébalo primero en un ambiente de pruebas.
Impresoras
El sistema genera los PDF con Chromium sin interfaz y los manda a CUPS. En cada servidor de sucursal hay que instalar CUPS, Chromium para Puppeteer y dar permiso al usuario de PHP (grupo lpadmin). Después, las impresoras se agregan en Configuración → Impresoras.
Roles estándar
php artisan coyote:roles # crea los roles que falten y les da los permisos nuevos
php artisan coyote:roles --restablecer # devuelve los cinco roles a sus permisos originales
Cada actualización corre coyote:roles sola, así que en las instalaciones nuevas y en las que se actualizan los roles aparecen sin hacer nada. A los roles que ya existen solo les agrega los permisos que trae una versión nueva; lo que se le haya quitado a un rol desde la pantalla no vuelve. --restablecer borra los cambios que se hayan hecho a esos roles en Seguridad → Roles. Si el rol Administrador tenía acceso total, sus usuarios reciben también el rol Programador para que nadie quede fuera; el comando dice quiénes.
Manuales
Los manuales están en resources/manuales (Markdown). Se regeneran con:
php artisan coyote:manuales # todos, en storage/app/manuales
php artisan coyote:manuales cajero # uno solo
Actualizaciones
php artisan coyote:update --revisar # dice si hay versión nueva
php artisan coyote:update # actualiza (espera si hay un turno de caja abierto)
php artisan coyote:update --revertir # vuelve a la versión anterior (solo código)
Antes de actualizar, el sistema respalda la base de datos; si algo falla, vuelve solo a la versión anterior y restaura el respaldo. Con COYOTE_UPDATE_AUTO=true en .env actualiza solo de madrugada.
Aviso
Si una restauración falla, el sistema queda en mantenimiento hasta correr php artisan coyote:update --restaurar.
Otros comandos útiles
php artisan coyote:sync-permissions # sincroniza la tabla de permisos con el código
php artisan coyote:health # comprueba base de datos y la ruta /up
Este tema está en el manual de: Programador.