Ask an agency owner where the real pipeline lives and you will hear the same answer with a different spreadsheet name. That is not a discipline problem.
A sales CRM is built around one shape: a deal that closes once. It has a value, a probability, a close date, and then it is either won or lost and it leaves the board. Every field, every report, and every automation in the product assumes that arc.
An agency does not have that arc. You have a retainer that renews monthly until somebody cancels, a scope that drifts, a client who buys a project in March and doubles the retainer in August, and an account manager whose real job is making sure none of that quietly stops. The most important number in your business — what a client is worth to you over the next twelve months — is not a field in a sales CRM, because it is not a question salespeople ask.
So you rebuild the shape yourself, in custom fields, and then maintain that rebuild forever.
The workaround has a cost that never appears on an invoice. Somebody owns the custom properties. Somebody remembers that “MRR” means the current retainer, not the original one. Somebody discovers that the renewal report does not include the client whose scope changed, because the change was logged as a new deal. Six months later the owner asks a simple question about margin and gets four answers.
Then the retainer has to become a contract, and the contract has to become a project, and the project has to become an invoice — three more systems, each one starting with somebody retyping the client's name. The spreadsheet appears at exactly the point where the CRM stops modelling reality, and it never goes away.
The fix is not a better CRM. It is a client record that knows what a retainer is: what it renews at, what it covers, what has been delivered against it, what has been invoiced, and what it earns you after the hours are counted. Get that right and the pipeline, the contract, the project, and the invoice stop being four systems. They become four views of one thing.