Setting up basic Buy 4 get 1 free promo not working

I’m setting up a basic promo Buy 4 Beers get 1 free using the Adjust Order Prices action. (i.e. Buy 5 for price of 4)

I’ve setup like this:

Product Tag “Promo” with “BeerPromo” on those items part of the promo





When I add items to a ticket, it doesn’t apply the promotion properly - it adds a promotion order tag on the 6th and 7th item I add and the discount amount is not correct.

What should happen is when you add 5 at £3.40 each, the amount of 1 is discounted (-£3.40).

Also, if I use a quantity, like press 5 then a bottle of beer, the promo isn’t calculated and also isn’t calculated after I add a few more!

What am I doing wrong? :confused:

1 Like

You’re giving 4 free items for 5 items.

Also Promotion Applies in 2 steps.

  1. First you need to select orders to tell SambaPOS which orders are taken into consideration. You can use “Select Orders” action for that.
  2. Apply promotion.

If you don’t have a custom order selection logic (eg. for combo items) you don’t need to setup order selection I explained on first step. You can just use Group Selector setting for that. For your example it will be same as Order Selector. For example (MT.Promo=BeerPromo).

I thought that was what Order Selector was for?

Think it like you’re giving 2 beers and 1 of them is free in Beer & Hamburger combo. You want to exclude beers sold without a combo. In this case beer Promotion applies depending on the count of hamburger sold.

Sorry for the poor explanation but it will make sense when you need to setup a combo promotion. :slight_smile:

Ok. So I am not doing a combo right now, it’s just a simple buy 4 get 1 free promo.

So for X for Y items I should have X = 1 and Y = 4?

I just got a “divide by zero” error doing that.

And what is the difference with order selector and group selector? I am aware I need to select orders and from what I read before and you said above, I can use the internal selector which I would have thought is Order Selector. But you say I need to set Group Selector also, and should be the same as Order Selector?

X = 5, Y=1

Set both Group Selector and Order Selector as (MT.Promo=BeerPromo)

1 Like

Ok that works

This is confusing, it read like 5 for 1 items.

It doesn’t work with multiple quantity added, i.e. if I press 5 then Budweiser it does this:

Ok now I have the X=5 and Y=1 correct, if I remove the Group Selector then it works properly:

So I have it setup like this now:


So I didn’t need Group Selector ?

Hmm I tested it with ticket total changed event. It is weird :slight_smile:
Works fine when I have 5 group selectors…
I need to fine tune it. Yes we shouldn’t need a group selector for your case but without a group selector it didn’t work fine for me when I added 7 items one by one…

Yeah I am getting the same problem now too

So adding individually with Group Selector added works, however adding with multiple quantities does not work when you have a Group Selector.

1 Like

@emre how do I get it to work in both scenarios - individually adding orders and using multiple quantities?

1 Like

For now add 5 group selectors as I showed in my latest screen shot.

I fixed the issue so on next update it will work fine without setting a group selector but honestly we need to test it for more cases. We only tested it with @Jesse for combo promotion.

1 Like

Also I renamed X for Y Items function to X for Y Free Items

Oh I missed that screenshot… let me try that.

Yeah that works in all scenarios:


I made it while testing my fixes. Putting it here to give an idea about how group selectors works. We’re giving 1 free for 1 item but group selector should also match so it works like 1 free tea for 2 coffee.

This one gives %50 discount for second regular sandwich when a large sandwich is sold.


@emre we have discussed before but is there no way to have the option to discount using calculation rather than tag?
The discounts and offers are processed through my PMS intergration using calculations which are referenced through to specific account/department codes in PMS?

Calculation is TIcket Wide remember. There is no way to make calculation work for items.

I understand that but this promo option will be working out the total amount to discount based on the option to distribute discount or not. So was hoping perhaps emre might be able to add the option to apply as calculation of total discount calculated or add automation command where value would be total calculated discount where additional automation would then apply the calculation with the value.