Hi,
Unfortunately the scenarios that you described is not supported in the standard SAP system.
Free goods are only supported on a 1:1 relationship. This means that one sales order item can only lead to one free item. So the system cannot handle buying multiple materials and getting another material for free, no matter it is quantity based or value based.
As you already known, N:1 or 1:N or N:N free goods determination is supported by IS - Retail (SAP- Bonus Buy).
So, to meet your requirement, it is necessary to develop your own modifications.
Best regards,
Crystal Lin