Bundled Products in Magento:
Currently, sales of bundled products appear in a Sale Order/Invoice as a service line showing the name of the bundle, qty of however many bundles were sold, unit price equalling the bundle price, and the total $ value of the bundle, while the individual items within the bundle come in with the qty, but a unit price of $1.00 and 100% discount, so that each line total is $0.00. This will not work for us as it makes GP reporting completely incorrect for the individual items.
The way we need to handle bundles is to have the system ignore the header/bundled item in Magento (The pack itself) and transfer the contents/individual SKUs only. It then needs to apply a percentage of the total revenue received for the total bundle to each product.
There are two options of how we would like it to work:
Our preference is to have the system apply the revenue received to each product relative to the percentage of that products cost to the total cost of the product.
Pack A consists of 4 units of 3 different products. The pack is sold for $120. The total cost of Pack A is $72
Product 1 costs $3 per unit. Total cost being $12. – 17% of total cost
Product 2 costs $5 per unit. Total cost being $20. – 28% of total cost
Product 3 costs $10 per unit. Total cost being $40. – 56% of total cost
Therefore the revenue applied to each product should be;
Product 1 revenue $5 per unit. Total revenue being $20 – 17% of total revenue
Product 2 revenue $8.33 per unit. Total revenue being $33.33 – 28% of total revenue
Product 3 revenue $16.67 per unit. Total revenue being $16.67 – 56% of total revenue
Cost per unit is derived from the products LUC.
Additionally the system will need to account for rounding issues.
The second option is to simply apply revenue to each product evenly. I.e. in a pack consisting of 12 products each product will have 1 12th of the total revenue applied Considerably simpler but we do not feel it represents the achieved GP correctly.
If other Magento users are having this issue with bundled products, please vote on this feature so the integration can be further developed to cover this scenario.