Un cliente nos escribió esta semana con una queja simple: "no están los socios que se anotaron en el día — no dice los nombres en la caja". Estaba mirando el cierre del día en su panel de Caja, esperando ver una lista clara de qué alumnos nuevos había entrado, y solo veía movimientos: "Pago membresía — Hernando Silvana, $35.000", "Pago membresía — Esquenazi Mateo, $33.000", y así doce filas. Plata sí, contexto no. La pregunta operativa que él tenía no era ¿cuánto entró? sino ¿quién es nuevo y quién vino a renovar?. Y la caja, por buena que esté, no responde esa pregunta.

Lo que ese mensaje destapó es una distinción que la mayoría de los reportes de gimnasio mezcla por defecto, y que mezclada esconde señales importantes del negocio. Esta semana shipeamos dos paneles separados — Altas del día y Renovaciones del día — y vale la pena explicar por qué los hicimos como dos cosas distintas en lugar de un único reporte de "actividad del día".

La caja te dice cuánto entró, no quién entró

Una caja de gym cumple una función contable: registrar cada movimiento de plata, atado a un cajero, un medio de pago y un turno. Es la fuente de verdad para el arqueo. Pero esa función contable, llevada al extremo, hace que el reporte diario sea una lista de movimientos, no una lista de actividad.

Tres cosas se pierden en esa traducción:

El cliente nuestro no estaba pidiendo "más datos". Estaba pidiendo menos ruido contable y más contexto operativo. La caja resuelve un problema (el del contador, el del arqueo del cajero) y deja otro intacto (el del dueño que cierra el día y se pregunta cómo le fue).

Alta y renovación: dos señales del negocio, no una

Vale la pena detenerse en por qué separar altas de renovaciones cambia lo que ves. Mirá la diferencia con dos números reales:

Un gimnasio cierra el viernes con 15 cobros del día por $500.000 en total. Linda jornada. Pero ese mismo gimnasio en realidad tuvo 2 altas y 13 renovaciones. La señal real es: "el padrón existente está pagando bien, pero estamos captando casi nada". Si el viernes anterior fue 10 altas y 5 renovaciones con la misma plata total, la lectura es totalmente distinta — captamos mucho pero el padrón viejo está fugándose.

El total de caja es idéntico. Las decisiones que tenés que tomar son opuestas:

Estos cuatro cuadrantes no se ven en un total de caja. Recién aparecen cuando separás los dos números.

Cómo quedó implementado en GymFlow

En el menú de CRM ahora hay dos entradas independientes:

Altas del día

Lista los alumnos cuyo created_at cae en el rango de fechas que elijas. Default: hoy. Cada fila muestra nombre, DNI, teléfono, plan asignado, monto a pagar, cobrado, pendiente, cajero, hora del alta y estado de pago. Aparecen también los altas que no pagaron todavía — porque siguen siendo altas, aunque no hayan tocado caja.

Stats arriba: total de altas, cuántas tienen plan asignado, cuánto se cobró en caja por esas altas, y cuánto saldo queda pendiente. Filtros rápidos por rango (Hoy / Ayer / 7 días / 30 días / personalizado) y por sede en gimnasios multi-sede.

Renovaciones del día

Pivota sobre member_memberships: lista las membresías creadas en el rango cuyo alumno ya tenía membresías previas. Es decir, no son alumnos nuevos — vinieron a sumar otra cuota. Mismas columnas que altas más una clave: "Vence" con el nuevo vencimiento y, debajo, el vencimiento previo, para que veas de qué fecha venía la membresía cuando se renovó (¿se renovó cinco días antes? ¿el día siguiente del vencimiento? ¿con quince días de mora?).

Stats: total de renovaciones, cuántas se pagaron en el momento, cuánto se cobró, cuánto queda pendiente.

Lo que el panel de Renovaciones te muestra y la caja no

El panel de renovaciones tiene un detalle que parece menor y es central: la columna "Vence" con el dato del vencimiento previo. Eso te permite leer, fila por fila, cómo está renovando cada socio:

Tres patrones que la caja no separa, porque para la caja todos son "+$33.000 — Pago membresía". El reporte de renovaciones los muestra alineados, y al cabo de una semana tenés idea de cómo se está comportando tu padrón sin tener que entrar a cada ficha individual.

El alta sin pago no es un problema de caja, es un punto comercial

El otro caso que el panel de Altas resuelve es el alumno nuevo que no pagó todavía. Esa persona no aparece en caja porque la caja registra plata, no contactos. Pero comercialmente es un caso especial — alguien dijo "sí, me anoto", eligió plan, dejó datos, y todavía no efectivizó. Si nadie hace seguimiento, en una semana ese alumno se "olvidó" o se metió en otro gym.

El panel de Altas los lista con estado "Pendiente" y muestra el saldo. El cajero o el dueño abre el panel a la noche, ve los dos o tres altas pendientes del día, y decide: ¿les escribo por WhatsApp? ¿espero hasta mañana? ¿les ofrezco un descuento si pagan en 24 hs? Esa decisión simplemente no existía antes, porque esos alumnos eran invisibles fuera del padrón general.

Exportar a Excel: porque el dueño igual quiere su Excel

Ambos paneles tienen botón "Exportar CSV" (con BOM UTF-8 para que Excel respete los acentos, y con punto y coma de separador para que las columnas se abran solas en regional español). Reservado a admin — el staff/cajero puede consultar pero no puede llevarse el padrón a otro sistema.

El CSV de Renovaciones agrega una columna que el de Altas no tiene: "Vencimiento previo". Para que cuando el dueño abre la planilla en Excel y arma una pivot, pueda ver — sin tocar el sistema — qué proporción de renovaciones llegan antes del vencimiento, cuántas con mora, y la mora promedio. Métricas que valen oro y que casi ningún gym mide hoy porque hace falta cruzar dos planillas a mano.

Por qué dos paneles y no uno con tabs

La discusión interna fue exactamente esa: "hagamos un solo panel con dos pestañas". No lo hicimos por una razón de uso real: las personas que entran a "ver los altas" rara vez son las mismas que entran a "ver las renovaciones". Las altas las quiere ver el dueño y el comercial — para entender captación. Las renovaciones las quiere ver el dueño y el cajero — para detectar mora y rezagados.

Dos entradas distintas en el sidebar significan dos accesos rápidos, dos URL bookmarkables, dos shortcuts. Si fuera un solo panel con tabs, vos como cajero tendrías que entrar y hacer un click más todos los días para llegar a tu vista. Pequeña fricción, repetida diaria, suma. Mejor dos puertas.

El total de caja te dice cuánto entró. Saber cuánto fue alta y cuánto fue renovación te dice cómo te fue.

Lo que sigue

Estos dos paneles son la versión 1 de algo más amplio. El roadmap natural:

Todo eso se construye sobre la base de tener altas y renovaciones bien separadas en la fuente de datos. Que parece un detalle de UX y termina siendo el cimiento del análisis comercial del gym.

Reportes que te dicen cómo fue, no solo cuánto entró

Altas, renovaciones, deudores, retención, asistencia — métricas que separan las decisiones operativas de las comerciales. Probá GymFlow 30 días gratis, sin tarjeta de crédito.

Probar gratis 30 días →

Artículos relacionados