M Malvados Logo M
Malvados Caps

Acceso Administrativo

Introduce las credenciales para gestionar el inventario

Credenciales incorrectas. Intenta de nuevo.

Volver a la Tienda
Logo Devil

MALVADOS®

Control Panel
Ir a la Tienda

Inventario de Stock

Administrador

Ventas

Cargando...

Ingresos y Egresos

Cargando...

Stock Crítico

Cargando...

Últimas Ventas

Cargando...

Top 20 Productos Vendidos

Cargando...

Acciones Rápidas

Métodos de Pago

Sin datos

Asistencia de Hoy

Cargando...

Cierre de Caja

Cargando...

Modelos Activos 0
Stock Total Online 0
Vendidas (Histórico) 0
Exportar / Importar Inventario

Esto es solo para CORREGIR productos que ya tienes activos en tu Inventario (nombre, categoría, precio por volumen/clasificación, proveedor, precio, cantidad) — exportas a CSV, corriges en Excel y vuelves a subirlo, te muestro un resumen antes de aplicar nada. No cambies la columna ID. Si un producto reparte su stock entre varios proveedores, el CSV ya trae una fila por cada uno (mismo ID repetido, a propósito) — corrige la cantidad de cada fila, nunca borres ninguna, y al subirlo se respeta el reparto correcto por proveedor. No crea productos nuevos ni sube fotos — para eso usa la tarjeta de abajo, "Carga Masiva de Productos Nuevos".

ProductoCambios detectados
Carga Masiva de Productos Nuevos (Excel + Fotos)

Para dar de alta varios productos nuevos de golpe, con foto incluida. 1) Descarga la plantilla (trae una hoja de instrucciones). 2) Selecciona TODAS las fotos de los productos de golpe — el nombre de cada foto debe coincidir EXACTO (mayúsculas no importan) con lo que escribas en el Excel. 3) Sube el Excel ya lleno. Antes de crear nada te muestro una vista previa con cualquier error o foto que no haya encontrado.

Ninguna foto seleccionada

FilaProductoCategoríaPrecioTallasFotosEstado
Imagen Producto Categoría Precio por Volumen Precio Stock Total Stock por Talla Acciones
¿Te llegaron MÁS piezas de este modelo en otro pedido? No las sumes en las tallas de aquí: regístralas en Proveedores → "Registrar pedido recibido" (o activa "Manejar por lotes"), para que cada pedido lleve su propia cuenta.

Cada renglón es un lote con su propio costo, y los costos nunca se mezclan. Se vende primero el lote de hasta arriba; un lote nuevo se agrega al final, así que por default se vende primero lo más viejo. Usa las flechas si quieres cambiar el orden.

Se agrega o quita para toda la categoría, no solo este producto — usa la ✕ junto a cada talla para quitarla.

Previsualización

Si ya tiene foto, subir una nueva la reemplaza — no hace falta borrar la anterior primero.

ó
Sin foto adicional
ó
Sin foto adicional
ó

Activa o desactiva promociones según la temporada. El banner y los descuentos se aplican automáticamente en la tienda.

Nueva Promoción

Venta Actual

Selecciona un producto del catálogo para iniciar la venta

Total$0.00 MXN
Historial de Ventas y Cierre de Caja usarán esta fecha, no la de hoy.

Para marcar un producto como obsequio o darle un descuento manual, usa los controles 🎁 y % en cada producto del ticket, arriba.

Seleccionar Talla

Cantidad:
1
Desde Hasta
Fecha y HoraPedidoReferenciaProductosTotal PagoCanalVendedorClienteAcciones

MALVADOS® — Cierre de Caja

Total Vendido $0.00 MXN
Piezas Vendidas 0
# Ventas 0
Total Vendido$0.00 MXN
Piezas Vendidas0
# Ventas0

Ventas por Método de Pago

Método de Pago# VentasTotal MXN

Detalle por Producto

Para cuadrar contra tu conteo físico de inventario.

ProductoTallaVendidasStock en sistemaConteo físico

Detalle por Proveedor

Cuánto se vendió y cuánto se debe a cada proveedor en este periodo (créditos/consignación).

ProveedorPiezas VendidasTotal VendidoSe le debe

Total a pagar a proveedores (sin contar lo propio): $0.00 MXN

Cuadre de Efectivo del Día

Historial de Cierres

FechaEsperadoContadoDiferenciaCerrado por

Registrar Gasto

Categorías de Gasto

Cada categoría es un gasto específico (Luz, Agua, Renta, etc.) — no las mezcles, así queda claro cada gasto por separado. El selector de "Tipo" junto a cada una solo es para agruparlas en los reportes (Operativo vs. Administrativo), sin perder el detalle individual. "Nómina" no se puede quitar — es la que activa el selector de empleado.

FechaCategoríaTipoDescripciónMétodoMontoRegistróAcciones

Perfiles de Empleado

Cada perfil guarda un conjunto reutilizable de permisos (módulos, tarjetas de Configuración, qué puede eliminar y qué puede autorizar con PIN). Elegirlo al dar de alta a alguien solo rellena el formulario — después se puede ajustar libremente sin afectar al perfil ni a nadie más que ya lo tenga.

Equipo Activo

Puedes crear, editar y asignar permisos a Gerentes y Vendedores. La cuenta de Administrador no aparece aquí y nadie más que el propio Administrador puede crear otra cuenta de Administrador.

Agregar Usuario

No es un sueldo quincenal/mensual a repartir — es lo que gana por cada día que asiste. Con esto capturado, Gastos → Nómina calcula solo el monto a pagar (sueldo × días asistidos).
Solo indica cada cuánto le corres el pago (diario/semanal/quincenal/mensual) — no divide ni afecta el Sueldo Diario, ese siempre se multiplica tal cual por los días asistidos.
Ventas y Caja
Inventario y Catálogo
Clientes y Proveedores
Administración

"Diseño" no aparece aquí a propósito — es la pestaña de herramientas de alto riesgo (reinicio de inventario, restaurar respaldo, etc.) y solo el Administrador puede verla, nunca se le asigna a nadie más.

Dejar vacío para no cambiar el PIN actual
Se activa solo la próxima vez que esa persona inicie sesión — después de eso ya puedes usar el botón de restablecer.
Hoy 0
Total Histórico 0

Últimos 14 días

Cargando...

Clientes Registrados

Datos capturados automáticamente en cada compra (tienda en línea o Punto de Venta). Aquí puedes corregir sus datos y, si tienen cuenta, enviarles un correo para restablecer su contraseña.

#NombreTeléfonoCorreoPedidosCuentaÚltima compraAcciones

Editar Cliente

Histórico de Deuda (antes de hoy)

Lo que se debía por el lote de ventas importado (abril-agosto 2026) — se queda aquí como referencia, aparte de la cuenta real. De hoy en adelante, el "Debido" de la tabla de abajo arranca en $0 y solo crece con mercancía real que se vaya adquiriendo.

ProveedorDebía (histórico, congelado)

Proveedores

Distingue qué mercancía es 100% de Malvados y cuál está a crédito o consignación. El "Debido" es toda la mercancía que te han dado en total (se haya vendido ya o no) — nace en cuanto te la entregan y solo baja cuando le registras un pago, nunca solo por venderla — no incluye el histórico importado (ver la tarjeta de arriba si eres Administrador). Dale clic al ícono de cualquier proveedor para ver, producto por producto, qué suma ese número. Cada entrega de mercancía es un pedido con su propia cuenta: con ves lo que se debe, se ha pagado y falta de cada pedido, y la suma de sus pedidos es su cuenta global. Cuando te llegue mercancía, usa "Registrar Pedido Recibido".

#ProveedorContactoDebidoPagadoSaldo PendienteAcciones

Importar Historial de Ventas

Sube un Excel/CSV con columnas: Fecha, Propietario, Modelo, Tipo, Cantidad, Precio unitario, Total Unitario, Precio tienda, Total Final. Se registran como ventas históricas y se actualiza el saldo de cada proveedor automáticamente. Antes de guardar nada te muestro un resumen para que lo confirmes.

ProveedorPiezasVenta TotalSe le debe

Nuevo Proveedor

Registrar Pago a Proveedor

Proveedor: — · Saldo pendiente actual: $0.00 MXN

"Automático" abona al pedido más viejo que todavía deba algo; si sobra, sigue con el siguiente.

Historial de Pagos

FechaProveedorPedidoMontoNotaRegistró

Notificaciones de Ventas

Cada venta (en línea o en Punto de Venta) aparece aquí para darle atención personalizada. Puedes contactar al cliente por WhatsApp con un clic. Los pedidos pagados por transferencia SPEI o presencial en Showroom traen un botón para confirmar que el pago ya se revisó — úsalo antes de entregar la mercancía. Cada pedido también trae su propio botón "Marcar Entregado" (sin importar el método: Didi/Uber, taxi, Metro, tienda física, etc.), para saber de un vistazo cuáles siguen pendientes.

Si un pedido de SPEI/Showroom no se confirma dentro de este tiempo, sale marcado como "⏰ Vencido" con un botón para liberar sus piezas de vuelta al inventario.

Cuántos días, desde la fecha real de la venta, el cliente puede abrir el link "Ver tu pedido con fotos" que se le manda por WhatsApp (ver Punto de Venta). Pasado ese tiempo, el link le muestra un aviso de que ya venció — solo aplica a ventas nuevas desde que guardes este cambio, no cambia las que ya se mandaron.

FechaClienteTeléfonoPedidoEntregaPagoCanalAcciones

Fecha y Hora Usuario Acción Detalle

Consulta aquí cómo usar el sistema, paso a paso. Solo ves las secciones de lo que tu perfil puede usar — si crees que te falta algo, pídele a tu Gerente o Administrador que revise tus permisos en Usuarios.

Iniciar y Cerrar Sesión

Iniciar sesión

Escribe tu nombre de usuario y contraseña en la pantalla de acceso. Si no recuerdas tu contraseña, da clic en "¿Olvidaste tu contraseña?" — te llega un correo de restablecimiento al correo de recuperación que tengas configurado. Si tu cuenta se bloquea por varios intentos fallidos, espera 10 minutos e intenta de nuevo. Puedes pedir un respaldo completo de TODO el panel (inventario, ventas, clientes, proveedores, pagos, usuarios, promociones, notificaciones, bitácora, y toda Configuración/Diseño — archivo .json) cuando quieras desde Inventario → "Descargar Respaldo Completo (Todo)" — dáselo de vez en cuando por tu propia tranquilidad. Si al descargarlo sale una notita de que Clientes viene vacío, es normal mientras no registres clientes con teléfono. Solo si sale la ventana de alerta (⚠️) diciendo que vienen vacíos Productos, Ventas o Usuarios, espera un rato y vuelve a descargarlo: eso sí significa que faltó internet o cuota.

Pantalla bloqueada por inactividad

Si dejas el panel sin usar por varios minutos, la pantalla se bloquea sola (te avisa 30 segundos antes). No se cierra tu sesión ni pierdes lo que estabas haciendo — solo se tapa. Para continuar, escribe tu contraseña de acceso (no tu PIN de autorización, son cosas distintas). Si no eres tú quien va a desbloquearla, usa el botón "Cerrar Sesión" ahí mismo.

Cerrar sesión

Da clic en "Cerrar Sesión" (abajo del menú). Si no eres Administrador, te va a pedir tu número de teléfono registrado para confirmar — es una medida de seguridad para que nadie cierre tu sesión sin que tú lo sepas.

"No veo los cambios" (página desactualizada)

Ya subí un cambio y no se ve — ¿qué hago?

Desde septiembre 2026 el sitio ya trae una regla (.htaccess) que evita que el navegador guarde una copia vieja de la página, así que esto debería pasar mucho menos seguido. Si aun así ves algo desactualizado, sigue estos pasos EN ORDEN — casi siempre se resuelve en el paso 1 o 2:

1. Prueba en una ventana de incógnito/privada primero

Antes que nada, abre una ventana nueva de incógnito (Chrome) o privada (Safari) y entra a malvados.com.mx ahí. Una ventana privada nunca usa caché guardado, así que te dice de inmediato si el problema es tu navegador o algo más — si ahí SÍ se ve actualizado, es 100% tu navegador normal, sigue al paso 2. Si TAMBIÉN sale viejo ahí, salta directo al paso 4.

2. Borra los datos del sitio en tu navegador

iPhone/iPad (Safari): Ajustes (del teléfono) → Safari → "Borrar historial y datos de sitios web".
Mac (Safari): menú Safari → Configuración → Privacidad → "Gestionar datos de sitios web" → busca malvados.com.mx → Eliminar.
Windows/Android (Chrome/Edge): Ctrl+Shift+R (recarga forzada) suele bastar; si no, borra los datos de navegación de ese sitio desde la configuración del navegador.

3. En iPhone/iPad: revisa "Retransmisión Privada" de Apple

Si eres de los pocos casos donde ni el modo privado ni borrar datos funciona, puede ser una función de Apple llamada iCloud Private Relay, que interviene TODO el tráfico del teléfono (todas las apps y navegadores a la vez, por eso ni cambiar de navegador ayuda). Ve a Ajustes → toca tu nombre (Apple ID) → iCloud → busca "Retransmisión Privada" → apágala → prueba de nuevo. No hace falta dejarla apagada para siempre, solo mientras confirmas que ya se ve bien.

4. Si NINGUNO de los anteriores funciona: caché del servidor (Hostinger)

Esto ya no debería pasar seguido, pero por si acaso: entra a hPanel → tu sitio → Administrar → en la sección "Esenciales" busca la tarjeta "Cache" → botón "Borrar caché". Esto vacía el caché del propio servidor, separado del de tu navegador. Después de purgarlo, vuelve a probar en una ventana privada.

Protecciones del sistema (revisión completa de septiembre 2026)

"Stock insuficiente" al cobrar

