B2BCase Study · E-commerce mayorista

De la planilla de Excel a un portal de pedidos mayoristas.

Diseño de un panel privado para que los clientes de un distribuidor de materiales eléctricos armen sus pedidos solos, con precios propios, stock real y descuentos por volumen, sin llamadas de ida y vuelta.

Rol
UX Designer & Front-end Developer
Análisis, arquitectura de información, interacción, UI y prototipo en código.
Equipo
UX Designer (yo) · Project Lead · Tech Lead · Project Manager
Meets semanales con el equipo del cliente y demos con Product Owner y stakeholders.
Cliente
Distribuidor mayorista de electricidad
Anónimo. "Voltra" es un nombre ficticio.
Duración · Stack
6 meses
Adobe Commerce (Magento 2) · Figma
portal.voltra.com/catalogo
Panel de pedidos: catálogo en lista con la card abierta y la barra de escalas de precio
01Fase: Descubrir

El desafío

Cientos de clientes pedían entre miles de productos con una planilla. Funcionaba, pero cada pedido costaba tiempo, errores y llamadas.

Los pedidos llegaban por planillas de Excel que circulaban entre clientes. Eso exponía los precios a la competencia, no mostraba stock real y obligaba al back office a llamar para confirmar cada pedido.

Cómo funcionaba antes

Lista en ExcelSe envía a todos los clientes con SKU y precio
Cliente completaEscribe cantidades a mano, fila por fila
Envía por mailSin validación de stock ni mínimos
Back office revisaBusca errores y controla stock a mano
se repite
LlamadasConfirmar, avisar faltantes, corregir
Pedido cargadoSeguimiento difícil, sin historial claro
Precios expuestos

La planilla circula y la competencia conoce la lista. Se pelea por precio cliente a cliente.

Negocio
Stock desactualizado

El cliente pide lo que no hay y se entera recién en la llamada.

Cliente
Errores de carga

Cantidades fuera de caja, SKUs mal copiados, filas corridas.

Ambos
Ida y vuelta

Cada pedido requiere una o más llamadas antes de cerrarse.

Back office
Sin seguimiento

Los pedidos viven en mails y planillas: difícil saber en qué estado están.

Ambos

Objetivos

Objetivo de negocio

Iniciales del proyecto

  • 1
    Proteger la lista de preciosAcceso privado con precios por cuenta
  • 2
    Bajar la carga del back officeMenos llamadas de confirmación y corrección, y menos coordinación logística interna
  • After discoveryObjetivos que surgieron durante la investigación
  • 3
    Automatizar precios exclusivos por clienteCada cuenta ve su propia lista, segmentada por grupo de clientes
  • 4
    Vender lo que todavía no llegóPedidos en backorder que se suman a la próxima importación
  • 5
    Centralizar la facturaciónCada factura queda asociada a su pedido y se gestiona desde la plataforma
  • 6
    Mantener los precios al día frente a la inflaciónActualización automática de la lista y conversión al tipo de cambio vigente
Objetivo de usuario
  • 1
    Armar un pedido en minutosSin descargar ni completar planillas
  • 2
    Saber qué hay y cuánto va a pagarStock real y precio final según cantidad
  • 3
    Repetir compras habitualesListas guardadas y carga rápida por SKU
  • 4
    Negociar precios sin salir del portalPedir un presupuesto y recibir la cotización en la plataforma
  • 5
    Tener sus facturas a manoConsultar y descargar la factura de cada pedido cuando la necesite
  • 6
    Seguir cada pedido en tiempo realSaber en qué estado está, de la confirmación al despacho, sin tener que llamar

Punto de partida

Lista_precios_OCT.xlsx — compartido por mail
E7 fx  =13
SKUDescripciónPrecioCajaCantidad
2PH-A60-09E27Lámpara LED A60 9W E27$2.1801060
3SE-A9F-2P20Termomagnética 2×20A$18.950613 1
4SC-FC-1OA 2Fotocélula 10A 220V$4.3501224
5JZ-SM360-TSensor movimiento 360°$12.40015
6CB-S22-TDTapa toma doble S XXII$1.12020
7ML-STR-5050Tira LED 5050 5m$8.920520
8SC-IC-3P-25Interconector 3P 25A$6405030 3
PedidoPrecios x volumen 4Stock (semana pasada) 5

Recreación ilustrativa a partir del análisis de planillas reales. Datos ficticios.

