Home » Deeper in to NetSuite » How to design Loyalty Points System in NetSuite

How to design Loyalty Points System in NetSuite

In today’s competitive market the concept of giving loyalty points to customers is getting popular day by day. Although NetSuite doesn’t have a default loyalty points module at the moment, it’s fairly simple to implement this functionality in NetSuite by following the below guidelines:-

CTA - NetSuite Homepage Banner

Prerequisite:

Creating Two Accounts:

  1. Loyalty Points Account
  2. Other Payable Account

Creating Discount Item(s):

  1. Lists –> Accounting –>Items –> new –> Discount
    1. Choose an item name of your choice.
  2. Create a script parameter for the loyalty percentage. This is the percentage at which you will be giving loyalty points
  3. Create a script parameter for the validity (in months). This is the expiration time of the loyalty points
CTA - NetSuite Customization Banner

Design:

The loyalty points system basically has three major flows :-

  1. Credits/Loyalty Points Earned: This calculation will be done in your User-Event Script.
    1. Get the total of your transaction
      1. If you want to exclude tax, then use the value of the field ‘subtotal’, otherwise use ‘total’ field’s value
    2. Subtract the discount from the total to get the actual amount
    3. Calculate loyalty points by multiplying the actual amount with the loyalty percentage you had set
    4. Save the credits earned info in a custom record
    5. Pass the credits earned journal entry as
      1. Debit the points in Loyalty account
      2. Credit the points in the Other Payable account
    6. Put the credits earned journal entry on your transaction body field.
  2. Credits/Loyalty Points Redemption: 
    1. Check if the customer has loyalty points available for redemption
      1. Check in custom record
    2. If loyalty points are available
      1. Assign the discount item you created in the ‘discountitem’ field of your transaction
    3. Set the loyalty points available for redemption in the ‘discountrate’ field of your transaction
    4. Mark the used loyalty points/credits
    5. Pass the reverse journal entry
      1. Credit the points redeemed in the Loyalty account
      2. Debit the points redeemed in the Other payable account
    6. Put the credits earned journal entry on your transaction body field.
  3. Write a schedule script which runs daily to mark the loyalty points/credits that have expired

We are Netsuite Official Partner, specialized in Netsuite Implementation, Customization and all sort of Connectors. Feel free to Contact Us for any query, or to request a quotation. 

Get In Touch With Our Experts

    I have read and agree to the Privacy Policy of Folio3
    I agree to be contacted by Phone or Email by Folio3

    Get In Touch With Our Experts

      I have read and agree to the Privacy Policy of Folio3
      I agree to be contacted by Phone or Email by Folio3

      Get in touch with the

      Award-Winning

      End-to-end NetSuite Servicing Agency

      Tell us how may we assist you!