I worked on an application many years ago that produced complex sales quotes for RFPs. It can get fairly complicated. One of the biggest things I see missing from your tables is a way to do discounts. Another is a way to separate the quote into parts, for instance you might havea quote for a house renovation that would include a kitchen quote and a bathroom quote, etc. That way the customer can see each chunk and make independent decisions based on the parts. You may not need this, but it is something to consider. YOu may also need to consider ifyou need to quote labor as well as parts/
So table structure (this is just a starting place)
DateDubmitted (if you need to track both)
QuoteLaborDetail (you may or may not need this depending on the kind of quote and it may need to specify the type of person whose labor you are quoting, electrician, carpenter, etc.)
And of cousre you would want associated tables for the customer, Customer address, partslookup, labor tasks lookup, etc.
You might also want to provide a place on your form to add a new part or labor task to the appropriate lookup table. Sometimes you may need to quote something that is not already in the system and the best place to do that is while you are creating the quote.