Memoria de proyecto · Segunda edición, ampliada 18 · 09 · 2026

CRM en 25 días

Cómo un despacho de contabilidad de Puerto Rico pasó de seis sistemas paralelos a un CRM propio, cinco automatizaciones en producción y doce mil documentos de cliente indexados.

ClienteDespacho de contabilidad y asesoría financiera · Guaynabo, Puerto Rico · 14 personas · ~170 clientes reales
PeriodoFase 1 · 7 de agosto – 1 de septiembre de 2026 (25 días, el CRM)
Fase 2 · 2 – 18 de septiembre de 2026 (17 días, la capa de automatización)
RolDiagnóstico, arquitectura de datos, construcción y automatización
Esta edición añadeEl inventario completo de lo entregado (§21), el método y sus reglas (§22), y qué de todo esto es aplicable a otra empresa (§23)
StackGoogle AppSheet · Google Sheets · n8n Cloud · Zoho CRM Plus (origen) · Google Drive
AutoríaMichael Maldonado - todaslasintenciones.com
Sobre la anonimización

Este documento se preparó como memoria profesional. La firma, sus clientes y su personal aparecen sin identificar, y se han retirado identificadores de sistema (URLs de instancia, IDs de aplicación y de archivo). La razón no es cosmética: el diagnóstico contiene un hallazgo de seguridad real y aún sin remediar. Todas las cifras, decisiones, expresiones técnicas y aprendizajes son los del proyecto, sin alterar.

Esta segunda edición amplía la primera con la capa de automatización construida durante las tres semanas siguientes al cierre original y con un inventario verificable de todo lo entregado. Se mantienen sin retocar las secciones de fallos, riesgos y limitaciones: un informe que solo cuenta lo que salió bien no sirve para decidir nada.

01

Resumen ejecutivo

Qué se encontró, qué se construyó y qué sigue abierto a la fecha de cierre.

Medido 01·09

En veinticinco días, una firma de contabilidad de catorce personas pasó de seis sistemas paralelos sin conectar a un CRM propio con modelo relacional, permisos por departamento y tres automatizaciones en producción. Se migraron 2.607 registros maestros e histórico desde un CRM comercial que el equipo había dejado de usar, se levantó por primera vez un pipeline comercial completo de 74 clientes activos, y se cerró el prerrequisito de identidad que bloqueaba cualquier modelo de seguridad.

En las tres semanas siguientes se construyó la capa que faltaba: el comunicado mensual de cumplimiento, que sustituye el trabajo de calendario que Operaciones hacía a mano cada mes —primer envío real, veinticuatro de veinticuatro correos aceptados, veintisiete negocios cubiertos, en 21,9 segundos—, y el sistema documental, que enlazó 605 de 607 carpetas de cliente a su ficha e indexó 4.140 documentos. Las secciones 13 y 21 las detallan; la 22 y la 23 explican qué de todo esto es método reutilizable y qué es específico de esta firma.

También hay una parte incómoda, y este informe la trata con el mismo detalle: el sistema tiene los maestros llenos y las transacciones en cero. Se crearon 76 tareas y ninguna se ha cerrado. Las 1.548 actividades son histórico importado, no registro de trabajo nuevo. El módulo que concentraba el 83 % del valor del proyecto —el cumplimiento contributivo— sigue sin construirse. Y el hallazgo crítico de seguridad detectado el día 5 sigue abierto el día 25.

2.607registros maestros migrados y verificados
74tratos en pipeline, donde antes había 2
5automatizaciones en producción, probadas
0tareas cerradas en el sistema
4.140documentos de cliente indexados
22de 24 bots diseñados, sin construir

Los seis hallazgos que gobiernan el resto del informe

  1. El problema nunca fue la falta de un CRM. El 83 % del trabajo real de la firma —cumplimiento contributivo, cobros, documentos, reconciliaciones— no estaba modelado en ningún sistema. Comprar o construir un CRM comercial no lo habría resuelto.
  2. El sistema anterior no falló técnicamente: fracasó en adopción. 618 cuentas registradas contra 14 tareas. Ese ratio, y no una carencia funcional, es el dato que determinó todo el diseño posterior.
  3. La información del cliente estaba multiplicada, no duplicada. 403 nombres únicos normalizados para unos 170 clientes reales; 67 de ellos aparecían en cuatro o más pestañas distintas.
  4. Hay una exposición de datos sensibles que exige tratamiento de incidente, no de tarea de proyecto: ~122 contraseñas de portales gubernamentales en texto plano, 9 números de seguridad social completos y 55 cuentas bancarias con su número de ruta, todo bajo una cuenta de correo personal. Reportado el día 5. Sin evidencia de remediación al día 25.
  5. El prerrequisito de identidad se resolvió casi del todo. De 13 de 15 personas con correo personal se pasó a 14 de 14 con dominio corporativo. Pero persiste un buzón compartido por tres personas de tres departamentos distintos, y como el CRM resuelve permisos por dirección de correo, ese buzón concede el nivel máximo de acceso a las tres.
  6. La decisión de plataforma cambió tres veces en 24 días, y la fecha que la fuerza —el vencimiento de la suscripción del CRM anterior— cae tres días después del cierre de este informe, sin que exista ninguna medición de adopción con la que decidir.
La lectura de fondo

Se construyó capacidad. La arquitectura, los permisos, la trazabilidad y las automatizaciones de captación están hechos y probados. Lo que falta no es más construcción: es adopción medida y el módulo de cumplimiento. Lo que existe es un sistema listo para usarse.

02

Objeto, alcance y método

Qué cubre este informe, con qué evidencia y con qué limitaciones declaradas.

Método

Este documento reconstruye el proyecto completo: diagnóstico, auditoría de datos, diseño, construcción, automatización, pruebas y estado resultante. No es un resumen de entregables; es una memoria con trazabilidad, en la que cada afirmación relevante se puede remontar a una fuente y a una fecha.

Clasificación de la evidencia

Todo el informe usa cuatro marcas, visibles en el margen izquierdo de cada sección y junto a las afirmaciones fuertes:

Convención de certeza
MarcaSignificadoEjemplo
HechoRegistrado explícitamente en un documento, consulta o configuración de la época.«El módulo de oportunidades del CRM anterior tenía 2 registros.»
MedidoConsultado en vivo contra el sistema el 31 de agosto o el 1 de septiembre de 2026.«74 tratos, 45 con importe.»
InferenciaConclusión razonable derivada de varias evidencias, marcada como tal.«El buzón compartido concede acceso máximo a tres personas.»
Sin datoAspecto relevante que no puede determinarse con la información disponible.«No existe medición de adopción.»

Fuentes analizadas

Diecisiete fuentes, de cuatro naturalezas distintas. Las de mayor peso son las tres primeras.

Inventario de fuentes
FuenteNaturalezaFechaUso en el informe
Documentos de diagnóstico y diseño
Especificación técnica del sistema (11 pestañas)Diagnóstico cuantificado + diseño completo11·08Secciones 4, 9, 11, 13, 18
Documento maestro de arquitecturaNarrativa de diseño, 10 fases11·08Secciones 3, 9, 10, 12
Informe de auditoría de gobernanza de datosAuditoría de 9 etapas sobre el CRM origen12·08Secciones 5, 6
Diagnóstico general de la base de datos (etapa 1/9)Volumetría confirmada por consulta12·08Sección 5
Actas de reunión (transcripción automática)
Reunión de OperacionesDecisión de plataforma, prioridades técnicas07·08Secciones 7, 14
Reunión de Operaciones — expansiónModelo comercial, capacidad, dominio26·08Secciones 3, 7
Segunda sesión: pipeline interno de operacionesRediseño del onboarding, giro de plataforma31·08Secciones 7, 14, 19
Sistemas vivos (consultados directamente)
Libro de datos del CRM (9 pestañas)Backend en producción01·09Secciones 1, 10, 11, 16, 17
Aplicación CRM (editor)Configuración de tablas y permisos01·09Secciones 10, 12
Instancia de automatización en la nube5 workflows, API pública01·09Sección 13
Registro de trabajo y artefactos
Bitácora técnica del proyecto (12 archivos, 134 KB)Decisiones, fallos y verificaciones fechadas08·08 – 31·08Todo el informe
Auditoría de seguridad de la instancia de automatización22 hallazgos21·08Secciones 13, 18
Panel de operaciones interinoHerramienta puente, 7 pestañas11–26·08Secciones 7, 15
Repositorio de automatizaciones y plantillasCorreo, PDF, respaldos de workflow20–31·08Sección 13

Lo que este informe no puede afirmar

Cinco limitaciones condicionan la lectura y se declaran por adelantado. Ninguna se disimula más adelante.

Limitaciones declaradas
VacíoConsecuencia
No existe medición de adopciónNadie registra cuántos usuarios entran a la aplicación, con qué frecuencia ni cuántos registros crean. Sin ese dato no se puede evaluar el criterio de renovación del CRM anterior, que era precisamente «tres meses de uso sostenido con el 80 % del equipo activo». Sin dato
No hay línea base de tiemposNunca se midió cuántas horas al mes consumían las tareas manuales antes del proyecto. Por eso este informe no presenta retorno de inversión, ahorro de horas ni reducción de tiempos: serían cifras inventadas. El único ahorro cuantificado es el de licenciamiento, y procede de una estimación de terceros.
La auditoría de datos quedó a mediasDe nueve etapas planificadas se cerraron dos, una quedó parcialmente resuelta y dos se documentaron sin acción. Las etapas de inconsistencias, estandarización, optimización y recomendaciones finales nunca se iniciaron.
No hay dato de conversión comercial verificableSe declaró en reunión una tasa de conversión «superior al 70 %» por redes sociales. Se recoge como declaración, no como métrica: no existe el cálculo que la respalde.
Una pieza documental no fue accesibleExiste un material publicado sobre el pipeline al que no se pudo acceder durante la preparación de este informe. Si contiene un análisis adicional, no está incorporado aquí.
Nota sobre lo que sí se verificó de nuevo

Las cifras del estado actual y la matriz de permisos completa de las siete tablas se releyeron directamente contra los sistemas el 1 de septiembre de 2026, no se tomaron de notas previas. Donde una nota anterior discrepaba de la medición en vivo —el conteo de clientes activos, por ejemplo— manda la medición y se indica la diferencia.

03

La firma y su punto de partida

Qué vende, cómo gana dinero y por qué eso determina el diseño del sistema.

HechoInferencia

Un despacho de servicios profesionales en Guaynabo, Puerto Rico, que acompaña a pequeñas empresas en tres frentes que se venden juntos pero se ejecutan por separado: constitución y cumplimiento (crear la entidad y mantenerla al día ante Hacienda, el CRIM, el Departamento de Estado y el Fondo del Seguro del Estado), contabilidad y asesoría financiera (reconciliaciones, estados financieros, planillas) y servicios accesorios (gestión de financiamiento y marketing digital).

El modelo de ingresos condiciona todo lo demás

La firma cobra una iguala mensual recurrente, entre 100 y 700 dólares según el paquete, complementada con tarifas por servicio puntual de 150 a 500 dólares por obligación radicada. Eso la convierte en un negocio de suscripción, con una consecuencia de diseño directa: su salud depende de la retención, y la retención depende de que el cliente perciba que sus obligaciones están al día.

De ahí se sigue el criterio que ordena las prioridades del proyecto. Un CRM que gestione bien el embudo comercial pero no sepa qué le vence a cada cliente no ataca la variable que sostiene el negocio. Esta observación, hecha en el diagnóstico, es la que justificó no empezar por lo comercial.

La estructura

Catorce personas en siete departamentos. Dirección aprueba y decide. Operaciones coordina el alta de clientes y la asignación de trabajo. Ventas capta. Contaduría ejecuta el cumplimiento contributivo. Auxiliar contable lleva las reconciliaciones, repartidas casi a tercios entre tres personas. Financiamiento gestiona los casos ante instituciones. Marketing produce contenido para unos 74 clientes.

Un dato del diagnóstico que resultó revelador: cuatro de las quince personas de entonces no aparecían en ninguna hoja operativa. O eran incorporaciones recientes, o su trabajo sencillamente no se registraba en ningún sitio. En una firma de este tamaño, eso no es una anécdota administrativa: es un cuarto de la plantilla trabajando fuera de todo registro.

El modelo comercial, en sus propias palabras

Las actas de reunión describen un embudo concreto: anuncios en redes sociales con llamada a la acción → dos centros de llamadas que agendan una asesoría gratuita → dos cerradores que trabajan el contrato. Tras la firma empieza el onboarding, que exige verificar el estado legal, corporativo y contributivo del cliente, y solicitar credenciales de acceso a los portales gubernamentales y los estados bancarios.

La capacidad declarada en agosto de 2026 era de ocho contratos mensuales en Puerto Rico, con la meta de llegar a veinte mediante expansión a Florida. Esa meta —duplicar y algo más el volumen— es el argumento operativo más fuerte a favor de automatizar: el proceso actual depende de que alguien recuerde cada paso.

Por qué importa para el diseño

Un despacho de suscripción con ocho altas al mes y ambición de veinte no necesita un CRM más potente. Necesita que el alta, el seguimiento contributivo y el recordatorio dejen de depender de la memoria de una persona. Ese fue el criterio de priorización durante todo el proyecto, y explica por qué las primeras automatizaciones construidas fueron de captación y primer contacto, no de reporting.

04

Diagnóstico: dónde estaba la operación

Seis sistemas paralelos, 33 pestañas y el 83 % del trabajo sin modelar.

Hecho

El diagnóstico se hizo sobre seis fuentes reales de la operación: el CRM comercial en producción y cinco hojas de cálculo independientes, ninguna conectada con las demás. La conclusión que ordenó el resto del proyecto fue incómoda y clara: el problema no era que faltara un CRM, sino que el grueso del trabajo de la firma no estaba modelado en ninguna parte.

Hallazgos cuantificados del diagnóstico · 11 de agosto de 2026
HallazgoCifraConsecuencia operativa
Dispersión de la información
Sistemas paralelos en uso6Cada alta de cliente se teclea hasta en 11 lugares distintos.
Pestañas en la hoja maestra de seguimiento3318 visibles y 15 ocultas, con tres generaciones de la misma tabla de obligaciones (696, 868 y 1.193 filas). Nadie sabe cuál es la buena.
Nombres de cliente únicos normalizados403Para unos 170 clientes reales. 67 aparecen en cuatro o más pestañas. Imposible responder «cuántos clientes tenemos» sin contar a mano.
Rastreadores del mismo caso urgente3Un caso verificado figuraba «Completada» en un archivo y «Pendiente» en otro.
Trabajo no modelado
Registros anuales estimados del sistema~24.000Volumen proyectado con la operación actual.
Porcentaje que ninguna herramienta cubría83 %~20.000 registros al año de cumplimiento contributivo, cobros, documentos, reconciliaciones, publicidad y visitas.
Obligaciones contributivas sin modelar16Las fechas vivían dentro del nombre de una columna. No existía una sola fecha de vencimiento como campo de fecha.
Celdas marcadas a mano al año, solo en obligaciones69646 clientes × ~15 obligaciones. Automatizable al 100 %.
Calidad y control
Fórmulas en las 33 pestañas del archivo maestro4Todo lo demás es digitación manual, incluido el total pagado del año.
Leads sin origen registrado87 %No se puede saber qué canal trae clientes. Se invierte en marketing a ciegas.
Clientes suspendidos o cancelados65 de 135Un 48 % de fuga, sin motivo de baja estructurado en ningún lado. Imposible analizar por qué se van.
Cumplimiento del SLA de 4 visitas anuales~0 %La columna que lo mide dice «No» en casi todas las filas — y la pestaña está oculta. El incumplimiento estaba escondido, no resuelto.

