Aplicación de Promociones en el POS
Las promociones activas se evalúan de forma automática en el POS cada vez que el carrito cambia. No se requiere ninguna acción manual del cajero para aplicarlas: el motor calcula los descuentos en segundo plano y actualiza el pie de página del POS con el monto total descontado.
Evaluación automática
Sección titulada «Evaluación automática»El motor de promociones se activa con un breve retraso (debounce) tras cada cambio en el carrito (agregar producto, cambiar cantidad, eliminar línea). El proceso es:
- Carga todas las promociones en estado ACTIVA del tenant con fecha vigente.
- Las ordena de mayor a menor prioridad.
- Por cada promoción verifica:
- Que la fecha y hora actuales están dentro de la vigencia temporal.
- Que no se ha alcanzado el límite de uso total ni el límite por cliente (si están configurados).
- Que hay líneas del carrito elegibles (productos/categorías no excluidos).
- Invoca la estrategia del tipo de promoción sobre las líneas elegibles.
- Si aplica, registra el descuento y marca la promoción como aplicada en el ticket.
El resultado visible en el POS es el monto total de descuentos en el pie de página.
Visualización en el POS
Sección titulada «Visualización en el POS»Cuando una o más promociones se aplican, el pie del POS muestra:
- Descuento: monto total de los descuentos por promociones activas en el carrito.
El panel de resumen del carrito refleja el subtotal, IVA, descuentos y el total con todos los descuentos aplicados.
Cómo se calcula el descuento por tipo
Sección titulada «Cómo se calcula el descuento por tipo»PORCENTAJE
Sección titulada «PORCENTAJE»Se descuenta el porcentaje configurado sobre el precio unitario de cada línea elegible:
Descuento por línea = Precio unitario × Cantidad × (Porcentaje ÷ 100)MONTO_FIJO
Sección titulada «MONTO_FIJO»Se descuenta el monto fijo configurado del total del carrito (repartido entre las líneas elegibles).
DOS_X_UNO
Sección titulada «DOS_X_UNO»Al haber 2 o más unidades del mismo producto, el segundo artículo es gratis:
Artículos gratis = floor(Cantidad ÷ 2)Descuento = Precio unitario × Artículos gratisAl cumplir la cantidad mínima de artículos distintos, se aplica el porcentaje de descuento sobre las líneas elegibles:
Si cantidad de artículos elegibles ≥ cantidadMinima: Descuento por línea = Precio unitario × Cantidad × (Porcentaje ÷ 100)TEMPORADA
Sección titulada «TEMPORADA»Idéntico a PORCENTAJE, pero el motor verifica adicionalmente que el día de la semana y la hora actuales están dentro de la ventana configurada.
Promociones acumulables vs. no acumulables
Sección titulada «Promociones acumulables vs. no acumulables»| Escenario | Resultado |
|---|---|
Dos promociones acumulables (ambas con stackable = true) |
Ambas aplican; los descuentos se suman. |
Una no acumulable de prioridad alta + otra de prioridad baja (stackable = false) |
Solo aplica la de mayor prioridad; la segunda se omite. |
| Una no acumulable + una acumulable | Ambas pueden aplicar: la no acumulable bloquea otras no acumulables, pero no bloquea las acumulables. |
Reporte de uso de promociones
Sección titulada «Reporte de uso de promociones»En Insights → Promociones (/insights/promociones) puede consultar:
Filtros
Sección titulada «Filtros»Use los campos Desde y Hasta para delimitar el período del reporte. Los datos se actualizan automáticamente.
Gráfica de barras — Top 10 por usos
Sección titulada «Gráfica de barras — Top 10 por usos»Muestra las 10 promociones con mayor número de aplicaciones en el período, ordenadas de mayor a menor.
Tabla de detalle
Sección titulada «Tabla de detalle»| Columna | Descripción |
|---|---|
| Nombre | Nombre de la promoción |
| Tipo | Tipo de promoción (PORCENTAJE, MONTO_FIJO, etc.) |
| Veces usada | Total de veces que la promoción fue aplicada en el período |
| Ahorro total | Monto total de descuento generado por la promoción (MXN) |
Exportar a CSV
Sección titulada «Exportar a CSV»Haga clic en Exportar CSV para descargar la tabla completa en formato CSV para el período seleccionado.
Reglas del motor
Sección titulada «Reglas del motor»- Solo las promociones en estado ACTIVA se evalúan en el POS.
- Si ninguna promoción aplica al carrito actual, el descuento se muestra como $0.
- Los descuentos calculados por el motor se guardan en
AplicacionPromocionjunto con un snapshot de la promoción al momento de aplicarse; este registro persiste aunque la promoción sea editada o cancelada posteriormente. - El motor filtra siempre por
tenantId; las promociones de un tenant nunca aplican en otro.
Casos frecuentes
Sección titulada «Casos frecuentes»El descuento no aparece aunque la promoción está activa. Verifique: (1) que la fecha y hora actuales están dentro del rango de vigencia, (2) que el día de la semana está incluido, (3) que los productos del carrito no están en la lista de exclusiones, (4) que se cumple la cantidad mínima para BUNDLE.
La promoción aplica pero el descuento es menor al esperado. Puede que algunos productos del carrito estén excluidos, reduciendo la base de cálculo. Revise la configuración de exclusiones y aplicabilidades de la promoción.
¿Se puede forzar la aplicación de una promoción que el motor no aplicó? No. El motor aplica automáticamente las promociones que cumplen todas las condiciones. Si una promoción no aplica, es porque al menos uno de los criterios no se cumple. Revise la configuración de la promoción.
¿Qué pasa si cancelo una venta? ¿Se revierten los usos de la promoción?
Sí. Al cancelar una venta, los registros de AplicacionPromocion asociados se anulan. Los contadores de uso total y por cliente se actualizan consecuentemente.