Carletto - Sure thing!
In reference to the example quote in #13, "Type" is the unique identified for that given product for that given job. Types can repeat from job to job, but the product the type is identifying can be completely different as they don't relate to each other. In my current format, they would be kept in tblFixtureType and is why it is its own table.
Qty - Self explanatory. Simply the amount that is needed for that given type/product for that given job. This is my many to many table tblFixtureQty. I did it this way as this is how I handled it previously, so it made sense but it likely isn't "correct".
Manufacturer & Catalog # - These are the constants and go into tblFixture. This is what I really want to keep track of and have every entry be unique. Due to the sheer amount of manufacturers and their extensive catalogs, I except this table to get quite large as a single product can be configured in so many different ways (lumen output, input voltage, dimming type, lens type etc). Within this table, LampType is used to store if the fixture is natively LED or if it isn't, what lamps/bulbs it actually takes (A19, PAR36, CFL, T8, T12 etc) Then NumberOfLamps is how many of them is needed to complete the fixture, which if the fixture uses LED boards, would be 0, which will be the normal for this field as lamps are not used much anymore in commercial spaces.
Line Comment - This would go into tblFixtureNote as the comment would be specific to that product for that job. Unfortunately, descriptions also make their way into this field on the quotes and would need moved to the [Description] field in tblFixture.
Unit $ - The price per each of the given product. Goes in tblFixtureCost and a given product could have one entry in this table, or multiple depending on the job. A single product could have the cost of the fixture itself, the cost of the lamps, the cost of shipping/freight and a host of other misc fees that we would roll into it to get its "true" cost.
Ext $ - Not stored as it is not needed and can be calculated later.
All vendors quotes, regardless of their formatting, have the same fields (some move the comments to below the product line, but they are functionally the same) and all are needed for us to provide an accurate and complete job quote at the end.
For reference purposes, here is the product table as it exist in the current database. Vendor quotes are imported and go through a few temp tables before just being dumped into this table line for line regardless of if the product already exist in it.
Back then, I didn't know any better and just kept cramming everything into this single table. It works for what I wanted it to, but it's wrong and not very flexible, which is why I am now trying to improve it and make it "right".
Pat - We are told what to quote based off the fixture schedule like the picture in #15. Every (well almost every) set of construction documents that involve electrical will have this schedule. It list out the approved manufacturers that can be used on the job, the type designations assigned to them and the description of what the engineer wants (which trumps the specified part number in the event the fixture specified via the part number doesnt match the description).
Since most jobs will specify multiple approved manufacturers, we will have to get quotes from multiple vendors to put together a complete quote. We can also sometimes put together multiple quotes for the same job using different manufacturers. Quotes also can be a mix and match from multiple vendors as one vendor can't always provide product for the entire job due to not having their product specified.
That was very long winded, but I am trying to confer as much info as I can. I can't provide the DB yet as I don't have enough of it build yet to really start putting in dummy data for an example but am trying to get there.
Edit:
Trying to enter dummy data, I already see that how I have done the tables will not work.