Lo que sí estaba bien hecho

Un diagnóstico que solo enumera defectos suele producir un rediseño desde cero, que es la forma más cara de perder lo que ya funciona. El análisis identificó explícitamente cinco cosas que había que conservar, y se conservaron:

  • Once catálogos formalmente definidos en la plantilla existente: tipo y estado de cuenta, fuente y estado de lead, etapa de trato, tipo de servicio, departamento, tipo y estado de actividad. Base sólida: se amplía, no se rehace.
  • Un maestro de empleados con departamento. Era la primera vez que la firma tenía una tabla de personas.
  • Un primer control de acceso a datos sensibles —una bandera de permiso para ver identificadores fiscales— con su documentación.
  • Claves primarias con prefijo en cinco de seis tablas. Eso resolvía de raíz el problema número uno: la ausencia de identificador único de cliente.
  • Cero datos sensibles en la plantilla del CRM. Se había mantenido deliberadamente limpia de contraseñas, números de seguridad social y cuentas bancarias. Decisión correcta.

Cómo se toma una decisión hoy, y con qué información

El diagnóstico incluyó una observación que resultó más útil que cualquier cifra: describir el trabajo desde el puesto, no desde el sistema.

Un auxiliar contable, cada mañana
Necesita saber qué clientes le deben estados de cuenta y cuáles tienen una reconciliación atrasada. Abre una hoja de 33 pestañas y lee una columna de texto que dice «Completado 2025 hasta marzo 2026» o «Pendiente nov y dic 2025. Ya solicitado». Es prosa, no un dato: no se puede filtrar, ordenar ni contar.
Dirección
Necesita saber cuánto factura, cuánto cobra y por qué se van los clientes. Sabe que se fue el 48 % de una cartera, pero no por qué, porque el motivo de baja no se captura en ningún sitio.
Contaduría
Necesita saber qué vence esta semana. Eso vivía en la memoria de una persona y en el nombre de una columna.

Esa última frase —«el cumplimiento de 46 clientes vive en la cabeza de una persona»— quedó registrada como riesgo formal de concentración de conocimiento, y es la que mejor explica por qué el proyecto se planteó como externalización de criterio al sistema, no como digitalización de hojas.

05

Zoho CRM como sistema origen

Qué aportó, qué no era fiable y por qué el equipo lo había abandonado.

HechoInferencia

El CRM comercial anterior fue el punto de partida de los datos y, a la vez, la mejor evidencia de qué evitar. Conviene separar las dos cosas, porque es fácil concluir que la herramienta era mala cuando el problema era otro.

Volumetría real

La primera etapa de la auditoría midió el contenido completo por consulta directa, no por estimación. El resultado dibuja un sistema con mucho archivo y muy poca gestión.

Contenido del CRM origen · consultado el 12 de agosto de 2026
MóduloRegistrosVinculados a cuentaHuérfanosLectura
Cuentas618——El activo real del sistema.
Adjuntos14.88214.542340Se usaba, en la práctica, como repositorio documental.
Notas4.5234.225298Donde vivía de verdad el histórico de relación.
Contactos78913865182,5 % huérfanos. No es una tabla de contactos: es un volcado de agenda telefónica.
Reuniones422418Aquí está el diagnóstico. Un CRM con 618 cuentas y 14 tareas no se usa para gestionar: se usa para guardar.
Facturas39390
Llamadas221210
Tareas14140
Oportunidades220Dos registros, uno de ellos de prueba. El pipeline comercial no existía.

Cinco campos que parecían fiables y no lo eran

Este es el aporte más reutilizable de la auditoría: identificar campos que un plan de migración habría tomado por buenos.

Trampas de calidad en el sistema origen
CampoQué pareceQué es
Account_Number100 % lleno — un identificador único listo para usar.76,4 % (472 de 618) vale literalmente «0». Solo 146 cuentas tienen un valor distinto, de significado no confirmado.
Modified_TimeSeñal de última actividad con el cliente.135 cuentas (21,8 %) comparten el mismo timestamp exacto. Refleja una actualización masiva, no interacción. Cualquier lógica de «cliente inactivo» construida sobre él sería falsa.
Estado_de_cuentaCampo con el vocabulario exacto que se necesitaba.Lleno en 15 de 618 (2,4 %). Inservible como atajo.
Account_TypeEnumerado limpio de tipo de cliente.Las etiquetas visibles están remapeadas sobre valores internos que no corresponden. Toda migración debe leer la etiqueta, nunca el valor de API. Además, los indicadores de «campo en uso» del propio sistema mienten.
Texto de captura libreDatos del cliente.Convención de captura tratada como dato: 106 registros con «no tengo apellido», 88 con «no tengo nombre de empresa», 79 con «no tengo nombre». Hay que convertirlos a vacío o contaminan cualquier métrica de completitud.

Frente a todo eso, el campo más fiable resultó ser el menos formal: las etiquetas manuales que el propio equipo había ido poniendo —«revisar teléfono contaminado», «revisar email interno», «inactivo», «contrato cancelado»—. La firma ya había hecho parte del trabajo de detección; lo que faltaba era actuar sobre él. Aun así, el 54,5 % de las cuentas no tenía ninguna etiqueta.

Por qué el equipo lo había abandonado

La evaluación formal comparó ambas plataformas en costo, ajuste al negocio y riesgo. El resultado no fue unánime: el CRM comercial ganaba con claridad en facturación, reportería y campañas; la alternativa ganaba en calendario contributivo, checklist documental, propiedad del dato y uso móvil.

El desempate no fue funcional sino de adopción. Con una sola licencia comprada para quince personas que necesitaban acceso, el sistema quedó reducido a un archivador al que entraba una persona. Ese es el origen real del 618-contra-14, y explica también por qué en la reunión del 7 de agosto se rechazó comprar más licencias: unos 500 dólares mensuales adicionales por un software que, en palabras de la propia Dirección, se estaba usando solo para almacenar archivos.

El aprendizaje transferible

El sistema anterior no fracasó por diseño de producto. Fracasó por un modelo de licenciamiento que impedía el acceso del equipo, y por no cubrir el 83 % del trabajo real. Un reemplazo que solucionara solo lo primero habría repetido el resultado. Es la razón por la que el criterio de éxito del proyecto se fijó en actividad registrada por persona y no en funcionalidad entregada.

06

Auditoría de datos y del pipeline

Nueve etapas, reglas invariantes, y el callejón sin salida que resolvió el pipeline.

Hecho

La auditoría se planteó con cinco reglas que no se rompieron en ningún momento, y que en retrospectiva fueron lo que hizo el proceso defendible:

  1. El sistema en producción nunca se modifica. Todo el análisis sobre él es de solo lectura. La limpieza ocurre únicamente en la copia documental.
  2. No se elimina nada sin justificación y evidencia.
  3. Nunca se asume: se pregunta.
  4. Se prioriza conservar historial completo, no solo cuentas activas. Decisión explícita del cliente.
  5. Cada hallazgo requiere aprobación explícita antes de ejecutarse, uno por uno.
Estado de las nueve etapas al cierre del proyecto
EtapaEstadoResultado
1 · Diagnóstico generalCerradaVolumetría confirmada por consulta directa. 12 cuentas completamente vacías, 3 de ellas con nombre de personal interno.
2 · Problemas críticosCerrada6 hallazgos resueltos y verificados: registro de prueba, la propia firma mezclada entre clientes, carpetas de ex-personal, dos duplicados exactos.
3 · DuplicadosResuelta parcialmente2 de 5 cerrados en la auditoría; 2 más resueltos por fusión al día siguiente; 1 descartado tras verificación como empresas legítimamente distintas.
4 · Campos innecesariosDocumentada5 hallazgos documentados sin acción, por la regla de no tocar el sistema en producción.
5 · Datos obsoletosDocumentada4 hallazgos. 116 cuentas (18,8 %) candidatas reales a inactividad, pendientes de confirmación humana.
6 · InconsistenciasNo iniciadaLas cuatro etapas finales nunca se abrieron. La auditoría se detuvo cuando el proyecto viró hacia la construcción.
7 · EstandarizaciónNo iniciada
8 · OptimizaciónNo iniciada
9 · Recomendaciones finalesNo iniciada

Dos hallazgos que cambiaron el método de trabajo

Los duplicados no se resuelven con el dato, se resuelven con el contenido. Dos pares marcados como duplicados por coincidencia de identificador fiscal y teléfono resultaron tener, cada carpeta, decenas de documentos genuinos y distintos —56 en un caso, y en otro un expediente legal completo—. Muy por encima de los dos o tres archivos que sugería el hallazgo original. Fusionarlos por el dato habría destruido documentación real. Un tercer par, con nombres casi espejo, resultó ser dos empresas legalmente distintas: registros de comerciante y direcciones diferentes.

Las carpetas de cliente no contienen solo información del negocio. Al fusionar, apareció el patrón: expedientes que mezclan documentos de identidad y financieros personales de terceros —licencias de conducir, informes de crédito— con la documentación corporativa. Se registró como advertencia permanente para cualquier trabajo futuro sobre esos expedientes.

El callejón sin salida, y cómo se salió

El encargo de Operaciones era concreto: crear un trato por cada cliente activo, leyendo su contrato. El importe del contrato solo existía dentro de un PDF. Se intentó por cuatro vías y las cuatro fallaron:

  • La API del CRM expone metadatos de adjuntos pero no permite descargarlos.
  • Adivinar la URL de descarga: se probaron una docena de variantes. Todas devolvían HTML de error. Una de ellas devolvía 200 con 133 KB —el armazón de la aplicación web— lo que parece un éxito y no lo es. De ahí salió una regla que se aplicó desde entonces: verificar siempre que los primeros bytes sean los de un PDF, nunca fiarse del código de estado.
  • Leer el DOM del adjunto: la ficha vive en iframes anidados y la URL se construye en JavaScript al hacer clic. No hay enlace que recuperar.
  • Las notas del CRM sí se leen por API y son ricas —contienen la entrevista inicial completa— pero recogen las finanzas del cliente, no la tarifa que cobra la firma. Usarlas como importe habría sido un error grave. Además contienen datos personales en texto plano.

La salida la dio Operaciones en una frase: cada cliente tiene su carpeta en el repositorio documental, con el contrato dentro. El conector de ese repositorio extrae el texto de los PDF directamente, incluida la capa de OCR de los escaneos legibles. Lo que llevaba dos días bloqueado se resolvió cambiando de fuente, no de técnica.

Lección de método

Se invirtieron dos días en forzar la fuente equivocada. La pregunta que lo habría evitado —«¿dónde está realmente este documento hoy?»— la respondió la persona que hace el trabajo, no el sistema. Antes de automatizar el acceso a un dato, conviene preguntar dónde lo busca quien lo usa a diario.

El contrato como fuente estructurada

Una vez accesibles, los contratos resultaron tener estructura predecible y reutilizable: una cláusula de honorarios con el importe mensual y el mes de inicio del débito, una fórmula de otorgamiento con la fecha de firma, y una penúltima página de autorización de débito directo que repite el monto —lo que permitió resolver los casos en que la cláusula era ilegible—. Duración típica de un año. El importe es mensual, no total de contrato: confundirlos habría multiplicado por doce todo el pipeline.

Seis contratos eran escaneos sin capa de texto y hubo que leerlos a pantalla, página a página. Uno resultó firmado pero sin importe pactado en ninguna parte, y otro estaba archivado bajo el cliente equivocado. Ambos casos se registraron como excepción en vez de forzar un número.

07

Conocimiento de las operaciones internas

El proceso real frente al proceso modelado — y lo que solo aparece en las reuniones.

HechoInferencia

Esta es la sección que ninguna extracción de datos podía producir. Tres actas de reunión —del 7 y el 26 de agosto y del 31— describen cómo funciona la operación de verdad, y en varios puntos contradicen lo que el sistema modela.

El proceso de onboarding, tal como se ejecuta

Tras la firma del contrato, y en este orden: reunión de traspaso entre ventas y operaciones —explícitamente, para que el cliente no tenga que repetir lo que ya contó—, entrega de un kit de bienvenida, verificación del estado legal, corporativo y contributivo, evaluación de deudas con Hacienda y, si las hay, asignación de un especialista en planes de pago. Se solicitan credenciales de acceso a los portales gubernamentales y los estados bancarios.

Sobre las credenciales apareció un matiz operativo relevante: ante la reticencia de algunos clientes a compartirlas, se recurre a formularios legales de representación autorizados por las propias agencias, y se explora el uso de plataformas que permitan ver saldos sin acceso directo. Es decir: la firma ya había identificado por su cuenta que acumular contraseñas de clientes es un problema, y estaba buscando alternativas. Ese contexto importa para leer el hallazgo de seguridad de la sección 12 — no es negligencia despreocupada, es una práctica heredada que ya incomodaba internamente.

Dos mecanismos de control que el equipo diseñó por su cuenta

Semáforo de salud del cliente
Un indicador de estado de la información de cada cliente, para saber de un vistazo si el expediente está completo. Es, funcionalmente, lo mismo que el diseño llamaba «perfil fiscal» — llegaron a la misma necesidad desde el lado operativo.
SLA por etapa de onboarding
Tiempos máximos de ejecución en cada etapa, con un límite de 5 días para la etapa inicial. Es la primera vez que aparece un compromiso temporal interno explícito, y es un requisito que el sistema construido todavía no soporta: no hay campo de fecha de entrada en etapa ni cálculo de días transcurridos.

Lo que la operación necesita y el sistema aún no da

Requisitos surgidos en reunión, contrastados con lo construido
Necesidad expresadaOrigenEstado
Preferencia de contacto del cliente — canal (mensajería, correo, texto) y franja horaria, para que la comunicación se automatice desde una sola plataformaSesión del 31·08No modelado
Inventario y sistemas de negocio del cliente capturados en el alta, para evitar problemas operativos a los seis mesesSesión del 31·08No modelado
Perfil del cliente disponible antes del cierre, para que el cerrador no parezca una llamada en fríoSesión del 31·08Parcial — los datos existen, no la vista
Evaluación de presencia digital previa a la reunión — web, ficha de negocio, reseñas, teléfono operativo — como material de conversación y venta adicionalSesión del 31·08No modelado
Recordatorios automáticos de obligaciones contributivas, para dejar de depender de la memoria y del riesgo de penalizaciónSesiones del 26 y 31·08No construido — es el módulo pendiente
Carpeta compartida donde el cliente suba su información, para desatascar a los contadoresSesión del 26·08No construido
Un asesor como punto único de contacto, para que el cliente no se confunda entre departamentosSesión del 26·08Parcial — el campo de responsable existe y está vacío en las tres tablas principales

La brecha entre el proceso diseñado y el proceso real

El diagnóstico había mapeado diez procesos y dónde vivía cada uno. Vale la pena mirar esa tabla junto a lo que dicen las actas, porque la diferencia es instructiva: el sistema modelaba el trabajo por objeto —cuenta, trato, tarea— y la operación lo vive por etapa y por persona responsable. Un auxiliar contable no piensa «tabla de reconciliaciones»; piensa «qué clientes me deben estados de cuenta esta semana».

Ese desajuste explica, como hipótesis razonable, parte de la falta de adopción observada: una aplicación organizada por entidades obliga a traducir mentalmente antes de poder usarla. El propio diseño lo había anticipado al proponer «Mi Día» como pantalla de inicio y vistas por defecto distintas para cada rol — pero esas vistas están entre lo que no se construyó.