Si al registrar una venta (Punto de Venta o tienda en línea) ya no quedan piezas suficientes de un producto — por ejemplo, porque otra caja o un cliente en línea se llevó la última hace segundos — el sistema ahora rechaza la venta con un aviso claro ("Stock insuficiente: quedan X pza…") en vez de dejar el stock en 0 y vender una pieza que ya no existe. Revisa el carrito, quita o ajusta ese producto, y vuelve a cobrar.

Cuando algo NO se pudo guardar, ahora sí te avisa

Antes, varias pantallas (Configuración, Diseño, clientes, proveedores, gastos, avisos, promociones, códigos de descuento, perfiles de empleado, usuarios) podían decir "guardado" aunque la base de datos en realidad no lo hubiera recibido (por ejemplo, sin internet o con la cuota diaria agotada). Ahora, si falla de verdad, verás un aviso rojo de error y la pantalla regresa a como estaba — si ves un error, el cambio NO se guardó: espera un momento y vuelve a intentarlo.

Editar un producto mientras se está vendiendo

Si tienes abierto "Editar producto" y mientras tanto alguien vende una pieza de ese mismo producto, al guardar tus cambios (nombre, precio, fotos…) ya no se revierte esa venta: si tú no tocaste las cantidades por talla, se conserva el stock más reciente y te sale un aviso azul diciéndolo. Si tú SÍ cambiaste las cantidades a mano, se respeta lo que capturaste. Los botones rápidos de Oferta y Pausar en Inventario ya solo cambian eso, nunca el stock.

Obsequios y descuentos: subir la cantidad pide autorización otra vez

En Punto de Venta, si un producto del carrito ya está marcado como obsequio o con descuento manual y le das "+" para subir la cantidad, se vuelve a pedir la autorización (PIN) — así nadie puede volver gratis más piezas de las que se autorizaron. Bajar la cantidad nunca pide nada.

Códigos de descuento con límite de usos

El campo "Máx. usos" de un código de descuento ahora sí se respeta, tanto en la tienda en línea como en Punto de Venta: cuando el código ya se usó ese número de veces en ventas registradas, sale "Este código ya alcanzó su límite de usos". Si quieres darle más usos, edita o crea otro código.

Lotes: mismo producto a distinto costo (sin mezclar costos)

Cuando te llega más mercancía de un producto a un costo distinto (del mismo proveedor o de otro), en "Editar producto" activa "Manejar por lotes" y dale "Agregar Lote": proveedor, piezas y su costo. Cada lote guarda su propio costo y nunca se mezclan. Al vender, se toma primero el lote de hasta arriba (un lote nuevo siempre se agrega al final, así que se vende primero lo más viejo; con las flechas puedes cambiar el orden, por ejemplo para vender antes lo de consignación). Cada venta guarda de qué lote salió, así que en Proveedores lo "ya vendido" y lo "en stock" salen con el costo real de cada lote. Si borras una venta o liberas stock, las piezas regresan al mismo lote. El costo de un lote solo cambia si tú lo editas a mano.

Ejemplo: Victor 5 a $150 y Belica 5 a $160; llegan Victor 10 a $170 y Belica 10 a $180 → agregas esos 2 lotes al final. Si vendes 12: salen 5 de Victor a $150, 5 de Belica a $160 y 2 de Victor a $170.

Si activas lotes en un producto que tenía un solo proveedor, el primer lote se crea con sus piezas en stock y las ya vendidas, así que la deuda queda igual. Al importar desde Excel, un proveedor con varios lotes no se cambia desde el archivo (solo trae el total): se ajusta lote por lote aquí.

Cada lote es de un pedido (desde el 02/10/2026): debajo de cada lote hay un selector "Pedido" para elegir de qué entrega del proveedor son esas piezas (o "➕ Nuevo pedido con fecha de hoy"). Así, en Proveedores, cada pedido lleva su propia cuenta. Lo más fácil para mercancía que llega es "Registrar Pedido Recibido" en Proveedores: crea el lote con su pedido solo. Un producto sin lotes elige su pedido en "Pedido del proveedor", junto al proveedor.

Pedidos de la tienda en línea (ahora los procesa el servidor)

Cuando un cliente confirma su pedido en la tienda, el servidor revisa el precio real de cada producto (con promociones, precios por lista, el mejor descuento y el envío), descuenta el stock y guarda la venta, el cliente, el aviso y el link "Ver tu pedido" — todo junto, o nada si algo falla. Si el precio cambió desde que el cliente armó su carrito, se le muestra el total correcto para que confirme otra vez; si ya no hay piezas, se le avisa y no se registra nada. El mensaje de WhatsApp se arma con lo que quedó guardado, así que nunca dice un precio distinto. Si paga con tarjeta, el botón de Mercado Pago aparece en la pantalla final del pedido.

Los permisos de cada empleado ahora los revisa el servidor

Lo que tiene asignado cada empleado en Usuarios (módulos, tarjetas de Configuración, permisos de eliminar, autorizaciones con PIN) ya no solo se esconde en la pantalla: la base de datos misma rechaza cualquier cambio que esa persona no tenga permitido, aunque lo intente por fuera del panel. Por ejemplo, solo quien tiene la tarjeta "Datos Bancarios" puede cambiar la CLABE; quien tiene el módulo Usuarios puede dar de alta o editar empleados pero nunca darles algo que él mismo no tenga; nadie puede darse permisos a sí mismo ni tocar la cuenta del Administrador. Si a alguien le sale un error al guardar algo, revisa qué tiene asignado en Usuarios.

Pedidos que nunca se pagaron (stock liberado)

Cuando usas "Liberar Stock" en un aviso porque el cliente nunca pagó, esa venta se sigue viendo en Historial de Ventas (tachada, con la nota "No pagada — stock liberado"), pero ya NO cuenta como ingreso en Dashboard, Cierre de Caja ni en los totales. Si después la borras, sus piezas no se regresan dos veces.

Ventas en cola que no se pudieron registrar (aviso naranja)

Si una venta se quedó guardada en esta computadora por falta de cuota y al sincronizarse ya no se puede registrar (por ejemplo, esa última pieza se vendió en línea mientras tanto, o el producto se borró), ya no bloquea a las demás: se aparta y el aviso naranja de Punto de Venta dice cuántas "NO se pudieron registrar". Dale clic: te muestra cada una con su motivo para que la revises con la nota de papel, la captures a mano si corresponde, y después la quites de la cola.

Quitar tallas, sucursales o tipos de línea que todavía se usan

Antes de quitar una talla del catálogo, el sistema te dice qué productos todavía tienen piezas en ella; si la quitas, esas piezas NO se borran: siguen apareciendo en el producto marcadas "ya no está en el catálogo". Una sucursal con piezas repartidas no se puede eliminar (muévelas o usa "Deshabilitar"), y un tipo de línea que usan productos tampoco.

Otros cambios de esta revisión

• Las fechas ya respetan la hora de México: una venta, cierre o pago de las 7pm cuenta para ese mismo día, no para el siguiente.
• Cierre de Caja: un solo cierre por día (si guardas otro, te pregunta si reemplazar el anterior) y ya no marca diferencias falsas de centavos.
• Si usas "Liberar Stock" en un pedido y después borras esa venta, sus piezas ya no se regresan dos veces.
• Borrar ventas: el Administrador, o quien tenga el permiso de eliminar "Ventas". Agregar el teléfono después de una venta ya funciona para cualquier cajero (antes solo al Administrador).
• Importar inventario desde Excel: los productos con varias tallas no cambian su stock (el archivo solo trae el total) — al terminar te lista cuáles ajustar talla por talla en "Editar producto".
• Renombrar un proveedor también actualiza el nombre en sus productos y pagos (con respaldo automático), para que su deuda no desaparezca.
• Si el catálogo o los códigos de descuento no cargaron bien, el panel no te deja guardar hasta que recargues, para no borrar nada por error.
• Tienda en tabletas y laptops: en iPad (vertical y horizontal), tabletas Android y laptops de menos de 1280 px de ancho, los links de arriba ya no se salen de la pantalla — ahora aparece el menú de 3 rayitas (igual que en celular) y siempre se ven la cuenta y el carrito. En laptops de 1366 px el carrito ya no queda recortado, y en celulares muy chicos (iPhone SE) el botón del menú ya no se corta.
• Actualizaciones automáticas en todos los dispositivos (iPhone, Mac, Android, Windows): cada zip ahora le pone a cada archivo un número de versión calculado de su contenido, así que en cuanto subes un cambio todos los dispositivos bajan la versión nueva solos, sin borrar historial ni caché del teléfono. Si aun así un cambio no aparece en los primeros minutos, es el caché de Hostinger: hPanel → Cache Manager → Purgar todo.

Pedidos de proveedor: cada entrega con su propia cuenta (02/10/2026)

Qué cambió: cada vez que un proveedor te entrega mercancía es un pedido con su propia cuenta (lo que se debe, lo pagado y el saldo de ese pedido). La cuenta global de cada proveedor es la suma de sus pedidos y siempre cuadra al centavo — el Dashboard y la tabla de Proveedores siguen mostrando el mismo total de siempre.

Dónde está todo: Proveedores → "Registrar Pedido Recibido" (cuando llega mercancía) · el texto rojo "📦 N pedidos ▾" debajo de cada proveedor (ver sus pedidos, pagar un pedido, agregarle mercancía, corregir su fecha/nota) · "Juntar pedidos" (cuando una misma cuenta quedó en varios pedidos) · al registrar un pago, "¿A qué pedido va este pago?" (o Automático = al más viejo). En Nuevo/Editar Producto y Carga Masiva también se elige el pedido. Detalles en la sección Proveedores de este manual.

Lo que ya tenías: el Administrador lo repartió en pedidos con Diseño → Herramientas de Migración → "Organizar cuentas de proveedores por pedido" (se hace una sola vez; es seguro repetirlo).

Quién puede: el Administrador y quien tenga el módulo "Proveedores" (Usuarios → Acceso a Módulos). Organizar lo anterior por pedido es solo del Administrador.

Corregido el mismo día: en el Historial de Pagos de Proveedores la fecha de cada pago salía un día antes; ya sale la fecha correcta.

Productos nuevos: fecha de alta, etiqueta "NUEVO", orden y búsqueda (24/09/2026)

Fecha de alta: cada producto nuevo guarda solo la fecha, la hora y quién lo dio de alta. En Inventario se ve debajo del nombre: "📅 Agregado 24/09/2026 5:12 p.m. · por Daniel". Editar un producto nunca le cambia esa fecha.

Hazlo UNA vez (Administrador): Diseño → Herramientas de Migración → "Rellenar la fecha de alta de los productos" → "Rellenar Fechas". A los productos que ya existían les pone la fecha real en que se crearon en el sistema. Solo agrega ese dato (no cambia stock ni precios) y antes descarga un respaldo. Es seguro repetirlo.

Producto sin stock: si dan de alta un producto con 0 piezas, sale un aviso: "no se verá en la tienda hasta que le pongas piezas". Lo pueden guardar así o regresar a ponerle stock. Si lo guardan sin stock, en Inventario sale marcado "🆕 Nuevo · falta stock", aparece en el filtro de estados "🆕 Nuevos sin stock" y en el Dashboard (tarjeta Stock Crítico) sale un aviso naranja con cuántos son. La Carga Masiva también avisa cuántos productos del Excel vienen sin stock. Atajo: da clic en el nombre del producto en ese aviso del Dashboard (o en el botón "✏️ … · ponerle stock" del resumen de Inventario cuando filtras) y se abre directo su ficha con el cursor en la primera talla, listo para escribir las piezas. En el resumen de Inventario, cuando el filtro deja 8 productos o menos, cada uno sale como botón para abrir su ficha.

Etiqueta "NUEVO" en la tienda: los productos dados de alta desde el 24/09/2026 salen con una etiqueta verde "NUEVO" (en la tarjeta y en Vista Rápida) y aparece el botón "🆕 Nuevos" junto a Ofertas (solo cuando hay nuevos). Dura 15 días, que puedes cambiar en Configuración → Configuración General → "Días que dura la etiqueta NUEVO" (0 = no mostrarla). Los días cuentan desde que el producto llega a la tienda CON stock: si lo dan de alta sin piezas, empieza a contar cuando le ponen stock. El catálogo que se capturó antes del 24/09 no sale como nuevo (si no, saldría toda la tienda).

Ordenar el Inventario: junto a los filtros está "Ordenar por" (fecha de alta, nombre, stock, más vendidos, precio) y un botón con flecha para invertir el orden (por ejemplo "Más nuevos primero" ↔ "Más viejos primero"). Se recuerda en esa computadora.

Búsqueda: en la tienda, Inventario, Punto de Venta y Clientes se busca palabra por palabra y en cualquier orden, sin importar acentos ni mayúsculas: "muerto sm" encuentra "Rico o Muerto Smiling". Con letras empieza a filtrar desde la 3ª letra; con números (teléfono, código como GORB410) desde el primero. En Inventario y Punto de Venta también encuentra por código y proveedor. Ojo: en la tienda no salen los productos agotados (así ahorra cuota), por eso uno agotado no aparece en la búsqueda de la tienda pero sí en Inventario.

PIN de empleados y subida de fotos más seguros (24/09/2026)

PIN: antes los PIN de los empleados estaban guardados dentro de sus datos, donde cualquiera del equipo con sesión podía copiarlos y adivinarlos. Ahora el PIN lo guarda y lo revisa el servidor en un lugar privado que nadie del equipo puede ver, y después de 8 PIN incorrectos seguidos esa computadora se bloquea 15 minutos. Para el equipo no cambia nada: se sigue poniendo número de empleado + PIN igual que siempre (checador, obsequios, descuentos, venta mostrador, venta de fecha pasada).

