Migrar datos de Excel a un CMMS: limpieza, mapeo, carga piloto y validación
Cómo pasar activos, repuestos y preventivos de la planilla al CMMS: perfilado, limpieza, hoja de mapeo, carga piloto y validación con criterios de aceptación.
El proveedor pidió “el Excel de activos”. Lo que sale del servidor de la planta son tres archivos: uno con 1.400 filas donde la columna EQUIPO se escribió a mano libre durante seis años, otro con los preventivos que armó un jefe de mantenimiento que ya no está en la empresa, y un tercero de repuestos donde el mismo rodamiento aparece con cuatro descripciones distintas según quién lo cargó. Nadie sabe si ese material está en condiciones de cargarse, ni cómo se comprobaría que quedó bien.
Migrar datos de Excel a un CMMS no consiste en exportar e importar. Son seis trabajos encadenados —definir el alcance, perfilar, limpiar, mapear, cargar un piloto y validar— y el que determina la calidad del resultado es el mapeo, no la herramienta de importación. Este artículo recorre esos seis pasos con los criterios de decisión de cada uno.
La carga se define en la hoja de mapeo. El botón de importar solo ejecuta lo que alguien decidió antes.
Si todavía estás evaluando si conviene dejar la planilla, esa discusión está resuelta en cuándo migrar de Excel a un CMMS sin perder adopción. Si lo que falta es definir qué datos necesitás tener antes de arrancar el proyecto, el punto de partida es el checklist de datos mínimos para implementar un CMMS. Acá damos por hecho que el sistema ya está elegido y que alguien tiene que entregar un archivo cargable.
Qué incluye una migración de datos y qué no
El primer error de alcance aparece cuando se trata a todos los datos de la planilla como si fueran lo mismo. No lo son, y cada grupo se migra con reglas distintas.
| Tipo de dato | Qué incluye | Cómo se trata en la migración |
|---|---|---|
| Dato maestro | Activos, ubicaciones técnicas, repuestos, usuarios, planes preventivos, proveedores | Se migra completo y se valida campo por campo. Es lo que sostiene todo lo demás |
| Dato transaccional abierto | OT pendientes, correctivos en curso, backlog, compras iniciadas | Se migra solo lo que sigue requiriendo acción. Entra depurado, no en bloque |
| Histórico cerrado | OT ejecutadas, consumos pasados, lecturas anteriores | Se decide por activo y por utilidad. Es el único grupo donde "no migrar" suele ser la mejor opción |
La distinción tiene una consecuencia práctica inmediata: si el maestro de activos entra con duplicados, todo el dato transaccional que se cargue después queda asociado al registro equivocado. Por eso el orden no se negocia. Primero ubicaciones y activos, después repuestos y planes, y recién al final cualquier cosa que tenga fecha.
Paso 1. Congelar el alcance: qué se migra, qué se carga a mano y qué se archiva
Antes de abrir el archivo conviene cerrar una lista de decisiones por dominio. La regla que mejor filtra es simple: si nadie va a mantener ese dato actualizado dentro de seis meses, no entra al sistema.
| Dominio | Decisión habitual | Criterio |
|---|---|---|
| Activos en servicio | Migrar | Base de todo el sistema. Entra el 100 %, aunque con campos incompletos marcados |
| Activos de baja, vendidos o desguazados | No migrar | Ensucian búsquedas y selectores de OT durante años |
| Componentes por debajo del activo mantenible | Evaluar | Solo si hay repuestos, preventivos o fallas que se registran a ese nivel |
| Ubicaciones técnicas | Migrar | Deben existir antes que los activos, porque los activos cuelgan de ellas |
| Repuestos críticos y de preventivo | Migrar | Son los que se van a imputar a OT desde la primera semana |
| Consumibles de bajo valor | Cargar a mano o postergar | Si el stock real no está contado, migrar el saldo del Excel solo formaliza un número falso |
| Planes preventivos vigentes | Migrar | Hay que confirmar vigencia uno por uno: en planillas viejas conviven planes que nadie ejecuta |
| OT abiertas | Migrar depurado | El criterio de depuración está en la guía de implementación por fases |
| Histórico de OT cerradas | Decidir por activo | Ver la sección de historial más abajo |
| Adjuntos y fotos | Selectivo | Manuales y planos de activos críticos sí. Fotos de WhatsApp sueltas, no |
Esta tabla se llena una sola vez, se firma y deja de discutirse. Cada vez que el alcance se reabre en mitad de la limpieza, el trabajo hecho hasta ahí pierde validez.
Paso 2. Perfilar la planilla antes de tocar un dato
Perfilar es medir el estado del archivo antes de modificarlo. Se hace con Excel, sin herramientas adicionales, y toma menos de una jornada por solapa. La salida no es una opinión sobre la calidad del archivo: es una cuenta.
El resultado de estos seis chequeos es lo que permite estimar el trabajo real. Un maestro de 1.400 filas con 12 % de TAG vacíos y 180 duplicados semánticos no se limpia en una tarde, y saberlo antes de comprometer una fecha de go-live evita la conversación incómoda tres semanas después.
Paso 3. Limpieza: qué duplicado gana y qué se hace con lo que falta
La limpieza tiene dos decisiones que nadie explica y son las que traban el trabajo.
Qué registro gana cuando hay duplicados. La respuesta intuitiva es “el más completo”, y suele ser la equivocada. Si de las tres variantes de la bomba centrífuga una tiene diez OT históricas asociadas y otra tiene la ficha técnica cargada, conviene quedarse con la que arrastra el historial y completarle los campos técnicos desde la otra. Elegir al revés obliga a reasignar registros después, cuando ya están cargados. Criterio práctico: gana el registro con más vínculos, no con más campos.
Qué se hace con un campo obligatorio vacío. Acá hay una sola regla que no admite excepción: no se inventa. Si 200 activos no tienen criticidad asignada, hay tres salidas legítimas —relevarla antes de cargar, cargar un valor por defecto dejando una marca visible de “criticidad sin revisar”, o postergar esos activos a una segunda tanda— y ninguna consiste en que alguien complete la columna a ojo un viernes a la tarde. Una criticidad inventada no se nota en la carga: se nota seis meses después, cuando el plan preventivo se construyó sobre ella. Los criterios para asignarla están desarrollados en el checklist de datos mínimos.
La normalización de nombres y códigos merece una aclaración de alcance. Si la nomenclatura todavía no está definida, la limpieza no puede empezar, porque no hay contra qué normalizar. Lo mismo con las ubicaciones: el destino de la columna SECTOR es una posición dentro de una jerarquía que ya tiene que existir, con los criterios del árbol de activos industriales. Si la planta ya trabaja con una taxonomía de equipos alineada con ISO 14224, ese es el destino natural del mapeo y ahorra la discusión sobre familias de equipos.
Una advertencia sobre cuándo parar. La limpieza no termina cuando el archivo está perfecto, porque no va a estarlo. Termina cuando todos los campos obligatorios están resueltos o marcados, y los duplicados de activos y repuestos están fusionados. Los campos opcionales incompletos se completan en operación; los duplicados, no.
Paso 4. La hoja de mapeo: columna de origen, campo destino, regla
Este es el entregable central de la migración y el que casi nunca se produce. Es una tabla donde cada columna del Excel tiene asignado un campo del CMMS, una regla de transformación y un responsable. Se arma antes de la primera importación y la firman juntos mantenimiento y quien ejecute la carga.
| Dominio | Columna de origen | Campo destino | Obl. | Regla de transformación |
|---|---|---|---|---|
| Activo | EQUIPO (texto libre) | Nombre del activo | Sí | Normalizar a tipo + identificador: "bomba centrifuga 2 sala bombas" → "Bomba centrífuga P-102" |
| Activo | N° INTERNO | TAG / código | Sí | Usar el TAG de planta si existe. Si no, generar según la nomenclatura definida. No reutilizar códigos de activos dados de baja |
| Activo | SECTOR | Ubicación técnica | Sí | Mapear contra el árbol definido. Los valores sin correspondencia van a una lista de revisión manual, no a "Sin ubicación" |
| Activo | IMPORTANCIA (alta/media/baja) | Criticidad | Sí | alta→A, media→B, baja→C. Vacío → C más marca "criticidad sin revisar" |
| Activo | — sin origen — | Fabricante, modelo, n° de serie | No | Campo destino sin columna de origen: se carga vacío y se completa en relevamiento posterior |
| Activo | ESTADO ("baja", "vendido") | — sin destino — | — | Columna de origen sin campo destino: se usa como filtro para excluir filas antes de cargar |
| Repuesto | DESCRIPCION | Descripción | Sí | Deduplicar por descripción normalizada más código de fabricante. El código manda sobre la descripción |
| Repuesto | UM ("u", "un", "pza", "m") | Unidad de medida | Sí | Tabla de equivalencias cerrada. Un valor no previsto frena la carga en vez de pasar como texto |
| Preventivo | FRECUENCIA | Frecuencia y tipo de disparador | Sí | Calendario → días. Horómetro → unidad de uso. Los planes con disparador mixto se separan en dos |
| Preventivo | RESPONSABLE (nombre y apellido) | Usuario asignado | No | Mapear contra el maestro de usuarios. Sin correspondencia → rol genérico, nunca un usuario de otra persona |
| OT histórica | OBSERVACIONES | Descripción del trabajo | No | No se parsea ni se interpreta. Se migra tal cual con la marca de origen "planilla" |
Las dos filas destacadas son las que revelan si el mapeo está bien hecho. Un campo destino obligatorio sin columna de origen significa que hay relevamiento pendiente en planta, y conviene saberlo antes de comprometer una fecha. Una columna de origen sin campo destino puede ser información descartable —o puede ser el filtro que evita cargar 90 equipos que ya no existen—.
Reglas de transformación frecuentes en mantenimiento
Estas seis conversiones aparecen en prácticamente todas las planillas de mantenimiento y conviene resolverlas en el archivo de origen, no durante la importación.
| Lo que hay en la planilla | Qué rompe | Regla |
|---|---|---|
Fechas como 15/03/22, 15-mar y 44635 en la misma columna | La carga interpreta mal el año o rechaza la fila | Convertir todo a un formato único en origen y validar que ninguna fecha caiga fuera de un rango razonable |
| "mensual", "cada 2 meses", "500 h", "semestral o 1000 h" | Mezcla disparadores de calendario con disparadores de uso | Separar en dos columnas: tipo de disparador y valor numérico. Los planes mixtos se desdoblan |
| "crítico", "importante", "normal", "ninguna" | No hay escala; los valores se solapan entre sí | Definir la escala primero y mapear cada texto a un nivel. Lo que no encaje va a revisión |
| "cerrado", "OK", "listo", "hecho", "terminado" | Cinco etiquetas para el mismo estado del flujo | Mapear contra los estados reales del flujo de órdenes de trabajo ya configurado |
| "u", "un", "pza", "unid", "c/u" | El mismo repuesto queda con cuatro unidades distintas y el stock no suma | Tabla de equivalencias cerrada, con rechazo explícito de lo no previsto |
| Horómetros con y sin separador de miles, o en formato texto | Las frecuencias por uso se disparan a destiempo | Forzar tipo numérico y verificar que la lectura inicial sea coherente con la fecha de instalación |
Las frecuencias merecen una revisión de fondo más allá del formato: una migración es un buen momento para confirmar que los planes que se están cargando siguen teniendo sentido, con los criterios de un plan de mantenimiento preventivo. Migrar un preventivo vencido hace tres años solo lo hace visible en una pantalla nueva.
Dejá tu email y te mandamos la plantilla con las columnas de origen, campo destino, obligatoriedad, regla de transformación y responsable, prellenada con el mapeo típico de activos, repuestos y preventivos.
Al enviar tu email aceptás nuestra Política de Privacidad.
Paso 5. Carga piloto: qué subconjunto elegir y qué mirar
El piloto de datos no es lo mismo que el piloto operativo del proyecto. El piloto operativo elige un área de la planta para arrancar a trabajar; el piloto de datos elige un subconjunto para comprobar que el mapeo funciona, y puede correrse semanas antes.
La composición importa más que el volumen. Un subconjunto útil incluye una familia de equipos con su jerarquía completa hasta el nivel que se decidió mantener, sus repuestos asociados, al menos un plan preventivo con disparador de calendario y otro con disparador por uso, y algún activo de los “difíciles”: el que tiene el nombre más sucio, el que no tiene TAG, el que está duplicado. Cargar los primeros 300 registros de la solapa no prueba nada, porque comparten los mismos defectos entre sí.
Cada error encontrado en el piloto se corrige en la hoja de mapeo, no en el archivo cargado. Corregir a mano el registro cargado deja el error intacto para la tanda completa.
Paso 6. Validar la carga: cómo se comprueba y cuándo se acepta
Esta es la parte que más se saltea y la que decide si el sistema arranca con datos confiables. Validar no es “mirar si se ve bien”. Son tres comprobaciones con criterios de aceptación definidos de antemano.
Filas en el archivo de origen = registros cargados + registros rechazados + filas excluidas a propósito. La ecuación tiene que cerrar exacta. Si sobran o faltan doce registros, se explican esos doce uno por uno; no se acepta una diferencia porcentual pequeña como tolerancia, porque justamente los registros que se pierden en silencio suelen ser los que tenían algo raro.
Se revisan campo por campo todos los activos de criticidad alta y una muestra de los demás. El muestreo aleatorio es estadísticamente correcto y operativamente inútil: si el error cae en un activo C nadie lo nota, y si cae en el compresor de la sala de máquinas se nota el primer día.
Crear una OT correctiva sobre un activo migrado, lanzar un preventivo cargado desde la planilla, imputar un repuesto de los migrados a esa OT y cerrarla. Después buscar el activo por TAG, verlo en su posición del árbol y confirmar que la intervención aparece en su historial. Si alguna de esas operaciones obliga a editar el dato migrado para poder completarse, el dato no está validado.
| Nivel | Qué comprueba | Criterio de aceptación |
|---|---|---|
| Conciliación | Que no se perdió ni se duplicó nada | La ecuación cierra exacta y cada rechazo tiene motivo identificado |
| Muestreo dirigido | Que el contenido de cada campo es correcto | Todos los activos de criticidad alta revisados campo por campo, sin excepción ni muestreo. Para el resto, una muestra que cubra cada familia de equipos y cada regla de transformación aplicada |
| Prueba funcional | Que el dato sirve para operar, no solo para verse | Las cuatro operaciones se completan sin editar el registro migrado |
Qué hacer con el historial de la planilla
Diez años de OT en Excel no se migran ni se tiran: se clasifican. Hay tres destinos posibles y la elección depende de para qué se va a usar el dato, no de cuánto cuesta cargarlo.
| Destino | Cuándo conviene | Qué queda disponible |
|---|---|---|
| Migrar registro por registro | Activos críticos con fallas recurrentes donde el patrón importa para decidir | Historial consultable y analizable dentro del sistema |
| Resumir por activo | Activos donde interesa la fecha de las últimas intervenciones mayores, no el detalle | Una nota o un registro de resumen en la ficha del activo |
| Archivar fuera del sistema | Histórico voluminoso, incompleto o con activos que ya no existen | El archivo original accesible para consulta puntual, sin ensuciar reportes |
Cualquier cosa que se migre necesita quedar marcada con su origen. El motivo es concreto: el MTBF y el cumplimiento del preventivo del primer trimestre van a mezclar registros cargados a mano desde una planilla —con fechas aproximadas y duraciones estimadas— con registros capturados en campo al cerrar la OT. Si el tablero no permite separar unos de otros, el primer análisis de indicadores de mantenimiento va a estar describiendo la calidad de la planilla vieja en lugar de la operación actual. Con una marca de origen, esa distorsión se filtra; sin ella, se discute en una reunión.
De acá en adelante el criterio cambia: lo que se registra en cada intervención nueva ya no depende de qué había en el Excel, sino de lo que el equipo defina como historial técnico útil por activo.
El delta: qué pasa entre la foto de datos y el arranque
Entre el día que se exporta el archivo y el día que el sistema abre pasan semanas. En esas semanas la planta sigue funcionando: se dan de alta dos equipos, se cambia la ubicación de otro, se cierran cuarenta OT en la planilla vieja. Ese diferencial es el delta, y si nadie lo administra reaparece como inconsistencias el primer mes.
Una copia del archivo exactamente como se exportó, con fecha y hora, sin limpiar. Es contra ese archivo que se concilia la carga. Si se limpia sobre el original, la conciliación pierde sentido.
Una solapa aparte donde queden las altas, bajas y modificaciones ocurridas después de la foto. No es necesario que sea sofisticado; sí que sea el único lugar donde se anotan.
Cargar esos cambios manualmente sobre los datos ya validados, y recién ahí habilitar usuarios. Aplicar el delta después de que la gente empezó a trabajar mezcla correcciones de migración con operación real y ya no se distingue el origen de cada diferencia.
La ventana de doble carga —planilla y sistema al mismo tiempo— conviene acotarla y anunciarla con fecha. Cuándo cerrar definitivamente las planillas anteriores es una decisión del arranque, tratada en la guía de implementación sin frenar la operación.
Errores de migración que se repiten en planta
| Error | Qué produce | Cómo se evita |
|---|---|---|
| Migrar el histórico completo sin marcar el origen del dato | Los KPI del primer trimestre mezclan dato de planilla con dato de campo. El tablero deja de ser creíble justo cuando hay que defender el proyecto | Campo de origen obligatorio en todo registro migrado |
| Cargar componentes hasta el último rodamiento | Jerarquía que nadie mantiene. El técnico no encuentra el activo en el selector y crea uno nuevo, que es el duplicado que se quería evitar | Definir el nivel mantenible antes del mapeo y respetarlo |
| Dejar la deduplicación para "cuando esté cargado" | Los duplicados ya acumularon OT y consumos. Unificarlos deja de ser un borrado y pasa a ser una reasignación de historial | Fusionar en el archivo de origen, antes de la primera carga |
| Importar sin fijar la codificación de caracteres | Eñes, acentos y el símbolo de grado rotos en miles de registros. Se detecta semanas después, en un reporte para gerencia | Fijar UTF-8 y verificarlo en el piloto |
| No conservar el archivo de origen tal como se exportó | No hay contra qué conciliar. La validación pierde su primer nivel | Copia congelada con fecha antes de empezar a limpiar |
| Mapear el responsable del preventivo a una persona en vez de a un rol | Cuando esa persona cambia de puesto, quedan planes preventivos sin dueño visible | Asignar a rol y derivar la persona desde la asignación diaria |
Después de la carga: que el desorden no vuelva
Una migración limpia se degrada en seis meses si nada impide que vuelvan los duplicados. Cuatro decisiones, tomadas en la misma semana del arranque, sostienen el trabajo: que solo un rol pueda dar de alta activos y repuestos, que el alta pida los campos obligatorios en vez de permitir guardar incompletos, que exista una revisión periódica de altas recientes, y que cada dominio de datos tenga una persona responsable de su calidad.
El régimen permanente de reglas, catálogos y validaciones es un tema propio y excede a la migración. Lo que sí pertenece al cierre del proyecto es que esas cuatro definiciones queden asignadas antes de que el equipo empiece a usar el sistema todos los días, porque después compiten con la operación. La disciplina de carga tiene su propia dinámica, tratada en adopción del CMMS en el equipo técnico.
Una migración se puede dar por cerrada cuando se cumplen cuatro condiciones: la hoja de mapeo está completa y firmada, la conciliación de conteos cierra, los activos críticos están revisados campo por campo y la prueba funcional se completó sin tocar el dato migrado. Si alguna falta, lo que hay es un archivo cargado, no un maestro validado.
El reparto de trabajo también conviene dejarlo explícito antes de empezar. Las decisiones son del cliente —alcance, criticidad, nomenclatura, qué duplicado gana, qué histórico entra— porque esa información no está en el archivo y no hay forma de deducirla desde afuera. La ejecución —transformación, carga, reporte de rechazos, conciliación— es donde un equipo de implementación ahorra semanas. Confundir los dos lados es lo que produce maestros cargados que técnicamente funcionan y que nadie usa.
Revisamos tu maestro de activos
Mandanos el archivo que pensás cargar y te devolvemos el perfilado: duplicados, campos obligatorios vacíos y qué habría que resolver antes de importar.