Contratos ORVE — Fase 2 · Prompts del equipo · Autónoma System
Autónoma System
Contratos ORVE · Fase 2Prompts del equipo

Autónoma System · Contratos ORVE

Fase 2 — Previsualización & Pipeline

El panel ya existe y el rubro ya jala. Esta fase agrega: rubro como filtro inteligente, montos con formato real, una previsualización viva en pesos, y el ajuste del pipeline. Prompts listos para pegar, por integrante.

Fase 2 Itera sobre el panel existente Herramientas Lovable · Claude Code Equipo Dariana · Bruno
00

Antes de pegar · 2 decisiones

Dos definiciones rápidas. La primera ya tiene recomendación; la segunda la confirma ORVE y afecta el cálculo de la previsualización. Los prompts ya vienen con el valor por defecto, pero conviene cerrarlas.

Decisión 1 · UX
Tipo de contrato: filtro, no obligatorio

Como cada rubro define su tipo (1:1), el tipo se deja como filtro opcional + badge, y se autollena al elegir rubro. No se obliga a elegir tipo primero.

Recomendado · ya aplicado en los prompts
Decisión 2 · Cálculo
Base del anticipo y la retención

¿Los % se calculan sobre el Subtotal (sin IVA) o sobre el Gran Total? Por estándar de obra se dejó sobre Subtotal. Si ORVE define Gran Total, se cambia la base en el prompt de previsualización.

Por confirmar · ORVE / Emiliano
01

Dariana Lovable

Todo sobre el panel de ORVE que ya existe. Cada prompt es una iteración: no reconstruye nada y respeta el estilo verde/blanco. Pégalos en orden.

D1. Rubro como filtro inteligente (tipo opcional + buscador + badge)

lovable · F2_D1_rubro_filtro
En el panel de contratos de ORVE que YA existe, no rehagas nada y conserva el estilo verde/blanco. Mejora SOLO la selección de rubro en "Crear contrato":

- Arriba del rubro, agrega un filtro de Tipo de contrato como segmented control con 4 opciones: Todos · PMG y TGar · P.Serv · C.Grales. Por defecto "Todos". Es solo un filtro de la lista, NO es obligatorio.
- Convierte el Rubro en un buscador (typeahead) que filtra por nombre conforme se escribe. Cada opción muestra a la derecha un badge pequeño con su tipo (PMG / P.Serv / C.Grales).
- Al elegir un rubro, el campo "Tipo de contrato" se autollena y se muestra en SOLO LECTURA (derivado del rubro, nunca editable).
- Consistencia: si el usuario filtra por un tipo y luego busca, solo deben aparecer rubros de ese tipo.

Usa los mismos componentes y estilos de ORVE. No toques el resto del formulario ni las demás secciones.

D2. Montos con formato real (es-MX, IVA y Gran Total automáticos)

lovable · F2_D2_montos_formato
Sigue en "Crear contrato", paso de Montos, sin tocar el resto y conservando el estilo verde/blanco.

- Muestra todos los montos en formato es-MX: signo $, separador de miles con coma y 2 decimales (ej. $1,232,332.00). Usa Intl.NumberFormat('es-MX', { style:'currency', currency:'MXN' }).
- Los inputs deben mostrar el separador de miles mientras se escribe, pero guardar/enviar el número limpio (sin comas ni $).
- IVA = 16% del Subtotal, automático pero editable (como ya está).
- Gran Total (auto) = Subtotal + IVA + Monto convenio modificatorio. Recalcula en vivo al cambiar cualquiera.
- Si un campo está vacío, trátalo como 0 para los cálculos.

No cambies la disposición de los campos que ya tienes, solo el formato y el recálculo.

D3. Previsualización viva — criterios convertidos a pesos

lovable · F2_D3_previsualizacion
En "Crear contrato" agrega una PREVISUALIZACIÓN en vivo del contrato: un panel lateral fijo (o el paso "Revisión y Envío" actualizándose en tiempo real). Convierte los criterios del rubro (que son porcentajes) a PESOS reales usando los montos capturados. Conserva el estilo verde/blanco de ORVE.

