Seems like you have these relationships:
But can't the same ingredient be used in more than one MenuItem? (If so, I'd consider another join table between ingredients and MenuItem.)
And when you build your list of line items from mutliple menu items for the same day, if an ingredient is used in more than one item, do you want it listed only one time in the line items table for that cost card?
The way that I have this set up is that the Ingredients table has data on the volume of the ingredient required for a specific menu item. So there may be multipe records for chicken broth because it is used in several different menu items in different volumes. Each record is related to a single menu item so that I can manage the math on volumes required.
Currently I have a cost card record per menu item. For example, a record for fried chicken and another record for mashed potatoes. While both may require butter it would be in different quanities and I need to price each menu item seperately.
Thanks for looking into my problem.
Then I recommend a join table between MenuITem and Ingredients. A field in this join table would record the quantity of that ingredient for that menu item.