3.0 KiB
3.0 KiB
Seguimiento de Impuestos GLM
Aplicación interna para mantener el calendario tributario regional, administrar destinatarios y alimentar el flujo automático de recordatorios por Gmail y WhatsApp.
Incluye
- Login con Google y control de acceso desde Supabase.
- Calendario histórico 2026 migrado a PostgreSQL/Supabase.
- Creación, consulta, edición y eliminación lógica de obligaciones antes de su primer aviso.
- Bloqueo automático de edición y eliminación después del primer recordatorio enviado.
- País obligatorio y categorías limitadas a Nómina y Administración.
- Regla de alertas: miércoles estrictamente anterior y el mismo día, incluidos sábados y domingos.
- Contactos almacenados en Supabase y administrables desde la app.
- Países visibles aunque todavía no tengan contactos.
- Filtro buscable por país y búsqueda por nombre en Contactos.
- Búsqueda por nombre o país en Lista.
- Webhook de producción configurado para n8n.
- Workflow de n8n para Gmail + WhatsApp con correo HTML GLM.
1. Crear la base de datos
Ejecuta completo:
supabase/Seguimiento-de-Impuestos-GLM.sql
El script crea tablas, RLS, funciones, bitácora anti-duplicados, bloqueo de eventos notificados, accesos iniciales, contactos y las 294 obligaciones históricas de 2026.
Si ya habías ejecutado una versión anterior del script completo, ejecuta solamente:
supabase/actualizacion_eventos_bloqueados.sql
2. Configurar frontend
Copia .env.example como .env y completa la llave pública de Supabase. La service_role nunca debe ponerse en Vite.
npm install
npm run dev
URL local:
http://localhost:5173/calendario-impuestos/
Build:
npm run build
npm run preview
3. Configurar n8n
Importa:
n8n/Seguimiento-de-Impuestos-GLM.json
Luego sigue n8n/CONFIGURACION.md. El único ajuste dentro del canvas es seleccionar la credencial de Gmail; las demás claves se leen de variables de entorno.
Enrutamiento
- Regional recibe todas las obligaciones.
- Nómina recibe únicamente obligaciones de Nómina de su país.
- Administración recibe únicamente obligaciones de Administración de su país.
- El flujo consulta los contactos en Supabase en cada ejecución; agregar un contacto en la app no requiere modificar n8n.
Despliegue
Vite conserva la base:
base: "/calendario-impuestos/";
Actualización final de calendario y Nómina
- Cuando un día tiene más de tres obligaciones, el enlace Ver todos abre una vista con la lista completa; desde allí se puede abrir cada obligación.
- El script
supabase/actualizacion_final_calendario_y_nomina.sqlagrega a Mati Soto Valenzuela e Iveth Herrera como contactos regionales especializados en Nómina. - Los contactos regionales con área
nominareciben obligaciones de Nómina de todos los países. Los contactos con árearegionalcontinúan recibiendo todas las categorías. - El número de Mati se guarda como
18094037571, agregando el prefijo internacional1requerido para WhatsApp.