1
Cantidad fuera de caja13 unidades de un producto que se vende de a 6.
2
SKU mal copiadoUna "O" en lugar de un "0" y el producto no existe.
3
Pedido menor al mínimo30 interconectores cuando la caja trae 50.
4
Escalas en otra hojaEl descuento por volumen no se ve al decidir la cantidad.
5
Stock desactualizadoUna foto de la semana pasada, no el stock real.
02Fase: Definir

Investigación y hallazgos

Dos fuentes, foco en dónde nacían los errores y qué necesitaba cada lado para cerrar un pedido sin llamar.

Entrevistas al back office

Con quienes recibían las planillas: qué revisaban, qué corregían y por qué llamaban a cada cliente.

Análisis de planillas de pedido

Revisión de pedidos reales para clasificar errores frecuentes y patrones de compra.

Hallazgos clave

01Precios
Con una moneda inestable, cada pedido era una cuenta.

En un contexto de devaluación de la moneda local, la lista se manejaba en dólares y los clientes convertían a mano cada pedido para saber cuánto iban a pagar.

→ Precios en USD con conversión automática al tipo de cambio del día
02Backorder
Sin stock no tiene que significar sin venta.

Si el cliente no puede reservar lo que está por llegar, compra en otro lado. Y sin la llegada garantizada, tampoco puede comprometerse con sus propios clientes ni cerrar acuerdos. Ver el stock futuro le permite planificar y vender con anticipación.

→ Pedidos en backorder sobre los próximos arribos de importación
03Volumen
Las escalas de precio no se aprovechan.

Los precios y descuentos por volumen viven en otra hoja. El cliente no ve cuánto le falta para pagar menos.

→ Escalas junto a la cantidad + aviso "te faltan X u."
04Recompra
Los clientes repiten casi el mismo pedido.

Muchas planillas son variaciones de la anterior. Pero cuando cambian los SKUs, la planilla vieja deja de servir y hay que armar una nueva desde cero.

→ Listas guardadas y pedido rápido por SKU

Para quién diseñamos

FS
Comprador mayoristaPerfiles de cliente que usan el portal
Usuario principal
Job to be doneCuando repongo mercadería, quiero armar mi pedido rápido y saber qué hay y cuánto me sale, para no perder ventas ni tiempo al teléfono.
Perfiles de cliente
Dueños o encargados de comerciosDistribuidores y revendedoresInstaladores y profesionales del sectorGrandes empresas de la industria nacional
Necesita
  • Encontrar por marca, categoría o SKU
  • Ver precio final según cantidad
  • Repetir pedidos habituales
Frustraciones
  • Pedir algo que no hay
  • Enterarse tarde de un error
  • No saber si le conviene llevar más
BO
Ops back officeRecibe, controla y carga pedidos
Usuario indirecto
Job to be doneCuando entra un pedido, quiero que llegue validado, para cargarlo sin tener que llamar al cliente.
Necesita
  • Pedidos con stock confirmado
  • Cantidades válidas por caja
Frustraciones
  • Llamadas de confirmación
  • Corregir planillas a mano
03Fase: Desarrollar

Ideación y proceso

Primero el flujo y la estructura. Después, el componente más difícil: una card que tenía que decir mucho sin volverse ilegible.

User flow · nuevo pedido

Paso 1
Ingreso
  • Usuario y contraseña
  • Precios de su cuenta
Paso 2
Explorar
  • Marca → subcategoría
  • Búsqueda por SKU
  • Filtro "con stock"
Paso 3 · clave
Definir cantidad
  • Mínimo y múltiplos
  • Escala aplicada
  • Cuánto falta para la próxima escala con descuento
Paso 4
Revisar pedido
  • Minicarrito siempre a mano
  • Ahorro por escala
  • Editar o eliminar
Paso 5
Confirmar
  • Stock reservado
  • Guardar como lista (opcional)
  • Seguimiento
Atajos para recompra:Pedido rápido por SKU≡Lista guardada↧Pegar desde Excel
Catálogo 3.412 productos
  • Marcas
    • Philips 412
      • Lámparas LED 248
      • Paneles y plafones
      • Tubos T8
    • Schneider Electric 386
    • Jeluz · Sica · Cambre…
  • Categorías (vista alternativa)
  • Ofertas · Mis listas · Pedidos
A
Marca primero, categoría como alternativa

El comprador mayorista piensa en marcas ("¿qué tenés de Philips?"). Un selector Marcas / Categorías mantiene las dos lógicas sin duplicar el menú.

B
Subcategorías en dropdown

Con cientos de productos por marca, el árbol se abre solo donde el usuario está. El resto queda contraído con su conteo.

C
Navegación y carrito persistentes

