I will like to define a 2x1 (1 product free for each one ordered ) or 3x2 (1 product free for each one ordered) or 5+1 (1 product free for each 5 orderd) for a specific product.
For example using a 2x1, when selling 1 units I will pay the full amount but when ordering two I will get two lines:
One with quantity 1 and the product list_price
Another with 1 quantity and 0 list price
Using a 3x2, when selling 1 or 2 units I will pay the full amount but when ordering three I will get two lines:
One with quantity 2 and the product list_price
Another with 1 quantity and 0 list price
Using a 5+1, when selling up to 4 units I will pay the full amount but when ordering 5 I will get two lines:
Otherwise, it is just a price list with proper computation of the price depending on the quantity which is probably the most correct way. Because I’m not sure that you are allowed sell a product for 0 next to the same product with a different price.
Also usually the extra product is not pushed to the consumer automatically but only if he request it.
Showing you a marketing message like that but you do not know how they are doing their accounting.
For example in Belgium it is forbidden by law to sale a product below the cost price outside the sold period.
Maybe you can do that as long as the real unit price is not below the cost price. But I do not know how this should be booked in the accounting.