Discount using Order Tag

Hi,

This is what i did:

  1. I created an order tag group called Discounts
  2. Ticked Add tag price to order price
  3. Created a 5% Discount in order tag list with mapping to all *
  4. Created an action with 5% Discount with Action type of Tag order and Order Tag Name: Discounts and in Order Tag Price [=0-(Order.Model.GetVisiblePrice()*0.05)]
  5. Created Rule with 5% Discount and Event Name: Order Tagged, Constraint of Order Tag Value= 5% Discount

Now when i select the item and then high light it it shows the order tag of Discounts, then I select the 5% Discount it toggles ok with the discount button and the order tag changes but it doesn’t apply the discount.

Can you please help

Hi Emre,

Would you be kind and answer this post asap.

By the way I’m using the latest version as of yesterdays.

Can you post some screen shots? We might be able to see what’s wrong by looking at them.

That said, your Discount setup is different than mine. I haven’t mapped the Order Tag Group to anything (the mapping is blank). Instead, I handle it with Automation Command Buttons mapped to the Order Line.

Order Tags:

Automation Command(s):

Actions(s):

Rule(s):

Flow:

Hi,

The reason why i’m not using Automation command is because i don’t want the button discount button to show on the left. I wan to select an item from the menu then highlight the item and tag a discount to it. So this way only the appropriate discount appears for that item.

So to tell you my scenario: We have food discount 5% and beverages 10% discounts. We also want to restrict the amount of discounts for beverages is max 6 discounts and for food also 6 discounts (i don’t know if that is possible). Please take a look at these screenshots:



Your Rule has no mapping, so it will never execute. Add the Default Mapping * * * *.

If it still doesn’t work, try Refreshing the ticket (use an Action to Display Ticket).

Thanks for your prompt reply.

I also tried mapping the rule, that doesn’t work either. Not sure what you mean by refreshing the ticket. I tried logging out completely and log back in still doesn’t work.

And btw, is it possible to have limited or restricted amount of discounts on one ticket like i explained previously on the last reply?

Regards,
Michael

Let’s start over.

You don’t need a “Tag Order” Action. When you click the Tag, that action is already being performed. You just need to capture the event in a Rule, and Execute a Change Price Action

Define your Order Tags, set the Tag Prices to zero (they aren’t used anyway), and map the Order Tag Group to the applicable Product(s). Also, Uncheck Add Tag Price To Order Price (your Tag Prices are zero anyway).

Create an Action to Change Price:

Create 2 Rules, to Add/Remove the Discount:

Rule 1 (Order Tagged): in this formula, replace “10” with the correct amount of discount…

[=Order.Model.GetVisiblePrice()-(Order.Model.GetVisiblePrice()*10/100)]

Rule 2 (Order UnTagged): in this formula, replace “10” with the correct amount of discount…

[=Order.Model.GetVisiblePrice()/(1-(10/100))]

Tested to work:

Select Product:

Tag Product with Discount:

UnTag Product (remove Discount):

:smile:

As for your other question:

Try an Update Program Setting Action to increment/decrement a counter whenever something is Tagged/UnTagged. Display the count with a Message box to see if it’s working.

This seems to do the trick… (you’ll need the opposite of this in the UnTag Rule (-1)):

[=TN('{:TagCounter}')+1]

1 Like

Thank you so much, it worked exactly how it should be no way i could have figured that out, that is the first part.

As for the second part, we changed our mind because the 6 discounts are per member, if you get a group with 2 or more members then we will need to give 12, 18 and so on discounts.

One more request, is it possible to show the amounts of discount on the receipt? if yes, then please explain.

Regards,
Michael

@compwize the problem with your approach is you call Tag Order action in Order Tagged rule and since Tag Order action triggers Order Tagged rule recursively that executes Tag Order action again and it doesn’t work.

The one issue with using order tags buttons is changing tags for submitted orders is not possible through order tag selector screen so you can only add discount for new orders. If it is not an issue for you, you can try solving it by using two set of order tags. Define first group for buttons and second group for tagging orders. When a button clicked untag it and tag order again with second tag group. You can define second group as Hidden so you won’t see buttons for that group.

hi emre, thanks for your reply. I have done what Q​Mc​Kay suggested and delivered exactly what i needed so that got sorted.

Just one more thing, how to print the total discounts eared in the customer receipt.

Regards,
Michael

Guys one more thing, how to print the total discounts eared in the customer receipt.

@QMcKay, I have gone through this but it seems that the price was not changed. Did I miss out something?

@neko, Did you add default mappings to Rules?

@emre, this would work better if we could access the Tag Price. Is there syntax for retrieving [:OrderTagPrice]?

We can get [:OrderTagName] and [:OrderTagValue], but it would be nice to be able to replace the value 10 with something like [:OrderTagPrice] in this formula:

[=Order.Model.GetVisiblePrice()/(1-(10/100))]

Added! Since I’ve recently uploaded it will be available on next (41) update.

1 Like

I did add the default mapping. Let me see if 4.1.39 has this issue and the 40 version has fixed this

@QMcKay, I got the same thing. price is not changed when click on the discount % button

Forget it. I found the typo. It executes twice the rule as the second rule to remove the tag is configured wrongly to ‘Order Tagged’ instead of ‘Order Untagged’.

Thanks

1 Like

Alternate method which allows using a single Rule for Tagging and a single Rule for UnTagging.

This eliminates the need for multiple Rules for each of the different Percent Discount Amounts. For example, the previous method required a separate Rule for Tagging each of the percentage amounts (10,20,30,40,50) = 5 Rules, plus a separate Rule for UnTagging each of the percentage amounts (10,20,30,40,50) = 5 Rules, for a Total of 10 required Rules.

This modified method requires a Total of only 2 Rules; 1 for Tagging, and 1 for UnTagging.


Order Tag setup for Discount Percent of 10,20,30,40,50:

Action to compute Price Change:

Rule to Apply Percent Discount (Order Tagged):

[=(Order.Model.GetVisiblePrice()-(Order.Model.GetVisiblePrice()*TN('[:OrderTagValue]'.substr(13,2))/100))]

Rule to Remove Percent Discount (Order UnTagged):

[=Order.Model.GetVisiblePrice()/(1-(TN('[:OrderTagValue]'.substr(13,2))/100))]

2 Likes

Did anyone assist the movie Limitless??
it seems a lot of people here are using those pills… I would realllllllly like some…
this:

[=(Order.Model.GetVisiblePrice()-(Order.Model.GetVisiblePrice()*TN('[:OrderTagValue]'.substr(13,2))/100))]
[=(Order.Model.GetVisiblePrice()-(Order.Model.GetVisiblePrice()*TN('[:OrderTagValue]'.substr(13,2))/100))]

is not possible to achive without them…

so… @QMcKay, I am sending you in a private mail my address, and you send me some of those pills…

Thanks!!!

G.

1 Like

LOL, great movie! :smile: