I have a buy 3 get one free that i do. I create the ivoice and put the 4 items on but one needs to be free. I created a discount but when I click the discount option and choose the free one I set up, the discount is applied to all 4 items.
a workaround that I use is to have a duplicate item to the one you are charging for that is priced at $0. you add 3 of the regular price ones and one of the free ones. that will still keep track of inventory and show how many "free" ones you sold.
Square Community