¿Qué hago ahora?
Radiografía del negocio
Planeación
Borrador visual — arrastra bloques para bocetar tu trimestre
Editar bloque
Línea de servicio
Imagen
Fotografía corporativa
Video
Video corporativo
Presencia
Programa mensual
Tipo de producción
📷 Fotografía
Sesión fotográfica
COGS ×1.00
🎬 Video
Producción de video
COGS ×1.30
📷+🎬 Combinado
Foto + Video
COGS ×1.20
🎤 Evento
Cobertura en vivo
COGS ×1.10
Duración / complejidad
Media jornada
COGS × 1
Jornada completa
COGS × 1.5
Prod. extendida
COGS × 2
Multiplicadores de complejidad · encarecen el costo real
Honorario Andrea
$0
Fijos + honorario
$—
Impacto / sesión
+$—
Validador de COGS
COGS base categoría$—
× Duración / tipo producción×1
COGS ajustado$—
COGS total sesión$—
Extras
Drone
$800 × VUELO
1 × $800 = $800
Entrega urgente — Rush
+50% SOBRE COGS BASE
Locaciones adicionales
$500 × LOCACIÓN EXTRA
1 extra · $500
Talento / modelos
TARIFA VARIABLE
$1,500
Viáticos / traslado
PASS-THROUGH — NO CUENTA EN MARGEN
$500
Edición adicional extendida
$350/H
2h · $700
Sesiones simultáneas
8
Escalera de negociación
Costo base por sesión
$—
COGS + fijos + honorario
Para cubrir fijos del mes necesitas
— sesiones
al PL
PasoTipoCosto basePrecio
Precio de salida
60% · 12M
PL
$—
Primera concesión
40% · 12M
T1
$—
Segunda concesión
25% · 12M
T2
$—
Si piden plazo largo
40% · 24M
T3
$—
Último recurso
25% · 24M
T4
$—
Guardar cotización
Cliente
Vincular a prospecto (opcional)
Tipo elegido
Cotización para
Selecciona un tipo de precio arriba
Tipo de producción del PDF
— selecciona tipo en la pestaña Cotizar —
Constructor de fases
Total construido
$0
Datos del PDF
Nombre completo del cliente
Empresa / organización
Ciudad / contexto
Descripción del alcance
Número de cotización
Validez (días)
Forma de pago
Plazo de entrega
Nota adicional en términos (opcional)
Términos y condiciones
Edita directamente los párrafos que aparecerán en el PDF. Se guardan como preestablecidos para la próxima cotización.
Párrafo 1 — Pago y cancelación
Párrafo 2 — Plazo y alcance
Párrafo 3 — Validez y adicionales
Párrafo 4 — Portafolio y confidencialidad
Nota final al pie del PDF
Tablero — arrastra las tarjetas entre columnas
El periodo manda sobre todos los indicadores. Enviadas y Negociando solo aparecen en el periodo en curso: una oportunidad abierta vive hoy, no en un mes ya cerrado.
Embudo
Por qué se pierden
Antigüedad del pipeline
Prospectos
Cargando...
Resumen
Mes actual
💰 Realizado (real)
$0
dinero de cotizaciones cerradas
📊 Potencial (proyección)
$0
pipeline ponderado por hit rate
Realizado = dinero confirmado de cotizaciones marcadas como cerradas. Potencial = lo que las cotizaciones aún abiertas podrían traer, ajustado por tu tasa histórica de cierre.
Año completo · cubrir vs vendido
Lo que vendiste vs lo que necesitas cubrir cada mes
Vendido (real) Meta a cubrir
Forecast — proyección de cierre
Cotizaciones enviadas vs. punto de equilibrio

Sin cotizaciones enviadas aún

