Reward Points Program for NetSuite Version-2

Proposal Summary

The proposed solution aims to integrate a customized reward system into NetSuite. This program will automatically grant credits to customers based on their membership tier and reward level. The solution will consist of three tiers (PARTNER, AFFILIATE, ASSOCIATE) and six reward levels within each tier (NO TIER, STANDARD, SILVER, GOLD, PLATINUM, DIAMOND)

Requirement

Crystal Tones is looking to establish a customized reward points program tied to customer purchases. Additionally, they aim to automate the process of applying rewards and implement a notification system for reminding customers about their remaining rewards.

Deliverables

This proposed solution involves the development and implementation of a reward program within NetSuite, referred to as the “Crystal Points Reward Program.” This program will automatically provide rewards to customers in the form of Reward points based on their membership tier and reward level. To maintain active participation in the Crystal Points Program, customers must meet a minimum spending threshold determined by the initial amounts specified in the custom record corresponding to their Tier, based on the Total Purchase Amount within the current year. The reward program operates on a yearly basis, running from January 1st to December 31st.

The project encompasses the following key areas:

Reward Configuration

We will create a custom record within NetSuite specifically dedicated to storing the reward configuration. This record will include detailed definitions of membership tiers (PARTNER, AFFILIATE, ASSOCIATE) and reward levels (NO TIER, STANDARD, SILVER, GOLD, PLATINUM, DIAMOND). The reward percentages for each tier and level, along with the corresponding sales thresholds, will be defined and maintained in this custom record.

Notably, this custom record empowers Crystal Tones to adjust the reward configuration seamlessly. Whether it’s altering tier definitions, modifying reward percentages, or revising sales thresholds, Crystal Tones can effortlessly manage these settings by editing the custom record.

Reward Calculation & Creation

A checkbox named “Initiate Reward” will be introduced within the Invoice/Cash Sale record. Users should check this box after completing the entire process, including any returns and refunds.

A custom list field will replace the existing three checkboxes on the customer record to indicate the customer’s category as Associate, Affiliate, or Partner. Additionally, another custom field will be added to the customer record to store the Reward tier.

A custom record type will be established to store earned reward details, encompassing the following fields:

  • Customer
  • Purchase Amount
  • Reward Threshold/Structure Record Id.
  • Reward Earned.
  • Transaction (Invoice/Cash Sale).

The script for reward calculation and creation will run on a scheduled basis, executed once per day at 12 AM Mountain time. During execution, the system will identify customers whose invoices were recently modified. For invoices marked as “Paid In Full” and Cash Sales marked as Deposited/Not Deposited, with the “Initiate Reward” checkbox checked, eligibility will be evaluated based on the customer’s membership tier and reward level. Eligible invoices/cash sales will proceed to the next step after validation.

If Crystal Tones determines that a particular invoice/cash sale is eligible for rewards, indicating completion of the process, they can simply check this “Initiate Reward” checkbox and save the Invoice/Cash Sale record.

The calculated reward amount will be generated on a scheduled basis as a custom record entry within NetSuite, securely stored to represent the customer’s earned rewards.

The Total Purchase Amount of the Customer will be derived from the total amount of all invoices and cash sales, excluding refunds, considering only transactions from the current year. The total purchase amount will be compared with the already initiated reward amount, calculated from the reward custom record entries for the current tier. If a difference is identified between the Total Purchase Amount and the already initiated reward amount, a new custom record entry will be created.

The reward tier and level will be determined based on the customer’s Total Purchase Amount. In the custom record entry, the Purchase Amount will represent the Total Purchase Amount for the initial entry into the new Tier level; otherwise, it will be the Difference Amount.

Reward Application to Redeemed Orders

In the Crystal Tones business, there are two types of orders: standard orders and Reward Redeem orders. The Reward Redeem order is initiated by the user exclusively for redeeming earned rewards. To distinguish the Redeemed Order, a custom field named “Reward Redeem Order” will be created on the Sales order.

Upon saving the record, if the Order status is “Pending Fulfilment” and the “Reward Redeem Order” checkbox is selected, a discount will be applied to the Sales order at the body level. The system is intelligently designed to automatically apply the generated rewards as a discount to Redeemed Orders at the body level. The system will calculate the reward amount for eligible Redeemed Orders.

