B2B Commerce Cloud y el reto de modelar un motor de precios

La importancia del comercio electrónico, también en el B2B

Estamos viviendo una época de gran impulso en la transformación digital de la cadena de servicio de muchas empresas del sector Retail. El tradicional modelo basado en una organización que vende sus productos a través de una red de comerciales que toman pedidos de sus clientes de manera recurrente está evolucionando hacia un nuevo paradigma.

En esta nueva etapa, el cliente pasa a ser autónomo y proactivo en la toma de pedidos, mediante la explotación de un canal ecommerce B2B. Esto libera a los comerciales de la tarea de registrar semanalmente un pedido –que además suele variar poco- de manera manual para centrarse en tareas de mayor valor añadido, como presentación de nuevos productos, búsqueda de nuevos clientes, etc.

B2B Commerce Cloud, la propuesta de Salesforce

En este contexto, Salesforce ofrece su B2B Commerce Cloud, una aplicación líder en su sector según los últimos informes de Gartner y Forrester.

Es una plataforma construida directamente sobre Salesforce Platform, que permite explotar todas las capacidades nativas de Salesforce, tanto a nivel de desarrollo como de datos.

A nivel de experiencia de usuario, el B2B de Salesforce no dista mucho de un ecommerce estándar B2C, con la excepción de algún módulo específico, como por ejemplo la posibilidad de introducir una lista de SKU y cantidades directamente para realizar un pedido.

Sin embargo, donde sí radica una diferencia importante –y esta es la verdadera potencia del B2B de Salesforce- es en el motor de precios que alimenta la plataforma.

El motor de precios, el gran caballo de batalla

En un modelo ecommerce B2C, los precios se fijan a nivel de producto, y son iguales para todos los clientes. En el B2B, por el contrario, normalmente los precios obedecen a una serie de cálculos que pueden depender de varios atributos de producto y cliente.

Así, por ejemplo, un cliente suele estar asignado a una tarifa concreta que determina un precio base. A partir de aquí, pueden definirse reglas de precios y promociones que modifican el precio original de ciertos productos dentro de unas fechas determinadas (p.e. 10% descuento para una determinada marca, o para un grupo determinado de clientes). Además, también pueden negociarse precios específicos para determinados productos y clientes y definir también no sólo precios, sino surtidos de productos específicos para cada cliente.

Todas estas reglas cruzadas y superpuestas, cada una con su prioridad y fechas de vigencia, deberán gestionarse para que en la tienda B2B podamos presentar el precio final que tiene un producto para un determinado cliente. Y todo ello, sin problemas de rendimiento que impacten en la experiencia de usuario! Por ello, el cálculo de precios es uno de los aspectos más complejos en un proyecto de ecommerce B2B.

Afortunadamente, el B2B Commerce Cloud de Salesforce nos ofrece un modelo bastante flexible donde poder implementar esta casuística. Sin embargo, la dificultad deriva del hecho de que el ERP del cliente –en muchos casos SAP R3- también calcula sus precios pero basándose en su propio modelo, un modelo que muchas veces ha ido creciendo y ganando complejidad con los años de uso.

Un encaje que no siempre es fácil

Y aquí es donde llega el reto de verdad: ¿cómo encajar un modelo con otro?

Una posible opción es sencillamente no hacerlo. Es decir, delegar el cálculo de precios del B2B en el ERP del cliente. Con este enfoque, el B2B realiza llamadas a un servicio del ERP que le devuelve los precios para un determinado producto y cliente.

Este modelo evita la complejidad de trasladar el motor de precios del ERP a Salesforce, con sus respectivas integraciones, pero introduce una dependencia sobre el ERP, que deberá ser capaz de servir todas las peticiones que le lleguen con una velocidad de respuesta adecuada. Si este canal de comunicación se satura o cae, los clientes no podrán comprar. Por otra parte, estas peticiones suelen conllevar un coste económico de licencias, por lo que no es un modelo muy escalable.

La alternativa consiste lógicamente en modelar las reglas de precios del ERP para que se adapten al B2B. Esta opción permite que el B2B sea autónomo para calcular los precios, sin depender de conexiones al sistema fuente ni añadir coste económico en cada transacción. Además, el hecho de tener el motor de precios implementado en Salesforce ofrece muchas posibilidades de escalabilidad (p.e. para alimentar un servicio televenta o una aplicación de Sales para los comerciales).

Integración con el ERP

Muchas veces este ejercicio de análisis sirve también para revisar y “ordenar” el sistema de precios del cliente, estableciendo unas reglas claras que eviten un escenario donde el modelo base ha quedado trascendido por desarrollos custom y el “todo es una excepción”.

En esta arquitectura, normalmente un middleware (p.e. una ETL o Heroku) se encarga de transformar los datos fuente al modelo del B2B, siendo siempre el ERP el maestro de datos.

Es muy importante en esta fase de análisis cuantificar las volumetrías de datos, ya que Salesforce define unos límites muy claros que si no se gestionan proactivamente pueden representar un problema para el proyecto. En algunas ocasiones será necesario incluso modificar el modelo core del B2B para optimizarlo a la casuística del cliente y minimizar así volumetrías.

Un ejemplo claro de este último caso es la gestión de tarifas y surtidos. SAP R3, por ejemplo, permite la definición de estas dos entidades de manera independiente. Es decir, un cliente puede tener asignado un surtido A y una tarifa B, que no tienen porqué estar relacionados.

En el modelo B2B de Salesforce, ambos conceptos quedan agrupados en la tarifa, es decir, no existe la entidad surtido como tal. Si un cliente tiene asignada una tarifa A, comprará todos los productos incluidos en esa tarifa al precio indicado (lo que Salesforce llama el “entitlement” del cliente).

El no adaptar el modelo del B2B a la gestión de surtidos, puede implicar que tengamos que definir una tarifa para cada combinación tarifa-surtido, multiplicando exponencialmente el nº de registros de precios y superando los límites recomendados.

Conclusión

En definitiva, la implementación del motor de precios constituye uno de los principales retos en un desarrollo ecommerce B2B, pero también es uno de los aspectos clave que más nos pueden hacer disfrutar del proyecto y donde más valor podemos aportar al cliente como especialistas en tecnología, exprimiendo nuestro conocimiento, experiencia, creatividad y capacidad de análisis.

 

Guia introduccion MuleSoft AnyPoint