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.sql agrega a Mati Soto Valenzuela e Iveth Herrera como contactos regionales especializados en Nómina.
  • Los contactos regionales con área nomina reciben obligaciones de Nómina de todos los países. Los contactos con área regional continúan recibiendo todas las categorías.
  • El número de Mati se guarda como 18094037571, agregando el prefijo internacional 1 requerido para WhatsApp.
S
Description
Aplicación para gestionar obligaciones tributarias y automatizar recordatorios por correo y WhatsApp.
Readme 801 KiB
Languages
PLpgSQL 50.9%
TypeScript 45.8%
CSS 1.4%
HTML 1.1%
JavaScript 0.8%