User creates a project for every quotation they send to the client, even before they have won the contract. When the project is still in the negotiation phase, they use a non-billable activity to track the time logged on it. But they do not want to keep the project status as Active because the project is not won yet. At the same time, they cannot log time on projects that are not Active. What is the best way to handle this?
You do not need to change the project status to indicate a project is not won yet and is still in the negotiation stage. You should rather use the Marketing contract type for the project. This contract type is assigned to projects that your company is trying to win and for which a formal contract is not yet secured. All the time and expenses on such projects are marked as non-billable by default. So you can keep the project status as Active and log non-billable time and expenses on it. When a full contract is secured, you can change the contract type to whatever is appropriate, with an option to convert the previous time and expense entries from non-billable to billable automatically. Check the Core Help for details on this contract type.