Apariencia
Control de precios y descuentos
Módulo requerido:
sales
→ Módulos y permisos
El sistema tiene tres capas de control sobre los precios y descuentos que un usuario puede aplicar al vender, más un bloqueo opcional de venta sin stock.
1. Permiso para editar el precio
El permiso sales.price.edit controla si el usuario puede modificar el precio unitario de una línea en el formulario de venta. Sin este permiso, el campo de precio aparece bloqueado y siempre se usa el precio que resuelve el sistema (base, lista de precios o tarifa de aseguradora).
2. Tope de descuento por rol
Cada rol tiene un campo Descuento máximo (%) (en Configuración → Roles). Define el descuento por línea más alto que ese rol puede aplicar sin autorización.
0= el rol no puede dar descuentos por su cuenta.100= sin tope (típico para administradores).
Excepciones al tope
Los descuentos que no cuentan contra el tope del rol:
- Descuentos aplicados por cupón (los valida el cupón, no el cajero).
- Los programas de descuento del cliente (jubilado, SENADIS, convenios).
- Conversión de PED → FAC (los descuentos ya venían autorizados en el pedido).
3. Autorización de excesos
Cuando un cajero intenta guardar una venta con un descuento por encima de su tope, el sistema no la rechaza: abre el flujo de autorización.
Cajero excede su tope
↓
Se crea una solicitud de autorización (AUT-XXXX)
↓
Un supervisor con permiso la aprueba o deniega
↓
Aprobada → la venta se guarda con el descuento
Denegada → el cajero debe ajustar el descuentoAprobar en el momento (mismo equipo)
En la pantalla del cajero aparece un modal donde el supervisor puede ingresar sus credenciales y aprobar ahí mismo, sin que el cajero pierda la venta en curso.
Aprobar a distancia
- El supervisor va a Ventas → Autorizaciones (permiso
sales.discount.authorize). - Ve las solicitudes pendientes con el detalle: usuario, cliente, líneas y % solicitado.
- Aprueba o deniega. El cajero ve el resultado en su pantalla y continúa.
Descuento global y por línea
En los formularios de venta (FAC, COT, PED) puedes aplicar:
- Descuento por línea — columna de descuento en la grilla (edítala con el botón de lápiz de la fila).
- Descuento global — porcentaje sobre el subtotal, al pie del formulario. Se reparte proporcionalmente entre las líneas.
Ambos cuentan contra el tope del rol.
Programas de descuento (jubilado, SENADIS, convenios)
Los beneficios que tu negocio reconoce se dan de alta en Configuración → Programas de descuento. Cada programa lleva:
| Parámetro | Descripción |
|---|---|
| Descuento de respaldo | El que se aplica cuando la categoría del producto no tiene uno propio. |
| Porcentaje por categoría | La ley da 25 % en medicinas y 15 % en hospitalización: aquí pones los que se aparten del respaldo. Las subcategorías heredan el de su categoría padre. |
| Cómo se otorga | Automático por edad (el de jubilados) o a mano (SENADIS, convenios). |
| Exige documento / vencimiento | Si al asignarlo hay que capturar el carné y hasta cuándo vale. |
Jubilado
Viene creado de fábrica con el porcentaje que ya tenías. Las edades de jubilación siguen en Configuración → Datos de la empresa: son las que deciden a quién se le marca el ganchito.
- Al guardar un cliente con fecha de nacimiento y sexo, el sistema marca automáticamente el ganchito Jubilado si alcanza la edad configurada. (También puede marcarse a mano con permiso; el auto-cálculo nunca lo desmarca.)
- Para desactivarlo, desactiva el programa Jubilado.
SENADIS y los demás
Se asignan cliente por cliente, en la sección Descuentos y beneficios de su ficha, y hace falta el permiso «Asignar y revocar programas de descuento».
- Queda registrado quién lo asignó y cuándo, y al quitarlo hay que escribir el motivo. El beneficio retirado no se borra: pasa al historial, porque explica los descuentos que ya salieron en facturas.
- Si el programa exige vencimiento, al vencer deja de aplicarse solo.
- El número de carné solo lo ve quien administra beneficios.
Cómo se aplican
- Al facturar, cotizar o hacer un pedido, el descuento se aplica por línea automáticamente, según la categoría de cada producto.
- Si una línea ya tiene un descuento mayor, se respeta el mayor (no se suman).
- Si el cliente tiene varios programas, se aplica el más alto — nunca la suma.
- Están exentos del tope del rol del cajero. Lo que se descuente por encima sí pide autorización.
- Una línea cubierta por la aseguradora no lleva descuento: lo cubierto no se combina con beneficios.
- El descuento se puede quitar a mano en una línea concreta (poniéndolo en 0): el sistema respeta la decisión de quien factura. Si un rubro entero no debe llevar el beneficio, es mejor ponerle 0 % a esa categoría en el programa, y así no hay que acordarse en cada venta.
Bloqueo de venta sin stock
El interruptor Bloquear venta sin stock (en Configuración → Datos de la empresa) convierte el aviso de stock insuficiente en un bloqueo duro: el sistema no permite guardar la factura si la cantidad supera el stock disponible del almacén.
- Desactivado → el sistema avisa pero permite vender en negativo.
- Activado → la venta se bloquea hasta ajustar cantidades o reponer stock.
Listas de precios
Además del precio base, un producto puede tener precios alternativos por lista de precios (ej. FERIADO, DOMICILIO). El cajero selecciona la lista en el encabezado del documento y el sistema resuelve el precio de cada línea.
→ Configuración → Listas de precios
Precedencia de precios
Cuando varias fuentes de precio aplican al mismo producto, el orden es: tarifa de aseguradora → descuento por categoría de aseguradora → lista de precios → precio base.
Preguntas frecuentes
¿El tope de descuento aplica también a cotizaciones y pedidos?
Sí. Las tres capas funcionan igual en FAC, COT y PED.
¿Quién puede aprobar autorizaciones?
Cualquier usuario cuyo rol tenga el permiso sales.discount.authorize y un tope de descuento suficiente para cubrir el % solicitado.
¿Queda registro de las autorizaciones?
Sí. Cada solicitud queda con su número AUT, quién la pidió, quién la resolvió y en qué venta terminó aplicada.