Vero y Vicky llevan la cartera: cada cliente de Mogos está tomado por una de ellas. De cada flete que ese cliente paga, el 1% del total cotizado es de su asesora — no un recargo: reparto interno del ingreso. Hoy ese 1% se calcula a mano. Esta propuesta lo vuelve un módulo del dashboard que gerencia lee por contenedor — y que para las asesoras no existe.
Las asesoras no cotizan ni operan: atienden. Su trabajo es el cliente — el chat, el seguimiento, la confianza. La comisión existe para que ese trabajo tenga número, sin pedirles nada nuevo: todo lo que la calcula ya está en el sistema.
Cada cliente tiene su asesora en una relación propia (User.advisorId,
columna nueva) que se asigna en su ficha del admin — un select «Asesora» igual al
«Agente» que ya existe. Vero atiende a los suyos, Vicky a los suyos.
El flete se cotiza como siempre y el cliente paga exactamente lo cotizado. Nada cambia para él — ni un dólar, ni una pantalla.
Del total de esa cotización, el 1% se acredita a la asesora del cliente en un ledger — con la tasa y la cartera congeladas en ese momento, igual que hacen los moguis.
Cuando el contenedor se arma, cada flete adentro ya trae su comisión. El módulo del dashboard las suma por contenedor y por asesora — Samuel, David y Andre lo leen en un solo lugar.
Si el flete cuesta 100, el cliente paga 100 — y de esos 100, 1 es de la asesora. La comisión sale del ingreso de Mogos, nunca se suma encima. Por eso el módulo vive del lado privado: es contabilidad interna del margen, no un precio.
Tres alturas y ninguna página nueva: las fichas responden «¿cuánto va del período?», las barras responden «¿qué contenedor lo generó?» y la tabla responde «¿de qué fletes salió?». Clic en una barra aísla ese contenedor; clic en una fila la abre hasta el flete. De lo agregado al detalle sin cambiar de contexto.
| Contenedor · flete | Despacho · cliente | Fletes · asesora | Cotizado | Comisión 1% |
|---|
La comisión de cada flete se congela al acreditarse: si un flete se anula, el ledger la reversa con un renglón negativo — la historia nunca se reescribe. Los consolidados aéreos no viajan en contenedor: aparecen como grupo propio del mes para que el período siempre cierre completo. Y un flete de un cliente sin asesora asignada no acredita comisión: aparece agrupado como «Sin asesora» en gris, para que gerencia detecte carteras sin cubrir.
Vero y Vicky son ADMIN, igual que gerencia — lo que las distingue es su rol
RBAC. Por eso el gate no puede ser el rol grueso: es un permiso nuevo,
COMMISSIONS · READ, que el rol de gerencia tiene y el de atención al
cliente no. Y la regla de diseño es ausencia, no censura: para una
sesión sin el permiso, el módulo no se dibuja gris, no muestra un candado, no pide
acceso — no existe.
Se evaluó darles a las asesoras un módulo espejo con conteos y sin dinero («este mes atendiste 34 fletes»). Se descarta en la rebanada 1: la regla del 1% ya la conocen, un contador sin monto invita a calcular de cabeza lo que la pantalla calla, y el pedido explícito es que las comisiones se manejen en privado. Si algún día gerencia quiere compartirles un resumen, será una decisión nueva — no un efecto colateral del diseño.
La comisión no se recalcula al vuelo: se acredita en
CommissionLedgerEntry, espejo del MoguiLedgerEntry que ya
opera — append-only, un renglón por flete, snapshot de la tasa (0.01) y reversa con
renglón negativo. Si mañana la tasa cambia, la historia no se mueve.
User.agentId ya está ocupado — es el programa de agentes (rol
AGENT, promociones, moguis) y un cliente puede tener agente externo Y
asesora interna a la vez. La conversación tampoco sirve de fuente: cambia de manos
con cada handoff. La asesora vive en User.advisorId, se asigna en la
ficha del cliente, y el renglón la guarda al momento del crédito —
si el cliente cambia de cartera, las comisiones pasadas se quedan donde nacieron.
Un valor nuevo en la matriz RBAC: ResourceType.COMMISSIONS. El
rol de gerencia lo recibe con READ; el de atención al cliente, no. Mismo
patrón que FINANCES, que ya guarda el dinero de /finanzas.
Sin el permiso, el endpoint no responde — los montos nunca viajan a una sesión de asesora. Esconder con CSS lo que el API sí envió ya nos costó una auditoría en cotizaciones de servicio; acá el filtro nace del lado correcto.
No es un recargo. El cliente paga exactamente lo cotizado; el 1% sale del ingreso, nunca se suma al precio.
No hay versión para asesoras. Ni con montos, ni sin montos, ni «próximamente». El módulo pertenece a gerencia.
No hay ranking ni medallas. Es una herramienta de lectura para gerencia, no una competencia entre Vero y Vicky.
No hay liquidación en la rebanada 1. El módulo muestra; el pago a las asesoras se maneja fuera. La tabla ya corta por período para cuando llegue.
No hay doble eje ingresos/comisiones. La comisión es siempre el 1% del cotizado: dibujar ambos sería mostrar el mismo dato dos veces.
Una tabla nueva, un permiso nuevo y un módulo en el dashboard que ya existe. Las asesoras no cambian nada de su día; gerencia deja de calcular a mano; y cada contenedor que zarpa lleva su cuenta clara — congelada, auditable y en privado.