Velocidad del pipeline
Tiempo promedio entre pasos
Enviadas
pendientes
Valor pipeline
$—
si todas cierran
Conversión est.
basado en hit rate
Simulador de escenario
¿Qué pasa si cierras este mes...?
4
$8,500
Historial: cargando...
Resumen del mes
Basado en cotizaciones guardadas este mes
Cotizaciones totales
0
enviadas + cerradas + perdidas
Monto cotizado
$0
total propuesto este mes
Cerradas
0
$0 facturado
Perdidas
0
$0 perdido
Hit rate
de proyectos con resultado
Le debes al negocio
$—
Resultado vs fijos
$—
Margen de negociación
Lo que ya cerraste este mes
Cotizaciones cerradas — desglose

Sin cierres este mes aún

Recuperación del equipo
$248,191 — ritmo real de recuperación
$00%$248,191
Recuperado
$0
ganancia acumulada
Restante
$248,191
por recuperar
A este ritmo
meses para recuperar
Patrón de cierre por categoría · histórico global
En qué tipo sueles cerrar

Necesitas al menos 3 cierres

Análisis de erosión de precio · histórico global
Precio promedio real vs. precio de salida

Necesitas cotizaciones cerradas

Costo de oportunidad
Lo que se fue

Sin cotizaciones perdidas aún