Hazlo UNA vez (Administrador): Diseño → Herramientas de Migración → "Proteger los PIN de los empleados" → "Proteger PINs". Mueve al lugar privado los PIN que ya existían — ninguno cambia. (Aunque no lo hagas, cada PIN se protege solo la próxima vez que esa persona lo use, pero el botón los protege todos de una vez.)

Cambiar un PIN: cada quien puede cambiar el suyo en su propia cuenta; el PIN de otra persona solo lo cambia el Administrador (quien tiene Usuarios sí puede ponerle PIN a un empleado nuevo al darlo de alta). Revisar un PIN necesita internet — si no hay conexión, el aviso lo dice.

Fotos: subir fotos ya no depende de una clave escrita en el código del panel (cualquiera podía verla). Ahora el servidor revisa con Firebase que quien sube sea un empleado activo con sesión iniciada. Si te sale "Tu sesión venció", vuelve a iniciar sesión.

Nómina sugerida: los pagos de nómina viejos que no decían qué días cubrían ahora cuentan como pagados hasta el día en que se registraron — así la sugerencia nunca vuelve a cobrar esos días (el aviso lo dice cuando pasa).

Descuento Mayorista por teléfono: si en la tienda alguien escribe el teléfono de un mayorista SIN haber iniciado sesión con su cuenta, igual recibe el descuento, pero el pedido llega marcado en Notificaciones ("⚠️ Mayorista por teléfono — confirma que sea él") y en el WhatsApp. Antes de entregar, confirma que sí es tu mayorista (cualquiera que supiera su teléfono podía usar su descuento).

"Ver tu pedido" vencido o sin internet: la página ahora dice claramente qué pasó (venció, no existe o no hay conexión) y trae un botón verde para escribirte por WhatsApp.

Estado de cuenta de proveedores: si al proveedor se le va el internet, la página dice "no hay conexión, intenta de nuevo" — antes decía "no encontrado" y podía creer que se borró su cuenta.

Cuenta de cliente al pagar: si el teléfono ya tenía otra cuenta, ya no se crea una cuenta nueva vacía; si se corta el internet a la mitad, la cuenta se termina de ligar sola la próxima vez que el cliente inicie sesión.

Vista previa en WhatsApp/Facebook: al compartir el link de la tienda ahora sale la foto de tus gorras con el logo (antes solo el logo de texto). WhatsApp guarda la vista previa vieja unos días; si la ves igual, es normal — se actualiza sola.

Cambiar esa vista previa tú mismo (Administrador): Diseño → "Vista Previa al Compartir (WhatsApp / Facebook)". Cambia la imagen, el título y el texto cuando quieras (por ejemplo para una promoción) y dale "Guardar Vista Previa". La imagen puede ser de cualquier tamaño: se acomoda sola al formato correcto sin recortar tu logo, y ves cómo queda antes de guardar. "Regresar a la anterior" deshace el último cambio. Para que la nueva salga de inmediato: en WhatsApp comparte malvados.com.mx/?v=2 (cambia el número cada vez); en Facebook usa el link "Volver a extraer" de esa misma tarjeta.

Histórico importado (abril-agosto): en Diseño → Migración hay un botón "Mover Histórico" que lo pasa a su propio archivo. No se borra nada (lo sigues viendo en Historial y en Proveedores), pero deja de leerse en cada pantalla — menos consumo de Firebase. Hazlo una vez.

Folios de Punto de Venta sin huecos: una venta que se rechaza (por ejemplo "Stock insuficiente") ya no gasta un número de folio M- ni le suma una compra al cliente — el folio y el registro del cliente se hacen solo cuando la venta sí se guarda.

Stock por sucursal: si se borra o se libera una venta que no tenía sucursal, sus piezas regresan a la primera sucursal del reparto de ese producto (antes no regresaban a ninguna y el reparto quedaba descuadrado). Si en realidad estaban en otra, muévelas en Editar producto.

Auditoría completa del 23/09/2026 — qué cambió y qué tienes que saber

Pago con tarjeta: está APAGADO en la tienda mientras no haya link de Mercado Pago (los clientes solo ven Transferencia SPEI y Pago en Showroom). Cuando tengas el link: Configuración → "Link de Pago (Mercado Pago)" → pega el link, marca "Mostrar Pago con tarjeta en la tienda" y Guardar. Lo puede hacer el Administrador o quien tenga esa tarjeta asignada en Usuarios.

Pedidos en línea sin duplicarse: si al cliente se le corta el internet justo al confirmar y vuelve a darle "Confirmar", ya no se crea un segundo pedido (ni se descuenta el stock dos veces) — el sistema reconoce que es el mismo intento. Si escribe un código de descuento y no le da "Aplicar", el sistema lo aplica y le pide confirmar de nuevo, para que nunca compre sin su descuento.

Editar producto: ahora abre con el stock REAL de ese momento, y al guardar solo aplica lo que tú cambiaste a mano encima del stock más reciente — si alguien vendió mientras lo tenías abierto, esa venta ya no se "deshace". Los lotes de proveedor y el reparto por sucursal tienen que sumar exactamente lo mismo que las tallas; si no, no te deja guardar y te dice cuánto falta.

Quién puede hacer qué (lo revisa el servidor, no solo la pantalla): cambiar precios o dar de alta productos → quien tenga Inventario o Nuevo Producto (un cajero solo de Punto de Venta ya no puede cambiar precios). Guardar Cierre de Caja → módulo Cierre de Caja. Registrar gastos/nómina → módulo Gastos. Pagos y datos de proveedores → módulo Proveedores. El PIN de otra persona solo lo cambia el Administrador. Quitar un permiso a alguien ahora sí se lo quita de verdad (antes una casilla desmarcada se quedaba activa por dentro).

Checada de entrada: si no se pudo guardar (sin internet o sin cuota), ahora sale un aviso en rojo — anótala en papel y regístrala como excepción en Gastos → Ver Asistencia. La hora de cada checada la verifica el servidor: ya nadie puede registrar asistencias de días pasados salvo como "excepción" (solo con permiso de Gastos).

Tipo de cambio: manda SIEMPRE el que guardas en Configuración (la tienda, la caja y el servidor usan el mismo). El de internet solo aparece como sugerencia con un botón "Usar este"; nada cambia hasta que le das Guardar. El WhatsApp, el recibo y el ticket de una venta vieja ya usan el tipo de cambio de ESA venta, así que sus renglones siempre suman el total.

Cierre de Caja: debajo del total ahora dice cuánto son pedidos en línea con pago aún sin confirmar y cuánto es envío. Si la base de datos no respondió, te avisa y no deja guardar el cierre con datos incompletos (lo mismo la nómina sugerida y los estados de cuenta de proveedores).

Ventas sin internet: la cola de ventas pendientes ahora también funciona cuando se va el internet (antes solo cuando se acababa la cuota), y nunca descuenta una pieza dos veces aunque tengas varias pestañas abiertas.

Para gastar menos de Firebase: la Bitácora abre con los últimos 30 días (elige una fecha "Desde" anterior y se trae lo que falta); Notificaciones muestra los últimos 4 meses; Historial se actualiza al registrar tus propias ventas sin volver a leer todas. Las ventas hechas en OTRA computadora aparecen en máximo 1½ minutos (o recargando la página).

Códigos de descuento: la lista ya no la puede ver cualquiera desde el navegador — la tienda le pregunta al servidor solo por el código que escribió el cliente.

Herramientas de Diseño y tarjetas de Configuración protegidas de verdad

Las herramientas de Diseño (Migración, Reinicio de Inventario, Restaurar Respaldo, Sucursales, etc.) y cada tarjeta de Configuración ya no solo se ocultan a quien no tiene permiso: ahora el propio sistema se niega a ejecutarlas si alguien sin ese permiso intenta forzarlas. Si a alguien de tu equipo le sale "es exclusivo del Administrador" o "No tienes permiso para…", es a propósito — asígnale la tarjeta en Usuarios si de verdad debe tenerla.

Punto de Venta

Registro de Entrada (checador) — obligatorio antes de vender

La primera vez que un empleado (que no sea Administrador) abre Punto de Venta en el día, el sistema pide número de empleado + PIN antes de dejar ver la pantalla de venta — es la forma de checar que sí llegó a trabajar ese día, sin depender de que alguien lo marque a mano. No se puede cancelar ni se puede vender sin hacerlo; solo se pide una vez al día por esa sesión del navegador. Esto alimenta directamente "Ver Asistencia" en Gastos, para saber a quién pagarle su nómina.

Si entras a media venta de un compañero (cambio de turno, misma caja): no hace falta esperar ni interrumpir nada — junto al selector de "Sucursal de Venta" hay un botón "Checar Entrada" que cualquiera puede usar en cualquier momento para registrar SU propia entrada, sin tocar el carrito ni la venta que ya esté en curso.

Si a alguien se le olvida su PIN y de verdad necesita vender, un Administrador o quien tenga permiso de eliminar en Gastos puede registrar su asistencia de ese día como excepción desde "Ver Asistencia" (Gastos → Nómina) — queda marcado como "registro manual", nunca se confunde con una checada real.

Hacer una venta

1) Elige la Sucursal de Venta (si tienes una sucursal asignada, este campo ya viene fijo y no se puede cambiar). 2) Da clic en un producto del catálogo y elige la talla — se abre una ventana para elegir cantidad. 3) El producto se agrega a la lista de la venta a la izquierda. 4) Repite para agregar más productos. 5) Anota el nombre y teléfono del cliente (o activa "Venta Mostrador" si es un cliente ocasional que no quiere dar sus datos). 6) Elige el método de pago (Efectivo, Terminal Clip, Transferencia). 7) Da clic en "Registrar Venta". Tip: si no quieres buscarlo en la cuadrícula, escribe o escanea su código (ej. GOR001) en el campo rojo de arriba y da Enter — se abre directo el selector de talla. Si te equivocas, el botón "Cancelar" borra todo el ticket en curso para empezar de nuevo. El nombre de cada producto en la cuadrícula ahora se ve en 2 líneas (antes se cortaba en una sola) — si aun así queda muy largo, deja el mouse encima para ver el nombre completo.

Obsequios y descuentos manuales

Puedes marcar un producto como obsequio (sin costo) o darle un % de descuento manual desde la lista de la venta. Esto necesita autorización: se te va a pedir el número de empleado y PIN de alguien con permiso para autorizar ese tipo de acción — puede ser tu propio número si tú tienes el permiso, pero siempre hay que escribirlo, aunque sea tuyo, para que quede registrado quién lo aprobó.

Precio especial para un cliente (varía cada vez)

Si le das a un cliente un precio distinto al de lista y no es un % fijo ni un trato de Mayorista, usa el campo "Precio especial c/u (MXN)" junto al % de descuento — escribe ahí el precio final que le vas a cobrar por pieza y el sistema calcula solo el % de descuento equivalente. Pide la misma autorización que el descuento manual (número de empleado + PIN) y queda igual de registrado en Bitácora y en los reportes, mostrando siempre el precio de lista original junto a lo que realmente se cobró.

Códigos de descuento, Mayorista y precios por volumen

Si el cliente tiene un código de descuento, escríbelo en el campo correspondiente antes de registrar la venta. Si el cliente está marcado como Mayorista (ver Clientes), su % se aplica solo con escribir su teléfono — nunca se suma con el código ni con el descuento automático por volumen, siempre gana el más alto de los tres. Si son productos con "Precios por Lista" (Belica: De Línea/Rezago/New Era), el precio por pieza (en gorras es SIN CAJA, así se lo muestra también la tienda; caja y cubrepolvo se piden aparte y se pagan además: $50 por gorra sin importar la cantidad) se ajusta solo según cuántas piezas lleve — no necesitas hacer nada manual, el sistema ya calcula el precio correcto.

Ticket físico o por WhatsApp

Al terminar la venta, aparece un aviso con el total. Si el cliente quiere su ticket en papel, da clic en "Imprimir Ticket" (sale listo para tu impresora de rollo). Si no lo quiere físico, da clic en "Enviar por WhatsApp" (solo aparece si capturaste un teléfono válido) — se abre WhatsApp con el detalle completo del pedido (productos, total, método de pago, referencia de transferencia si aplica) ya escrito, solo falta darle enviar. Puedes hacer ambos o solo uno; "Cerrar" descarta el aviso sin hacer ninguno.

🧪 Experimental: el mensaje de WhatsApp ahora incluye un link "Ver tu pedido con fotos" — el cliente lo abre sin necesitar cuenta ni contraseña y ve la foto y nombre de cada producto que compró. Está en prueba; si no se queda, se puede quitar sin afectar nada más de esta pantalla. Antes de mandarlo, el botón "Ver mensaje" te deja revisar el texto completo tal cual se va a enviar — incluyendo el link, que puedes darle clic ahí mismo para confirmar que sí lleva al pedido correcto.

¿Se te olvidó capturar el teléfono? Si no aparece "Enviar por WhatsApp" en este mismo aviso, es porque no se guardó un teléfono válido en esta venta. Justo ahí, arriba de los botones, hay un campo para escribirlo en ese momento y darle "Guardar" — se agrega a la venta ya registrada y de inmediato aparecen las opciones de WhatsApp, sin tener que ir a corregir la venta por separado.

Registrar una venta de una nota pasada (por alguna falla)

Si por alguna falla (sistema caído, sin internet, o el límite gratuito de Firestore del día) una venta se tuvo que apuntar en una nota de papel en vez de registrarse en el momento, actívala normal como cualquier venta pero marca primero "🗓️ Venta de una nota pasada" — te va a pedir número de empleado + PIN de alguien con permiso para esto (se asigna en Usuarios o en un Perfil de Empleado), y aparece un campo para elegir la fecha REAL en que ocurrió esa venta. Historial de Ventas y Cierre de Caja van a usar esa fecha, no el día en que la estés capturando, así el día real queda con sus ventas correctas. Esas ventas se distinguen en Historial de Ventas con la etiqueta "📝 Por nota" bajo su fecha, y quedan registradas en Bitácora con quién lo autorizó y cuándo se capturó de verdad.

