How OdeCloud Transformed Custom Promotions in NetSuite

Learn how OdeCloud helped a client modernize their discount and promotion management by creating custom promotions in NetSuite.  

Problem

The client had a custom homegrown system that offered a lot of flexibility, resulting in various tables with promotional data scattered throughout. It wasn’t a relational database or a pre-existing ERP system. Built and configured nearly 20 years ago, the client had been adding to it over the years, which made it increasingly complex.

Additionally, the promotional data lacked a centralized location, making it difficult to find and apply all promotional attributes to transactions. Initially, the client considered NetSuite SuitePromotions to manage their discounts; however, they faced thousands of scenarios that varied based on customer, quantity purchased, mix-and-match discounts, buy X get 1 for $X offers, and unique discounts from historical pricing and government contracts.

The task involved consolidating their discount tables into one centralized database, thereby enabling a single system to accurately calculate discounts based on the unique criteria and metrics for each customer. At first, we attempted to use SuitePromotions for discount configuration, but we encountered significant limitations. SuitePromotions allowed a maximum of 30 promotions, while we needed to manage thousands. Moreover, using the SuitePromotions module heavily would lead to performance issues, prompting us to seek an alternative solution regardless.

The client wanted the discounts to apply automatically based on the specified criteria, as long as we could define it in the backend with some logic. However, the SuitePromotions UI proved technical and not user-friendly for setting up and managing ongoing discounts and promotions. Additionally, it did not support CSV imports, which heightened the client’s concerns. This situation underscored the need to develop a custom solution that they could manage with minimal technical interference.

Clients Requirements:

  • Ability to import promotions by CSV in batch
  • Enable unlimited auto application of promotions (SuitePromotions has a maximum of 30)
  • Allow various item eligibility rules (individual item, user-defined custom grouping, product class, min/max quantity)
  • Facilitate discount % AND/OR $
  • Provide volume pricing with GL Impact discounts
  • Implement contract pricing with GL Impact discounts
  • Require GL Impact on every discount applied
  • Ability to configure a Promotional Term if the sales order is eligible (ie. if you buy X product you get a better Term for payment)

Types of Client Promotions

Standard Program

Basic program 

Applies on Product groups

1 standard program per product group

Customer Program

Customer can belong to multiple Customer Programs (by Customer Group)

Priority based per Product

Customer Product Pricing

Specific amount discount by customer by product

SPA and Margin Enhancement same thing

Simplified Pricing

  • 10 pieces +5%
  • 25 pieces +7%
  • 50 pieces +8%
  • 100 pieces +9%
  • Not combinable with bids and contracts
  • Does not combine with Standard Program and Customer Program

Mix and Match

Any items on the list of items in the mix and match promotion will be eligible

Quantity required is based on total quantity of items on order matching the items on the promo list

Buy X get 1 for $

Applies individually by item

Not mixed and matched between list of items

Bids and Contracts (typically for government)

Organized by priority (lowest discount % applies)

Uses a contract $ (coupon code)

If used, not combinable with any other promotions

Bids and Contracts with Old Pricing (from contract)

Contract pricing can’t change

If price increases, we need to keep track of old agreed upon pricing 

Bids and Contracts with Warranty

If you buy X item with warranty Y years you get % discount

Demo Promotion

If you qualify with quantity by item, 1 item splits in separate line and get Demo DFI applied to that line

Terms Promo

For customers and date eligible, set the term on the SO

Solution: Custom Promotions in NetSuite

Solution Architecture:

  • Two custom records were created – parent/child records.
  • Parent custom record is for the promo header level data.
  • Child custom record is the promo definition by item/item grouping.
  • Scripts to manage data extract, define customer/sales order/item eligibility and apply discounts automatically.

A custom record holds all the data and criteria applicable for client promotions. Specifically, it tracks values like location, subsidiary, currency, items, and quantities. Once a sales order is created for a customer eligible for a promotion, the system saves the transaction. Upon saving, a user event script runs to review and evaluate the client’s eligibility for promotions and check if all criteria are met for specific discounts. If the criteria match, the system automatically applies those discounts to the sales order as additional lines, thereby reflecting the appropriate General Ledger impact and updating the discounted sales order. Conversely, if the criteria do not match, the sales order proceeds unchanged.

Additionally, the client has the ability to override promotions and discounts if necessary. This feature allows for error resolution if a discount is not applied correctly or if they need to manually update an order urgently without waiting for a technical solution. By clicking a simple checkbox, the client can control whether to override the automation, provided the user has the appropriate permissions.

Ultimately, the final result is a solution that the client truly appreciates. It not only outperforms their legacy disparate systems, which lacked controls, but also enables them to create promotions without needing IT resources. This represents a significant improvement that the finance team greatly values.

Featured Posts

How OdeCloud Transformed Custom Promotions in NetSuite

Share to social!
Categories

Featured Posts

This is where work related content goes – knowledge on business technology, productivity tools and hacks, career and personal growth.

Explore 

This is where network related content goes – Using OdeSocial, Events, Meetup, Coach, Hiring, Mentorship etc.

Explore 

Be inspire and inspire others – He are thoughts on things we care about. Some personal projects we are really proud of. And many other things that makes OdeCloud very unique.

Explore 

Life isn’t always about work and it should be. These are the things that complete us. We are also human after all.

Explore 

Get 5 days to try out a consultant for FREE

A member of our team will contact you to learn more about your needs.

Thank you!

We will get back to you shortly.
Have a great rest of your day!

OdeCloud team.