Un requisito operativo que aún no tiene sitio

El compromiso de cinco días máximos en la etapa inicial de onboarding es medible y accionable, y es exactamente el tipo de regla que un sistema puede vigilar solo. Hoy no hay dónde registrarlo. Es el candidato más barato y de mayor efecto visible para la siguiente iteración: dos campos y una columna calculada.

08

De los hallazgos a los requisitos

Qué problema resolvía cada decisión, y qué se obtuvo realmente.

Medido 01·09

Quince decisiones estructurales, cada una trazable a un hallazgo concreto. La última columna es la parte honesta: qué se puede medir hoy del resultado.

Matriz problema → necesidad → decisión → resultado
ProblemaDecisión tomadaSolución implementadaResultado medido
Identidad del dato
403 nombres para ~170 clientes; identificador de origen inservible en el 76 %Clave propia con prefijo, secuencial, que nunca cambiaClaves contiguas para las 616 cuentas616 cuentas identificables, 0 duplicados, 0 huecos
Al migrar se pierde el vínculo con el origenMarcar el identificador de origen dentro de las notas de cada filaMarca de trazabilidad en 616 de 616 filasReconciliación posible; 0 carpetas huérfanas en el cruce documental
El sufijo numérico de las carpetas parecía un identificadorProhibir su uso como claveSe usa el identificador completo, nunca el sufijo14 sufijos estaban compartidos por 2 cuentas cada uno. Sin esta regla, 28 clientes habrían recibido documentos ajenos
Modelo relacional
El responsable era texto libre en cuatro tablas — «el defecto más grave del diseño»Convertir a referencia validada contra el maestro de personasAplicado en las cuatro tablas, aprovechando que estaban vacíasEstructura correcta y ficha de carga por empleado. Pero 0 filas tienen responsable asignado hoy
La relación con la cuenta se guardaba como nombre, no como referenciaConvertir a referencia realReferencia dura + columnas inversas automáticasLas actividades aparecen dentro de la ficha de cada cliente
Actividad del cliente invisible: 14 tareas contra 618 cuentasMigrar el histórico de notas del sistema origenImportación masiva como actividades de tipo nota1.548 actividades, 72 de 75 cuentas activas con histórico, rango 2021–2026
Pipeline y trabajo
No existía pipeline: 2 oportunidades en el sistema origenConstruir un trato por cliente activo desde el contratoLectura de contratos + convención de etapa según legibilidad74 tratos: 44 cerrados-ganados, 28 en solicitud de documentos, 2 en onboarding
El importe solo existía dentro del PDFExtraer el honorario mensual del contratoLectura del texto; excepción registrada donde no era legible45 de 74 con importe; suma de importes registrados $14.936,99/mes
No se sabía el estado real de cada clienteLevantamiento censal mediante tarea internaUna tarea por trato, responsable y fecha límite únicos74 tareas creadas. 0 cerradas a la fecha de cierre
Tres rastreadores paralelos con estados divergentesRastreador único con ámbito cliente/internaTabla de tareas con campos condicionados por ámbitoRastreador único operativo; los tres anteriores no se han retirado
Control y captación
Cualquiera podía borrar cualquier cosaPermisos por departamento, leídos del maestro de personasExpresión de permisos en las 7 tablasVerificado en vivo. Socavado por el buzón compartido (sección 12)
Los leads del formulario web se transcribían a manoAutomatizar formulario → CRMFlujo de 3 nodos con normalización y clave deterministaActivo y probado
El lead nuevo no recibía nadaCorreo de bienvenida automático con documento adjuntoFlujo de 5 nodos: disparador, validación, descarga, envíoActivo y probado — entrega confirmada
Convertir un lead exigía teclear cuenta y contactoAutomatizar la conversión en un pasoBot con dos acciones encadenadas e idempotentesVerificado de extremo a extremo
Lo que no se resolvió
Datos personales y credenciales en texto planoSegregar en tablas con seguridad propiaRedacción aplicada en la migración; las tablas segregadas nunca se construyeronNo resuelto
16 obligaciones sin modelar, 696 celdas manuales al añoCatálogo + perfil fiscal + generación automática de períodosNada construidoNo resuelto — es el 83 % del valor
09

Diseño y recorte de alcance

25 tablas diseñadas, 7 construidas. Por qué, y qué implica.

Hecho

El diseño completo comprendía 25 tablas en 7 módulos, 36 vistas, 24 automatizaciones, 7 roles y 24 indicadores, con una implantación en 5 fases a lo largo de 22 semanas y un prerrequisito no negociable. Lo que se construyó son 7 tablas. Ese recorte fue una decisión explícita del cliente el 15 de agosto, no una desviación, y merece explicarse con precisión porque es el hecho estructural que condiciona todo el estado actual.

Los siete módulos del diseño

Arquitectura diseñada y grado de realización
MóduloContenidoFaseConstruido
0 · SistemaParámetros, log de auditoría, log de notificacionesF1–F2Nada
1 · Maestros y catálogosPersonas, servicios, obligaciones, documentos, municipios, bancos, actividad económicaF1–F4Personas + catálogos base
2 · ComercialLeads, cuentas, contactos, tratos, actividadesF1Completo
3 · Contratación y cobroContratos, servicios contratados, cobros mensualesF3Nada
4 · CumplimientoPerfil fiscal, obligaciones por cliente, obligación por períodoF2Nada
5 · OperaciónÓrdenes de trabajo, checklist documental, reconciliaciones, visitas, publicacionesF1–F4Tareas únicamente
6 · Datos protegidosExpediente digital, credenciales, datos fiscales sensiblesF2–F3Nada

Por qué se recortó

Al abrir el entorno el 15 de agosto apareció un hecho que reordenó el plan: la aplicación ya existía, con seis tablas cargadas y un libro de datos propio de ocho pestañas. No era el esquema de 25 tablas: era una plantilla de CRM que alguien había desplegado antes. Había dos diseños vivos y distintos.

La decisión del cliente fue cargar contra la plantilla existente. Es una decisión defendible: entregaba un sistema utilizable en días en lugar de semanas, y aprovechaba trabajo ya hecho. Pero tiene un costo que este informe debe nombrar sin rodeos — la plantilla cubre el módulo comercial, que era precisamente el 17 % del trabajo real. El diagnóstico había concluido que migrar primero lo que ya funcionaba, antes de resolver lo que no existía, era invertir el orden del riesgo. El recorte hizo exactamente eso.

Consecuencia estructural

El sistema construido resuelve muy bien el problema que la firma no tenía —registrar clientes y oportunidades— y no toca el que sí tiene: saber qué le vence a cada cliente. Esto no invalida lo hecho: los maestros, las claves y la trazabilidad son prerrequisito de cualquier módulo de cumplimiento futuro. Pero explica por qué el sistema puede estar técnicamente completo y operativamente poco usado a la vez.

El orden que el roadmap proponía, y que no se siguió

Las cinco fases eran secuenciales por diseño, con hitos de control que funcionaban como puertas: no se abre una fase sin cerrar la anterior. El hito 1, al final de la semana 4, era «≥80 % de los usuarios registra al menos una actividad semanal durante dos semanas seguidas», con una instrucción explícita: si no se cumple, no avanzar; el problema es de adopción, no de funcionalidad.

A la fecha de cierre no se puede evaluar ese hito porque nadie mide la actividad. Y el proyecto avanzó igualmente hacia automatizaciones de captación, que corresponden a fases posteriores. Es la desviación de proceso más relevante del proyecto y conviene registrarla como tal.

Una inconsistencia en el propio documento de diseño

El roadmap arranca el 11 de agosto de 2026 y dura 22 semanas, lo que lleva su cierre a enero de 2027. Sin embargo fija la decisión sobre el sistema anterior en «julio de 2026», una fecha ya pasada en el momento de escribirse. La fecha que manda de verdad es otra: el vencimiento de la suscripción, el 4 de septiembre de 2026 — tres días después del cierre de este informe. Se señala porque un plan cuyo hito de decisión es anterior a su propio inicio no puede ejecutarse tal como está escrito.

10

Arquitectura construida

Siete tablas, un libro de datos, y las decisiones de modelo que la sostienen.

Medido 01·09

El sistema es una aplicación no-code sobre un único libro de hojas de cálculo. Siete tablas cargadas, dos pestañas más que existen como catálogo y leyenda pero no están cargadas como tablas — un detalle con consecuencias que se explica más abajo.

Modelo relacional del CRM construido: siete tablas y sus referencias Cuentas 616 · CTA-#### Leads 231 Contactos 138 · CON-#### Tratos 74 Tareas 76 Actividades 1.548 Usuarios 14 · USR-#### conversión referencia referencia referencia responsable (4 tablas) referencia dura responsable · vacío hoy
Las dos entidades centrales están destacadas. Las referencias de responsable existen en las cuatro tablas operativas pero no tienen ni un solo valor asignado, lo que se representa con trazo discontinuo.

Estado de los datos

Contenido y calidad por tabla · medido el 1 de septiembre de 2026
TablaFilasCompletitud de campos clave
Cuentas616Teléfono 435 (70,6 %) · Email 372 (60,4 %) · Tipo de cuenta 310 (50,3 %) · Identificador fiscal 0 · Responsable 0 · Servicios contratados 1
— con estado asignado10074 clientes activos · 26 servicio finalizado · 516 sin estado
Contactos138Integridad referencial íntegra: 0 huérfanos contra el maestro de cuentas
Leads231Teléfono 225 (97,4 %) · Email 63 (27,3 %) · Origen 27 (11,7 %) · Servicio 0 · Responsable 0
— por estado4220 contacto inicial · 14 primera reunión programada · 7 nuevo · 1 documentación solicitada · 189 sin estado
Tratos7444 cerrado-ganado · 28 solicitud de documentos · 2 iniciar onboarding · 45 con importe · Responsable 0
Tareas7676 pendientes, 0 cerradas. 74 del levantamiento censal + 2 reales
Actividades1.548100 % de tipo nota — histórico importado. 0 llamadas, 0 reuniones registradas en uso
Usuarios1414 con correo del dominio corporativo · 7 departamentos · 1 buzón compartido por 3 personas

Cinco decisiones de modelo que definen el sistema

Claves con prefijo, propias, que nunca se reutilizan
Cuentas y contactos usan claves secuenciales legibles; tratos y tareas usan identificadores generados. La mezcla es deliberada pero tiene un coste: las tareas muestran su hash en vez de su título en cualquier referencia, porque la clave está marcada también como etiqueta. Defecto conocido, corrección de un clic, no aplicada.
El responsable es una referencia, no un texto
Fue posible convertirlo sin riesgo porque las cuatro columnas estaban totalmente vacías — se verificó leyendo la hoja antes de tocar nada, no se asumió. El efecto secundario valioso: cada ficha de empleado lista automáticamente su carga de trabajo en las cuatro tablas.
Servicios como selección múltiple
Convertidos en tres tablas para que un cliente pueda llevar contabilidad y marketing a la vez. Se verificó antes que las columnas estaban vacías en 139 leads y 616 cuentas. El catálogo conserva un valor «todos los servicios» que el diseño recomendaba eliminar por romper el modelo relacional — sigue ahí.
Una referencia apunta a una sola tabla
La actividad puede relacionarse con una cuenta o con una tarea, pero el enumerado ofrece también contacto, lead y trato — tres opciones que no seleccionan nada. Es una limitación asumida conscientemente para no multiplicar columnas, y está documentada como tal.
Los catálogos no están cargados como tabla
La pestaña de catálogos existe y está poblada, pero la aplicación no la lee: los valores están escritos a mano dentro de la definición de cada columna. Editar el catálogo no cambia nada por sí solo. Existe un procedimiento verificado para propagarlo —validación de datos en la hoja y regeneración del esquema— pero no se ha aplicado de forma general.
La trampa más cara del entorno

Cambiar el orden de las columnas de una hoja rompe la aplicación en silencio: sigue leyendo por posición según el esquema guardado. Ocurrió de verdad — tras importar 1.547 filas se movió una columna, la clave pasó a leerse de una columna vacía y la aplicación descartó todas las filas. La hoja tenía los datos, el editor no reportaba ningún error, y la aplicación mostraba cero registros. Se arregla regenerando el esquema, pero el diagnóstico costó horas. Corolario aplicado desde entonces: cualquier script mapea por nombre de encabezado leído en vivo, jamás por posición fija.

11

Funcionalidades y su estado

Veintiséis funcionalidades, con el estado real y no el previsto.

Medido 01·09

El inventario completo. La distinción entre operativo, parcial y no construido se apoya en medición directa, no en la intención de diseño.

Inventario de funcionalidades
FuncionalidadQué problema resuelveEstadoObservación
Datos maestros
Maestro de cuentasFuente única de cliente frente a 403 nombres dispersosOperativo616 filas, claves contiguas
Vista filtrada de cartera activaTrabajar sobre los 74 vivos sin perder los 542 históricosOperativoRevertir el filtro es un cambio de un campo
Maestro de contactosSeparar la persona del negocio, hoy mezclados en una celdaOperativo138 filas, 0 referencias rotas
Maestro de personasBase de permisos y de asignación de trabajoParcial14 filas; un buzón compartido por tres
Cadena relacional completaTrazabilidad cuenta → trato → tarea → actividadOperativoReferencias duras con listas inversas automáticas
Proceso comercial
Captación de leadsEmbudo con estados normalizadosParcial231 filas pero 189 sin estado: el embudo está sin trabajar
Pipeline de tratosVer el estado comercial de cada clienteParcial74 tratos; ninguno con responsable
Bitácora de actividadesHistórico de comunicación por clienteParcial1.548 filas importadas; 0 generadas en uso
Gestión de tareasRastreador único con ámbito cliente/internoParcial76 filas, 0 cerradas. Los tres rastreadores previos siguen vivos
Servicios multivalorUn cliente con varios servicios y precios distintosParcialEstructura correcta; una sola cuenta con dato
Control de acceso
Permisos por departamentoQue no todos puedan borrar todoOperativoVerificado en vivo en las 7 tablas
Ocultar el maestro de personasPrivacidad internaParcialOculta la sección del menú; las filas siguen sincronizando al dispositivo
Permiso de dato fiscal sensibleQue solo unos perfiles vean el identificador fiscalParcialLa bandera existe pero está cableada en una sola tabla, no en la principal
Filtros de seguridad por filaQue el dato prohibido no llegue al dispositivoNo construidoNinguna tabla los tiene. Todos descargan las 1.548 actividades
Captación y comunicación
Formulario de captación webAlta sin re-tecleoOperativoCon normalización y notas compuestas
Correo de bienvenidaPrimer contacto inmediato con material propioOperativoHTML + documento de una página con canal de contacto directo
Conversión de leadAlta de cuenta y contacto en un pasoOperativoIdempotente; verificado de extremo a extremo
Chatbot de agendamientoQue el cliente reserve su cita soloNo construidoDiseñado y decidido; faltan dos credenciales
Lo diseñado que no llegó a existir
Módulo de cumplimiento contributivo16 obligaciones, calendario, alertas de vencimientoNo construidoEra el 83 % del valor del proyecto
Contratos, cobros y morosidadMedir ingreso recurrente, mora y motivo de bajaNo construidoSin esto la fuga del 48 % sigue sin explicación
Tablas segregadas de datos protegidosContener la exposición de credenciales y datos personalesNo construidoHallazgo crítico abierto
Log de auditoríaSaber quién cambió qué y cuándoNo construidoNo hay trazabilidad de cambios de ningún tipo
Panel ejecutivo24 indicadores con semáforoNo construidoDirección sigue pidiendo números en vez de verlos
Expediente digitalDocumentos referenciados desde la fichaNo construidoLos contratos se leyeron del repositorio, pero no se enlazaron
Instrumentos de apoyo
Agente configuradorQue Operaciones pida cambios de estructura sin soporte técnicoConstruido, sin uso medidoPipeline de 7 etapas con aprobación explícita antes de aplicar
Panel de operaciones interinoPuente manual mientras se decidía la plataformaAbandonadoContadores en cero: nunca se usó. Ver sección 15
Etiqueta legible de tareasQue se muestre el título y no el hashPendienteDefecto conocido, corrección trivial
Cómo leer este inventario