Pendientes de respuesta
Estado de resultados
Composición de cada peso vendido
Registro de ingresos — venta por venta
Mes a mes
Estado de resultados
Supuestos
IVA trasladado (%)
Provisión de ISR sobre utilidad (%)
El IVA y los viáticos no son tuyos: entran y salen. Por eso se restan antes de medir rentabilidad.
Motor de costos
Base, multiplicadores, inventario y fijos · alimentan el cotizador en vivo
Estructura de costo y precio · P&L por sesión
Todo lo de abajo se reparte entre las sesiones que te propones vender al mes. El piso no es negociable: es lo que debes cubrir para no perder. Lo único que se mueve al bajar de escalón es el markup.
Meta de sesiones / mes
Markup objetivo (%)
ISR sobre utilidad (%)
A qué precio puedes cerrar y qué te queda
Absorción real vs meta
Inversión activa
$391,521
55 items
Fijos mensuales totales
$—
fijos + depreciación
Periodo de recuperación del equipo
Cuántos meses para recuperar el equipo. Más meses = depreciación mensual menor = precios más competitivos.
24 meses
Depreciación / mes
$16,313
PL Comercial · 8 ses
$—
Inventario de equipo
El total activo alimenta la depreciación
Gastos fijos del negocio
Gastos mensuales fijos del negocio
Total fijos/mes $7,568
Bloque 1 · Base del P&L
Define el piso de una sesión estándar y por lo tanto tu estado de resultados. Mover algo aquí mueve todos los precios.
Costo base por jornada
Costo directo de producir una jornada base: transporte, comida, consumibles, desgaste y entregables. Ya no depende de la categoría de servicio — esa describe qué vendes, no cuánto cuesta producirlo. Lo que encarece es el tiempo y la logística.
$1,200
Cómo se calcula el COGS base
Sueldos y honorarios
Lo que el negocio paga al mes en sueldos y honorarios fijos. Entra al piso igual que los gastos fijos.
$0
Por sesión
$—
% del piso
Márgenes objetivo por escalón
Cada escalón de la escalera se define por el margen neto que quieres dejar, no por un multiplicador arbitrario. El precio se despeja solo: precio = piso ÷ (1 − margen). PL es tu precio de lista; el último escalón es tu piso comercial: nunca negocies por debajo.
Bloque 2 · Referencias del cotizador
Encarecen una cotización en particular según su complejidad. No mueven el P&L base ni el piso de la sesión estándar.
Multiplicadores por tipo de producción
El video requiere más equipo y edición. Se aplica sobre la base por jornada.
×1.00
×1.30
×1.20
×1.10
Multiplicadores de complejidad · los tuyos
Aparecen como casillas en el cotizador. Actívalos cuando el proyecto lo amerite y encarecen el costo real.
Impacto en precios de salida
PL con la config actual · 8 sesiones/mes
Respaldo local
Respaldos automáticos (últimos 3 días)
Google Sheets — sincronización bidireccional
Sin sincronizar aún
Cómo funciona: Al abrir el CRM se descargan automáticamente los cambios del Sheet. Si tú y Andrea editan lo mismo, gana la versión más reciente. Tus cambios se suben solos al guardar.
Script para Google Apps Script
// ════════════════════════════════════════════ // .3 VISUAL CRM — Sync Apps Script v2 (two-way) // Guarda TODO el estado como JSON en una celda. // Soporta lectura (doGet) y escritura (doPost). // ════════════════════════════════════════════ function doPost(e){ try{ const ss=SpreadsheetApp.getActiveSpreadsheet(); const data=JSON.parse(e.postData.contents); let sheet=ss.getSheetByName('p3_data'); if(!sheet){sheet=ss.insertSheet('p3_data');sheet.getRange(1,1).setValue('JSON_BACKUP');} // Guardar el blob completo en A2 + timestamp en B2 sheet.getRange(2,1).setValue(JSON.stringify(data.payload||{})); sheet.getRange(2,2).setValue(new Date().toISOString()); // Tabla legible para Andrea (hoja separada) escribirTablaLegible(ss,data.payload); return ContentService.createTextOutput(JSON.stringify({ok:true,saved:new Date().toISOString()})).setMimeType(ContentService.MimeType.JSON); }catch(err){ return ContentService.createTextOutput(JSON.stringify({ok:false,error:String(err)})).setMimeType(ContentService.MimeType.JSON); } } function doGet(e){ try{ const ss=SpreadsheetApp.getActiveSpreadsheet(); const sheet=ss.getSheetByName('p3_data'); if(!sheet){return ContentService.createTextOutput(JSON.stringify({ok:true,payload:null})).setMimeType(ContentService.MimeType.JSON);} const blob=sheet.getRange(2,1).getValue(); const ts=sheet.getRange(2,2).getValue(); const payload=blob?JSON.parse(blob):null; return ContentService.createTextOutput(JSON.stringify({ok:true,payload:payload,updated:ts})).setMimeType(ContentService.MimeType.JSON); }catch(err){ return ContentService.createTextOutput(JSON.stringify({ok:false,error:String(err)})).setMimeType(ContentService.MimeType.JSON); } } // Tabla legible de cotizaciones y prospectos para Andrea function escribirTablaLegible(ss,payload){ if(!payload)return; // COTIZACIONES if(Array.isArray(payload.cotizaciones)){ let sh=ss.getSheetByName('Cotizaciones')||ss.insertSheet('Cotizaciones'); sh.clear(); sh.appendRow(['ID','Fecha','Cliente','Categoría','Tipo Prod','Escalón','Precio','Ganancia','Estado','Nota']); payload.cotizaciones.forEach(c=>sh.appendRow([c.id,c.fecha||'',c.cliente||'',c.catLabel||'',c.tipoProdLabel||'',c.tipo||'',c.precio||0,c.margen||0,c.status||'',c.nota||''])); sh.getRange(1,1,1,10).setFontWeight('bold'); } // PROSPECTOS if(Array.isArray(payload.prospectos)){ let sh=ss.getSheetByName('Prospectos')||ss.insertSheet('Prospectos'); sh.clear(); sh.appendRow(['ID','Nombre','Persona','Ciudad','Tel','Mail','Rubro','Ticket','Contactado','Urgente','Próximo Contacto','Nota']); payload.prospectos.forEach(p=>sh.appendRow([p.id,p.nombre||'',p.persona||'',p.ciudad||'',p.tel||'',p.mail||'',p.rubro||'',p.ticket||'',p.contactado?'Sí':'No',p.hot?'Sí':'',p.proximoContacto||'',p.nota||''])); sh.getRange(1,1,1,12).setFontWeight('bold'); } }
Zona de riesgo
Score de salud del negocio
Calculando...