"Venta guardada, pendiente de sincronizar" — se acabó la cuota gratuita de Firestore a media venta

Si le das a "Registrar Venta" justo cuando ya se acabó el límite gratuito de escrituras de Firestore del día, el sistema YA NO pierde esa venta: la guarda en esta misma computadora y te avisa con el mensaje "Venta guardada, pendiente de sincronizar". En cuanto la cuota se libera sola (normalmente entre la 1am y las 3am), el sistema la sincroniza automáticamente sin que nadie tenga que hacer nada — revisa cada 5 minutos mientras el panel esté abierto, y también lo intenta cada vez que inicias sesión.

Mientras haya ventas sin sincronizar, arriba de la venta actual aparece un aviso naranja "N ventas pendientes de sincronizar en esta computadora" — dale clic para forzar el intento en ese momento (por ejemplo, si ya sabes que se liberó la cuota y no quieres esperar). Si ya se sincronizaron, el aviso desaparece solo.

Importante — esto NO sustituye la nota de papel: esta venta pendiente vive solo en el navegador de esa computadora. Si se borra el historial/caché, se usa otra computadora, o el navegador se cierra sin que haya alcanzado a sincronizar, esa venta se puede perder. Por eso el aviso insiste en anotarla TAMBIÉN en tu nota de papel como siempre — el papel sigue siendo el respaldo real, esto solo evita el trabajo de volver a capturarla a mano cuando la cuota se libere.

Promociones

Crear y activar una promoción

Da clic en "Nueva Promoción", ponle un nombre (solo para identificarla) y el texto del banner que va a aparecer en la barra superior de la tienda en línea. Si además quieres que baje el precio automáticamente, activa "Descuento automático en precios", pon el % y elige si aplica a todos los productos o solo a una categoría (Gorras, Ropa o Joyería). Guarda y actívala con el interruptor de su tarjeta en la lista — solo puede haber una promoción de descuento activa a la vez.

Qué productos NO se ven afectados

Los productos con Precios por Lista (Belica: De Línea/Rezago/New Era) nunca reciben el descuento de una promoción — siempre usan su propio precio por pieza, sin importar si hay una promoción activa.

Cierre de Caja

Hacer el corte del día

Elige el rango de fechas (normalmente el día de hoy) y el sistema calcula el efectivo esperado: lo que entró en efectivo por ventas, menos lo que salió en gastos pagados en efectivo. Cuenta el dinero físico en caja y compáralo contra ese número — si no coincide, revisa si falta capturar algún gasto o venta. Al terminar, guarda el cierre del día.

Conteo físico por producto

Más abajo en la misma pantalla, la tarjeta "Detalle por Producto" te deja anotar el conteo físico real de cada talla, para comparar contra lo que el sistema dice que debería haber — útil para detectar diferencias de inventario el mismo día, no solo diferencias de efectivo.

Aviso en el Dashboard de cierres pendientes

La tarjeta "Cierre de Caja" del Dashboard revisa los últimos 7 días y te avisa cuáles tuvieron ventas reales pero todavía no se les guardó su cierre — para que las finanzas se mantengan sanas y los reportes reflejen el efectivo real de cada día, no solo lo que el sistema esperaba. Un día sin ninguna venta nunca aparece ahí (no hay nada que cerrar), así que no te avisa de más temprano en el día antes de que haya operación. Da clic en cualquier fecha de la lista para abrir Cierre de Caja con "Día" y esa fecha exacta ya seleccionados.

Gastos

Registrar un gasto

Da clic en "Nuevo Gasto", elige la categoría (Luz, Renta, Nómina, etc.), la fecha, el monto y el método de pago. Cada categoría ya tiene un "Tipo" por default (Operativo o Administrativo) pero lo puedes cambiar en ese mismo gasto si aplica distinto. Si es un pago de nómina, además elige a qué empleado corresponde.

Ver Asistencia (para saber cuántos días pagarle a alguien)

Al elegir la categoría "Nómina", junto al selector de empleado aparece el botón "Ver Asistencia" — te muestra, día por día, si esa persona trabajó, durante el periodo que elijas (hoy, semana, quincena, mes o año), con un resumen tipo "Asistió 5 de 6 días." Cuenta como asistencia iniciar sesión en el panel, o checar en Punto de Venta con número de empleado + PIN (ver "Registro de Entrada" arriba). Si a alguien le faltó una checada real por olvidar su PIN, quien tenga permiso de eliminar en Gastos puede darle clic a "excepción" junto a ese día para registrarlo a mano — queda marcado como "registro manual", para distinguirlo de una checada de verdad. La tarjeta "Asistencia de Hoy" en el Dashboard te avisa de un vistazo quién todavía no ha checado hoy — esos días, mientras no checen, no se cuentan como día pagado aquí.

Monto sugerido al pagar Nómina (calculado con el sueldo y la asistencia)

Si el empleado tiene su "Sueldo" capturado en Usuarios (es un sueldo POR DÍA, no un total quincenal/mensual a repartir), el campo Monto se rellena solo con: sueldo diario × días que sí asistió desde la última vez que se le pagó — no importa si le pagas diario, semanal, quincenal o mensual, siempre es esa misma cuenta, solo cambia cada cuánto la corres. Nunca cuenta dos veces el mismo día, aunque cambies de empleado o de fecha varias veces — el sistema recuerda hasta qué día ya se le pagó y siempre continúa desde el día siguiente. Justo debajo del monto se explica la cuenta completa (cuántos días, de cuáles fechas) para que la revises antes de guardar. Es solo una sugerencia — en cuanto tú escribas algo distinto en el campo, se respeta lo que pusiste y ya no se sobrescribe solo. Si el empleado no tiene su sueldo capturado, el campo se queda vacío para que lo llenes a mano, como antes.

Inventario

Ver y ajustar stock

La tabla muestra cada producto con su stock total y desglose por talla, además del código corto (🔖, ej. GOR001) que se genera solo — ese es el que se usa para buscar/escanear en Punto de Venta. Usa los filtros de arriba para buscar por nombre, categoría, proveedor o estado (incluye "⚠️ Crítico" — agotado + pocas piezas juntos, el mismo criterio que ya usa "Stock Crítico" del Dashboard — y un filtro "Pausado"). El filtro de subcategoría (🏷️) aparece solo después de elegir una categoría específica, ya que cada una tiene las suyas. Para editar un producto (precio, stock, fotos, etc.) da clic en el ícono de lápiz de su fila. Las tarjetas del Dashboard que llevan aquí ("Stock Crítico", "Top 20 Productos Vendidos") ya traen puesto (o limpio) el filtro correcto, para no tener que volver a buscarlo tú.

Productos agotados: ya no se muestran en la tienda en línea

Antes, un producto agotado seguía apareciendo en la tienda con una etiqueta de "Agotado". Ahora, en cuanto su stock llega a 0 desaparece por completo de la tienda en línea (no de este panel) — y vuelve a aparecer solo, automáticamente, en el momento en que le agregues piezas otra vez. Esto también reduce el costo de la base de datos, porque la tienda ya ni siquiera pide esos productos. La casilla "Disponible" del formulario de producto sigue funcionando igual que antes (te deja ocultar algo con piezas a propósito, por ejemplo si lo quieres reservar) — si algún producto con piezas reales no aparece en la tienda, revisa esa casilla, o usa "Reconciliar Disponibilidad" en Diseño → Herramientas de Migración para corregir de un clic cualquier producto donde se haya quedado desmarcada por error.

Pausar un producto (sin eliminarlo)

El botón ⏸ "Pausar Venta" oculta el producto de la tienda en línea sin borrar su información ni su historial — úsalo cuando quieras dejar de vender algo temporalmente (ej. se agotó el diseño, o quieres reservarlo). Dale ▶ "Reanudar Venta" para que vuelva a aparecer.

Eliminar un producto

A diferencia de Clientes, Proveedores o Usuarios, un producto eliminado no se archiva — se borra por completo y no se puede deshacer. Si solo quieres dejar de venderlo por ahora, usa "Pausar Venta" en vez de eliminar.

Exportar / Importar Inventario (CSV)

Solo Gerente y Administrador. Te deja descargar todo el inventario en un archivo, editarlo en Excel (precios, stock, etc.) y volver a subirlo — el sistema te muestra una vista previa de los cambios antes de aplicarlos, para que revises que todo esté bien antes de confirmar. Esto solo corrige productos que YA existen — no crea productos nuevos ni toca fotos. Esta tarjeta y la de Carga Masiva (abajo) ya salen abiertas, con todos sus botones a la vista (aquí mismo está "Descargar Respaldo Completo (Todo)"). Si quieres más espacio para la lista, puedes cerrarlas dando clic en su título.

Carga Masiva de Productos Nuevos (Excel + Fotos)

Solo Gerente y Administrador. Para dar de alta varios productos nuevos de golpe (en vez de uno por uno en "Nuevo Producto"), incluyendo su foto. Pasos: 1) Descarga la plantilla (trae una hoja de instrucciones explicando cada columna). 2) Llena una fila por producto. 3) Selecciona TODAS las fotos de los productos de una sola vez en "1) Elegir Fotos" — el nombre de cada archivo de foto debe coincidir exacto con lo que escribiste en la columna correspondiente del Excel (no importan mayúsculas). 4) Sube el Excel ya lleno en "2) Subir Excel Lleno". Antes de crear nada te muestra una vista previa fila por fila, marcando en rojo cualquier error (categoría que no existe, foto que no encontró, precio inválido, etc.) — esas filas con error simplemente no se crean, no bloquean a las demás.

Carga Masiva y pedidos de proveedor

Antes de "Crear Productos Válidos" aparece la casilla "Registrar las piezas como pedido de hoy de cada proveedor" (viene marcada). Con ella, las piezas de cada proveedor del Excel quedan en su pedido de hoy (si ya registraste un pedido hoy de ese proveedor, se agregan a ese mismo; si no, se crea uno con la nota "Carga masiva desde Excel"). Los productos que vienen en 0 piezas no crean pedido. Si la desmarcas, quedan como "Sin pedido asignado".

Nuevo Producto

Dar de alta un producto

Llena nombre, categoría, descripción, precio, proveedor y su costo de producción por pieza (esto también aplica si el proveedor es "Malvados Store" — así se puede ver la ganancia real de tu mercancía propia), tallas disponibles con su stock inicial, y sube las fotos. "Precio por Volumen / Clasificación" es opcional — solo lo necesitas si quieres marcarlo como Oferta, o si el producto entra en una de tus listas de precio automático por cantidad (Belica: Rezago, De Línea, New Era, etc.). Si la categoría tiene Subcategorías configuradas (Diseño → Catálogo), aparece un campo opcional para elegir una. Al guardar, se le asigna solo un código corto (ej. GOR001) que sirve para buscarlo/escanearlo en Punto de Venta — no hay que capturarlo a mano.

Pedido del proveedor (de qué entrega son las piezas)

Debajo de Proveedor está "Pedido del proveedor": eliges a qué pedido de ese proveedor pertenecen las piezas que estás capturando. Al dar de alta, se sugiere solo el pedido de HOY de ese proveedor (así 10 modelos que llegaron juntos quedan en el mismo pedido) o, si no hay, "➕ Nuevo pedido con fecha de hoy" — ese pedido se crea al guardar, y solo si el producto tiene piezas. Al editar, se conserva el pedido que ya tenía.

Si el producto maneja lotes, cada lote tiene su propio selector de pedido debajo de él.

Importante: si te llegaron MÁS piezas de un modelo en otro pedido, no las sumes en las tallas del producto (quedarían en el pedido viejo). Regístralas en Proveedores → "Registrar Pedido Recibido": se suman al stock como un lote nuevo de ese pedido, con su propio costo.

Fotos, tallas y campos especiales

Puedes subir hasta 3 fotos por producto — si subes una nueva donde ya había, la reemplaza automáticamente, no hace falta borrar la anterior primero. El campo de URL de cada foto muestra el final del link (el nombre del archivo, la parte que en realidad distingue una foto de otra) en vez del principio repetido ("https://malvados.com...") — si necesitas verlo completo, deja el mouse encima. El botón "+ Agregar Talla" / "✕ quitar talla" afecta a TODA la categoría, no solo a este producto — ten cuidado al usarlo. Si la categoría es Joyería, aparecen campos extra de Material y Tipo de Joya. Las casillas "Producto Disponible en Tienda" y "🔥 Mover a Ofertas" controlan si se ve en la tienda y si aparece en la sección de Ofertas.

Repartir stock por sucursal

Si ya tienes Sucursales configuradas (Configuración → Sucursales), cada talla tiene la opción "Repartir por sucursal" — te deja capturar cuánto stock hay en cada tienda física en vez de un solo total. El cliente en la página siempre ve el total combinado, nunca las sucursales por separado.

Un mismo producto con varias remesas/proveedores distintos

Si tienes el mismo modelo pero unas piezas te las surtió un proveedor y otras piezas te las surtió otro (cada quien con su propio costo), no hace falta crear dos productos — activa la casilla "Este mismo producto viene de varios proveedores" (debajo del campo Proveedor). Se abre una lista donde agregas cada proveedor con su costo por pieza y cuántas piezas aportó. El orden importa: se vende primero del proveedor de hasta arriba — usa las flechas ↑↓ para poner primero al que quieres que se agote antes. Un aviso debajo te dice si las piezas repartidas ya cuadran con el stock total del producto. Cuando se vende, el sistema descuenta automáticamente del proveedor correspondiente según ese orden, y en Proveedores vas a ver la deuda y ganancia real de cada uno por separado, sin que tengas que llevarlo aparte.