Diez funcionalidades operativas, nueve parciales, siete sin construir. Pero el reparto por peso no coincide con el reparto por número: lo operativo es infraestructura y captación; lo no construido es el negocio. Un sistema que registra bien a quién ya se le vendió, y no sabe qué hay que hacer por él este mes, aún no ha cambiado la operación.

12

Seguridad, permisos e identidad

El prerrequisito casi resuelto, la matriz que funciona, y el hallazgo que sigue abierto.

Medido 01·09Sin remediar

Esta sección va aparte y no dentro de arquitectura por una razón de énfasis: contiene el único hallazgo del proyecto con consecuencias legales potenciales, y el mecanismo que más iteraciones consumió.

El prerrequisito de identidad: de bloqueante a casi resuelto

El diseño lo llamaba «bloqueante absoluto», y con razón: la aplicación identifica a cada persona por su dirección de correo, así que toda la seguridad descansa sobre ese único dato. El punto de partida era malo — 13 de 15 personas con correo personal, dos pares compartiendo buzón y una persona sin correo registrado. En esas condiciones no se puede saber quién tocó un registro, y un empleado que se va conserva el acceso porque la cuenta es suya.

Es el avance más limpio del proyecto y no lo produjo la tecnología, sino la organización:

14/14con correo del dominio corporativo, frente a 2 de 15 al inicio
0correos personales quedan en el maestro
2pares que compartían buzón, ya separados
3personas comparten todavía un mismo buzón

Los dos pares originales están separados y la persona sin correo ya lo tiene. Pero apareció una configuración nueva que anula parte del avance: un buzón operativo está asignado a tres personas de tres departamentos distintos — Operaciones, Financiamiento y Contaduría. Como los permisos se resuelven por dirección de correo, quien entre por ahí obtiene el nivel de acceso más alto de las tres, independientemente de lo que diga su departamento. Inferencia

Y hay un segundo efecto, más sutil: la bandera de «puede ver el identificador fiscal» está en «No» para el registro de Operaciones y en «Sí» para los otros dos. Con tres filas compartiendo correo, el resultado de la consulta de permiso es indeterminado.

La matriz de permisos

Verificada leyendo directamente la definición de las siete tablas el 1 de septiembre de 2026. El predicado privilegiado es el mismo en todas: pertenecer a Dirección u Operaciones según el maestro de personas.

Permisos efectivos por tabla · verificado el 1 de septiembre de 2026
TablaDirección / OperacionesResto del equipo
CuentasTodoSolo lectura
ContactosTodoSolo lectura
UsuariosTodoSolo lectura + vista oculta
LeadsTodoVentas: solo alta. Resto: solo lectura
TratosTodoFinanciamiento: solo alta. Resto: solo lectura
TareasTodoSolo alta
ActividadesTodoSolo alta
IFS(
  IN(USEREMAIL(), SELECT(Usuarios[Email_Workspace],
      OR(STARTSWITH([Departamento],"Direcci"), [Departamento]="Operaciones"))), "ALL_CHANGES",
  IN(USEREMAIL(), SELECT(Usuarios[Email_Workspace], [Departamento]="Ventas")), "ADDS_ONLY",
  TRUE, "READ_ONLY")

Dos virtudes de este diseño merecen destacarse. Se administra desde la hoja, no desde el editor: dar permiso a alguien nuevo es escribir su departamento en el maestro de personas; nadie toca una expresión. Y falla en seguro: quien no aparezca en el maestro cae en solo lectura por defecto.

El predicado usa una comparación por prefijo en vez de igualdad exacta para no depender de teclear una tilde correctamente por automatización. Es un detalle menor que evitó una clase entera de fallo silencioso.

Dos consecuencias operativas del modelo elegido

  • Nadie fuera de Dirección y Operaciones puede cerrar una tarea. Con permiso de solo alta, un auxiliar contable puede crear una tarea pero no marcarla como completada. Esto no es un defecto de implementación —es exactamente lo que se pidió— pero es una hipótesis razonable sobre por qué hay 76 tareas y ninguna cerrada. Inferencia
  • Quien anota una actividad no puede corregirla. Ni siquiera la propia, ni un error de tecleo. Solo tres personas pueden arreglarlo.

El hallazgo crítico, y su estado

Reportado el día 5 · abierto el día 25

El diagnóstico documentó, en archivos alojados bajo una cuenta de correo personal y no del dominio corporativo: ~122 contraseñas de portales gubernamentales en texto plano repartidas en tres archivos, varias reutilizadas y triviales; 9 números de seguridad social completos junto a 59 identificadores fiscales, fechas de nacimiento, direcciones residenciales y números de licencia; 55 cuentas bancarias con su número de ruta sin ningún control de acceso; y referencias a fotografías de tarjetas de crédito.

El informe lo calificó de acción inmediata, anterior a cualquier proyecto de software, y señaló implicaciones bajo la ley federal de protección de información financiera y bajo la publicación del organismo fiscal que exige un plan escrito de seguridad de la información a los preparadores de planillas. No hay evidencia de remediación a la fecha de cierre.

Durante el proyecto se verificó además que la exposición no se limitaba a esos archivos: aparecía también dentro del sistema origen —decenas de notas con credenciales bancarias y de portales, en un tercio de las cuentas activas— y dentro de contratos firmados, cuya página de autorización de débito recoge número de cuenta, ruta e identificador fiscal en claro.

Y ocurrió algo que conviene registrar sin adornos, porque es la lección más incómoda del proyecto: la migración replicó parte del problema. Al construir la primera versión del archivo de carga se copió literalmente un campo de texto libre del origen, y con él llegaron datos personales a una hoja compartida — pese a que la columna explícitamente sensible se había dejado vacía a propósito.

La corrección, y la regla que salió de ahí

Se añadió al script de carga la redacción por patrón de los formatos de número de seguridad social e identificador fiscal, y los registros afectados se apartaron en un extracto separado que no se sube al repositorio compartido. La regla, aplicable a cualquier migración: sanear el texto libre, no solo omitir los campos etiquetados como sensibles. El dato sensible rara vez está donde el esquema dice que está.

Un residuo de esa replicación sigue en el sistema: en la importación de 1.547 notas históricas se redactaron con éxito todas las credenciales de acceso —se verificó que ninguna sobrevivió—, pero la redacción no cubría otros formatos, y quedaron identificadores personales y fiscales en texto plano en una veintena de filas. Como no hay filtros de seguridad por fila en ninguna tabla, esas filas se descargan al dispositivo de cualquier persona con acceso.

Finalmente, y por decisión explícita del cliente tras advertencia y tres alternativas ofrecidas, el maestro de personas incluye una columna de contraseña de correo en texto plano. La decisión está documentada como tal.

13

Automatizaciones

Tres en producción, tres huérfanas y veintitrés diseñadas que no existen.

Medido 01·09

La automatización se reparte entre dos plataformas por una razón de límites: los bots internos de la aplicación resuelven bien lo que ocurre dentro del CRM, y un orquestador externo resuelve lo que cruza la frontera —formularios web, correo saliente, repositorios documentales—.

Cadena de captación automatizada, del formulario web al correo de bienvenida Formulario web 16 preguntas Sondeo 1 min fila añadida Filtro + mapeo 14 columnas Lead en el CRM estado «nuevo» Validar correo descartar inválidos Descargar documento del repositorio Componer HTML + adjunto Correo enviado 166 KB, confirmado flujo A · 3 nodos flujo B · 5 nodos dispara El segundo flujo se dispara sobre la tabla de leads, no sobre el formulario: así cubre también las altas manuales.
Cadena completa de captación. Los dos flujos están desacoplados a propósito — el de bienvenida escucha la tabla destino, no el origen.

La cadena de captación: tres piezas en producción

Automatizaciones de captación, activas y verificadas de extremo a extremo
AutomatizaciónDisparadorProcesoEstado
Formulario → Lead
orquestador externo · 3 nodos
Fila añadida en la hoja del formulario, sondeo por minuto Descarta filas en blanco si no hay correo, empresa ni nombre. Mapea 14 columnas, normaliza el separador de la selección múltiple, convierte la marca temporal a fecha, compone en las notas las seis preguntas que no tienen columna propia, y genera una clave determinista no numérica. Activo
Bienvenida al lead
orquestador externo · 5 nodos
Fila añadida en la tabla de leads Prepara el saludo con respaldo si el lead no trae nombre, filtra por expresión regular de correo válido, descarga el documento de bienvenida del repositorio y envía correo HTML con el adjunto. Activo
Conversión de lead
bot interno
El lead pasa a estado «convertido» Dos acciones encadenadas: crea la cuenta con clave derivada del lead y estado de onboarding, y crea el contacto enlazado a esa cuenta. Ambas con condición de idempotencia. Activo

Tres decisiones de ingeniería que valen más que los flujos

El flujo de bienvenida escucha la tabla destino, no el formulario
Podría haberse encadenado al primero. Al colgarlo de la tabla de leads cubre también las altas manuales y las conversiones, y sobrevive a cualquier cambio en el formulario. Cuesta lo mismo y cubre tres orígenes en vez de uno.
La clave del lead es determinista y no numérica
Se deriva de la marca temporal codificada en base 36, con un prefijo alfabético. Determinista para que un reproceso no duplique; no numérica a propósito, porque una clave de solo dígitos la guardaría la hoja como número y rompería la referencia.
Los campos obligatorios se relajan solo para el formulario
La conversión automática fallaba porque la tabla destino exigía siete campos que el bot no puede conocer. En vez de quitar la obligatoriedad —lo que habría degradado la calidad del alta manual— se condicionó a que el campo sea obligatorio únicamente cuando se está rellenando un formulario. La persona sigue teniendo que completarlos; el bot puede escribir sin ellos.
Segunda fase · lo construido después del cierre de la primera edición

Las tres automatizaciones anteriores cubren la entrada de trabajo. Lo que se construyó entre el 2 y el 18 de septiembre ataca las dos cargas de trabajo repetitivo más grandes de la firma: pedir todos los meses la información contributiva a cada cliente, y encontrar el documento de un cliente entre más de doce mil archivos. Las dos estaban resueltas a mano.

El comunicado mensual de cumplimiento

Cada mes, Operaciones escribía uno a uno a los clientes activos pidiéndoles las ventas del mes anterior —totales, exentas y tributables—, las compras y los estados bancarios, para poder radicar su planilla mensual del impuesto sobre ventas. Era trabajo de calendario, idéntico mes tras mes, y el coste de olvidarse lo paga el cliente en forma de recargo.

Calendario mensual del comunicado: reapertura el día 1 y siete envíos entre el 5 y el 15 Día 1 07:00 reabre el ciclo Día 5 petición inicial 101112 131415 quedan 5quedan 4quedan 3 quedan 2mañanaúltimo día seis recordatorios con cuenta atrás · un asunto distinto cada día → silencio El cliente sale de la lista en cuanto Operaciones marca su tarea como completada o cancelada en el CRM. Esa es la única señal de salida.
Un solo flujo, dos caminos: el del día 1 reabre las tareas del mes; el de los días 5 al 15 escribe a los clientes que siguen pendientes.
24/24correos aceptados en el primer envío real
27negocios cubiertos, ninguno omitido
21,9 sde ejecución completa
0rechazos y 0 errores

El flujo entró en producción el 9 de septiembre. La primera corrida real se lanzó a mano —el día 9 caía fuera del calendario y el disparo automático del día 10 habría enviado el texto de recordatorio sin que existiera una petición previa—. El resultado está medido, no estimado: veinticuatro de veinticuatro correos aceptados por el servidor con respuesta 250 OK, cero rechazos, cero errores, veintisiete negocios cubiertos, en 21,9 segundos.

Cinco decisiones que valen más que el flujo

Se agrupa por dueño, no se deduplica por correo
Al preparar los datos apareció algo que ninguna especificación recogía: hay direcciones de correo que pertenecen a varios negocios del mismo dueño —una a tres, otra a dos—. Deduplicar por correo, que es el reflejo natural, habría enviado un solo mensaje nombrando un solo negocio y habría callado en silencio las obligaciones de los demás. La solución fue agrupar por correo y nombrar todos los negocios de esa persona en el mismo mensaje. Verificado con datos reales: 27 tareas → 27 negocios cubiertos → 24 correos. Queda como regla para cualquier automatización futura que escriba a clientes.
El asunto cambia en cada recordatorio, a propósito
Los clientes de correo agrupan por asunto. Cinco recordatorios con el mismo asunto caen en un único hilo colapsado y el cliente puede no ver los nuevos; además leen como copia y pega. La cuenta atrás en el asunto —«Quedan 4 días», «Mañana vence», «ÚLTIMO DÍA»— resuelve las dos cosas a la vez. Hay una comprobación automática que falla si dos de los siete asuntos coinciden.
El mes se calcula solo: nadie edita el correo nunca
No hay ningún nombre de mes escrito a mano en el flujo, ni en el asunto, ni en el cuerpo, ni en la fecha límite que se reabre. Todo se deriva de la fecha de la corrida en la zona horaria de la firma. Verificado sobre doce meses consecutivos, incluido el salto de año: en enero dice «diciembre» con el año correcto.
La fecha interna de radicación no sale en el correo
El plazo legal real es posterior al que se le pide al cliente. La plantilla antigua de la firma lo mencionaba; Dirección ordenó quitarlo —el cliente solo ve el plazo de la firma—. Se conservó la frase que pide anticipación sin revelar la fecha. Hay una comprobación automática que falla si alguien reintroduce el dato interno: la decisión de negocio quedó convertida en una prueba, no en una nota que se olvida.
Una sola señal de salida
El cliente deja de recibir recordatorios en el momento en que Operaciones marca su tarea como completada o cancelada en el CRM. No hay una segunda lista que mantener, ni un «dar de baja» que alguien tenga que recordar. El flujo lee el mismo sitio donde el equipo ya trabaja.
Cómo se probó sin enviar un solo correo real

Se desactivó el nodo de envío, se ejecutó en modo manual y se leyó la ejecución por la API, procesándola en local. El orquestador pasa los elementos a través de los nodos desactivados, así que se ve el resultado completo del cruce de datos; que no se envió nada se comprueba porque el elemento de salida no trae acuse ni identificador de mensaje. Es el procedimiento estándar para cualquier automatización que escriba a clientes reales.

Un error de método que se corrigió

El banco de pruebas del flujo simulaba la librería de fechas con una tabla de meses escrita a mano. Pasaba sus 152 comprobaciones —pero estaba probando la imitación, no la librería: un fallo real en el salto de año habría pasado inadvertido. Se sustituyó por la dependencia real, y si falta, el banco de pruebas aborta en vez de dar confianza falsa. La regla quedó adoptada para todo el proyecto: probar contra la librería de verdad, nunca contra un doble escrito a mano.

Indexación documental: doce mil archivos que nadie podía encontrar

