I second Paymo, which is basically designed around client work. You can create multiple projects with different billing methods and track time on them, which can then be pulled into an invoice for a client. This way you have a concrete idea of how you spend your time vs. how much you get paid for it.
The free plan should be enough for planning and tracking project progress. It's limited to 3 invoices though, so you might need to buy a paid plan for advanced accounting features.
In fact we do, but more as a diagnosis tool to see how much it took us to complete a task and how to prioritize it in the future. We're not expected to account for every minute, that wouldn't be human (and productive) at all.
Start writing the brief/project charter with all the stakeholders to map out their expectations. Based on it, create the initial plan for the project by breaking it down into smaller tasks, grouped by task lists for better organization. What we do next is to analyze any similar projects we had in the past and how long it took to complete them, so we can estimate time budgets for new tasks.
Our clients use https://paymoapp.com, where we add the initial plan as a temporary project. Once all time budgets and costs are set up, we convert the project into an estimate and share it with the client.
The client then reviews the estimate and either accepts or rejects it. If accepted, we go into production.
The free plan should be enough for planning and tracking project progress. It's limited to 3 invoices though, so you might need to buy a paid plan for advanced accounting features.
https://www.paymoapp.com/