Transforming digital sales (2) – A simple approach to manage discount

It is not uncommon to master products in a CRM system. Ken knew BrickByBrick’s problem was in the way product pricing was managed. In SuiteCRM – in fact in many CRM systems – Price is a just a simple attribute of the Products. The way BBB manage discounts was just to clone the products and then update their prices. Eventually the product repository were full of duplicated products with different prices or other small variations. Ken’s first and probably the biggest challenge was to place this product and pricing model with something more flexible. Something allows him to inject price variations as well as price variation rules to the products.

He came to the drawing board erected in the middle of his office and quickly drew down a couple of diagrams.

The idea was simple. Ken hoped the new object ProductViews could introduce a layer of dynamic to the rigidly defined products. The attributes Products / Product Categories, Contacts / Accounts, Valid From / To defines the four pillars of the pricing model:

what products is the discount applied to?
who is eligible for the discount?
when is the discount valid from and to?
where can the discount be used?

The task Shane gave Ken was to build an online staff sales portal where a static discount would be applied to all products. The Where pillar seemed to be a little bit irrelevant. It would be useful if the products or services had to be delivered in a physical locations. A gym in central London is more expensive than a gym in suburban Glasgow, right? Ken didn’t want to waste time designing something which wasn’t supported by at least one realistic requirement.

Worth noting that although the ProductViews object defines the price variation rules of the products it is not the product pricing engine. The final price calculation are encapsulated in ProductViewService – a custom service Ken built to process the price variations. Calculation the final price in run time ensures the price the customers are seeing is always up to date.

Ken decided to take his design into action. He created a 30% percent discount ProductViews object for all BBB employees.

The product view worked on all LEGO categories. Ken then used postman to query the products in a category through the product view endpoints. He’s so glad to see a 30% discount had been applied to all LEGO sets.

Just to confirm the product view actually worked, Ken created a test contact outside the BBB account. Unsurprisingly when he queried the same Harry Porter set again in Postman, the price he could see – like most of us – was £90. The discount didn’t work for anyone outside the BBB account.

Amazed by how much he could achieve in a few hours Ken found himself deeply in love with SuiteCRM now.

Leave a comment