El motivo número uno por el que un dueño de gym sigue usando un software que no le gusta no es el precio, ni la curva de aprendizaje, ni siquiera la inercia. Es el miedo a romper la base de socios. "Tengo 300 alumnos cargados con sus paquetes y vencimientos. Si me equivoco al pasarlos, los pierdo a todos." Esa frase la escuchamos cada semana, y es completamente razonable.
En las últimas semanas vinieron varios gimnasios desde dos de los sistemas más usados del mercado argentino — Crossfy y Mynter — y todos hicieron la misma pregunta: ¿cómo paso mi base sin que algo se rompa? Vale la pena escribir cómo lo hacemos en GymFlow, porque la respuesta corta es "importa un Excel y lo previsualizás antes de ejecutar", pero la respuesta larga incluye varias decisiones de diseño que hacen que esa frase sea cierta y no marketing.
Lo que un export de Crossfy o Mynter trae (y lo que falta)
Cuando le pedís a Crossfy o a Mynter el listado de tus socios, lo que recibís es un Excel (.xlsx) con estructura propia de cada sistema. No es un export estandarizado — cada uno acomoda los datos a su manera, y eso es importante porque define el parser que tenemos que escribir.
Lo que típicamente vas a tener:
- Datos personales del socio: nombre, apellido, género, teléfono, email, DNI (a veces).
- Estado del socio: Activo, Suspendido, Pendiente — depende del sistema.
- Información del paquete vigente: fecha de vencimiento, cantidad total de clases que compró, cuántas le quedan disponibles.
- Fechas en formato Excel "serial" (números como
46150en vez de2026-05-08) — un detalle técnico que requiere conversión, y donde un parser ingenuo se equivoca.
Lo que típicamente no vas a tener:
- El nombre del plan al que está asociado cada socio. Crossfy, por ejemplo, exporta "31 clases, vence el 2026-05-08" pero no "Plan Mensual Funcional". Hay que reconstruir los planes desde la combinación de datos disponibles.
- Histórico de pagos. Lo que viene es la foto del paquete vigente, no los 18 meses de pagos anteriores.
- Histórico de asistencias. Por la misma razón.
- Fotos de perfil, fichas médicas, custom fields que cada gym configuró.
Esto no es una falla del export — es la realidad de migrar entre sistemas que no fueron diseñados para hablar entre sí. Lo que sí podemos garantizar es que la foto de hoy de tu base se traslada exacta: cada socio entra a GymFlow con los créditos que tenía, el vencimiento que tenía, y el estado en el que estaba.
El proceso, paso a paso
Lo que sigue es lo que hace un dueño (o nosotros del lado del soporte) cuando llega un Excel de Crossfy o de Mynter para importar.
1. Subida del archivo
Hay una herramienta interna en el panel de admin para subir el Excel. No es un endpoint público — solo el admin del gym (o el equipo de GymFlow con permiso de superadmin) la puede usar, y queda auditada. El archivo se guarda temporalmente en el servidor con un hash aleatorio para que pueda ser leído en el siguiente paso sin volver a subirlo.
2. Configuración del import
Antes de previsualizar, el dueño elige cómo tratar los casos especiales. Estas decisiones son importantes y las dejamos explícitas en vez de elegir por él:
- Socios con paquete vencido: ¿se importan con estado "deudor" para que después decida si renuevan, o se dan de baja directamente, o se saltean?
- Socios suspendidos en el sistema anterior: ¿entran activos, inactivos, o se saltean?
- Socios sin paquete vigente (alta sin compra todavía): ¿se crea solo el alumno sin membresía, o se saltean?
- Socios con DNI mal cargado (formato raro, letras donde no van): ¿se importan ignorando el DNI, se importa tal cual, o se saltean?
Cada una de estas decisiones tiene un default razonable, pero el dueño puede cambiarlo. La mayoría no tiene que pensar — los defaults sirven. Pero la opción está, porque cada gym tiene su propia política sobre qué considera "deudor" o "baja".
3. Preview — el paso que evita disgustos
Acá es donde la cosa se vuelve interesante. El sistema lee todo el Excel, simula el import sin tocar la base de datos, y te muestra exactamente qué va a pasar. En la pantalla de preview vas a ver:
- Cuántos socios va a crear con membresía completa, cuántos solo como ficha de alumno (sin paquete), cuántos saltea por cada motivo.
- La lista de planes que va a crear o reutilizar, derivados de las cantidades de clases que aparecen en tu Excel. Por ejemplo, si tu base tiene paquetes de 31, 35 y 105 clases, vas a ver tres planes: "Crossfy 31 clases", "Crossfy 35 clases", "Crossfy 105 clases", con el contador de socios que usa cada uno.
- Las primeras 30 filas del Excel ya transformadas: nombre normalizado, email validado, teléfono limpio, fechas convertidas a formato ISO, estado mapeado al estado de GymFlow.
- Si hay DNIs con formato raro, una tabla aparte para que los revises a mano antes de seguir.
El preview no escribe absolutamente nada en la base. Si algo te llama la atención — por ejemplo "¿por qué estos 8 socios aparecen como deudores si yo creía que renovaron?" — volvés al paso 1, ajustás la opción correspondiente, y volvés a previsualizar. Tantas veces como quieras.
4. Ejecución dentro de una transacción
Cuando confirmás la importación, todo lo que va a pasar — crear los planes, crear los alumnos, asociar las membresías, registrar la auditoría — corre dentro de una única transacción de base de datos. Esto significa una cosa muy concreta: si algo falla a mitad del proceso (un dato corrupto en la fila 187, una restricción de la base que no se cumple, lo que sea), el sistema hace rollback automático. O entra todo, o no entra nada. Nunca te queda una base "a medio importar" con 156 socios cargados y 44 perdidos en el limbo.
En la práctica, para una base de 200 socios el proceso completo (subir, previsualizar, ejecutar) tarda menos de 5 minutos. Para 1.000 socios, menos de 15.
El detalle técnico: cómo derivamos los planes
Esta es la parte más interesante de la importación de Crossfy, y vale la pena explicarla porque es donde la mayoría de las migraciones se rompen.
Crossfy no exporta el nombre del plan al que está asociado cada socio. Solo exporta la cantidad de clases del paquete que compró. Entonces, si Juan compró un paquete de 31 clases y María uno de 35, tenemos que reconstruir los planes a partir de ese dato.
Lo que hace el importer es agrupar a todos los socios por cantidad de clases y crear un plan único por cada grupo, con un nombre derivado: "Crossfy 31 clases", "Crossfy 35 clases", etc. Si en el futuro importás otra tanda y un socio tiene un paquete de 31 clases, se va a usar el mismo plan ya creado — no se duplica.
El precio del plan queda en cero por default, porque el Excel no lo trae. Esto es a propósito: el dueño edita los precios de los planes después de importar, una sola vez, y queda corrigiéndose para todas las próximas ventas. Asumir un precio inventado sería peor que dejarlo en cero — un cero llama la atención y se corrige; un precio incorrecto se naturaliza y se cobra mal durante meses.
Lo que importamos siempre, lo que importamos a veces, lo que no importamos
Para que no haya sorpresas, vale la pena hacer la lista explícita.
Siempre se importa:
- Nombre y apellido (concatenados y normalizados a Title Case).
- Email (validado — si está mal escrito se descarta y queda vacío).
- Teléfono (limpio de espacios, paréntesis y guiones).
- Estado vigente del paquete: activo, deudor o pendiente.
- Cantidad de clases totales del paquete y cuántas le quedan disponibles.
- Fecha de inicio y fecha de vencimiento del paquete.
Se importa si está disponible:
- DNI (en Crossfy aparece en alrededor del 10% de los casos — la mayoría no lo carga).
- Notas internas que el dueño tenga del alumno.
- Fecha de nacimiento (validada — si el sistema anterior tenía el año mal cargado, queda vacía en vez de importar un dato falso).
No se importa automáticamente (si lo querés, hablamos por separado):
- Histórico de pagos (porque el export no lo trae).
- Histórico de asistencias.
- Fotos de perfil.
- Fichas médicas o aptos físicos.
- Custom fields que el sistema anterior permitía.
El caso de la semana pasada: 200 socios en una tarde
Un gym de zona oeste vino desde Crossfy la semana pasada con 204 socios cargados. El export tenía 18 socios sin paquete activo (altas viejas que quedaron como "alumnos" en el sistema pero sin compra), 3 suspendidos, 3 pendientes, y los demás activos. Solo 22 tenían DNI cargado correctamente. Las cantidades de clases por paquete eran principalmente 31 y 35 (suma de unos 170 socios), con algunos casos sueltos de 70, 105 y un par de números raros como 1.000 y 10.000.000 (esos últimos los usaba el dueño anterior para representar "ilimitado", lo cual el preview detectó y mostró).
El proceso completo, desde que recibimos el Excel hasta que el gym estaba operando con su base completa en GymFlow, fueron tres horas — y dos y media de esas tres fueron del dueño revisando el preview, ajustando una decisión sobre los suspendidos, y verificando una muestra de 30 alumnos contra su sistema viejo. La importación en sí tardó cuatro segundos.
Por qué este enfoque y no otro
Hay dos formas de hacer una migración desde otro sistema. Una es "pasame el archivo y nosotros nos encargamos" — el equipo de soporte importa, te avisa cuando terminó, y el cliente confía. La otra es la que hacemos: "acá tenés la herramienta, vos previsualizás, vos confirmás".
Elegimos la segunda por una razón concreta: el dueño es el que sabe cómo era su base. Cuando el preview muestra "5 socios saltean por DNI raro" y el dueño los ve, reconoce que eran los que cargaron mal hace dos años cuando el sistema anterior aceptaba cualquier cosa. Cuando ve los planes derivados, dice "este de 105 clases es el cuatrimestral" y lo renombra antes de seguir. Esa información no la tiene el equipo de soporte, y mandar el archivo a una caja negra le saca al dueño la oportunidad de cazar errores que solo él puede ver.
El compromiso es: nosotros hacemos la herramienta sólida y reversible, el dueño hace el control de calidad de su propia data. Es más respetuoso del cliente y, en la práctica, más rápido.
Lo que viene
El importer de Crossfy está vivo y en uso desde esta semana. El de Mynter (que tiene un export con estructura distinta — header en otra fila, planes con nombre, fechas en formato ISO) está en cola para los próximos días, y la base es la misma: subir, previsualizar, confirmar, transacción reversible. Si venís de Mynter y querés migrar antes de que esté listo el importer dedicado, escribinos — la primera migración la hacemos siempre con soporte hands-on.
Para gimnasios que vengan de sistemas menos comunes (Mister Hawk, Sport Studio, los planillones de Excel custom de cada gym), el patrón es el mismo: hacemos un parser específico para tu formato y lo reusamos en el importer. Los formatos de export son variados pero las decisiones que hay que tomar (deudores, suspendidos, planes derivados) son las mismas.
El miedo a romper la base es el principal inhibidor de cambio en software de gimnasios. La única respuesta honesta a ese miedo es una herramienta que te muestre exactamente qué va a pasar antes de tocar nada — y que sea reversible cuando lo hace.
Lo importante
Migrar de Crossfy o Mynter a GymFlow no es un acto de fe. Es un proceso con preview previo, decisiones explícitas en cada paso, y una transacción reversible al ejecutar. La parte técnica está resuelta — la parte humana (decidir qué hacer con los deudores y los suspendidos) la dejamos en tus manos, porque es tu negocio.
Si estás considerando cambiar de sistema y la base de socios es tu principal preocupación, la respuesta corta es: la importación es la parte fácil. Lo difícil de migrar de software es decidir hacerlo. Una vez que decidís, en una tarde estás operando.
¿Tenés tu base en Crossfy, Mynter u otro sistema?
Mandanos el export y te mostramos en vivo cómo queda la importación en GymFlow — sin compromiso, sin tarjeta. Si te convence, en menos de una tarde estás operando con tu base completa.
Probar gratis 30 días →Artículos relacionados
- Gimnasio sin grilla: el modo Walk-in para gyms que no usan reservas
- Alta de alumno: el proceso completo desde el primer contacto hasta el primer entreno
- Cómo elegir software para gimnasios sin equivocarte
- Seguridad y auditoría: qué pasa cuando el dueño no estuvo presente
- Caja por usuario vs caja grupal: cómo elegir el modo que se ajusta a tu gimnasio