The Reward Balance Amount will be computed from the custom record entries, specifically the sum of the Reward Earned Amount minus the Rewards Redeemed Amount from the Sales orders’ discount amount of the Redeemed Order (excluding the current order). If the order amount surpasses the Reward balance, the remaining amount of the Redeemed order will be processed through the standard Invoice/Cash Sale.

Furthermore, we intend to update the Reward on the Redemption order while the Sales Order (SO) status is “Pending Fulfilment.” Once the SO is processed and its status is changed, no further updates will be made to the applied Reward points. It’s crucial to note that the reward points will be considered as utilized even if items from a redeemed order are subsequently returned.

Notification Alert

A notification alert will be triggered when modifying invoices/cash sales, confirming eligibility for rewards based on the specified criteria. Users are encouraged to check the “Initiate Reward” checkbox for reward calculation. This notification will only be displayed during the editing and saving of the records.

Additionally, an alert message will be displayed for redeemed orders, informing users that if orders with applied rewards(discounts) are returned, the rewards will not be restored. instead, the reward points will be considered as used.

Reward Expiry Notification

We plan to establish a comprehensive notification system within NetSuite to regularly remind both Sales representatives and Customers about their available rewards. Email Notifications will be sent twice a year, precisely every six months. Furthermore, a dedicated notification is scheduled for December 1st to remind customers about any remaining credits before the year-end. In terms of email content, we will develop an email template in NetSuite for consistency and efficiency in communication.

Reward Expiry

The Crystal Points Program will follow an annual cycle, synchronized with the calendar year running from January 1st to December 31st. To facilitate a renewed beginning for customers in the new year, the Reward custom entries generated within the program will be set to automatically become inactive after each calendar year. To achieve this, a scheduled process will be implemented to deactivate all reward custom records as the year comes to an end.

Report & Customer Centre Role enhancement

We will develop a basic search that provides insight into year-to-date financial activities, displaying the customer’s current Tier and their total rewards. In the Customer Center role dashboard, a tailored report is being introduced to provide customers with easy access to monitor their earned rewards within the reward system. This specific report will be exclusively available to users with the Customer Center role. To facilitate this, a custom page will be designed, and a link to this page will be added to the Customer Center Role Home page. When users click on the link, a page will open displaying reward details with a sample layout as outlined below:

Assumptions

  • It is assumed that the “Initiate Reward” checkbox will be marked only after the entire process is completed, including refunds and returns. • The scope does not include considerations for sub-customer relationships at this phase, and credits will be applied individually.
  • The entire customization will be implemented on NetSuite’s side, without involving functionalities related to web services.
  • This solution is implemented as a new reward program with a finalized reward structure and rules.
  • All transactions will be in USD, and currency conversion is not within the scope of this project.
  • If a customer purchases an order with a high amount and directly enters a higher tier, the reward will be created only for the current/new tier.
  • If a customer’s category changes but the customer remains in the same tier, the Reward program will assume the customer has entered the new threshold, and the reward will be calculated for the total purchase amount of the year.
  • Only one email template will be developed for the Reward remainder notification email.
  • The removal of values from custom fields on making a copy of the customer was not considered in this scope.
  • The reward creation process will occur on a scheduled basis, while the reward application process will take place in real time.

Risks

  • There is a slight potential for inconsistencies in applying rewards when saving or creating two or more redeemed orders simultaneously for the same customer.
  • Accounting Period Closure: To apply the reward discount to the Sale Order, the accounting period must be open. This presents a risk if the accounting period is closed during the transaction process.
  • Platform Support: The proposed solution is specifically designed to handle orders through the NetSuite UI. The effectiveness of the eCommerce application depends on the platform and the synchronization between NetSuite and that platform.
  • Reward Points Handling: Once the Sales Order (SO) is processed and its status is changed from Pending fulfilment to another status, no further updates will be made to the applied Reward points. It’s crucial to note that reward points will be considered as utilized even if items from a redeemed order are subsequently returned. This poses a risk in terms of accurate tracking and reconciliation of reward points.

Leave a comment

Your email address will not be published. Required fields are marked *