We just use an Excel spreadsheet that is on the server shared by all estimators. When an estimator starts a new bid, he gives it the next number (unique number system to your liking) logs the bid name, customer, contact, bid date/time, type of job (office, medical, industrial, etc) sq/ft.
Then AFTER the bid, you must go back and fill amount (which gives us cost per sq/ft). We also enter fixture, gear, generator, fire alarm, testing quotes for future data, which is good for budgeting jobs based on their similar profiles.
We also have a line for follow up notes such as, how high we were, who got the job, etc.
The cells are color coded to show a win, loss, or pending.