Pedido del cliente: ambos siempre visibles. Esto se volvió el principal desafío de espacio (ver decisión 05).

Exploración · la card de producto

Una card tenía que mostrar imagen, marca, SKU, color, atributos, specs, stock, precio, oferta, 3 escalas, cantidad mínima, selector de cantidad y CTA. Probamos tres estructuras y, sobre la elegida, iteramos cómo mostrar las escalas.

A · Todo visibleDescartada
$2.180
Escalas
Base$2.180Pro$1.990Master$1.840
Te faltan 40 u. para MasterMejor precio aplicado
−60100+Agregar
Todo a un vistazo
Fila alta: pocas por pantalla
Se rompe con nav + carrito abiertos
B · CTA ocultoIteración
$2.180Comprar
Al hacer clic en “Comprar”
Base$2.180Pro$1.990Master$1.840
−60+Agregar
Lista compacta y escaneable
Un clic extra solo para pedir cantidad
La acción principal queda escondida
C · Cantidad visible + detalleElegida
$2.180−01060120+⌄
Al sumar cantidad
BaseProMaster
10 u.60 u.120 u.
Actualizar
La acción principal siempre a mano
Escalas como recorrido sobre una barra
Fila compacta y responsive

Iteración · cómo mostrar el precio por volumen

Antes · 3 tarjetasDescartada
Escalas como tres tarjetas
Tres bloques que compiten entre sí: se leen como opciones, no como un recorrido.
La relación entre cantidad y escala queda en una barra aparte.
Después · barra de escalasElegida
Escalas sobre una barra deslizable
Cada escala es un tramo de la misma barra: se ve dónde estás y cuánto falta.
La barra también es el selector: se arrastra para sumar unidades.

Decisiones de diseño clave

Decisión 01

Divulgación progresiva en la card

ProblemaDemasiada información por producto para un listado de cientos de ítems.
SoluciónFila cerrada con lo necesario para decidir (precio, stock, cantidad). La barra de escalas, el resumen y el CTA aparecen al interactuar con el selector de cantidad.
Por quéSi el usuario cambia la cantidad con la fila cerrada, se abre sola: el detalle aparece justo cuando importa.
Interacción
Decisión 02

Cantidades que no pueden estar mal

ProblemaEl error más común: cantidades fuera de caja o por debajo del mínimo.
SoluciónEl selector avanza en múltiplos del mínimo y muestra la regla arriba: "Mín. 10 u. · de a 10".
Por quéPrevenir es mejor que validar: el pedido nunca llega mal al back office.
Fila cerrada con stock, precio en oferta, mínimo de venta y selector de cantidad
Decisión 03

Escalas como un recorrido, no como opciones

ProblemaLas escalas existían, pero en otra hoja. Y mostradas como tres tarjetas se leían como opciones sueltas, sin relación con la cantidad.
SoluciónUna barra dividida en tramos Base / Pro / Master con precio, rango y ahorro. El control se arrastra para elegir la cantidad, y tocar una escala salta a su mínimo.
Por quéEl cliente ve dónde está y cuánto le falta para pagar menos. El resumen muestra la escala aplicada y el descuento en pesos.
Slider de escalas
Decisión 04

Stock como semáforo, número al pasar el mouse

ProblemaUn número de stock por fila agrega ruido y obliga a leer y comparar.
SoluciónUna caja que se ve llena, a medias o casi vacía, con color de semáforo. La cantidad exacta, en el tooltip.
Por quéSe escanea en un vistazo. Forma + color: no depende solo del color para leerse.
Hover
Disponible300+ u.
Poco stock50–299 u.
Casi sin stock< 50 u.
Decisión 05

Nav y carrito siempre presentes, sin robar espacio

ProblemaEl cliente pidió ver siempre el menú y el carrito. En pantallas medianas, las cards quedaban aplastadas.
SoluciónNav colapsable a íconos y minicarrito que se oculta en el resumen superior. En tablet y mobile, la lista pasa a cards.
Por quéSe cumple el requisito sin sacrificar el contenido: el usuario decide cuánto espacio le da a cada cosa.
Layout
Decisión 06

Orden rápida: un puente para quien viene del Excel

ProblemaLos clientes habituales saben de memoria sus SKUs o ya tienen su pedido en una planilla. Recorrer el catálogo les resulta lento.
SoluciónPegar SKUs o subir un Excel / CSV. Cada línea se valida: ajusta al mínimo de venta, marca faltantes con su fecha de arribo y sugiere el SKU correcto si hay un error.
Por quéRespeta el hábito existente y convierte la planilla en un pedido validado, sin llamadas de corrección.
Orden rápida
04Fase: Desarrollar