El repositorio documental de la firma tiene 607 carpetas de cliente con más de 12.492 archivos y unos 12,8 GB. Esa cifra es un piso, no un total: al contar por lotes, once de cuarenta y un lotes se truncaron en el límite de mil de la API, así que el número real es mayor. Las carpetas son un volcado plano —documentos legales y contables mezclados con material de marketing— sin ninguna taxonomía. Encontrar el contrato de un cliente era una búsqueda a ojo.

El hallazgo que hizo posible el cruce

Las carpetas se llaman Nombre del cliente [416168]. Ese código de seis dígitos no es el número de cuenta —ese campo es el marcador de posición "0" en el 76,4 % de los registros—. Es el final del identificador interno del CRM de origen. Verificado por consulta directa en cuatro casos, no supuesto. Y como cada cuenta del CRM guarda ese identificador en sus notas, el cruce carpeta → cuenta es exacto y determinista: no hubo que emparejar por parecido de nombres.

La trampa: el código de seis dígitos no es único. Dos clientes distintos pueden compartirlo, porque sus identificadores difieren en dígitos intermedios que el nombre de la carpeta no conserva. En la corrida real aparecieron 14 colisiones, que afectaban a 27 carpetas. Se resolvieron con un desempate por similitud de nombre y un umbral declarado de antemano —gana quien supere 0,60 y aventaje al segundo en 0,30; si no, revisión humana—. Las veintisiete dieron coincidencia perfecta.

Las dos fases del sistema documental, con sus cifras medidas
FaseQué haceResultado verificado
1 · Enlazar
7 nodos · reejecutable
Recorre las carpetas del repositorio, extrae el código, lo cruza contra el identificador de origen guardado en cada cuenta y escribe el enlace directo a la carpeta en una columna nueva de la tabla de cuentas. 605 de 607 carpetas enlazadas — 573 por código, 27 por código más desempate de nombre, 5 por nombre exacto. 0 cuentas recibieron dos carpetas distintas. Las 2 restantes son carpetas sin ficha en el CRM: se reportaron, no se adivinaron.
2 · Indexar
9 nodos · reejecutable
Para los clientes activos, recorre archivo por archivo y construye un índice consultable desde la ficha del cliente: nombre, tipo, formato, tamaño, fecha y enlace directo. 4.140 archivos indexados, 0 huérfanos, 0 lotes truncados. El índice aparece dentro de la ficha de cada cliente, no como una pantalla aparte.
Lo que no funcionó, dicho sin maquillar

La clasificación automática del tipo de documento a partir del nombre de archivo solo acertó en el 30 %. De 4.140 archivos, 1.860 quedaron sin clasificar y 1.032 como imagen o vídeo. La razón es simple y no tiene arreglo elegante: los nombres reales son Septiembre.pdf o 45.png, y no traen señal suficiente. Lo que sí clasificó está bien clasificado —253 planillas, 243 estados bancarios, 152 contratos, 99 del impuesto sobre ventas, 80 registros de comerciante—, pero el 70 % restante necesita más reglas o corrección manual desde la aplicación. Se reporta como limitación, no como logro parcial.

Dos cautelas quedaron documentadas junto al sistema. La columna nueva se añadió al final de la tabla a propósito: reordenar columnas rompe la aplicación en silencio. Y el flujo de indexado sobrescribe el rango completo al reejecutarse, así que cualquier corrección manual de tipo hecha desde la aplicación se perdería; antes de volver a correrlo hay que convertirlo en sincronización incremental. Está anotado como pendiente, no descubierto tarde.

El inventario real de la plataforma de automatización

Los tres flujos huérfanos que la primera edición de este informe señalaba ya no están activos en la instancia: quedaron archivados. Este es el estado consultado directamente, no tomado de notas:

Estado del orquestador al 18 de septiembre de 2026
FlujoNodosEstadoFunción
Formulario → Lead en el CRM3ActivoCaptación
Bienvenida a lead nuevo (HTML + PDF)5ActivoCaptación
Comunicado mensual de cumplimiento10ActivoCumplimiento contributivo
Documentos · enlazar carpeta a cuenta7Bajo demandaDocumental · reejecutable
Documentos · indexar archivos de clientes activos9Bajo demandaDocumental · reejecutable
Cuatro utilidades de diagnóstico e inventario3–5TemporalesSolo lectura, ya cumplieron su propósito
Cinco versiones anteriores y pruebas2–7ArchivadosRetirados de circulación

Las que siguen sin existir

De las veinticuatro automatizaciones que especificaba el diseño original, el comunicado mensual cubre ahora una parte del ciclo de cumplimiento —la petición de información al cliente y la reapertura de la tarea— construida en el orquestador externo en vez de como bot interno. Las de mayor impacto declarado siguen en el papel:

Automatizaciones diseñadas y pendientes · selección por impacto
BotDisparadorQué elimina
Generación de obligaciones del períodoDía 25, 06:00Las 696 celdas marcadas a mano cada año
Ciclo mensual automáticoDía 1, 07:00~600 altas manuales de tarea al año · Cubierto en parte
Alerta de vencimiento próximo / vencidoDiario, 07:00 y 07:15El riesgo de multa al cliente y la responsabilidad de la firma
Vencimiento de registro de comercianteSemanalHay registros vencidos desde agosto de 2025 sin que nadie lo sepa
Recordatorio y alerta de tareasDiario, 07:30 y 07:45Tareas que se pierden sin fecha ni seguimiento
Log de auditoríaCambio en tablas críticasLa ausencia total de trazabilidad
Alerta de datos incompletosSemanalLos 516 clientes sin estado y los 0 con responsable

El diseño incluía además un criterio de higiene que conviene conservar para cuando se construyan: todas las alertas diarias se agrupan en un único correo por persona, y la escalación a Dirección solo ocurre a los tres días. Un sistema que manda quince correos sueltos entrena al usuario a ignorarlos.

Higiene de la plataforma de automatización

Una auditoría de la instancia de automatización arrojó 22 hallazgos: ninguno crítico, seis medios. Los dos relevantes para el estado actual:

  • Las credenciales colgaban de una cuenta personal y la instancia corría en una máquina local. Ambas cosas se resolvieron migrando a una instancia en la nube propiedad de la empresa, con las credenciales rehechas a nombre corporativo. Resuelto
  • Ningún flujo tiene manejo de error. Si un nodo falla, el flujo se detiene sin alerta ni registro útil. En automatizaciones desatendidas el síntoma es «dejó de funcionar» sin rastro. El mecanismo se validó de extremo a extremo en la instancia local anterior —con dos condiciones que no son obvias: el manejador debe estar activo o no se invoca, y solo se dispara en ejecuciones de producción, nunca en las manuales del editor—, pero no se trasladó a la instancia en la nube. Sigue siendo la corrección de mejor relación esfuerzo/beneficio de todo el inventario. Pendiente
Un fallo silencioso encontrado el último día

Los disparadores de hoja llevan la cuenta de filas procesadas en un contador interno. Borrar filas a mano no baja ese contador. Al limpiar los registros de prueba se descubrió que el contador de la tabla de leads ya estaba desincronizado en dos unidades desde días antes: los dos siguientes leads reales no habrían disparado el correo de bienvenida, sin error ni aviso. Se corrigió apagando los flujos, ajustando los contadores por API y reactivando con el nodo de envío deshabilitado durante un ciclo de comprobación, para no arriesgar un envío masivo a clientes reales. El procedimiento quedó documentado como rutina obligatoria tras cualquier borrado.

El patrón que se repite en las cinco automatizaciones

Ninguna de ellas es técnicamente difícil. Lo que las hace fiables es la misma disciplina aplicada cinco veces: se lee el estado real antes de escribir, se prueba con el envío desactivado, las decisiones de negocio se convierten en comprobaciones automáticas en vez de en notas, y el borde de cada flujo escucha la tabla donde el equipo ya trabaja en lugar de exigirle una lista aparte. Eso es lo transferible a otra empresa; el flujo concreto, no.

14

Evolución cronológica

Cuarenta y dos días, doce etapas y tres cambios de rumbo estratégico.

Hecho
Del 7 de agosto al 18 de septiembre de 2026
FechaActividadDecisiónResultado
Punto de partida
07·08Reunión de Operaciones. Se revisa en vivo la demo de un CRM alternativoQuedarse en el sistema actual y explotarlo; rechazar licencias adicionales por coste; pausar la búsqueda de alternativasSe fijan tres prioridades técnicas: correos al CRM, leads de publicidad al CRM, secuencias automáticas. Plazo de 3 meses para dominarlo
Diagnóstico y auditoría
11·08Análisis de seis fuentes reales de la operaciónDocumentar antes de construirEspecificación de 11 pestañas: 25 tablas, 36 vistas, 24 bots, 7 roles, 24 indicadores, roadmap de 22 semanas, 14 riesgos
11–26·08Se construye un panel de operaciones interinoPuente manual mientras se decide la plataforma7 pestañas, 71 clientes, calendario de 16 obligaciones. Nunca se adoptó
12·08Auditoría de gobernanza de datos, 9 etapasEl sistema en producción no se toca; nada sin aprobación explícitaEtapas 1–2 cerradas, 3 parcial, 4–5 documentadas. Etapas 6–9 nunca iniciadas
13–15·08Resolución de duplicados y limpieza documentalAprobación caso por caso, con revisión del contenido realDos fusiones, un descarte por ser empresas distintas, cinco carpetas internas archivadas
Giro de alcance
15·08Se descubre que la aplicación ya existía, con su propio libro de datosCargar contra la plantilla existente, no contra el esquema de 25 tablasEl alcance real pasa de 25 tablas a 7. Se abandona de facto el diseño completo
15·08Construcción de los archivos de cargaMigrar el histórico completo, no solo los activos985 registros maestros con trazabilidad al origen; 0 referencias rotas
15·08Incidente: texto libre copiado literalmente lleva datos personales a una hoja compartidaSanear el texto libre, no solo omitir campos sensiblesRedacción por patrón en el script; registros afectados apartados en extracto separado
Construcción del modelo
18·08El responsable pasa de texto a referencia en cuatro tablasSeguro: se verificó que las cuatro columnas estaban vacíasCierra el defecto que el diseño llamaba «el más grave». Ficha de carga por empleado
20·08Se monta el entorno de automatizaciónCentralizar las automatizaciones con criterio de buenas prácticasEntorno operativo con validación previa al despliegue
21·08Auditoría de seguridad de la instancia de automatizaciónNada urgente mientras todo esté inactivo; todo bloqueante antes de activar22 hallazgos. Instancia diez versiones atrasada; credenciales bajo cuenta personal
21–22·08Migración de 1.547 notas históricas como actividadesPreservar el histórico de comunicaciónDe 0 a 1.547 actividades; 72 de 75 cuentas activas con histórico. Auditado contra el origen: 0 diferencias
22·08Permisos por perfil en las seis tablasSolo lectura por defecto, edición por departamentoModelo administrable desde la hoja
Pipeline comercial
26·08Intento de construir el pipeline leyendo contratos del sistema origen — fallaCambiar de fuente: los contratos se leen del repositorio documental74 tratos donde había 2. 45 con honorario mensual extraído del contrato
26·08Servicios como selección múltiple; Marketing pierde ediciónPetición de OperacionesUn cliente puede llevar varios servicios
26·08Reunión sobre expansión a otro mercadoReplicar el modelo; asegurar dominio corporativo nuevoMeta declarada: de 8 a 20 contratos mensuales
Trazabilidad y automatización
27·08Se enlazan tareas con tratos y actividades con tareasReferencias sin borrado en cascadaCadena cuenta → trato → tarea → actividad completa
28·08Levantamiento censal: una tarea por tratoInterna, un solo responsable, límite a 30 días74 tareas creadas
29·08Bot de conversión de leadRelajar obligatoriedad solo en formulario, no en el botVerificado de extremo a extremo
30·08Matriz de permisos definitiva; migración a instancia en la nube corporativaSalir de la máquina local y de la cuenta personalVerificada tabla por tabla. Credenciales rehechas
Producción
31·08Formulario → CRM y correo de bienvenida: probados y activadosActivar con el nodo de envío deshabilitado un ciclo, para no enviar en masaAmbos flujos en verde. Entrega de correo confirmada
31·08Limpieza de pruebas y corrección de contadores desincronizadosApagar, borrar, reajustar, encenderSe evita la pérdida silenciosa de los dos siguientes leads reales
31·08Sesión de rediseño del pipeline interno de operacionesCRM propio, sin depender del sistema anterior. Semáforo de salud. SLA de 5 díasNuevos requisitos operativos, ninguno modelado todavía
01·09Cierre de la primera edición de la memoria—La suscripción del sistema anterior vence en 3 días, sin criterio de decisión evaluable
Fase 2 · La capa de automatización
04·09Formulario y bienvenida, probados de extremo a extremo con un envío realProbar con un alta real, no con datos de pruebaLead creado con todos sus campos y correo con adjunto aceptado por el servidor
07–08·09Se levantan las tareas del ciclo mensual de cumplimiento y se construye el comunicadoEl flujo reabre las mismas tareas cada mes en vez de crear filas nuevasFlujo de 10 nodos con dos caminos: reapertura el día 1 y siete envíos entre el 5 y el 15
08·09Dirección pide documentar el proceso de gestión de financiamientoEl objetivo no es el proceso: es que el reporte llegue arribaMapa de los seis canales y la cadena de mando, publicado como sitio consultable. Seis puntos abiertos declarados
09·09Hallazgo: hay correos que pertenecen a varios negocios del mismo dueñoAgrupar por dueño y nombrar todos sus negocios; nunca deduplicar por correoSe evita callar obligaciones en silencio. 27 tareas → 27 negocios → 24 correos
09·09Comunicado mensual en producción. Primer envío realLanzar la petición inicial a mano: el calendario habría enviado recordatorio sin petición previa24 de 24 correos aceptados, 0 rechazos, 0 errores, 21,9 s
11·09Se consolida la lista maestra de tareas del proyectoLo completado se mueve al final con fecha y resultado verificado; no se borra nuncaDocumento único de estado, con lo no verificado marcado como tal en vez de darse por hecho
17·09Hallazgo: el código de las carpetas documentales es el identificador del CRM de origen, no el número de cuentaVerificar por consulta directa antes de construir encima. Umbral de desempate declarado de antemanoCruce exacto y determinista. 14 colisiones resueltas, 605 de 607 carpetas enlazadas, 0 cuentas con dos carpetas
17·09Índice documental por cliente, dentro de la fichaLibro separado del principal, para no engordar lo que la aplicación sincroniza4.140 archivos indexados, 0 huérfanos. Solo el 30 % quedó clasificado por tipo: se reporta como limitación
17·09Incidente: regenerar el esquema renombra columnas y deja inválido todo lo que las referenciaReapuntar las referencias, no renombrar de vueltaLa aplicación dejó de cargar y se recuperó el mismo día. Quedó como procedimiento documentado
18·09Cierre de esta edición—Cinco automatizaciones en producción. El hallazgo de seguridad del día 5 sigue abierto el día 42

Tres posiciones estratégicas en veinticuatro días

Merece registro explícito porque es el patrón más instructivo del proyecto:

  1. 7 de agosto — consolidar en el sistema comercial existente, rechazar la migración y las licencias adicionales.
  2. 11 de agosto — modelo híbrido por etapas: el sistema nuevo asume la operación, el anterior conserva facturación e histórico hasta el vencimiento.
  3. 31 de agosto — desarrollar un CRM propio, sin depender de herramientas externas, para mejorar la retención.

No son contradictorias en el fondo —las tres reaccionan al mismo problema de coste y adopción— pero sí implican planes de trabajo distintos, y la tercera se tomó sin que existiera medición de la segunda. La posición vigente al cierre es la del 31 de agosto, por ser la más reciente y la de mayor autoridad.

