Has anyone ever had to figure out how to manage variable BOM's?

The issue I am having is that I have a header product with a service product on the route that can be purchased from two different suppliers - fairly standard stuff. I then have the issue that one supplier uses our materials (which is fine as there is an allocation on the BOM) and the other supplier uses his own materials (meaning that we would have a double up in cost for that material).

To put it simply, we need Sage to use the veneer allocation if one supplier is used and not cost the allocation for the other!

Be glad of any suggestions!!!