A family of Microsoft relational database management systems designed for ease of use.
S.A.,
You asked if there is a better way of doing this. It seems the tasking a a little backwards. Perhaps a more logical sequence would be a milestone indicating when the panel order is placed (e.g. "place order for Solar Tech panels"), followed by a "x" day lead time for the panel manufacturer to do his thing (this could also be simply shown as a lag following placement of the order since the "task" of manufacturing the panels is at the panel supplier). This then feeds a milestone called "panel delivery". If you normally have 30 days to pay the invoice I suppose you could put another lag into the sequence for a "payment due" milestone but that's more of an accounting item, not a scheduling item. Remember Project is not designed to be accounting software, its planning and scheduling software.
As far as the material rate goes, when you identify a resource as a material resource, the Standard Rate field becomes the cost per unit, where the type of unit is identified in the Material Label field on the Resource Sheet. For example, let's say that each panel costs $100. That is entered into the Std. Rate field and "panels" would be entered into the Material Label field. Then when you assign the material resource to the "place order for Solar Tech panels" milestone you indicate how many panels are in the order, let's say 5. The Cost field will then show a total cost for 5 panels of $500. Or if the cost is by KW, then that is what you use for the material label.
Hope this helps.
John