15

Fallos y aprendizajes

Nueve incidentes con lección durable. Los fallos silenciosos son los caros.

Hecho

Un patrón atraviesa casi todos: el sistema no dio error. Devolvió éxito, o no dijo nada, y el problema apareció días después en forma de datos que faltaban. Esa es la clase de fallo que la validación automática no detecta y que solo encuentra una verificación deliberada contra el estado real.

1 · La validación pasó y el nodo no funcionaba

Problema
Las dos primeras ejecuciones reales del flujo de captación murieron con un error de esquema obligatorio.
Causa
El nodo exigía un array de definición de columnas que se había dejado vacío. El validador del entorno lo dio por válido.
Decisión
Generar el esquema a partir de las claves reales del mapeo, con la marca de coincidencia solo en la clave.
Lección
Que la validación pase no significa que el nodo funcione. Hay que provocar una ejecución real antes de dar nada por bueno.

2 · La herramienta de escritura destruyó los acentos, y el flujo siguió «en verde»

Problema
Tras actualizar el flujo por línea de comandos, los campos que dependían de claves acentuadas salían vacíos. Sin error. Ejecución exitosa.
Causa
El intérprete de shell utilizado convierte los caracteres no ASCII al serializar el cuerpo de la petición. «Servicio de interés» dejó de coincidir con ninguna clave.
Decisión
Reescribir la actualización con serialización a ASCII escapado. El servidor decodifica los escapes y nada se corrompe.
Lección
No fiarse de la consola para verificar: la de este entorno muestra interrogantes aunque el dato esté bien. Comparar cadenas exactas mediante código, no a ojo.

3 · Reordenar una columna descartó 1.547 filas en silencio

Problema
Tras mover una columna, la aplicación mostraba cero registros. La hoja tenía los datos. El editor no reportaba ningún problema.
Causa
La aplicación lee por posición según el esquema guardado, no por nombre de encabezado. La clave pasó a leerse de una columna vacía y todas las filas quedaron sin clave.
Decisión
Regenerar el esquema de esa tabla. Se verificó que la regeneración conserva los tipos ya configurados.
Lección
Cualquier script o archivo de carga que asuma el orden de columnas se rompe. Mapear siempre por nombre de encabezado leído en vivo.

4 · Regenerar el esquema deshizo una referencia y su columna inversa

Problema
Regenerar el esquema de una tabla revirtió una referencia a texto y, en cascada, borró la columna inversa de la tabla relacionada. Los 1.548 registros habrían quedado sin relación con su cuenta.
Causa
La regeneración reinfiere tipos desde la hoja. Un tipo configurado a mano no siempre sobrevive.
Decisión
Restaurar la referencia; la columna inversa se regeneró sola.
Lección
Antes de regenerar un esquema, apuntar el tipo y la tabla origen de todas las columnas de referencia y verificarlas una por una después. La regeneración guarda y no se puede deshacer.

5 · Un archivo re-subido cambia de identificador

Problema
El flujo de bienvenida apuntaba a un documento que ya no existía, porque se había reemplazado subiéndolo de nuevo en vez de usar la gestión de versiones.
Causa
Subir un archivo con el mismo nombre crea un objeto nuevo con identificador nuevo.
Decisión
Actualizar la referencia y establecer la comprobación como paso obligatorio tras cada reemplazo.
Lección
Toda dependencia por identificador opaco necesita una comprobación explícita en el procedimiento de actualización. Habría fallado en el primer lead real, no antes.

6 · Los contadores de disparador se desincronizan al borrar filas

Problema
El contador de la tabla de leads estaba dos unidades por delante del número real de filas. Los dos siguientes leads reales no habrían disparado el correo.
Causa
El disparador guarda cuántas filas ha procesado. Borrar filas no baja ese número.
Decisión
Procedimiento fijo: desactivar, borrar, recontar sobre una columna siempre poblada, ajustar el contador por API, reactivar con el nodo de envío deshabilitado durante un ciclo de comprobación.
Lección
Contar sobre una columna que puede estar vacía engaña. Y contar líneas de un volcado tampoco vale cuando los campos de texto llevan saltos de línea.

7 · La activación de un disparador sobre datos históricos

Problema
Activar el flujo de bienvenida sobre una tabla con 231 filas históricas amenazaba con enviar 231 correos a clientes reales.
Causa
Un disparador recién activado necesita fijar su línea base, y el comportamiento no estaba verificado en este entorno.
Decisión
Activar con el nodo de envío deshabilitado, dejar pasar un ciclo, comprobar que la línea base quedó fijada y que hubo cero ejecuciones, y solo entonces rehabilitar el envío.
Lección
Patrón reutilizable para cualquier flujo que dispare sobre una tabla con historial. Cuesta dos minutos y elimina por completo la clase de error más embarazosa.

8 · La lectura de datos venía truncada, y no lo decía

Problema
Un día completo de análisis se construyó sobre cifras falsas: se creía que la tabla principal tenía 154 filas cuando tenía 616.
Causa
El conector de lectura devolvía el volcado cortado exactamente en la fila 155, sin ninguna advertencia.
Decisión
Sustituir el método por descarga del archivo y lectura del formato nativo, que además conserva los acentos.
Lección
Validar siempre un conteo contra una segunda fuente antes de reportarlo. Un truncamiento silencioso es indistinguible de un dato pequeño.

9 · La herramienta puente que nadie usó

Problema
Se construyó un panel de operaciones interino completo —siete pestañas, 71 clientes, calendario de 16 obligaciones, tres reglas de uso y una rutina diaria de diez minutos—. Sus contadores marcan cero en todo.
Causa
Se diseñó bien y no se acompañó de adopción. La herramienta pedía disciplina diaria a un equipo que ya tenía tres rastreadores en marcha.
Decisión
No se retomó; el esfuerzo se trasladó al sistema definitivo.
Lección
Es el mismo fallo que el proyecto entero venía a corregir, reproducido a escala pequeña. Construir la herramienta es la parte barata; conseguir que se use es el proyecto.
El hilo común

Ocho de los nueve incidentes fueron fallos silenciosos: el sistema devolvió éxito y el daño apareció después. Ninguno lo habría detectado una validación previa. Todos se detectaron releyendo el estado real después de actuar. Ese hábito —verificar el resultado, no el mensaje de respuesta— es el aprendizaje más transferible del proyecto.

16

Antes y ahora

Comparación por dimensión, con una columna para lo que no se puede medir.

Medido 01·09Sin dato
Situación de partida frente a situación al cierre
DimensiónAntes · 7 de agostoAhora · 1 de septiembreCómo se mide
Identidad del cliente403 nombres para ~170 clientes; identificador de origen inservible en el 76 %616 cuentas con clave única contigua y trazabilidad al origenVerificado
Integridad relacionalRelaciones guardadas como texto; se rompen al corregir un nombreReferencias duras en toda la cadena; 0 huérfanosVerificado
Pipeline comercial2 oportunidades en el sistema, una de prueba74 tratos con etapa, servicio y, en 45 casos, importe mensualVerificado
Histórico de relaciónDisperso en 4.523 notas dentro del sistema origen1.548 actividades vinculadas a la ficha del cliente, 2021–2026Verificado
Rastreo de trabajoTres rastreadores paralelos con estados divergentesUn rastreador único… y los tres anteriores siguen vivosVerificado
Control de accesoTodos pueden borrar todoPermisos por departamento en 7 tablas, administrables desde la hojaVerificado
Identidad de usuario13 de 15 con correo personal; 2 pares compartiendo buzón14 de 14 con dominio corporativo; queda 1 buzón compartido por 3Verificado
CaptaciónTranscripción manual del formulario; el lead no recibía nadaAlta automática en un minuto y correo de bienvenida con documento adjuntoVerificado
Propiedad de la infraestructuraAutomatizaciones en una máquina local, credenciales en cuenta personalInstancia en la nube corporativa, credenciales a nombre de la empresaVerificado
Donde no hubo cambio, o no se puede afirmar que lo haya
Cumplimiento contributivo16 obligaciones sin modelar; 696 celdas manuales al añoIgual. Nada construidoSin cambio
Motivo de baja48 % de fuga sin causa registradaIgual. El módulo de contratos no existeSin cambio
Trazabilidad de cambiosNo se sabe quién modificó quéIgual. No hay log de auditoríaSin cambio
Exposición de datos sensibles~122 credenciales, 9 identificadores personales, 55 cuentas bancarias en claroSin evidencia de remediación. Parcialmente replicada en el sistema nuevoSin cambio
Origen de los leads87 % sin registrar88,3 % sin registrar — el campo es obligatorio solo en el formulario nuevoSin mejora aún
Uso real del sistema618 cuentas contra 14 tareas registradas616 cuentas contra 0 tareas cerradasSin dato de adopción
Tiempo de procesoNunca medidoNunca medidoSin línea base
Carga por personaImposible responder sin contar a manoLa estructura lo permite; 0 registros tienen responsable, así que sigue sin poder calcularseSin dato
La comparación honesta

Nueve dimensiones mejoraron de forma verificable y todas son de infraestructura: identidad, integridad, control, propiedad. Seis no cambiaron y son de operación: cumplimiento, retención, trazabilidad, adopción. La transformación construyó los cimientos y aún no el edificio — lo cual es el orden correcto, pero conviene no confundirlo con el resultado.

17

Resultados y valor generado

Separando lo demostrado de lo esperado y de lo meramente posible.

MedidoInferenciaSin dato

Resultados demostrados

Respaldados por medición directa contra los sistemas.

  • 2.607 registros maestros e histórico migrados con integridad verificada — 616 cuentas, 231 leads, 138 contactos, 1.548 actividades, 74 tratos. Cero referencias rotas en el cruce documental, cero duplicados en la clave principal, cero diferencias en la auditoría de la importación masiva contra su archivo origen.
  • Un pipeline comercial donde no había ninguno. De 2 oportunidades a 74 tratos con etapa. Es la primera vez que la firma puede responder «en qué estado está cada cliente activo» sin abrir un contrato en PDF.
  • Honorarios contractuales registrados por primera vez en un sistema: 45 contratos leídos, con un total de importes registrados de $14.936,99 mensuales. Es la suma de lo que consta en el sistema, no el ingreso de la firma — 29 tratos siguen sin importe.
  • Cinco automatizaciones en producción, probadas de extremo a extremo. Tres cubren la cadena completa de captación —formulario web, alta en el CRM, correo de bienvenida con documento adjunto y conversión a cuenta y contacto—; una sustituye el trabajo de calendario del ciclo mensual de cumplimiento; y dos, reejecutables bajo demanda, sostienen el sistema documental.
  • El primer envío real del comunicado mensual: 24 de 24 correos aceptados por el servidor, 0 rechazos, 0 errores, 27 negocios cubiertos, 21,9 segundos. Es el único resultado del proyecto con métrica de entrega completa.
  • 605 de 607 carpetas documentales enlazadas a su ficha de cliente y 4.140 documentos indexados, con 0 cuentas duplicadas y 0 huérfanos. Las 2 carpetas sin enlazar y el 70 % de documentos sin clasificar por tipo se reportan como pendientes, no como logro parcial.
  • El prerrequisito de identidad, resuelto en un 90 %. De 2 de 15 personas con correo corporativo a 14 de 14. Es la condición sin la cual ningún modelo de seguridad tiene sentido.
  • Un modelo de permisos verificado y administrable sin conocimientos técnicos. Dar acceso a alguien nuevo es escribir su departamento en una hoja.
  • Infraestructura de automatización bajo control de la empresa, migrada desde una máquina local y una cuenta personal.
  • Dos fallos silenciosos detectados y corregidos antes de causar daño: el contador desincronizado que habría perdido leads reales, y la referencia rota que habría impedido el envío del primer correo.

Beneficios operativos esperados, sin medición formal

Razonablemente asociados a lo construido, pero todavía no medidos. Se presentan como expectativa, no como resultado. Inferencia

  • Eliminación del re-tecleo en el alta de leads procedentes del formulario web.
  • Reducción del tiempo hasta el primer contacto con un lead, de indeterminado a un minuto.
  • Menor riesgo de pérdida de información al existir una clave única y trazable por cliente.
  • Posibilidad de responder preguntas de gestión —cartera activa, estado del pipeline, carga por persona— que antes exigían contar a mano, siempre que los campos correspondientes se rellenen.

Beneficios potenciales, no reclamables hoy

Oportunidades reales que dependen de trabajo aún no hecho. Enumerarlas como logros sería incorrecto.

  • La eliminación de 696 marcados manuales al año depende del módulo de cumplimiento, que no existe.
  • La reducción del riesgo de multa al cliente depende de las alertas de vencimiento, que no existen.
  • El análisis de la fuga del 48 % depende del motivo de baja estructurado, que no existe.
  • El ahorro de licenciamiento estimado en unos 8.500 dólares anuales procede de una comparación de precios de lista hecha por terceros, sujeta a confirmación con cada proveedor, y depende de una decisión que aún no se ha tomado.
Lo que este informe no va a afirmar

No hay retorno de inversión calculable, ni porcentaje de mejora de productividad, ni reducción de tiempos. Nunca se midió cuánto tiempo consumían las tareas manuales antes del proyecto, de modo que cualquier cifra de ahorro sería una invención. Establecer esa línea base es, de hecho, una de las recomendaciones de la sección 19 — y debería haberse hecho el primer día.

18

Riesgos y pendientes

Los catorce riesgos originales revisados a fecha de cierre, más los que aparecieron durante la obra.

Revisado 01·09

El registro original identificaba catorce riesgos. Tres semanas después, el mapa ha cambiado menos de lo esperado en lo importante y más de lo esperado en lo estructural.

Riesgos del diagnóstico, revisados al cierre
RiesgoOriginalAl cierreComentario
Exposición de datos sensibles de clientesCríticoVigenteSin evidencia de remediación. Parcialmente replicado en el sistema nuevo
Correos compartidos e identidad de usuarioCríticoMuy reducidoDe 13 correos personales a 0; queda un buzón con tres personas
Obligaciones sin fecha límite ni alertaCríticoVigenteEl módulo no se construyó. La mitigación provisional era revisión manual semanal
El equipo rechaza el sistema, como ya hizo antesAltoMaterializándose0 tareas cerradas, 0 actividades nuevas. Es hoy el riesgo principal
Migración desde 403 nombres sin clave únicaAltoCerradoDeduplicación asistida con validación humana caso por caso
Corrupción del histórico de publicacionesOcurriendoVigenteNunca se congeló ni exportó la hoja. Lo perdido es irrecuperable
Conocimiento concentrado en personasAltoVigenteEl catálogo de obligaciones que lo externalizaba no existe
Degradación del backend por volumenMedioLatente2.607 filas hoy sobre un límite práctico de ~50.000. Sin urgencia
Sincronización lenta por descarga completaMedioVigenteNo hay filtros de seguridad por fila en ninguna tabla
Rotación de personal durante el proyectoMedioOcurrióUna baja en el maestro durante el proyecto, con fila vacía intercalada
Vencimiento de la suscripción del sistema anteriorCiertoInminenteVence en 3 días. Sin criterio de decisión evaluable
Alcance excesivo: 6 módulos, 25 tablasAltoSe materializó al revésNo se intentó todo a la vez: se recortó al 28 % y se dejó fuera el núcleo
Ausencia de correo del clienteCiertoParcial60,4 % de las cuentas tienen correo. Suficiente para empezar, insuficiente para automatizar en masa
Implicaciones legales de la exposición de datosCríticoVigenteSin consulta legal documentada

