There are many combinations to set up the validation periods for discount.  If you're not careful, an incorrect configuration may prevent the discount from being applied at the POS at all.  This blog will focus on the scenarios when you need to use the start and ending times that both fall around 12:00am.  Other ranges such as 5pm to 9pm do not have the issues that this blog is concerned with.  An example of a scenario for this blog would be a discount period that ends at the close of business which may be 2am of the next day.  This can be tricky because an end time of 2am on Monday also has the possibility of encapsulating a 12am start of Tuesday.  This confuses the system and as such doesn't display a discount at POS at all for the full day.  In the text below I've added a few notes as well as a few configurations that work and don't work, specifically when it comes to using the discount for a full day or setting the "Ending time after midnight".  One of the most common scenarios that the system gets confused with is 12am-12am start to end times for each day.  The code does not properly handle the 12am end time of Monday and 12am start time of Tuesday.

First lets define a few of the fields available on the discount period form:

  1. On the General FastTab:
  • Start date – Enter the date that the discount period starts.
  • End date – Enter the date that thediscount period ends.
  • Start time – Enter the time that the discount period starts.
  • End time – Enter the time that the discount period ends.
  • Time within bounds – Select this check box if the start date and end date are included in the discount period.
  • Ending time after midnight – Select this check box if the end time of the discount period is after midnight, or on in the next day.
  • Dates within bounds – Select the check box for each day that is included in the discount period.
  • On each days FastTab:
  • Start time – Enter the time that the discount period starts on this day.
  • End time – Enter the time that the discount period ends on this day.
  • Time within bounds – Select this check box if the start time and end time are included in the discount period.
  • Ending time after midnight – Select this check box if the end time of the discount period is after midnight, or on the next day.

      Additional details on field in the form can be found here: Setting up discount periods <http://technet.microsoft.com/en-us/library/hh580630.aspx>

To give you an example of some scenarios that work and don't work, I created 10 different discount periods with the configurations below by only changing 4 things:  Time within bounds, Ending time after midnight, the Start time, and End time.  Next to each Start-End time.  With each configuration, I listed whether that combination was then able to display the discount at the POS not.

This form is located at: Retail >> Setup >> Pricing and Discounts >> Discount Period

General fast tab (same for each configuration below)

Start Date: 1/1/2014
End Date: 12/31/2014
Time within bounds unchecked
Ending time after midnight: unchecked

For each days fast tab:

Time within bounds: Checked
Ending time after midnight: Checked

  • 12:00:00 am to 12:00:00am    Doesn’t work
  • 12:01:00 am to 12:00:00am    Works
  • 12:01:00 am to 11:59:00pm    Works
  • 12:00:00 am to 11:59:00pm    Doesn’t Work
  • 12:01:00 am to 12:01:00am    Works

Time within bounds: Checked
Ending time after midnight: Unchecked

  • 12:00:00 am to 12:00:00am    Doesn’t work
  • 12:01:00 am to 12:00:00am    Doesn’t work
  • 12:01:00 am to 11:59:00pm    Works
  • 12:00:00 am to 11:59:00pm    Doesn’t work
  • 12:01:00 am to 12:01:00am    Doesn’t work

Other Notes:

  •  Keep in mind that the end time of one period should not go past the start time of the next one such as Monday ending at 12:01am and Tuesdays starting at 12:00am.
  • To sync over your changes:  Retail > Periodic > Data Distribution > Distribution Schedule  
         a. N-1020 (Discount) to sync over the Retail discounts to POS
         b. N-1100 (Product and price parameters) to sync over the BarcodeMask and Discounts.
         c. N-1040 (Products, prices, and bar codes) to sync a new Price Group
         d. N-1070 (Stores and tenders) to sync a Price Group newly added to a Store

        Additional details for setting up discounts can be found here: <http://blogs.msdn.com/b/axsupport/archive/2013/01/25/ax-2012-r2-for-retail-setting-up-discounts-coupons-with-bar-codes-for-scanning-into-pos.aspx>