Subject: | Discount by Quantity for the following combinations: Customer, Location, Product |
Summary: | Customer is required to provide discounts by units sold. requirements are: - 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.
- Need the discount to show on the POS screen, similar to Loyalty Discount
- Need an easy way to categorize customers who receive this discount
Proposed Design: - We wil use the standard Loyalty Functionality and extend it to allow "Discount by Quantity"
- Add the following fields to "Loyalty Maintenance"
- Discount By. Options: Quantity, Value
- Timestamp
- Create a new form in the Detail section of "Loyalty Maintenance" called "Discount by Location and Product"
- Each entry will have "Location, Product, Discount Amount and Timestamp
- Discount is calculated based on options in 2. above
- 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: - Setup a Loyaly category called "Bronze" and assign this Loyalty to customer A001
- 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"
- Configure the Loyalty Category in 2 above to have $0.01 discount for Product P001 and another discount of $0.02 for location Retail
- 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: - Setup a Loyalty category called "Bronze" and assign this Loyalty to customer A001
- 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"
- Configure the Loyalty Category in 2 above to have 1% discount for Product P001 and another discount of 2% for location Retail
- 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: - Get design signoff from customer to ensure the Loyalty Change will meet their requirements
- Work out Delivery time
- 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 2025 | 10:51AM Comment 1 by Sanjay (Link Technologies) Case L13165 added to project 15.80 |
26 Jun 2025 | 09: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 2025 | 04: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 2025 | 04: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): - Added new field in menu "Loyalty Maintenance" called "Discount By". Options are "Value and Quantity". Also Added Timestamp. (See figure 1)
- Added a new Detail section for "Discount by Location and Product" (See figure 1)
- Added the following business rules:
- If a customer is configured for Loyalty, and the product sold has "Discount" flagged, the system will apply the Loyalty Discount. (No Change)
- 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)
- When applying discount, if the "Discount By" = "Quantity", we multiply the "Discount" by "Quantity" (New Feature)
- When applying discount, if the "Discount By" = "Value" and "DiscountIsPercent" = 'Y', we calculate the discount as a percentage of (Quantity * Unit Price) (No Change)
- When applying discount, if the "Discount By" = "Value" and "DiscountIsPercent" = 'N', the discount amount is a fixed value. (New Feature)
- We do not allow the Discount Amount to exceed "Unit Price * Quantity". (New Feature to prevent negative line total)
- 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)
- When selecting "DiscountBy" = 'Quantity', we don't let you choose "DiscountIsPercent" = 'Y' as this combination will not make sense. (New Feature)
3. Affected Areas: - Loyalty Maintenance
- Scan Loyalty Card to apply discount
4. The issue was caused by: - Improve/Extend Functionality
5. Other Relevant Notes: - 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):
- Implement Replication
- UAT and Documentation
Figure 1 - Change to Loyalty Maintenance. Add "Discount By" 
|
|
27 Jun 2025 | 01: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): - Completed Replication
3. Affected Areas: - Replication
4. The issue was caused by: - Added Feature
5. Other Relevant Notes: 6. Next Step (Review and System Test (Developer) -> UAT (Quality) -> Documentation): System Test Completed. Proceed with UAT. |
|