Integraciones clave

La interfaz resuelve el pedido del cliente. Las integraciones resuelven lo que pasa después: conectan el portal con los sistemas internos para que el back office deje de ser el puente manual entre ellos.

Orden de preparación Stock en vivo Fecha de arribo Factura adjunta Portal de pedidos Clientes mayoristas Una sola fuente para el pedido Sistema de depósitoPreparación y despacho Sistema de ventasStock compartido Arribos de importaciónMercadería en tránsito Pedido de presupuesto Presupuestos de compraCotizaciones a medida del cliente AdministraciónFacturas adjuntadasa cada orden de compra
Integración 01

Pedido directo al depósito

Al confirmarse, el pedido llega al sistema del depósito como orden de preparación, sin pasar por las manos del back office.

AntesCada pedido aprobado se volvía a cargar a mano para que el depósito lo preparara.
AhoraUn solo registro viaja del portal al depósito, y su estado vuelve al cliente.
Cómo lo ve el cliente
Pedido #10482136 u. · 4 productos
En preparación
✓Sin doble carga ni errores de transcripción
Integración 02

Arribos de importación con fecha

Los productos en tránsito al país se muestran con su fecha estimada de llegada y se pueden pedir en back order, para que el cliente planifique y reserve en lugar de preguntar.

Antes"¿Cuándo entra?" era una consulta diaria que el back office respondía por teléfono.
AhoraEl producto sin stock informa su próximo arribo y permite hacer un pedido en back order: la mercadería queda reservada y se despacha al ingresar.
Cómo lo ve el cliente
Lámpara LED G45 5W E14PH-G45-05E14
Sin stock
Próximo arribo14 oct · 2.400 u.
Avisarme
Pedido back order200 u. · se despacha el 14 oct
Reservar
✓Menos consultas, ventas que no se pierden y demanda futura visible para compras
Integración 03

Stock actual y futuro, sincronizado

Depósito, ventas y portal comparten un único dato de stock que se actualiza en todos a la vez, y suman el stock futuro: lo que ya está en camino con su fecha de arribo.

AntesCada sistema mostraba un número distinto, había que verificarlo antes de confirmar y nadie sabía qué iba a entrar.
AhoraEl cliente ve el mismo stock que el depósito y el back office, en tiempo real, y cuánto se suma con los próximos arribos.
Una sola verdad
Depósito 148Ventas 148Portal 148En camino +600 · 14 oct✓ Sincronizado · hace 1 min
✓Adiós a las llamadas para confirmar stock o preguntar cuándo entra
El back office pasa de transcribir y confirmar a supervisar.
  • Menos carga manualLos pedidos llegan al depósito sin recargarlos.
  • Menos llamadasStock y arribos responden solos las preguntas frecuentes.
  • Un dato confiableCliente, ventas y depósito ven la misma información.
05Fase: Entregar

UI final

Minimalista y neutral: el color se reserva para lo que comunica algo (oferta, stock, escala, acción).

Vista lista
Vista lista con la card expandida y la barra de escalas
Popup de ficha técnica

Sistema visual

Color
Ink#111318
Acción#3355F0
Fondo#F7F8FA
Activo#E6E8EC
Oferta · OK#17A15E
Poco#D99211
Crítico#E0434A
Info#E8EDFF
Tipografía · Inter
Catálogo34 / Semibold
$2.18017–19 / Precio
Lámpara LED A60 9W14 / Producto
Mín. 10 u. · de a 1011–12 / Meta
Componentes
−60 u.+
BaseProMaster
60 u.
Oferta −17%✓ Agregado
Agregar al pedido
06Fase: Entregar

Prototipo interactivo

Prototipado directamente en HTML/CSS/JS para validar interacciones reales con el equipo y el cliente.

Probalo acá mismo

Front-end navegable: no conectado a datos reales.

Abrir en pantalla completa
Arrastrá la barra de escalasCambiá una cantidad con la fila cerradaPasá el mouse por el ícono de stock"Ver ficha"Rayo: orden rápidaEliminá algo del carrito

Cómo vamos a medir el impacto

Back office
Llamadas de confirmación por pedido

El indicador más directo del problema original.

Objetivo: ↓
Calidad
Pedidos que requieren corrección

Cantidades, SKUs o faltantes corregidos después del envío.

Objetivo: ↓
Negocio
Pedidos que alcanzan una escala superior

Mide si el aviso "te faltan X u." cambia la decisión.

Objetivo: ↑