Customer Loyalty Programs

My company is looking into B2B customer loyalty software programs. We use Sage as our POS and have ran into some road blocks with software integrating-- does anybody currently use a customer loyalty program that has worked well hand-in-hand or completely integrated with Sage 100? Thanks in advance! 

  • 0

    The Smartest Man In The Room aka Steve Malmgren  had once done this with a script and UDTs.  You might still be able to find it in the BOI section. Maybe Kent or Elliott can provide details.

    Here is a sample of some of the scripts used:

    ' add additional line item for orders more than $1000

    retVal = 0
    limit  = 1000

    preWriteTotal = 0
    retVal = oScript.GetStorageVar("orgTotal", preWriteTotal)

    orderTotal = 0
    orderType  = ""
    retVal = oHeaderObj.GetValue("OrderType$", orderType)

    If orderType = "S" Then
     orgLineAmt = 0
     extAmt     = 0
     retVal = oScript.GetStorageVar("OrgLineAmt", orgLineAmt)

     retVal = oBusObj.GetValue("ExtensionAmt", extAmt)

     orderTotal = preWriteTotal + extAmt - orgLineAmt

     If orderTotal > limit Then
      ' add promotional free hat to the order
      If preWriteTotal < limit Then
       retVal = oScript.DeactivateProcedure("*")
       retVal = oBusObj.AddLine()
       retVal = oBusObj.SetValue("ItemCode$", "/FREE HAT")
       retVal = oBusObj.SetValue("QuantityOrdered", 1)
       retVal = oBusObj.SetValue("CommentText$", "Thanks for choosing us for your spending needs")
       retVal = oBusObj.Write()
       If retVal<>0 Then
        oScript.LinesAdded = 1
       End If
       retVal = oScript.ActivateProcedure("*")
      End If
     Else
      ' If already had the promo, but the line modification dipped below $1000 then remove promo hat
      If preWriteTotal > limit Then
       eof = 0
       eof = oBusObj.MoveFirst()
       Do While eof<>0
        item = ""
        retVal = oBusObj.GetValue("ItemCode$", item)
        If item = "/FREE HAT" Then
         ' deactivate procedure because we don't want scripts running
         retVal = oScript.DeactivateProcedure("PostDelete")
         delKey = ""
         delKey = oBusObj.GetKey()
         retVal = oBusObj.DeleteLine(delKey)
         If retVal<>0 Then
          oScript.LinesAdded = -1
         End If
         retVal = oScript.ActivateProcedure("PostDelete")
         Exit Do
        Else
         eof = oBusObj.MoveNext()
        End If
       Loop
      End If
     End If

     ' store new amount
     retVal = oScript.SetStorageVar("orgTotal", orderTotal)
    End If

  • 0

    What kind of features are you looking for?  We've done some things using Custom Office / scripting, within Sage 100 entirely.

  • 0 in reply to Kevin M

    We are wanting to establish a point scale for different products that can be tracked and then redeemed on the customer's end through an online store. We want the program to facilitate itself mostly so that we are not continuously tracking and adding points. Have you done something like this?