Desde el 02/10/2026 lo más fácil es Proveedores → "Registrar Pedido Recibido": eliges el proveedor que te lo trajo, buscas el modelo y capturas piezas y costo. El producto queda solo con un lote de cada proveedor (y de cada pedido), sin mezclar costos.

Clientes

Consultar y editar clientes

Aquí ves a todos los clientes que han comprado (en línea o en Punto de Venta), con cuántos pedidos han hecho. Puedes corregir sus datos, o archivarlos si ya no los vas a usar (un cliente archivado se puede reactivar después editándolo; solo el Administrador puede eliminarlo por completo, y eso ya no se puede deshacer).

Cliente Mayorista

En "Tipo de Cliente" puedes marcar a alguien como Mayorista y darle su propio % de descuento negociado. Ese % se aplica solo (tienda en línea y Punto de Venta) en cuanto se identifica al cliente por su teléfono — nunca se suma con un código de descuento ni con el descuento automático por volumen, siempre gana el más alto de los tres.

Proveedores

Registrar pagos y estado de cuenta

Cada proveedor (externo o "Malvados Store", tu propia marca) muestra cuánto se le debe (según lo vendido) y cuánto se le ha pagado. Usa "Registrar pago" cada vez que le pagues, con fecha y monto. El botón de compartir genera un link único que puedes enviarle al proveedor para que vea su saldo y pagos sin necesidad de iniciar sesión — solo ve su información, nunca tus precios de venta ni tu ganancia. Su número (#1, #2...) siempre queda consecutivo entre los proveedores activos — si archivas uno, los demás se recorren solos.

"Malvados Store" (mercancía propia)

Se trata igual que cualquier otro proveedor — captúrale el costo de producción a cada producto propio en Nuevo/Editar Producto, y aquí vas a ver cuánto "se le debe" (tu costo real invertido) y la ganancia que te deja, igual que con la consignación. Si un producto propio muestra $0 de costo es porque todavía no le has puesto su costo real.

Cómo se calcula "Debido"

"Debido" es toda la mercancía que ese proveedor te ha dado en total (a tu costo) — nace en cuanto te la entrega, sin importar si ya se vendió o sigue en tu stock. No baja solo porque una pieza se venda — solo baja cuando registras un pago real ("Registrar pago"). Así, el saldo que le compartes por el link ("Deuda Total" menos "Pagado") siempre refleja lo que de verdad le debes, tanto de lo que ya vendiste como de lo que todavía tienes en existencia.

💰 Vendido vs. 📦 En stock (para decidir si pagar todo o solo abonar)

Justo debajo de cada "Debido" aparece esa misma cantidad partida en dos: 💰 vendido (piezas que ya se convirtieron en una venta real — dinero que ya entró por ellas) y 📦 en stock (piezas que ese proveedor te dio pero que todavía no se han vendido). Los dos siempre suman exactamente el "Debido" de al lado — es la misma cuenta de siempre, solo separada para que sea más fácil decidir: puedes pagarle completo, o solo abonarle lo que ya se vendió y dejar pendiente lo que sigue en existencia. Es responsabilidad del gerente decidir cuál conviene en cada caso — el sistema solo te muestra los dos números, no elige por ti.

Ver el desglose producto por producto de un "Debido"

El ícono junto a cada proveedor abre una tabla con cada producto suyo que sigue contando para esa deuda — cuánto te queda en stock, cuánto ya se vendió, y el subtotal de cada uno (a su costo). La suma de todos los subtotales siempre coincide exactamente con el "Debido" de la tabla principal — úsalo para revisar de dónde sale ese número sin tener que confiar solo en el total, o para detectar un costo mal capturado en algún producto en particular. Cada renglón dice también de qué pedido es.

📦 Cuentas por pedido (cada entrega lleva su propia cuenta)

Cada vez que un proveedor te entrega mercancía es un pedido (Pedido #1, #2, #3… de ese proveedor) con su propia cuenta: cuánto se debe de ese pedido (💰 lo ya vendido y 📦 lo que sigue en stock), cuánto se le ha pagado y cuánto falta. La cuenta global del proveedor (la tabla de arriba y el Dashboard) es la suma de todos sus pedidos, y siempre cuadra al centavo.

Para verlas, dale clic a o al texto "📦 N pedidos ▾ ver cuentas" debajo del nombre del proveedor. En cada pedido puedes: ver sus productos (), pagarle a ese pedido (), agregarle más mercancía (), y corregir su fecha o nota (). Un pedido sin mercancía (creado por error) se puede eliminar con el permiso de borrar Proveedores.

Etiquetas: Pendiente = no se le ha pagado nada · Abonado = se le ha pagado una parte · ✅ Pagado = ya no se debe nada de ese pedido.

En Malvados Store (tu mercancía propia, no se le debe a nadie) las etiquetas dicen Por recuperar · Recuperado en parte · ✅ Recuperado: es tu inversión en ese pedido y cuánto ya registraste como recuperado.

Juntar pedidos (uno que se capturó en partes)

Si un pedido lo capturaste en varias partes y quedó como 2 o más pedidos, pero en realidad es una sola cuenta: abre las cuentas del proveedor ( o el texto rojo "📦 N pedidos ▾" debajo de su nombre) → botón "Juntar pedidos" arriba a la derecha de su lista de pedidos (también hay un enlace "¿Varios pedidos que son una sola cuenta? Juntar pedidos" dentro de "Registrar Pedido Recibido"), marca los pedidos, elige cuál queda (conserva su número y su fecha) y dale "Juntar". Sus piezas y sus pagos pasan al que queda, las notas se juntan, y lo que se le debe al proveedor en total no cambia. Los números de los pedidos juntados ya no se vuelven a usar (por eso puede quedar, por ejemplo, #1, #3, #4). Antes se descarga un respaldo. Lo puede hacer el Administrador o quien tenga el módulo Proveedores.

Para no tener que juntarlos después: cuando captures la segunda parte en "Registrar Pedido Recibido", en "Pedido" elige "Agregar al Pedido #N" en vez de "Pedido nuevo".

Registrar un pedido cuando llega mercancía

Botón "Registrar Pedido Recibido" (arriba de la tabla de Proveedores, o dentro de las cuentas de cada proveedor). Eliges el proveedor, la fecha en que llegó y una nota (ej. el número de remisión). Luego buscas cada modelo que llegó, capturas cuántas piezas por talla y su costo c/u (se sugiere el último costo de ese proveedor), y das "Guardar pedido".

Cada modelo se suma a su stock como un lote nuevo de ese pedido con su propio costo — los costos de distintos pedidos nunca se mezclan, y lo nuevo se vende después de lo que ya tenías. Si el mismo modelo te lo trae otro proveedor, regístralo en el pedido de ESE proveedor: el producto queda con un lote de cada uno.

¿Un modelo nuevo que todavía no existe? Créalo primero en "Nuevo Producto" — ahí, en "Pedido del proveedor", elige el pedido (se sugiere el de hoy de ese proveedor, o uno nuevo). ¿Te faltó un modelo o lo capturas en 2 partes? En "Pedido" elige "Agregar al Pedido #N". Si algún modelo falla al guardar, se queda en la lista para reintentar solo ese (lo que sí se guardó no se vuelve a sumar).

Lo puede usar quien tenga el módulo Proveedores.

Pagos por pedido o automáticos

Al registrar un pago eliges a qué pedido va. Si dejas "Automático", el pago se abona al pedido más viejo que todavía deba algo; si sobra, sigue con el siguiente. Si le pagas a un pedido más de lo que debe, lo que sobra también se abona automático al más viejo. Si se le ha pagado más de lo que se debe de todo, aparece como "Saldo a favor de Malvados". Los pagos de antes de que existieran los pedidos cuentan como automáticos. El Historial de Pagos muestra la columna "Pedido".

"Sin pedido asignado" y cómo organizar lo que ya tenías

La mercancía que se capturó antes del 02/10/2026 no sabe de qué pedido es y aparece como "Sin pedido asignado" (cuenta como la más vieja para los pagos automáticos). El Administrador la reparte una sola vez con Diseño → Herramientas de Migración → "Organizar cuentas de proveedores por pedido": muestra esa mercancía por proveedor y por el día en que se capturó, deja juntar los días que fueron la misma entrega, y crea los pedidos (con respaldo automático antes). Después puedes corregir la fecha real de llegada de cada pedido con el lápiz.

También cae en "Sin pedido asignado" una pieza cuyo pedido es de OTRO proveedor (por ejemplo, si a un lote le cambiaste el proveedor) — en Editar producto, al lote se le vuelve a elegir su pedido.

Lo que ve el proveedor en su link

Su estado de cuenta ahora también muestra la cuenta de cada pedido (fecha, piezas, deuda, pagado y saldo) y a qué pedido fue cada pago. Nunca ve tus precios de venta ni tu ganancia.

Historial de Ventas

Consultar ventas pasadas

Filtra por fecha, vendedor, método de pago, o si tuvo obsequio/descuento, para encontrar una venta específica. El Administrador puede eliminar una venta desde aquí si se registró por error, o editarla (fecha, método de pago, cliente, teléfono, total y vendedor) si solo necesita corregirse un dato — no se pueden cambiar los productos ni los precios de la venta ya hecha.

Las tarjetas del Dashboard ya llegan aquí con el filtro correcto puesto

Antes, dar clic en "Ventas", "Ingresos y Egresos", "Obsequios y Descuentos" o una fila de "Métodos de Pago" en el Dashboard te traía aquí mostrando TODAS las ventas, obligándote a buscar a mano las que esa tarjeta ya te había resumido. Ahora cada una te trae ya filtrado exactamente a lo que mostraba: el mismo periodo (Día/Semana/Mes/Año), solo las que llevaron obsequio o descuento, o solo las de un método de pago específico — para que la información que buscabas quede a la vista de inmediato, sin volver a filtrarla tú.

Cuántos obsequios y cuántos descuentos, por separado

Cuando en tu filtro actual hay ventas con obsequio o descuento, arriba de la tabla aparecen 2 tarjetas nuevas: "🎁 Obsequios" (cuántas ventas fueron 100% regaladas, y cuánto costo total representan) y "🏷️ Descuentos" (cuántas llevaron solo un descuento parcial — código, manual, mayorista, etc. — y cuánto se descontó en total), separadas una de la otra en vez de venir mezcladas en un solo número. Combínalo con la casilla "Solo con obsequio/descuento" para ver justo esas ventas debajo. Cada venta con obsequio o descuento también muestra quién lo autorizó (con ✅ junto al nombre), justo debajo del total.

"Exportar CSV" ahora exporta justo lo que estás viendo

Antes, "Exportar CSV" siempre te daba TODO el historial completo sin importar qué filtro tuvieras puesto. Ahora exporta exactamente lo que está filtrado en pantalla — por ejemplo, si activas "Solo con obsequio/descuento" antes de exportar, el archivo trae solo esas ventas, listo para revisar en Excel. El archivo también trae 4 columnas nuevas pensadas para revisar la salud financiera de obsequios y descuentos: Tipo (Normal/Obsequio/Descuento), Precio de Lista (lo que costaba antes del descuento), Obsequio/Descuento MXN (cuánto se regaló o descontó en esa venta) y Autorizó (quién lo aprobó) — para poder ordenar, sumar o agrupar por cualquiera de esos datos sin tener que armarlo a mano.

Reimprimir ticket, reenviar o revisar el mensaje de WhatsApp

Cada venta tiene sus propios botones en Acciones: 🖨️ reimprime su ticket (útil si el cliente lo perdió o se quedó sin papel la impresora al momento), 💬 reenvía por WhatsApp el mismo detalle completo del pedido (solo aparece si esa venta tiene un teléfono válido guardado), "Ver mensaje de WhatsApp" — te muestra el texto exacto que se mandaría (o ya se mandó), incluyendo el link "Ver tu pedido" ya clickeable, sin necesidad de enviarlo de verdad — y "Copiar mensaje" — lo copia directo al portapapeles, para pegarlo donde lo necesites (WhatsApp Web, otro chat, una nota) sin tener que abrir nada más ni seleccionar el texto a mano. Estos 2 últimos siempre están disponibles, aunque la venta no tenga teléfono guardado, para poder revisar/copiar cómo se ve. Todos están disponibles para cualquiera que vea Historial de Ventas, no solo el Administrador. Si la venta ya tiene su link "Ver tu pedido" generado, también aparece 🧪👁️ para abrirlo directo y ver exactamente lo que vería el cliente.

Un pedido con dos códigos distintos: M- y T-

Cada venta de Punto de Venta ahora empieza con M- (Mostrador, ej. "M-1850") y cada venta de la tienda en línea empieza con T- (Tienda, ej. "T-1850"). Antes las dos usaban el mismo contador y competían por el mismo número — muy rara vez, si una venta en línea y una de mostrador se registraban casi al mismo tiempo, se "peleaban" por el número y una se quedaba sin folio. Ahora cada canal tiene su propio contador, así que nunca vuelven a chocar entre sí — pueden coincidir en el número (ej. "M-1850" y "T-1850" el mismo día), pero el prefijo deja clarísimo de cuál se trata, nunca hay confusión.

Una venta sin número de Pedido (columna en blanco con "—")

Aun con cada canal en su propio contador, muy rara vez (2 ventas del MISMO canal casi al mismo tiempo) puede fallar por una contención pasajera de Firestore y esa venta se queda sin folio — el resto de sus datos (productos, total, cliente) se guardan bien de todas formas, no se pierde nada más que el número. El Administrador puede asignarle uno con un clic: donde debería estar el número, aparece un botón "—" — dale clic y se le da el siguiente folio disponible al momento, del canal correcto. Es seguro de usar, nunca repite ni pisa un folio que ya exista. Si son varias ventas así de golpe, en Diseño → Herramientas de Migración hay un botón "Asignar Folios Faltantes" que las corrige todas de un clic en vez de ir una por una.

Notificaciones

Pedidos y avisos nuevos

Aquí llegan los pedidos nuevos de la tienda en línea y avisos de traspasos de stock entre sucursales. Se marcan como leídas solas al abrir la pestaña.

Confirmar pago (SPEI / presencial en Showroom / Transferencia en Punto de Venta)

Los pedidos pagados por transferencia SPEI o presencial en Showroom (sin importar si son para recoger en tienda o envío a domicilio) traen un botón rojo "Confirmar pago" en la columna Pago — úsalo solo después de revisar que la transferencia de verdad llegó, o que el cobro quedó bien. Una vez confirmado, cambia a "✅ Confirmado" con tu nombre, para que quede registrado quién lo revisó. Una venta de Punto de Venta pagada con "🏦 Transferencia" también pide esta confirmación, por la misma razón: el dinero no está garantizado hasta que alguien lo revise. Los pagados con Efectivo, Terminal Clip o tarjeta (Mercado Pago) no lo necesitan, así que no muestran este botón — en su lugar, la columna Pago siempre te dice con qué se pagó, aunque no necesite confirmarse. Ventas de Punto de Venta por transferencia registradas antes del 18/09/2026 no traen esta marca porque el control no existía todavía — usa "Corregir Pagos Pendientes de POS" en Diseño → Herramientas de Migración para asignársela de un clic.

Pedidos sin confirmar pago después de X horas ("vencidos")

Arriba de la tabla puedes configurar cuántas horas se le dan a un cliente para mandar su comprobante antes de considerarlo vencido (por default 24). Cuando un pedido se pasa de ese tiempo sin confirmarse, sale marcado "⏰ Vencido" y aparece un aviso rojo arriba de la tabla avisándote cuántos hay. Ese pedido ya le restó el stock al inventario desde que se hizo (aunque nunca se haya pagado) — si el cliente nunca manda comprobante, dale clic a "Liberar Stock" para regresar esas piezas al inventario y que alguien más las pueda comprar. Esto NO borra la venta de Historial de Ventas (eso es una acción aparte) — solo libera las piezas.

Marcar un pedido como Entregado

En la columna Entrega, junto al método (Didi/Uber, taxi, Metro, recoge en tienda, etc.), cada pedido trae un botón "Marcar Entregado" — úsalo en cuanto el cliente ya tenga su pedido en sus manos, sin importar el método. Es independiente de la columna Pago: puedes confirmar el pago y marcar la entrega en cualquier orden. Usa el filtro "Estado de entrega" arriba de la tabla (Todos / Pendientes de entrega / Ya entregados) para ver de un vistazo qué falta por entregar.

Seguimiento especial para envíos por Paquetería

Los pedidos registrados con tipo de entrega "📦 Envío por Paquetería" (Punto de Venta) no traen el botón simple de Entregado — en su lugar tienen un menú con 4 pasos: Pendiente de enviar → Enviado → En tránsito → Entregado. Cámbialo conforme avance el envío real con la paquetería; al llegar a "Entregado" ese pedido también cuenta como entregado en el filtro y contador de arriba, igual que cualquier otro.

La columna "Pedido" — por qué a veces sale M-, T- o "—"

El prefijo depende del canal: M- es Punto de Venta/Showroom, T- es Tienda en Línea. Sale "—" solo cuando esa venta todavía no tiene folio asignado — normalmente porque se registró justo cuando Firestore llegó a su límite gratuito de escrituras del día (se resuelve solo, entre la 1am y 3am). En Historial de Ventas, quien tenga permiso puede darle "Asignar Folio" a esa venta en cuanto se resuelva — en cuanto lo hace, esta pantalla lo refleja solo, sin que tengas que hacer nada aquí.

Usuarios (Gerente/Administrador)

Crear y administrar empleados

Da de alta a cada empleado con su usuario, número de empleado y PIN personal. En la cuadrícula de permisos marca a qué pestañas puede entrar, y si puede autorizar obsequios, descuentos manuales, Venta Mostrador o ventas de fecha pasada (ver "Registrar una venta de una nota pasada" en Punto de Venta). Si le asignas una "Sucursal Asignada", su selector de Sucursal de Venta en Punto de Venta queda fijo en esa (no la puede cambiar); si lo dejas sin asignar, puede elegir libremente. Para dar de baja a alguien sin perder su historial, usa "Archivar" en vez de eliminar.

Perfiles de Empleado — rellenar todo de un clic

Arriba de la lista de empleados hay un panel "Perfiles de Empleado" — cada uno guarda un conjunto reutilizable de permisos (módulos, tarjetas de Configuración, qué puede eliminar, y las 3 autorizaciones con PIN). Ya no son solo "Gerente" y "Vendedor": con "+ Nuevo Perfil" puedes crear los que de verdad uses en tu negocio (ej. "Supervisor", "Encargado de Sucursal"). Al dar de alta a alguien, elegir un perfil en "Perfil de Empleado" rellena TODO el formulario de un clic — y de ahí puedes seguir ajustando permiso por permiso sin ningún problema, esos ajustes finos no se pierden ni afectan al perfil.

2 cosas a tener en cuenta: el nombre de un perfil se puede cambiar cuando quieras (se actualiza en todos lados al instante), pero su identificador interno no — así que no se puede "renombrar" borrando y recreando con otro nombre si ya tiene gente asignada. Y borrar un perfil nunca le quita permisos a quien ya lo tenga — son una copia, no una referencia viva —, solo deja de aparecer para dar de alta a alguien nuevo.

Cambiar la contraseña de un empleado (solo Administrador)

Si un empleado olvidó su contraseña o quieres cambiársela, el Administrador tiene un botón de candado (🔒) en la tarjeta de cada empleado. Escribe la nueva contraseña 2 veces y dale "Guardar Contraseña": queda al instante, y se cierran las sesiones que ese empleado tuviera abiertas para que entre con la nueva. En Bitácora queda registrado quién la cambió, a quién y cuándo — nunca la contraseña. Solo el Administrador ve este botón, y aunque alguien más intentara usarlo a la fuerza, el servidor lo rechaza. (El botón de llave 🔑, cuando aparece, es distinto: le manda al empleado un correo para que él mismo elija su contraseña.)

Ocultar una cuenta al equipo (ej. la cuenta de pruebas)

El Administrador tiene un botón de ojo en la tarjeta de cada empleado (junto al candado): ojo normal = el equipo sí la ve; ojo tachado en naranja = oculta, solo tú la ves. Un clic cambia de uno a otro. También está la casilla "🙈 Ocultar esta cuenta al equipo" al crear o editar un empleado. Una cuenta así solo la ve el Administrador: no aparece en Usuarios para los Gerentes, ni en la alerta de "quién no ha checado" del Dashboard, ni en las listas de asistencia y nómina de Gastos, y lo que haga no sale en la Bitácora de nadie más. En tu lista de Usuarios sale con la etiqueta "🙈 Oculta al equipo". Las ventas que llegue a registrar sí cuentan normal en Historial de Ventas y en los totales (no se esconden ventas reales).

La cuenta "Administrador" en la lista

La tarjeta "Administrador" (@admin) es la cuenta principal del negocio. Solo el propio Administrador la ve — para Gerentes y cualquier otro perfil ni siquiera aparece en la lista. Al editarla, "Perfil de Empleado" sale fijo como "Administrador (no se puede cambiar)": así nunca se le puede quitar el rol de Administrador por error al guardar otros datos (nombre, teléfono, PIN).

Cómo leer la cuadrícula de "Acceso a Módulos"

Está agrupada por tema (Ventas y Caja, Inventario y Catálogo, Clientes y Proveedores, Administración) y cada módulo trae una descripción corta de qué le permite hacer al usuario — para que marcarle o quitarle acceso a alguien no dependa de adivinar. Pon especial atención al de "Usuarios" (⚠️ en su descripción): quien lo tenga puede administrar empleados, así que solo dáselo a quien de verdad vaya a hacerlo — ver el siguiente detalle sobre qué puede y qué no puede otorgar.

Permiso para registrar y juntar pedidos de proveedor

Para que un Gerente registre pedidos recibidos, registre pagos y junte pedidos, márcale el módulo "Proveedores" (grupo Clientes y Proveedores). Para que además pueda eliminar pedidos vacíos (creados por error), márcale en los permisos de eliminar "Proveedores" — ojo: ese mismo permiso también deja borrar proveedores y pagos.

Si además tiene "Inventario" o "Nuevo Producto", al juntar pedidos también se reacomodan los productos sin lotes (si no, las cuentas salen igual de bien). "Organizar cuentas de proveedores por pedido" (Diseño) es solo del Administrador y no se puede asignar.

Un Gerente solo puede dar los permisos que él mismo ya tiene

Quien tenga acceso a Usuarios (sea Gerente o un perfil personalizado) puede dar de alta y editar empleados, pero nunca puede otorgarle a nadie más un módulo, tarjeta de Configuración, permiso de eliminar o autorización con PIN que él mismo no tenga. Las casillas que están fuera de su propio alcance aparecen atenuadas y bloqueadas en el formulario — ni siquiera se pueden marcar. Esto no le quita nada a un empleado que YA tuviera un permiso de antes (dado por ti u otro Gerente con más alcance): eso se conserva igual aunque quien edite después tenga menos permisos, solo se limita otorgar algo NUEVO. El Administrador es el único sin este límite — siempre puede dar cualquier cosa.

Cada vez que se crea o edita un empleado (o un Perfil de Empleado), queda un registro en Bitácora de exactamente qué permisos se agregaron o se quitaron — para que cualquier cambio de acceso, lo haga quien lo haga, quede documentado.

Acceso granular a tarjetas de Configuración

Si le das a alguien acceso a Configuración, marca también qué tarjetas específicas puede ver dentro de ella (en "Tarjetas de Configuración que puede VER y EDITAR") — sin marcar nada ahí, entra pero no ve ninguna. Así puedes darle a un Gerente solo lo que necesita (ej. Zonas de Envío) sin exponerle Datos Bancarios o Mercado Pago. Todas las tarjetas que hay dentro de Configuración son seguras de asignar así — nada de lo que hay ahí puede borrar ventas ni inventario. Igual que "Acceso a Módulos", esta lista está agrupada por tema (Precios y Promociones / Pagos y Envíos / Sistema) y cada una trae una descripción de qué controla exactamente.

Por qué "Diseño" ni siquiera aparece como casilla que se pueda asignar

A diferencia de las demás pestañas, "Diseño" no aparece en la cuadrícula de "Acceso a Módulos" al crear o editar un usuario — no es que venga desmarcada, es que directamente no se puede marcar. Ahí viven las herramientas de alto riesgo (Sucursales, Venta Mostrador, Herramientas de Migración, Reinicio de Inventario, Restaurar desde Respaldo), además de lo puramente visual (Catálogo, fotos de inicio, menú). Es exclusiva del Administrador siempre, sin excepción ni forma de asignarla — así se evita que alguien le dé sin querer a un Gerente o Vendedor una herramienta capaz de borrar todo el inventario de un clic, que es justo lo que pasó el 14 de septiembre de 2026.

Quién puede eliminar cosas permanentemente

Por default, solo el Administrador puede eliminar de forma permanente (clientes, proveedores, usuarios, productos, categorías, subcategorías, ventas, gastos, notificaciones, promociones y códigos de descuento) — un Gerente o Vendedor sin este permiso ni siquiera ve el botón de eliminar en esas pantallas. Si quieres que alguien más pueda eliminar algo específico, márcalo uno por uno en "Permiso para ELIMINAR permanentemente" al editar su usuario — puedes darle, por ejemplo, solo permiso para eliminar Gastos sin darle el de eliminar Clientes. Esta lista también está agrupada por tema, con una línea explicando qué se borra exactamente en cada caso (ej. "Usuarios" trae una ⚠️ porque es un borrado permanente de un empleado — para solo darlo de baja usa "Archivar" en vez de este permiso).

Qué puede hacer un Gerente con acceso a Usuarios

Un Gerente con acceso a esta pestaña puede crear, editar, archivar y asignar cualquier permiso (incluyendo tarjetas de Configuración y permisos de eliminar) a otros Gerentes y Vendedores — igual que el Administrador. Hay 2 límites que nunca se pueden saltar, ni siquiera manipulando la base de datos directamente: nadie más que el Administrador puede tocar la cuenta de Administrador, y nadie puede crear o convertir a alguien en otra cuenta de Administrador — esa cuenta ni siquiera aparece en la lista para un Gerente.

Diseño

Qué hay en Diseño

Todo lo de esta pestaña está organizado en 4 secciones, de arriba a abajo, cada una con su propio encabezado: Apariencia de la Tienda (Catálogo, Fotos de Inicio, Menú de Navegación — lo puramente visual), Administración General (Sucursales, Venta Mostrador), Herramientas de Migración en color ámbar (acciones de una sola vez sobre el catálogo, seguras de repetir — cada una es un renglón que se expande al darle clic), y Zona de Alto Riesgo en rojo (Reinicio de Inventario y Restaurar desde Respaldo — las únicas 2 que sí pueden borrar información real). No es casualidad que compartan pestaña: Diseño es la única sección del panel que es 100% exclusiva del Administrador — no aparece como opción que se le pueda asignar a un Gerente o Vendedor en Usuarios, a diferencia de cualquier otra pestaña. Todo lo que puede cambiar cómo se ve la tienda o borrar datos de golpe vive aquí, lejos de cualquier perfil que no sea el tuyo.

Organizar cuentas de proveedores por pedido (Herramientas de Migración)

Primera herramienta de Migración. Reparte en pedidos la mercancía que se capturó ANTES de que existieran los pedidos (la que sale como "Sin pedido asignado"). Muestra esa mercancía por proveedor y por el día en que se capturó en el sistema — que no siempre es el día en que llegó —, te deja poner en el mismo grupo los días que fueron una sola entrega ("Juntar todo en 1 pedido" / "Un pedido por fecha" / "Grupo N" por día), y crea un pedido por grupo.

No cambia piezas, costos, pagos ni el "Debido" total; antes descarga un respaldo; es seguro repetirla (si ya no hay nada sin pedido, te lo dice). La nota automática "Capturado el …" es interna: el proveedor no la ve en su link. Después corrige la fecha real de cada pedido con el lápiz en Proveedores, y si quedaron separados días que eran la misma entrega, usa "Juntar pedidos".

Reinicio de Inventario y Restaurar desde Respaldo

El botón "Poner TODO el Stock en 0" pone en cero el stock de TODO el catálogo de un clic — es correcto usarlo una sola vez, al arrancar un conteo real desde cero, nunca después de que ya capturaste inventario real (si lo usas dos veces, la segunda vez borra el conteo real que ya habías hecho). Por seguridad, en cuanto le das clic se descarga solo, automáticamente, un respaldo .json completo de tu inventario tal como estaba justo antes — guarda ese archivo. Si algo sale mal (le diste clic por error, o cualquier otra herramienta de esta pestaña te dejó datos que no querías), sube ese mismo archivo en la tarjeta "Restaurar desde Respaldo": te muestra primero qué trae antes de escribir nada, y solo al confirmar sobrescribe lo actual con lo que traiga el archivo.

Subcategorías (ej. Gorras → New Era, Belicas, De Línea, Rezago)

Dentro de cada categoría en el Catálogo puedes agregar sus propias subcategorías — cada categoría tiene las suyas, no se comparten entre categorías. Siempre se muestran en orden alfabético, tanto aquí como en la tienda, el Punto de Venta y el formulario de producto (no hay que acomodarlas a mano). Al crear o editar un producto, si su categoría tiene subcategorías, aparece un campo opcional para elegir una. Crear subcategorías solo necesita acceso a Diseño; eliminar una subcategoría es solo para el Administrador, a menos que le asigne ese permiso específico a alguien en Usuarios.

Si un producto se queda sin subcategoría (o se le borró la que tenía), la tienda lo agrupa en "Otros" en vez de en su sección correcta, y sus botones de subcategoría (ej. "Perfumes", "Cubrepolvo") no lo van a mostrar. En Herramientas de Migración, "Asignar Subcategorías Faltantes" te lista de un vistazo TODOS los productos en ese caso (de cualquier categoría), con un selector para elegir la correcta uno por uno — a diferencia de las demás herramientas de esa sección, esta no es de un clic porque necesita tu criterio por producto.

En la tienda, al elegir "Todos" cada categoría se ve como una sección plegable (ej. "Accesorios (26)") y, si esa categoría tiene subcategorías configuradas, al abrirla se ve TAMBIÉN su propio desglose por subcategoría anidado adentro (ej. "Cubrepolvo (6)", "Perfumes (18)", "Pines (2)") — el mismo desglose que ya se ve al elegir esa categoría directamente, solo que ahora también disponible sin salir de "Todos".

Auditoría: ventas registradas vs. contador interno de piezas vendidas

En Herramientas de Migración, "Correr Auditoría" compara, producto por talla, el contador interno de piezas vendidas contra la suma real de piezas en TODAS tus ventas registradas (nunca cuenta el histórico importado, que nunca tocó stock real). Es de solo lectura — no corrige nada solo, solo te dice en qué producto/talla revisar. Corre esto ANTES de un inventario físico para saber de antemano si hay algo que no debería cuadrar, en vez de encontrarte la sorpresa a mano contando piezas.

Corregido de fondo el 2026-09-19: se encontraron y corrigieron 2 causas reales de que el stock del sistema no cuadrara contra lo físico — (1) el descuento de stock de una venta no era atómico, así que 2 ventas del mismo producto casi al mismo tiempo (tienda en línea + Punto de Venta, o 2 cajas) podían perder un descuento sin ningún error visible; y (2) si Firestore fallaba al guardar (ej. cuota agotada), el sistema seguía en silencio guardando solo una copia en ese navegador, dejando creer que la venta se guardó cuando en realidad nunca llegó a la base de datos real. Ambas están corregidas desde hoy — de aquí en adelante, si algo falla al registrar una venta, se avisa claramente en vez de fallar en silencio. Esta auditoría solo puede detectar un desajuste que ya haya quedado de ANTES de esta corrección.

Configuración (Gerente/Administrador)

Qué hay en Configuración

Aquí se ajustan las reglas internas del negocio: tipo de cambio, WhatsApp, datos del ticket impreso, Precio por Volumen / Clasificación, Tipos de Entrega (Punto de Venta), Precios por Lista (Belica), descuento automático por volumen, zonas de envío, datos bancarios, link de pago (Mercado Pago), códigos de descuento, y el tiempo de bloqueo por inactividad. Las 10 tarjetas que hay aquí tienen algo en común a propósito: ninguna puede borrar ventas, inventario ni información histórica — cuando mucho, un precio o dato mal puesto que se corrige fácil. Por eso todas son asignables tarjeta por tarjeta a Gerentes o Vendedores desde Usuarios. (Lo puramente visual y las herramientas verdaderamente delicadas — Catálogo, fotos de inicio, menú de navegación, Sucursales, Venta Mostrador, Herramientas de Migración, Reinicio de Inventario, Restaurar Respaldo — viven en la pestaña Diseño, exclusiva del Administrador, ver esa sección del manual).

Dar acceso solo a UNA tarjeta (no a toda Configuración)

Antes, dar acceso al módulo de Configuración mostraba TODAS sus tarjetas de golpe (datos bancarios, Mercado Pago, etc.) — ahora, además de darle a alguien el acceso general a Configuración en Usuarios, tienes que marcarle también, una por una en "Tarjetas de Configuración que puede VER y EDITAR", cuáles de las 10 tarjetas normales sí va a poder ver. Si no le marcas ninguna, entra a Configuración pero no ve nada — eso es intencional, para que puedas darle a un Gerente, por ejemplo, solo "Zonas de Envío" y "Códigos de Descuento" sin exponerle Datos Bancarios ni Mercado Pago. El Administrador siempre ve las 10 sin necesidad de marcar nada.

Visitas (Gerente/Administrador)

Tráfico de la tienda en línea

Muestra cuántas visitas ha recibido la tienda en línea por día, para tener una idea de qué tan movida está la página.

Bitácora (Gerente/Administrador)

Para qué sirve

Es el historial de quién hizo qué y cuándo (ventas registradas, gastos, cambios de configuración, inicios de sesión, etc.) — sirve para aclarar dudas o revisar qué pasó en algún movimiento. Las acciones del Administrador no se registran aquí.

Es un historial a prueba de manipulación

Una vez que se crea una entrada aquí, NADIE puede editarla ni borrarla — ni siquiera el Administrador, ni desde el panel ni desde fuera de él. Solo se pueden seguir agregando entradas nuevas. Esto es intencional, para que sea un historial de auditoría real y confiable.

Apariencia de la Tienda — visible para cualquiera con acceso a Diseño

Catálogo: Categorías y Tallas

Cambia el nombre que se muestra para cada categoría, administra qué tallas puedes elegir al crear un producto, y sube la foto que se ve en su tarjeta de la página de inicio. Puedes crear categorías nuevas tú mismo, con su propia foto — ya no hace falta pedirme el diseño. Usa las flechas ↑↓ para ordenar cómo aparecen sus tarjetas en la página de inicio, y el bote de basura para eliminar una por completo (bloqueado si todavía hay productos usando esa categoría).

Fotos de la Página de Inicio

La foto grande de portada y las 3 fotos del Showroom que se ven en el inicio de tu tienda. Súbelas cuando quieras cambiarlas, sin necesidad de pedírmelo.

Cargando...

Cargando...

Cargando...

Cargando...

Vista Previa al Compartir (WhatsApp / Facebook)

Es la tarjeta que sale cuando alguien manda el link de tu tienda (malvados.com.mx) por WhatsApp, Facebook o Messenger: una imagen, un título y un texto. Cámbialos cuando quieras — por ejemplo para una promoción. La imagen puede ser de cualquier tamaño: el sistema la acomoda sola al formato que usan WhatsApp y Facebook, sin recortar tu logo.

💡 WhatsApp y Facebook guardan la vista previa vieja unos días. Para que salga la nueva de inmediato: en WhatsApp comparte el link con algo al final (ej. malvados.com.mx/?v=2, y cambia el número cada vez); en Facebook usa su herramienta "Volver a extraer".

Menú de Navegación

Los enlaces del menú de arriba de tu tienda — el de escritorio, el de celular, y el menú "Explorar" del pie de página son el mismo, un cambio aquí afecta a los tres. El "Destino" normalmente es una sección de la misma página (ej. "#colecciones", "#contacto"), pero también puede ser un enlace completo a otra página o a WhatsApp. Usa las flechas para reordenarlos.

Administración General — el resto de esta pestaña es exclusivo del Administrador, nadie más la puede ver

Sucursales

Tus tiendas físicas. Al repartir el stock de un producto entre sucursales (en Nuevo/Editar Producto), el cliente en la página SOLO ve el total combinado — nunca ve sucursales. Solo se usa internamente y cuando alguien elige "Recoger en Showroom".

Punto de Venta

Si activas esto, en el Punto de Venta aparece la opción "Venta Mostrador" para clientes ocasionales que no volverán a comprar — permite registrar la venta sin pedir nombre ni teléfono.

Herramientas de Migración — acciones de una sola vez, seguras de repetir, nunca dejan nada a medias
Organizar cuentas de proveedores por pedido (hacer UNA vez)

Desde el 02/10/2026 cada entrega de un proveedor es un pedido con su propia cuenta. La mercancía que ya tenías capturada no sabe de qué pedido es, así que aparece como "Sin pedido asignado". Este botón te muestra esa mercancía agrupada por proveedor y por día de captura, te deja juntar los días que sean la misma entrega, y crea los pedidos. No cambia piezas, costos, pagos ni el "Debido" total de ningún proveedor — solo lo reparte en pedidos. Antes se descarga un respaldo. Es seguro repetirlo: solo toca lo que siga sin pedido.

Fijar precios en pesos (sin drift del tipo de cambio)

Los de consignación (John Wang, Victor, Wicho) quedan en $500.00 exactos. El resto se fija al tipo de cambio de hoy. No cambia lo que el cliente ve ahora mismo — solo lo deja fijo para siempre.

Stock = 1 en productos de consignación

Pone en 1 pieza el stock de todos los productos de John Wang, Victor y Wicho — para operar el sistema con inventario real en vez del historial de ventas importado.

Generar códigos faltantes

Le asigna un código corto (ej. GOR001) a todos los productos que todavía no tengan uno — para poder buscarlos/escanearlos en Punto de Venta. Los que ya tienen código no se tocan.

Asignar folios de pedido faltantes

Le asigna número de pedido a TODAS las ventas de Historial de Ventas que se quedaron sin uno (columna Pedido en blanco con "—") — de un clic, en vez de ir venta por venta. Cada una recibe el siguiente folio de su propio canal (Punto de Venta o tienda en línea, ver "Un pedido con dos códigos distintos" en el Manual de Historial de Ventas). Las que ya tienen folio no se tocan, igual que las ventas del histórico importado (esas nunca necesitaron folio). Se hace una por una, así que con varias puede tardar uno o dos minutos — no cierres esta pantalla mientras corre.

Precargar listas de Precios por Volumen Belica

Crea las 3 opciones (De Línea, Rezago, New Era) en "Precio por Volumen / Clasificación" si todavía no existen, y llena sus tablas de precio por cantidad con los números ya acordados. Queda guardado pero DESACTIVADO — revísalo en "Precios por Lista (Belica)" arriba y actívalo cuando estés listo. Si algo de esto ya existe, no lo toca ni lo duplica.

Activar "Malvados Store" como proveedor propio

Crea "Malvados Store" en Proveedores si todavía no existe (para ver su deuda/ganancia real, igual que cualquier otro proveedor) y cambia el proveedor de todos los productos que todavía digan "Malvados" (nombre anterior) al nombre actual. Segura de repetir — no duplica ni toca lo que ya esté bien.

Unificar 4 productos duplicados (mismo modelo, dado de alta 2 veces)

Se detectaron 4 parejas de productos repetidos (ABZ Full Black, Baez Created, LALALA Azul, Rockstar) — una versión con descripción y foto reales pero en 0 piezas, y otra con descripción de relleno pero donde sí se ha estado capturando el stock real. Esto conserva la versión con mejor contenido, le suma el stock de la otra, y borra la otra. Corre esto DESPUÉS de aplicar cualquier importación de inventario pendiente — si lo corres antes de que "ROCKSTAR" reciba sus piezas ya confirmadas, esa cantidad se perdería. Segura de repetir: si una pareja ya se unificó, la salta sin tocarla.

Pedir confirmación de pago a ventas de POS por transferencia (antiguas)

Desde el 18/09/2026, una venta de Punto de Venta pagada por "🏦 Transferencia" pide "Confirmar pago" en Notificaciones, igual que las de SPEI en línea (el dinero no está garantizado hasta que alguien lo revise). Las ventas por transferencia registradas ANTES de esa fecha se quedaron sin esa marca, así que su columna Pago sale vacía para siempre. Este botón les asigna la marca "pendiente de confirmar" — nunca toca una que ya esté confirmada o con el stock ya liberado. Segura de repetir.

🧪 Generar "Ver tu pedido" para ventas anteriores

El link "Ver tu pedido con fotos" (ver Punto de Venta → "Ticket físico o por WhatsApp") solo se genera solo para ventas nuevas desde el 18/09/2026. Este botón se lo genera también a las que ya existían, para que en Historial de Ventas puedas abrir "Ver cómo lo ve el cliente" en cualquiera. El link caduca según los días configurados en Notificaciones ("Días de vigencia del link"), contados desde la fecha REAL de esa venta — con la mayoría de tus ventas ya más viejas que eso, vas a ver el aviso de "este link ya venció", que es justo lo que vería el cliente hoy si lo intentara. Segura de repetir: salta cualquier venta que ya tenga su link.

Asignar subcategorías faltantes (caen todas en "Otros")

Productos de una categoría que SÍ tiene subcategorías configuradas (ej. Accesorios: Cubrepolvo, Perfumes, Bolsos...) pero que nunca recibieron ninguna — por eso se agrupan todos en "Otros" en la tienda y sus botones de subcategoría no muestran nada. A diferencia de las demás herramientas de aquí, esta necesita tu criterio por producto (no hay una regla automática para adivinar a cuál pertenece cada uno), así que abre una lista con un selector por producto en vez de aplicar algo solo.

Auditoría: ventas registradas vs. contador interno de piezas vendidas

Compara, producto por talla, lo que el contador interno dice que se ha vendido contra la suma real de piezas en TODAS tus ventas registradas (nunca el histórico importado, que no afecta stock real). Es de solo lectura — no corrige nada solo, solo te dice DÓNDE revisar. Útil para correr antes de un inventario físico, para saber de antemano si hay algún producto donde el sistema y lo físico no deberían coincidir.

Mover el histórico importado a su archivo aparte (menos consumo de Firebase)

Las ventas del histórico importado (abril-agosto 2026) viven junto con las ventas reales, así que se leen cada vez que se abre el Dashboard, la Caja, Notificaciones o Historial — y cada una cuenta como lectura de Firebase. Este botón las mueve a su propio archivo: no se borra nada, las sigues viendo en Historial de Ventas (solo el Administrador, igual que hoy) y en la tarjeta histórica de Proveedores, pero ya no se leen en cada pantalla. Antes se descarga un respaldo. Si se interrumpe, vuelve a darle clic y sigue con las que falten.

Rellenar la fecha de alta de los productos (hacer UNA vez)

Los productos que ya existían no guardaban la fecha en que se agregaron. Este botón les pone la fecha real en que se crearon en el sistema (Firebase la tiene guardada por dentro), para que en Inventario se vea "📅 Agregado …" y se puedan ordenar de más nuevo a más viejo. Solo agrega ese dato: no cambia stock, precios ni nada más, y nunca toca un producto que ya tenga su fecha. Es seguro repetirlo. Antes se descarga un respaldo de los productos. Los productos nuevos ya guardan su fecha solos.

Proteger los PIN de los empleados (hacer UNA vez)

Los PIN de empleado estaban guardados dentro de los datos de cada empleado, donde cualquiera del equipo con sesión podía copiarlos y adivinarlos. Este botón los mueve a un lugar privado del servidor que nadie del equipo puede leer. Ningún PIN cambia: todos siguen entrando y autorizando igual que siempre. Antes de hacerlo se descarga un respaldo de los usuarios. Es seguro volver a darle clic (si ya están protegidos, no hace nada).

Reconciliar disponibilidad ("Agotado" desincronizado del stock real)

Busca productos que SÍ tienen piezas en stock pero cuya casilla "Disponible" quedó desmarcada (por ejemplo, productos que se reiniciaron a 0 en el incidente y luego se les volvió a capturar su stock real sin volver a marcar la casilla). Necesario ANTES de que la tienda deje de mostrar los agotados: si no se corrige, estos productos desaparecerían de la tienda aunque sí tengan piezas. Solo activa la casilla en productos con stock real — nunca toca uno que de verdad esté en 0.

Mover fotos fuera de la base de datos (más rápido de cargar)

Tus fotos de producto y de categoría están guardadas como texto dentro de la base de datos (62 MB solo en fotos), lo que hace lenta la carga de tu tienda. Esto las sube como archivos normales a tu hosting y deja solo un link guardado — nunca borra la foto original hasta confirmar que la nueva ya se subió bien, así que no hay riesgo de perder ninguna. Con ~380 fotos puede tardar varios minutos — no cierres esta pantalla mientras corre. Segura de repetir: si se interrumpe, dale clic de nuevo y sigue solo con lo que faltó.

Zona de Alto Riesgo — estas 2 SÍ pueden borrar información real, usar con cuidado

Reinicio de Inventario

A diferencia de las herramientas de arriba, esta SÍ es peligrosa si se repite. Pone en 0 el stock (total y por talla) de TODOS los productos del catálogo, y los marca como agotados — para empezar a capturar el inventario real desde cero. Úsala una sola vez, al arrancar el conteo. Si la vuelves a usar después de que ya capturaste stock real, ese conteo real se pierde y vuelve a 0. Por seguridad, en cuanto le das clic se descarga solo un respaldo completo (archivo .json) de tu inventario ANTES de tocar nada — guarda ese archivo, es tu forma de recuperar los números si le diste clic por error.

Esta otra sí es segura de usar aunque ya tengas tu inventario real capturado — solo corrige el contador de "Vendidas", nunca tu stock. Úsala si tienes ventas de prueba viejas contando de más (ej. porque su registro en Historial de Ventas ya no existe).

Restaurar desde Respaldo

Úsalo SOLO si de verdad perdiste información (ej. como lo de "Poner TODO el Stock en 0" por accidente) — sube uno de los archivos .json que ya se han estado descargando (el que baja solo antes de una herramienta peligrosa, o el que pides manualmente en Inventario con "Descargar Respaldo Completo"). Te muestro primero qué trae el archivo, antes de escribir nada. Esto SOBRESCRIBE tu información actual con lo que traiga el archivo — si tu información de ahora ya está bien, no lo uses, la echarías para atrás.

Esto trae el archivo que elegiste:


              
            

          
Configuración General — el Administrador la ve toda; a otros roles se les puede asignar tarjeta por tarjeta desde Usuarios

Precio por Volumen / Clasificación

Estas son las opciones que aparecen en el campo "Precio por Volumen / Clasificación" de cada producto. Sirven para dos cosas: (1) marcar "Oferta" activa automáticamente su casilla de Ofertas, y (2) las que ligues en "Precios por Lista (Belica)" más abajo hacen que el precio baje solo según cuántas piezas lleve el cliente. Las demás (Premium, Temporada, etc.) son solo etiquetas libres, sin efecto automático — agrega o quita las que necesites.

Ticket Impreso en Punto de Venta

Controla si el botón "Imprimir Ticket" aparece al terminar una venta en Punto de Venta — apágalo los días que no tengas la impresora conectada o simplemente no lo necesites, para que ese botón no estorbe. "Enviar por WhatsApp" no se ve afectado por esto.

Tipos de Entrega (Punto de Venta)

Las opciones que aparecen en "Tipo de Entrega" al registrar una venta en el Punto de Venta. Agrega, quita o cambia las que necesites — el emoji es parte del texto (cópialo de algún lugar o escribe uno desde tu teclado). "Recoge en Tienda" no se puede quitar porque el sistema la usa como valor de respaldo.

Descuento Automático por Volumen de Compra

Se aplica solo, sin código ni autorización, tanto en la tienda en línea como en Punto de Venta. Agrega, quita o mueve los escalones (monto y %) como te convenga — no tienen que subir siempre lo mismo ni a intervalos iguales. El descuento sale de tu ganancia, no de lo que le pagas al proveedor.

Precios por Lista (Belica)

Precio por pieza según cuántas piezas de esa MISMA lista lleve el cliente (ej. De Línea, Rezago, New Era) — se asigna con el campo "Precio por Volumen / Clasificación" que ya tiene cada producto. Cada lista tiene su PROPIO mínimo para "desbloquear a las demás" (editable en su propia tarjeta, más abajo) — si el cliente llega a ese mínimo en UNA lista, en las demás el precio mínimo (desde 1 pieza) pasa a ser el que esa otra lista tiene justo en SU PROPIO mínimo. Ej: si en Gorras De Línea el mínimo es 10 y en Sudaderas es 5, con 10 gorras el cliente ya desbloquea el precio de "5 piezas" en Sudaderas, aunque solo lleve 1. Los precios de las GORRAS son SIN CAJA (la gorra sola; los demás productos, como Perfume, no llevan caja) y así se muestran en la tienda y en el Punto de Venta. Si desean la caja y el cubrepolvo (solo gorras), se piden aparte y se pagan además: $50 MXN por gorra, sin importar la cantidad. (Es solo un aviso en texto: el sistema no suma ese extra solo, se cobra aparte). No se suma con el Descuento Automático por Volumen de arriba — un producto con precio por lista nunca recibe además ese % ni el de una promoción activa.

Recomendación: haz cualquier cambio AQUÍ (crear/editar listas, mover precios, activar o desactivar) en un horario en que la tienda en línea esté cerrada — antes de abrir o después de cerrar, no a media jornada con clientes comprando.
Por qué: la tienda en línea guarda estos precios en caché hasta 5 minutos. Si cambias algo mientras hay clientes navegando o a punto de pagar, podrían ver o pagar un precio distinto al que el Punto de Venta ya está cobrando, hasta que ese caché se refresque solo.

Datos Bancarios (SPEI)

Esta información aparece en la tienda cuando el cliente elige pagar por transferencia SPEI.

0 / 18 dígitos

Vista previa (como aparece en la tienda):

Banco: –
Beneficiario: –
CLABE: –
DiMo®: –

Configuración General

Tasa de conversión, WhatsApp y los datos que salen impresos en el ticket de venta del Punto de Venta. Se actualizan en toda la tienda al guardar.

El sistema lo usa por dentro para calcular los precios en pesos — no se muestra al cliente. Consulta el tipo de cambio actual en Google: "1 dolar a pesos mexicanos"
Cuenta desde que el producto llega a la tienda con stock (si lo dan de alta sin piezas, empieza a contar cuando le ponen stock). Pon 0 para no mostrar la etiqueta.

Envío a Domicilio por Zonas

El cliente elige su estado en el checkout y el costo se calcula solo, según la zona a la que pertenece ese estado. Puedes deshabilitar una zona si por ahora no haces envíos ahí.

Precios en MXN. ¿No estás de acuerdo con la zona de algún estado en particular? Pide que se reasigne.

Seguridad — Bloqueo por Inactividad

Si no hay actividad en el panel durante el tiempo configurado, la pantalla se bloquea automáticamente. Para continuar hay que escribir la contraseña de la cuenta — no se pierde lo que se estaba haciendo.

minutos
Recomendado: 3 min para vendedores, hasta 30 min para admin. Mínimo 1, máximo 60.

Link de Pago (Mercado Pago)

Este es el link al que se redirige al cliente cuando elige pagar con tarjeta. Es un solo link para toda la tienda — lo generas en tu cuenta de Mercado Pago. Mientras la casilla de abajo esté apagada, la opción de tarjeta NO aparece en la tienda (los clientes solo ven Transferencia y Pago en Showroom).

Códigos de Descuento

Crea códigos que los clientes ingresan en el checkout para obtener descuento. Se validan por vigencia, si están activos y por límite de usos.

Confirmar Cierre de Sesión

Ingresa tu número telefónico de 10 dígitos para cerrar sesión.

Número incorrecto. Inténtalo de nuevo.

Cambiar Contraseña

Escribe la nueva contraseña.

Al guardar, se cierran las sesiones abiertas de ese empleado y tendrá que entrar con la contraseña nueva. En Bitácora queda que la cambiaste (nunca la contraseña).

Pantalla Bloqueada

Se bloqueó por inactividad. Escribe tu contraseña para continuar donde te quedaste.

Contraseña incorrecta.

Autorización Requerida

Ingresa tu número de empleado.

¿Eres —? Ingresa tu PIN para confirmar.

Desglose de "Debido"

Cada producto de este proveedor que todavía cuenta para su deuda — lo que te queda en stock más lo que ya se ha vendido (nunca baja solo por venderse, solo al registrar un pago). Montos en MXN.

ProductoStockVendidasTotalCostoSubtotal
Total: $0.00 MXN

Registrar Pedido Recibido

Captura lo que te entregó el proveedor. Cada modelo se suma a su stock como un lote nuevo de este pedido, con su propio costo — así cada pedido lleva su propia cuenta. Si el mismo modelo te lo trae otro proveedor, regístralo en el pedido de ese otro proveedor.

Juntar pedidos

Para cuando un pedido se capturó en partes y en realidad es una sola cuenta. Marca los pedidos que quieres juntar y elige cuál queda. Sus piezas y sus pagos pasan al que queda; lo que se le debe al proveedor en total no cambia. Antes se descarga un respaldo.

Editar pedido

Aquí solo se cambian la fecha y la nota. Las piezas y el costo se cambian en el producto (Editar producto → lotes).

Organizar cuentas de proveedores por pedido

Esta es la mercancía que hoy está "sin pedido", agrupada por el día en que se capturó en el sistema (no siempre es el día en que llegó). Si varios días son en realidad la misma entrega, ponlos en el mismo grupo. Cada grupo será un pedido; su fecha y nota las puedes corregir después con el lápiz de cada pedido. No cambia piezas, costos ni el "Debido" total — solo lo reparte. Hazlo antes de registrar pedidos nuevos para que la numeración quede en orden.

Asistencia

Se cuenta como "asistió" cualquier día en que el empleado inició sesión en este panel (incluye Punto de Venta) — no depende de que nadie lo marque a mano. Úsalo como referencia antes de registrar su pago de nómina.

Nuevo Perfil de Empleado

El identificador se genera solo a partir del nombre.
Ventas y Caja
Inventario y Catálogo
Clientes y Proveedores
Administración

Asignar Subcategorías Faltantes

Elige la subcategoría correcta para cada producto. Los que dejes en "— Sin asignar —" se quedan como están (puedes volver después) — solo se guardan los que sí elijas.

Editar Venta

Solo se corrigen estos datos sueltos — los productos y el desglose de precios de la venta no se tocan.

Venta Registrada

—

Venta guardada, pendiente de sincronizar

—

Mensaje de WhatsApp