Muestra, todo en formato es-MX ($ y comas, 2 decimales):

RESUMEN
- Folio (o "se genera al guardar"), rubro + su tipo (badge), proyecto.

MONTOS
- Subtotal, IVA, convenio modificatorio, Gran Total.

CRITERIOS EN PESOS  (base de cálculo = SUBTOTAL)
- Anticipo (X%)  ->  monto en $
- Retención fondo de garantía (X%)  ->  monto en $
- Modalidad de pago de saldo (texto del rubro)
- Amortización: hasta Y% de avance (amortización real Z%)
- Garantía de anticipo, % de cumplimiento, seguro RC, anexos (chips)

Reglas:
- Todo se recalcula al cambiar rubro o montos.
- Si un dato no aplica o falta, muéstralo como "—".
- IMPORTANTE: la base de cálculo del anticipo y la retención es el SUBTOTAL. (Si más adelante ORVE define que es sobre el Gran Total, solo cambia la variable base.)

Hazlo claro y legible, tipo ficha de contrato. Micro-animación suave al aparecer/actualizar.

D4. Pipeline — renombrar y agregar "Contratos por firmar"

lovable · F2_D4_pipeline
Ajusta el tablero/pipeline de contratos que YA existe (no lo reconstruyas, conserva estilo verde/blanco):

- Renombra la etapa "Pipeline" a "Proyectos".
- "Jurídico" se queda igual.
- Inserta una etapa NUEVA llamada "Contratos por firmar" ENTRE Jurídico y Aprobados.
- En "Contratos por firmar" agrega un botón "Marcar firmado": al accionarlo, el contrato pasa a "Aprobados". Por ahora es manual (la firma electrónica e.firma SAT se integra en una fase posterior).
- Orden final de etapas: Proyectos -> Jurídico -> Contratos por firmar -> Aprobados.

El valor de estatus debe coincidir con el catálogo de NocoDB que actualiza backend: BORRADOR, PROYECTOS, JURIDICO, POR_FIRMAR, APROBADO. Respeta los componentes existentes.
02

Bruno Claude Code

El cambio de pipeline no es solo visual: el estatus vive como catálogo en NocoDB y la lógica en n8n. Este bloque deja el enum y el flujo alineados con lo que hará Dariana.

BORRADOR PROYECTOS JURIDICO POR_FIRMAR APROBADO

B1. Actualizar enum estatus + flujo en n8n + placeholder de firma

claude code · F2_B1_estatus_flujo
En NocoDB (base "Sistema de Contratos ORVE"), actualiza el catálogo de estatus de la tabla `contratos`.

1) Nuevo enum del campo `estatus` (SingleSelect), en este orden:
   BORRADOR, PROYECTOS, JURIDICO, POR_FIRMAR, APROBADO
   - Renombra/mapea "PIPELINE" -> "PROYECTOS".
   - Agrega "POR_FIRMAR" entre JURIDICO y APROBADO.
   - Migra registros existentes: PIPELINE -> PROYECTOS, y FIRMADO -> APROBADO si existiera ese valor previo.

2) Agrega dos campos a `contratos` como placeholder de la futura firma e.firma SAT:
   - firmado (Checkbox, default false)
   - fecha_firma (DateTime, nullable)

3) Actualiza el workflow de n8n que mueve estatus para respetar el flujo nuevo:
   PROYECTOS -> JURIDICO -> POR_FIRMAR -> APROBADO.
   Regla: cuando firmado se ponga en true, el contrato pasa a APROBADO y se setea fecha_firma = now.

Al terminar, confírmame el enum final, cuántos registros se migraron y un ejemplo de transición POR_FIRMAR -> APROBADO.
AUTÓNOMA SYSTEM · Diagnóstico → Estrategia → Implementación → Optimización
Contratos ORVE · Fase 2 · prompts del equipo