Riesgos nuevos, surgidos durante el proyecto

Aparecidos entre el 7 de agosto y el 1 de septiembre
RiesgoTipoDescripción
Buzón compartido por tres departamentosActualConcede el nivel máximo de acceso a tres personas y hace indeterminado el permiso de dato fiscal
Contadores de disparador que se desincronizanActual, mitigadoDetectado y corregido; el procedimiento está documentado pero depende de que alguien lo recuerde tras cada borrado
Ningún flujo tiene manejo de errorActualUn fallo detiene el flujo sin alerta ni registro. La corrección es un flujo de error compartido
Dos flujos huérfanos activos en la instanciaPotencialUno lee de un disco local inexistente. Si alguien lo activa por error, falla en silencio
Los catálogos no están conectados a la aplicaciónActualEditar la hoja de catálogos no cambia nada. Un mantenedor razonable asumirá lo contrario
El sistema anterior sigue siendo el repositorio real de adjuntosActual14.882 adjuntos viven allí. Si la suscripción vence sin plan de extracción, hay riesgo de pérdida de acceso
Tres rastreadores previos siguen en usoActualMientras se sigan editando, la duplicación continúa y el sistema nuevo compite con ellos
Requisitos operativos nuevos sin modelarPotencialSemáforo de salud, SLA de 5 días y preferencia de contacto se decidieron el día 25 y no tienen sitio en el modelo
El riesgo que domina a todos los demás

El registro original lo clasificaba como probabilidad alta e impacto alto: «el equipo ya rechazó un CRM; puede repetirse». A fecha de cierre hay 76 tareas creadas y ninguna cerrada, y ni una sola actividad generada desde la aplicación. No es prueba concluyente de rechazo —el sistema lleva días, no meses— pero es exactamente la señal que el hito de control existía para detectar, y nadie la está mirando porque no hay medición.

19

Recomendaciones y roadmap

Cuatro niveles de prioridad. La primera vence en tres días.

Juicio profesional
Recomendaciones priorizadas
RecomendaciónMotivoImpacto esperadoComplejidad
Prioridad 1 · Crítica — estabilidad, continuidad y exposición legal
Tratar la exposición de datos sensibles como incidente, no como tarea de proyecto ~122 credenciales, 9 identificadores personales y 55 cuentas bancarias en claro, bajo una cuenta personal. Implicaciones bajo normativa federal de protección de información financiera y bajo la obligación de plan escrito de seguridad para preparadores de planillas Es el único hallazgo con consecuencia legal potencial. Lleva 25 días abierto Media · requiere consulta legal y traslado de archivos
Decidir sobre la suscripción del sistema anterior antes de que venza, y documentar el criterio real usado Vence en 3 días. El criterio previsto —tres meses de uso con el 80 % del equipo activo— no se puede evaluar Evita una decisión por omisión. Si se deja vencer, hay 14.882 adjuntos en riesgo de perder acceso Baja · es una decisión, no una obra
Extraer los adjuntos del sistema anterior antes de cualquier no renovación El sistema origen funciona en la práctica como repositorio documental, y buena parte del expediente de cliente vive ahí Elimina el riesgo de pérdida documental irreversible Media · volumen alto, pero mecánico
Separar el buzón compartido por tres personas Concede acceso máximo a tres departamentos distintos y hace indeterminado el permiso de dato fiscal. Anula parte del avance de identidad ya conseguido Cierra el último bloqueante del modelo de seguridad Baja · tres cuentas de correo
Prioridad 2 · Alta — donde está el valor no capturado
Empezar a medir la adopción esta semana Sin ese dato no se puede evaluar ningún hito, ni saber si el problema es de diseño o de disciplina Convierte una opinión en una decisión. Es requisito de todo lo demás Baja · un contador semanal de registros creados por persona
Construir el módulo de cumplimiento contributivo: catálogo de 16 obligaciones, perfil fiscal y generación automática de períodos Es el 83 % del trabajo real de la firma y la razón por la que se hizo el diagnóstico Elimina 696 marcados manuales al año y el riesgo de multa al cliente. Es el mayor retorno del proyecto Alta · es una fase completa
Asignar responsable a las cuentas, tratos y tareas La estructura existe y está vacía en las tres tablas. Sin ella no hay carga por persona, ni filtro de «lo mío», ni escalación posible Habilita de golpe la vista más pedida por el equipo Baja · es carga de datos, no desarrollo
Añadir manejo de error compartido a los flujos Hoy un fallo detiene la automatización sin avisar. En un flujo desatendido eso significa leads perdidos en silencio Mejor relación esfuerzo/beneficio de todo el inventario técnico Baja · un flujo, referenciado desde los demás
Retirar los tres rastreadores anteriores, con fecha anunciada Mientras se sigan editando, el sistema nuevo compite con ellos y la duplicación continúa Era el hito 3 del roadmap original: «una sola fuente de verdad» Baja técnicamente, alta organizativamente
Prioridad 3 · Media — deuda conocida y mejoras de uso
Conectar los catálogos a la aplicaciónHoy editar la hoja de catálogos no cambia nada; el procedimiento existe y está verificadoMantenimiento sin intervención técnicaBaja
Marcar el título como etiqueta en la tabla de tareasLas referencias muestran un hash en vez del títuloLegibilidad inmediataTrivial
Modelar el SLA de 5 días y el semáforo de saludRequisitos operativos decididos el día 25, medibles y accionablesDa soporte al proceso que Operaciones acaba de definirBaja · dos campos y una columna calculada
Borrar los dos flujos huérfanosUno lee de un disco que no existe en la nubeElimina una trampa latenteTrivial
Añadir filtros de seguridad por filaHoy todo usuario descarga las 1.548 actividades, incluidas las que conservan datos personalesSeguridad real, y la mayor optimización de sincronización disponibleMedia
Establecer la línea base de tiemposSin ella nunca se podrá demostrar el valor del proyectoHabilita el cálculo de retorno en la siguiente faseBaja · una semana de registro
Prioridad 4 · Futura — cuando lo anterior esté en uso
Chatbot de agendamiento de citasDiseñado y decidido; faltan dos credencialesAutoservicio en la reserva de la primera visitaMedia
Módulo de contratos, cobros y morosidadPermitiría medir ingreso recurrente, mora y motivo de bajaExplica por fin la fuga del 48 %Alta
Log de auditoríaPara una firma que radica planillas en nombre de terceros, saber quién marcó qué no es comodidadDefendibilidadMedia
Panel ejecutivoDirección sigue pidiendo números en lugar de verlosAutonomía de la direcciónMedia
Nombrar un responsable interno del sistemaSin dueño con nombre, cualquier sistema a medida se degrada en dos años hasta volverse una caja negraSostenibilidadOrganizativa
Un criterio de secuencia

Las recomendaciones de prioridad 2 tienen una dependencia entre sí que conviene respetar: medir adopción antes de construir el módulo de cumplimiento. Si el equipo no está usando lo que ya existe, añadir el módulo más grande del sistema multiplica lo que no se usa. El roadmap original decía exactamente esto con su hito 1, y sigue teniendo razón.

20

Conclusiones

Síntesis

En veinticinco días se sustituyó el andamiaje de datos de una firma completa: de 403 nombres dispersos a 616 cuentas con clave única, de dos oportunidades a un pipeline de 74 tratos, de trece correos personales a catorce corporativos, de cero automatizaciones a tres en producción. Todo verificado contra los sistemas, no contra la intención.

Pero la conclusión que más vale la pena conservar es de método, no de resultado. El diagnóstico acertó en lo que importaba y el proyecto se desvió de él en el punto exacto que el propio diagnóstico había señalado como peligroso. El análisis decía que migrar primero el 17 % que ya funcionaba, antes de resolver el 83 % que no existía, era invertir el orden del riesgo. Eso es lo que se hizo, por una razón razonable —había una aplicación ya montada— y con un resultado predecible: un sistema técnicamente sólido que resuelve el problema que la firma no tenía.

El segundo aprendizaje es sobre la naturaleza del fallo en estos entornos. Ocho de los nueve incidentes registrados fueron silenciosos: validaciones que pasaban sobre configuraciones rotas, ejecuciones exitosas que escribían campos vacíos, lecturas truncadas sin aviso, contadores desincronizados que habrían perdido leads reales. Ninguno lo habría detectado una comprobación previa. Todos se encontraron releyendo el estado real después de actuar. En herramientas no-code y de bajo código, el mensaje de respuesta no es evidencia de nada.

El tercero es el que ya sabía el diagnóstico y el proyecto volvió a demostrar en pequeño: el panel interino que se construyó con siete pestañas, tres reglas y una rutina diaria de diez minutos tiene todos sus contadores en cero. Se hizo bien y no se usó. Es el mismo fracaso que el sistema anterior —618 cuentas contra 14 tareas— reproducido a escala reducida y en tres semanas. Construir la herramienta es la parte barata.

Al cierre, la firma tiene cimientos que antes no tenía y una decisión de plataforma que vence en tres días sin el dato que debía sustentarla. Lo primero es un logro real. Lo segundo es el trabajo que sigue.

21

Inventario de lo construido

Todo lo que existe y funciona a fecha de cierre, pieza por pieza, con su estado real.

Medido 18·09

Las secciones anteriores cuentan el proceso. Esta responde a una pregunta distinta y más simple: ¿qué hay, exactamente, después de cuarenta y dos días? Está ordenado por naturaleza del entregable, no por cronología, y cada línea lleva el estado que se verificó, no el que se esperaba.

8tablas relacionadas en la aplicación
5automatizaciones en producción o bajo demanda
2.607registros maestros migrados y verificados
4.140documentos de cliente indexados
605carpetas enlazadas a su ficha de cliente

1 · El sistema operativo del negocio

Aplicación y modelo de datos
PiezaQué es y qué resuelveEstado
Modelo relacional de 8 tablasLeads, Cuentas, Contactos, Tratos, Actividades, Tareas, Usuarios y Documentos, con referencias reales entre ellas. La cadena cliente → trato → tarea → actividad está completa y navegable en los dos sentidos.En uso
Aplicación móvil y de escritorioInterfaz sobre ese modelo, con vistas por tabla, formularios de alta y fichas de detalle. El índice documental se dibuja dentro de la ficha del cliente, no como pantalla aparte.Desplegada
Matriz de permisos por departamentoSolo lectura por defecto; la edición se concede por departamento mediante una expresión única replicada en las ocho tablas. Dar acceso a alguien nuevo es escribir su departamento en una hoja, sin tocar la aplicación.Verificada tabla por tabla
Catálogos centralizadosHoja de listas maestras para estados, fuentes, servicios y tipos de gestión, con el patrón de migración de valores ya establecido para sacarlos de donde están escritos a mano.Patrón iniciado
Índice documental por clienteLibro separado del principal —decisión deliberada, para no engordar el archivo que la aplicación sincroniza en cada apertura— con nombre, tipo, formato, tamaño, fecha y enlace directo de cada documento.Cargado

2 · Los datos

Volumen migrado, construido o indexado, todo con verificación de integridad
ConjuntoVolumenVerificación
Registros maestros e histórico2.6070 referencias rotas, 0 duplicados de clave, 0 diferencias contra el archivo origen
Actividades históricas recuperadas1.54872 de 75 cuentas activas con histórico; credenciales redactadas por patrón — ninguna sobrevivió
Tratos con etapa comercial74Donde había 2. Leídos de los contratos reales, no estimados
Tareas de seguimiento creadas76Una por trato, con responsable y límite
Carpetas de cliente enlazadas605 / 6070 cuentas con dos carpetas. Las 2 sin enlazar se reportaron, no se adivinaron
Documentos indexados4.1400 huérfanos, 0 lotes truncados
Inventario documental total medido12.492+~12,8 GB. Declarado como piso: el conteo se truncó en 11 de 41 lotes

3 · Las automatizaciones

Detalladas en la sección 13. En resumen: tres flujos activos en producción —captación, bienvenida y comunicado mensual de cumplimiento—, dos reejecutables bajo demanda para el sistema documental, y un bot interno de conversión de lead a cuenta y contacto. Todos probados de extremo a extremo contra datos reales antes de activarse, y todos con el mismo procedimiento de prueba: envío desactivado, ejecución manual, lectura del resultado por la API.

4 · Las piezas de comunicación con el cliente

Material que el cliente final recibe, construido dentro del proyecto
PiezaDetalleEstado
Correo de bienvenidaHTML responsivo con documento adjunto en PDF, botón de agenda y enlace directo de mensajería. El número de teléfono va escrito además de enlazado, porque los PDF se imprimen.En producción
Documento de bienvenidaPDF de presentación de la firma que se adjunta automáticamente al alta de cada lead.En producción
Siete plantillas del comunicado mensualUna petición inicial y seis recordatorios con cuenta atrás, todos con asunto distinto por diseño. El mes se calcula solo: nadie edita nunca el texto.En producción
Identidad de marca aplicada al correoLos dos colores corporativos se extrajeron del propio logotipo leyendo su paleta de imagen, no se eligieron a ojo. El nombre y el lema van en texto, no en la imagen, para que se lean cuando el cliente de correo bloquea imágenes.Cerrado

5 · Los agentes y el utillaje

Capacidad construida para que la firma no dependa de soporte técnico externo
PiezaDetalleEstado
Agente configurador de la aplicaciónRecibe peticiones en lenguaje natural de la persona de Operaciones —añadir una columna, cambiar un tipo, ampliar un catálogo— y las aplica sobre el modelo de datos. Tiene prohibido tocar vistas, seguridad y automatizaciones, siempre propone y espera un sí explícito, y ante riesgo de pérdida de datos lee primero el contenido real de lo que va a modificar.v1.0.0 publicado
Pipeline de construcción de agentesEl agente anterior no se escribió a mano: lo produjo un pipeline de doce etapas con tres puntos de control, evaluador externo y verificador adversarial en ventanas independientes. Superó 13 de 13 anti-patrones y 5 de 5 pruebas, con una segunda verificación que no heredaba el veredicto de la primera.Operativo
Repositorio central de automatizacionesTodas las automatizaciones, sus respaldos, sus bancos de prueba y su documentación viven en un solo sitio con control de versiones, en vez de existir únicamente dentro de la plataforma.En uso
Lista maestra de tareasDocumento único de estado del proyecto, con las tareas agrupadas por severidad y prefijo estable para poder citarlas. Regla adoptada: lo completado se mueve al final con su fecha y su resultado verificado, nunca se borra. El histórico es parte del documento.Vigente

6 · Los documentos de conocimiento

Lo que quedó escrito, y por qué importa tanto como el software
DocumentoQué contiene
Especificación funcional completa25 tablas, 36 vistas, 24 bots, 7 roles, 24 indicadores, roadmap de 22 semanas y 14 riesgos. Es el diseño del que se recortó el alcance construido — y sigue siendo el mapa de lo que falta
Auditoría de gobernanza de datosNueve etapas, de las que se cerraron las dos primeras. Origen de la mayoría de los hallazgos de calidad de dato de este informe
Auditoría de la plataforma de automatización22 hallazgos con severidad; los dos que importaban al estado real están tratados en la sección 13
Ruta de financiamientoMapa del proceso completo de gestión de financiamiento: los seis canales, quién entrevista, quién recopila documentos y —lo que de verdad pedía Dirección— por dónde tiene que subir el reporte. Publicado como sitio consultable
Procedimientos de operaciónRutina obligatoria tras borrar filas de una hoja vigilada, método de prueba sin envío real, reglas de gobierno del dato y convenciones del modelo. Están en los anexos de este informe
Lo que este inventario dice de verdad

