Company: Link Technologies
Case No: L13165. Project: 15.80: LinkSOFT Version 15.80
Logged By: Sanjay (Link Technologies) on 24 Jun 2025 03:53PM
Priority: Low
Product: Point of Sale
Group: Enhancement
Time Taken: 38.00 (Weight: 80.00)
Assigned To: Sanjay (Link Technologies)
Circulation: Sanjay, Sitla, Vineet, Vineshwar Prasad
Resolve By: Friday, 04 July 2025 09:05 AM [4 days since logged date]
Status: UAT
Subject: Discount by Quantity for the following combinations: Customer, Location, Product
Summary:    

Customer is required to provide discounts by units sold. requirements are:

  1. Product P001, Qty 10. We want to be able to give $0.01 discount for each unit sold in location Suva, and $0.02 discount for each unit sold in Labasa.
  2. Need the discount to show on the POS screen, similar to Loyalty Discount
  3. Need an easy way to categorize customers who receive this discount

Proposed Design:

  1. We wil use the standard Loyalty Functionality and extend it to allow "Discount by Quantity"
  2. Add the following fields to "Loyalty Maintenance"
    1. Discount By. Options: Quantity, Value
    2. Timestamp
  3. Create a new form in the Detail section of "Loyalty Maintenance" called "Discount by Location and Product"
  4. Each entry will have "Location, Product, Discount Amount and Timestamp
  5. Discount is calculated based on options in 2. above
  6. If there are no DETAIL Location/Product in the list, the Standard Loyalty discounts apply based on the loyalty category header record

Test Plan 1:

  1. Setup a Loyaly category called "Bronze" and assign this Loyalty to customer A001
  2. Product P001, Unit price $2.50 in Location Main. Unit price $2.55 in Location Retail. Discount is "By Qty Sold" and "Discount is Percent = N"
  3. Configure the Loyalty Category in 2 above to have $0.01 discount for Product P001 and another discount of $0.02 for location Retail
  4. Sell P001 to Customer A001.  Quantity = 10. The result should be a $0.10 discount for Location Main, and a $0.20 discount for Retail

Test Plan 2:

  1. Setup a Loyalty category called "Bronze" and assign this Loyalty to customer A001
  2. Product P001, Unit price $2.50 in Location Main. Unit price $2.55 in Location Retail. Discount is "By Value" and "Discount is Percent = Y"
  3. Configure the Loyalty Category in 2 above to have 1% discount for Product P001 and another discount of 2% for location Retail
  4. Sell P001 to Customer A001.  Quantity = 10. The result should be a $0.25 discount for Location Main, and a $0.51 discount for Retail

Next Step:

  1. Get design signoff from customer to ensure the Loyalty Change will meet their requirements
  2. Work out Delivery time
  3. Complete Development as part of V15.80
Audit Notes:Edited by sanjay on 26/06/25 17:02. Edited by sanjay on 26/06/25 16:32. Edited by sanjay on 24/06/25 15:53. Edited by sanjay on 24/06/25 15:49. Edited by sanjay on 24/06/25 15:43. 
25 Jun 202510:51AM Comment 1 by Sanjay (Link Technologies) Case L13165 added to project 15.80
26 Jun 202509:10AM Comment 2 by Vineet (Link Business Solutions) Assigned To: Sanjay (Link Technologies) Followup Date: 04-07-2025 09:05 AM Time Taken: 1.00 Notes: ETC extended from: 24/06/2025 to 04/07/2025

Bula

Attached is the Design signoff, which has been received from the client.

Thanks
Vineet Ram
222 0085


26 Jun 202504:33PM Comment 3 by Sanjay (Link Technologies) Assigned To: Sanjay (Link Technologies) Followup Date: 04-07-2025 04:33 PM Time Taken: 1.00
Hi Vineet, I have removed the customer document as this will be published as part of the product release.

26 Jun 202504:51PM Comment 4 by Sanjay (Link Technologies) Assigned To: Sanjay (Link Technologies) Followup Date: 04-07-2025 04:33 PM Time Taken: 18.00 Notes: Edited by sanjay on 26/06/25 17:00. Edited by sanjay on 26/06/25 16:59. Edited by sanjay on 26/06/25 16:57. Edited by sanjay on 26/06/25 16:54. 
PART A - Development work for this case is in progress.

1. The change will be available in version: 15.80

2. The following changes were made (Include Database object names, Program classes, and any other relevant information):

  1. Added new field in menu "Loyalty Maintenance" called "Discount By". Options are "Value and Quantity". Also Added Timestamp. (See figure 1)
  2. Added a new Detail section for "Discount by Location and Product" (See figure 1)
  3. Added the following business rules:
    1. If a customer is configured for Loyalty, and the product sold has "Discount" flagged, the system will apply the Loyalty Discount. (No Change)
    2. When checking for discount, we check if a valid "Location/Product" exists in the Date Range. If it exists, we use this discount amount. If not, we use the Discount on the Top Level (New Feature)
    3. When applying discount, if the "Discount By" = "Quantity", we multiply the "Discount" by "Quantity" (New Feature)
    4. When applying discount, if the "Discount By" = "Value" and "DiscountIsPercent" = 'Y', we calculate the discount as a percentage of (Quantity * Unit Price) (No Change)
    5. When applying discount, if the "Discount By" = "Value" and "DiscountIsPercent" = 'N', the discount amount is a fixed value. (New Feature)
    6. We do not allow the Discount Amount to exceed "Unit Price * Quantity". (New Feature to prevent negative line total)
    7. Added validation to prevent users from entering Overlapping Location/Products/Date Range. Therefore, you can only have one discount amount for a given Date Range (New Feature)
    8. When selecting "DiscountBy" = 'Quantity', we don't let you choose "DiscountIsPercent" = 'Y' as this combination will not make sense. (New Feature)

3. Affected Areas:

  1. Loyalty Maintenance
  2. Scan Loyalty Card to apply discount

4. The issue was caused by:

  1. Improve/Extend Functionality

5. Other Relevant Notes

  1. No change for customers who do not want to use this functionality. All existing entries will be marked with: "DiscountBy" = 'Value'.


6. Next Step
(Review and System Test (Developer) -> UAT (Quality) -> Documentation):

  1. Implement Replication
  2. UAT and Documentation

Figure 1 - Change to Loyalty Maintenance. Add "Discount By"



27 Jun 202501:48PM Comment 5 by Sanjay (Link Technologies) Assigned To: Sanjay (Link Technologies) Followup Date: 04-07-2025 01:47 PM Time Taken: 18.00
PART A - Development work for this case has been completed.

1. The change will be available in version: 15.80

2. The following changes were made (Include Database object names, Program classes, and any other relevant information):

  1. Completed Replication

3. Affected Areas:

  1. Replication

4. The issue was caused by:

  1. Added Feature

5. Other Relevant Notes
6. Next Step
(Review and System Test (Developer) -> UAT (Quality) -> Documentation): System Test Completed. Proceed with UAT.


If you have any queries regarding this support incident, please email Support@LinkTechnologies.com.au and include the Case No: L13165 in the subject line of all emails regarding this issue.

Document size: 161.0 KB
For call complaints, please contact the Managing Director of the company using this form