Lo más valioso de la lista no es ninguna de sus filas: es que cada una tiene un estado verificado y ninguna tiene un estado inventado. Un inventario en el que «hecho» significa «comprobado contra el sistema, y aquí está el número» es lo que permite decidir qué construir después. La mayoría de los proyectos entregan software; muy pocos entregan una lista de la que uno se pueda fiar.

22

El método, y por qué se puede repetir

Siete fases, cinco reglas y los tres momentos en que hay que parar a decidir.

HechoInferencia

Nada de lo anterior salió de una metodología elegida de antemano. Salió de un orden de trabajo que se fue imponiendo porque saltárselo costaba caro, y que al mirarlo desde el final resulta bastante estable. Esta sección lo enuncia para que sea auditable y repetible, no para presentarlo como marco propietario.

Las siete fases del método, con los tres puntos de decisión que las separan Escuchar la operación Auditar el dato Recortar el alcance Modelar las relaciones Identidad y permisos Automatizar el borde Medir y decir alto 1alto 2alto 3 Los tres altos son puntos de decisión del cliente, no del constructor: qué se considera cierto, qué entra en el alcance y qué se enciende.
El orden importa más que cualquiera de las fases por separado. Los fallos de la sección 15 son, casi todos, saltos de fase.

Las siete fases y lo que produce cada una

1 · Escuchar la operación antes de mirar el software
Reuniones, actas y el trabajo real, no el organigrama. En este proyecto reveló el hallazgo que gobierna todo lo demás: el 83 % del trabajo de la firma no estaba modelado en ningún sistema, así que ninguna decisión de plataforma habría resuelto nada. Produce: el mapa del trabajo real y el ratio de adopción del sistema que ya existe.
2 · Auditar el dato, no el sistema
La pregunta no es «¿qué hace la herramienta?» sino «¿cuánto de lo que hay dentro es verdad?». Aquí apareció que cinco campos que parecían fiables no lo eran, que 403 nombres correspondían a unos 170 clientes reales, y la exposición de datos sensibles. Produce: la volumetría real, la lista de campos en los que no se puede confiar y los hallazgos de seguridad.
3 · Recortar el alcance contra la realidad
El diseño pedía 25 tablas; se construyeron 7. No por falta de tiempo, sino porque al descubrir lo que ya existía, cargar contra ello costaba una fracción y entregaba antes. Recortar es una decisión de ingeniería, no una concesión. Produce: el alcance firmado y la lista explícita de lo que queda fuera.
4 · Construir el modelo relacional primero
Antes que ninguna pantalla. Referencias reales entre tablas, claves deterministas, sin borrado en cascada. Cambiar el modelo después de tener datos dentro es lo más caro que hay. Produce: el modelo, los archivos de carga y la auditoría de integridad de la migración.
5 · Resolver identidad y permisos antes que funciones
La seguridad por fila se resuelve por dirección de correo. Mientras trece de quince personas usaban correo personal y dos pares compartían buzón, cualquier modelo de permisos era decorativo. Se declaró bloqueante y se resolvió antes de seguir. Produce: la matriz de permisos y el inventario de identidades.
6 · Automatizar el borde, no el centro
Primero lo que cruza la frontera de la organización —formularios, correo saliente, repositorios— porque ahí el trabajo manual es repetitivo, medible y no tiene excepciones. El centro del proceso, donde viven las excepciones y el criterio profesional, se automatiza después o no se automatiza. Produce: los flujos, sus bancos de prueba y el procedimiento de activación.
7 · Medir, y decir lo que no se puede afirmar
Se consultan los sistemas vivos y se separan tres cosas que casi siempre se mezclan: lo medido, lo inferido razonablemente y lo meramente posible. Este informe usa esa etiqueta en el margen de cada sección. Produce: la memoria del proyecto — el documento que está leyendo.

Las cinco reglas que no se negocian

  1. Nada se da por cierto sin leerlo del sistema. El código de las carpetas documentales parecía el número de cuenta; era el identificador interno del CRM de origen. Se verificó por consulta directa en cuatro casos antes de construir nada encima. Un supuesto razonable habría dejado 607 carpetas mal enlazadas.
  2. Se verifica releyendo el estado, no el mensaje de respuesta. La plataforma devolvió errores en operaciones que sí se habían aplicado. Un reintento a ciegas ya generó un flujo duplicado. La única fuente de verdad es volver a leer.
  3. Se prueba contra la librería real, nunca contra un doble escrito a mano. Un banco de pruebas que imita una dependencia da confianza falsa: pasa sus comprobaciones mientras el fallo real sigue ahí. Si falta la dependencia, el banco de pruebas aborta.
  4. Se propone y se espera un sí explícito antes de escribir. Rige igual para la persona que para el agente configurador. Y ante riesgo de pérdida de datos, primero se lee el contenido real de lo que se va a modificar.
  5. Toda decisión de negocio que importe se convierte en una comprobación automática. «No menciones la fecha interna al cliente» no es una nota en un documento que alguien leerá dentro de un año: es una prueba que falla si el dato reaparece. Las notas se olvidan; las pruebas no.
Y la regla que faltó

Hay una sexta que este proyecto no cumplió, y que se recomienda por haberla echado en falta: medir la línea base antes de tocar nada. Nunca se cronometró cuánto tiempo consumían las tareas manuales, de modo que no existe ninguna cifra honesta de ahorro. Es la razón de que la sección 17 no reclame ningún retorno de inversión, y debería haberse hecho el primer día.

23

Qué puede esperar otra empresa

Qué transfiere, qué no, qué hace falta del cliente y qué este documento no promete.

InferenciaSin dato

Este informe es la memoria de un proyecto en un despacho de contabilidad de catorce personas. Presentarlo como prueba de que lo mismo funcionará en otra empresa sería exactamente el tipo de afirmación que el resto del documento se ha negado a hacer. Lo que sí se puede decir con precisión es qué parte del trabajo es específica de esta firma y qué parte no lo es.

Lo que transfiere íntegro

  • El método de las siete fases y sus cinco reglas. No dependen del sector ni del tamaño. Dependen de que exista una operación real que observar.
  • La auditoría de dato previa a cualquier construcción. Es el entregable que más ha cambiado decisiones en este proyecto, y el que menos empresas piden porque no saben que existe. Vale por sí sola aunque después no se construya nada.
  • Los patrones de automatización. Escuchar la tabla destino y no el origen. Claves deterministas que un reproceso no duplica. Agrupar por persona en vez de deduplicar por correo. Variar el asunto en una secuencia de recordatorios. Convertir la regla de negocio en una prueba. Todos son independientes de la herramienta.
  • La disciplina de decir lo que no se sabe. Es la parte que más incomoda en una propuesta comercial y la que más rápido se agradece a los tres meses.

Lo que no transfiere, y hay que rehacer

  • El modelo de datos concreto. Ocho tablas que sirven a un despacho contable no sirven a una distribuidora ni a una clínica. Lo que se reutiliza es el criterio de modelado, no el esquema.
  • Los catálogos, los estados y las etapas del pipeline. Salen del negocio de cada firma; copiarlos es el error clásico que hace que nadie adopte el sistema.
  • El diagnóstico. Los hallazgos de este proyecto —el 83 %, los 403 nombres, la exposición de datos— son de esta empresa. Otra tendrá los suyos, y no se parecerán.
  • Las cifras de este informe. Ninguna es una promesa. Son el resultado de un caso, con su punto de partida y sus restricciones.

El coste y la postura de plataforma

La elección de herramientas de este proyecto no fue ideológica: se optó por plataformas de bajo código sobre infraestructura que la empresa ya pagaba, con la automatización en una instancia propia en la nube. Dos consecuencias que sí son generalizables:

  • La infraestructura queda en manos de la empresa, no del proveedor. Las credenciales están a nombre corporativo y las automatizaciones, con sus respaldos y su documentación, viven en un repositorio de la empresa. Si mañana cambia el proveedor de servicio, no se pierde el trabajo.
  • El mantenimiento no exige perfil técnico para lo habitual. Dar acceso a alguien nuevo es escribir su departamento en una hoja. Ampliar un catálogo o añadir una columna se le pide al agente configurador en lenguaje natural. Eso es deliberado: un sistema que solo puede tocar quien lo construyó es un sistema que se abandona.
Sobre el ahorro de licencias

En este caso existe una comparación de precios de lista que apunta a unos 8.500 dólares anuales de ahorro potencial en licenciamiento. No se reclama como resultado: procede de precios publicados por terceros, está sujeto a confirmación con cada proveedor y depende de una decisión que la firma aún no ha tomado. Cualquier propuesta que convierta una cifra así en una promesa está vendiendo algo que no ha medido.

Qué hace falta del lado del cliente

Condiciones sin las cuales este método no produce resultado
CondiciónPor qué es condición y no preferencia
Alguien que decidaEl método tiene tres altos que solo puede resolver el cliente: qué se considera cierto, qué entra en el alcance y qué se enciende. En este proyecto, la posición estratégica cambió tres veces en veinticuatro días — y cada cambio implicaba un plan de trabajo distinto.
Acceso real a los sistemasTodo lo medible de este informe se midió consultando los sistemas vivos. Sin acceso, el diagnóstico se convierte en una encuesta de opinión y el resultado es un documento bonito e inútil.
Una persona dueña del datoAlguien de la operación —no de sistemas— que pueda responder «esto es un cliente distinto» o «ese campo no lo rellena nadie». Las 403 filas que resultaron ser 170 clientes no se resuelven con un algoritmo; se resuelven caso por caso con quien conoce el negocio.
Voluntad de oír el hallazgo incómodoEl hallazgo de seguridad de este proyecto se reportó el día 5 y sigue abierto el día 42. Un diagnóstico serio va a encontrar cosas que nadie quería encontrar; si la respuesta es archivarlas, el valor del diagnóstico es cero.

Señales de que una empresa es candidata

Por orden de lo que más se repite en operaciones parecidas a la de este caso:

  1. La información del cliente vive en varios sitios a la vez y nadie sabe cuál es el bueno.
  2. Hay un sistema comprado que casi nadie usa, y la conversación gira en torno a cambiarlo por otro.
  3. Hay trabajo de calendario —pedir lo mismo a los mismos clientes todos los meses— que se hace a mano.
  4. Nadie puede responder «¿en qué estado está cada cliente?» sin abrir documentos de uno en uno.
  5. Los datos sensibles circulan por correo personal y hojas compartidas, y nadie ha mirado cuántos hay.

Las cinco estaban presentes en este caso. Las cinco son observables en una primera conversación, sin acceso a nada.

La propuesta, en una frase

Primero se audita la operación y el dato, y se entrega un diagnóstico con cifras verificables aunque después no se construya nada. Si hay que construir, se construye lo mínimo que resuelve el trabajo repetitivo real, sobre infraestructura de la propia empresa, con el mantenimiento en manos de su equipo. Y se informa separando siempre lo medido de lo esperado.

Lo que este documento no promete

No promete un plazo: veinticinco días fueron posibles aquí por decisiones concretas —recortar de 25 tablas a 7, cargar contra lo que ya existía— que en otra empresa pueden no darse. No promete un retorno de inversión, porque en este proyecto no se midió la línea base y cualquier cifra sería inventada. No promete adopción: al cierre, este sistema tiene los maestros llenos y las transacciones en cero, y eso está escrito en la primera página. Lo que sí se sostiene es el método, el inventario verificable de lo entregado, y la disciplina de no afirmar lo que no se ha medido.

A

Anexos técnicos

Referencia para quien continúe el trabajo.

Referencia

A1 · Convenciones del modelo de datos

ElementoConvenciónNota
Clave de cuentaCTA-#### secuencialContigua, sin huecos, nunca se reutiliza
Clave de contactoCON-####Reconstruida con la misma regla de orden que las cuentas
Clave de personaUSR-####Un hueco por baja durante el proyecto
Clave de trato y tareaHash de 8 caracteresUn identificador resultó ser todo dígitos y la hoja lo guarda como número; funciona porque ambos lados coinciden
Clave de lead del formularioPrefijo alfabético + marca temporal en base 36Determinista y no numérica a propósito
FechasFormato local de día/mes/año en la hojaLa importación exige activar la conversión de texto a fechas
Selección múltipleSeparada por coma sin espacioEl formulario une con coma y espacio: el flujo normaliza
Separador decimalComaPegar un punto decimal guarda el valor como texto y las consultas lo devuelven vacío

A2 · Expresión de permisos, forma canónica

IFS(
  IN(USEREMAIL(), SELECT(Usuarios[Email_Workspace],
      OR(STARTSWITH([Departamento],"Direcci"), [Departamento]="Operaciones"))), "ALL_CHANGES",
  IN(USEREMAIL(), SELECT(Usuarios[Email_Workspace], [Departamento]="<departamento>")), "ADDS_ONLY",
  TRUE, "READ_ONLY")

Valores admitidos: ALL_CHANGES · ADDS_AND_UPDATES · ADDS_ONLY · UPDATES_ONLY · DELETES_ONLY · UPDATES_AND_DELETES · ADDS_AND_DELETES · READ_ONLY. La comparación por prefijo evita depender de teclear tildes correctamente desde automatización.

A3 · Expresión de obligatoriedad condicional

Required_If:  CONTEXT("ViewType") = "Form"

Hace que un campo sea obligatorio solo en el alta manual, permitiendo que un bot escriba sin él. Fue la clave para que la conversión automática de lead funcionara sin degradar la calidad del alta humana.

A4 · Procedimiento tras borrar filas de una hoja vigilada

  1. Desactivar el flujo que la vigila.
  2. Borrar las filas.
  3. Contar las filas reales sobre una columna siempre poblada — contar sobre una columna opcional devuelve menos, y contar líneas de un volcado falla porque los campos de texto llevan saltos de línea.
  4. Ajustar el contador del disparador por API.
  5. Reactivar. Si el flujo envía comunicaciones, hacerlo con el nodo de envío deshabilitado durante un ciclo, comprobar cero ejecuciones, y solo entonces rehabilitarlo.

A5 · Reglas de gobierno del dato adoptadas

  • Una sola fuente de verdad por dato. Si está en dos sitios, uno está mal y nadie sabe cuál.
  • Ninguna hoja de cálculo paralela «para llevar una cosita aparte». Así nacieron las 33 pestañas.
  • Nunca borrar ni renombrar un registro maestro: desactivarlo. Al salir una persona se renombró la columna que llevaba su nombre y se perdió el histórico de 56 clientes.
  • Cualquier script mapea por nombre de encabezado leído en vivo, nunca por posición fija.
  • Sanear el texto libre en toda migración, no solo omitir los campos etiquetados como sensibles.
  • Antes de regenerar un esquema, anotar el tipo y la tabla origen de todas las columnas de referencia, y verificarlas una por una después.

A6 · Estado de las fuentes al cierre

FuenteEstadoNota
Especificación técnica (11 pestañas)Leída íntegraFuente principal de las secciones 4, 9, 11, 13 y 18
Documento maestro de arquitecturaLeído íntegroFuente de las secciones 3, 9, 10 y 12
Auditoría de gobernanza de datosLeída íntegraSecciones 5 y 6
Diagnóstico general de la base (etapa 1/9)Leído íntegroVolumetría de la sección 5
Tres actas de reuniónNotas leídasTranscripciones completas no revisadas en detalle
Sistemas vivos (datos, aplicación, automatización)Medidos 01·09Consultados directamente, no tomados de notas
Material publicado sobre el pipelineNo accesibleSi contiene análisis adicional, no está incorporado