Guide
Agency Operations: How to Manage Clients, Delivery, Team Costs and Margins
Most agencies do not have an operations problem. They have five separate systems that each work, and no way to answer a question that spans all of them. This is how to close that gap without buying anything.
The symptom: busy and not richer
The agency version of trouble rarely looks like trouble. Revenue is up. The pipeline is healthy. Everyone is working late. And the bank balance is doing something that does not match any of it.
Ask an owner in that position what their margin is on their biggest client and you will usually get one of three answers: a number from the proposal, a number from last quarter, or a shrug with a promise to work it out. All three mean the same thing. The business is being run on the plan rather than on what actually happened.
This is not a discipline failure. It is a structural one. The information needed to answer the question exists, but it is spread across a task board, a spreadsheet, an inbox, an invoicing tool and somebody's memory of what the freelancers are owed. Assembling it takes half a day, which means it gets done quarterly at best, which means it is always describing a situation you can no longer change.
The operating chain
Everything an agency does runs along one chain, whether or not it is written down anywhere:
Client, then engagement, then task, then the person doing it, then the work itself, then review, then cost, then delivery, then invoice, then payment.
Each link produces the next. A client agrees to something, which becomes work, which gets assigned, which gets done, which gets checked, which costs something, which gets delivered, which gets billed, which gets paid.
The reason operations feels chaotic in a growing agency is almost always that the chain has been cut in two or three places, and each fragment is being managed by a different tool with a different vocabulary. The task board knows about work but not money. The invoicing tool knows about money but not work. Nothing knows about both, so nothing can answer a question that requires both.
Take your largest active client. Write down, from memory, what you agreed to be paid, what you have actually been paid, what you have paid out to people who worked on it, and what is still owed in both directions. Then check each figure. The gap between your memory and the record is the size of your operations problem.
Pick the unit that carries the money
Most agencies organise work by project. That works for delivery and fails for commerce, because the thing you agreed a price for is often not the thing you manage day to day.
A retainer client with three workstreams is one commercial relationship and three delivery streams. A campaign with a fixed fee is one commercial commitment and forty pieces of work. If the only unit in your system is the project, you can answer what a project cost and you cannot answer what a client is worth.
The fix is two levels, not one:
- The client is the relationship. Everything they have ever agreed, paid or owed rolls up here.
- The engagement is the commitment. A campaign, a retainer period, a build. It carries the agreed value, the currency, the payment terms and the team.
Work then belongs to an engagement, and an engagement belongs to a client. Nothing floats. Once that structure exists, questions that used to require assembly become lookups: what has this client cost us, what has this engagement made, which of our five retainers is the one quietly losing money.
Delegation is an access problem
The moment an agency stops being a group of people and becomes a business is the moment somebody other than the founder runs part of it. This is also the moment most operational setups fall over, because the tools offer two settings: can see everything, or cannot log in.
What actually needs delegating splits into four jobs, and they are genuinely different:
- Delivery. Assigning work, chasing it, reviewing it, getting it out. This person needs to know what work costs, because they are the one committing to it. They do not need to know what anyone earns.
- Finance. Invoicing, chasing payment, working out what the team is owed. This person needs every number and should not be able to reassign work.
- Client relationships. Talking to clients, managing expectations, handling the portal. This person needs the commercial picture and has no business seeing what freelancers are paid.
- Everything. A deputy who covers all three.
Notice that the boundary is not seniority, it is subject. An operations lead can be extremely senior and still have no reason to see what anybody is paid. Setting access by subject rather than by rank is what makes delegation survivable, because it means handing someone a job does not mean handing them the whole business.
One thing worth keeping to yourself regardless of how much you delegate: the ability to grant access. If the person you delegated operations to can also appoint another administrator, you have not delegated a job, you have delegated the keys.
Scope growth is the main leak
Agencies rarely lose money on the work they quoted. They lose it on the work that arrived afterwards: the extra round, the resize for the other market, the "quick" change that took two days, the discovery that the brand guidelines were wrong.
None of it is unreasonable. All of it is unbudgeted. And because each individual instance is small, nobody escalates any of it until the total is large enough to notice, by which point the campaign is over.
The fix is not stricter change control. It is recording the difference at the moment work is created:
- Planned work was part of what you agreed and what you priced.
- Additional work is anything else, however small, however reasonable.
That one flag turns an invisible leak into a visible list. It also changes the conversation with the client, because instead of arguing about whether scope grew you can show what was added and when.
Recording additional work should never automatically change what the client owes. Those are two separate decisions. Logging it is an operational fact your team can record without permission; charging for it is a commercial decision that needs a conversation. Systems that collapse the two either bill clients for things nobody agreed, or discourage teams from recording anything.
Cost has to arrive before the invoice
Most agencies find out what a project cost after it has finished. That is not a reporting delay, it is a consequence of how the information is produced: work is recorded when it is done, approved when somebody gets round to it, and paid at month end. Three lags in a row, and each one is a week.
The question worth answering during a project is different from the one most reports answer. Not "what did this cost", but "what is the work already underway going to cost if it goes through as it stands".
Those are different numbers, and keeping them apart is the whole trick:
- Committed but unconfirmed. Work people have done or started that has not been approved yet. It is not a liability, and it is not nothing.
- Confirmed. Approved work. You owe this whether or not you have paid it.
- Paid. Money that has actually left.
An agency that tracks only the last of the three is reading its own history. One that tracks the first is reading its near future, and can still act on it: pull a person off, have the conversation with the client, stop doing the fourth revision for free.
Worth saying plainly: for an agency this is a people question, not a materials one. Whatever your cost tracking does, it has to handle the fact that you pay some people per hour, some per deliverable and some a flat monthly amount, and that all three might be working on the same campaign.
What clients should see
Client visibility is usually solved in one of two bad ways. Either clients get nothing and email you for updates, which turns account management into a helpdesk, or they get a seat on the internal board, which turns your delivery process into a public document.
The second is worse than it sounds. A client watching internal statuses learns things that are true and unhelpful: that their work was rejected twice, that it moved between three people, that the person on it is behind on something else. None of that is their business, and all of it invites a conversation you do not want.
What a client actually needs is smaller than most agencies assume:
- Is this being worked on, or is it done?
- Where are the things you have delivered?
- Where do I ask a question, and did anyone answer?
- What have I agreed to pay, what have I paid, what is outstanding?
That is four things, and none of them requires exposing who reviewed what or how many attempts it took. Deciding to publish less is usually the right call.
What to fix, in order
Nobody rebuilds their operation in a week, and trying produces a system nobody uses. The order below is deliberate: each step makes the next one cheaper.
- Give work a home. Every piece of work belongs to an engagement, and every engagement to a client. Until this is true, nothing else can be measured.
- Record what was agreed. Agreed value, currency, payment terms, per engagement. This is the denominator for every question about profitability.
- Flag planned against additional. One field. It costs nothing and it exposes the biggest leak.
- Make review a step, not a message. Somebody named checks the work and the decision is recorded. This is where quality lives, and also where cost becomes real.
- Attach cost to work. Whatever the model, cost should be a consequence of work being approved rather than something someone maintains separately.
- Split access by subject. Delivery, finance, client relationships. Only now, because before this there was nothing worth protecting.
- Give clients their own view. Last, because it should be a projection of a system that already works, not a substitute for one.
An agency that gets through the first three has closed most of the gap. The rest is refinement.
How Bikabo does this
The chain in one system.
Everything above can be done with a spreadsheet and discipline, and plenty of agencies run that way for years. What breaks it is not complexity, it is the number of places a fact has to be entered before it is true everywhere.
Bikabo is built around the chain in this guide. Client, Engagement, Task, assignment, review, cost, delivery, invoice, payment, as one record rather than five systems reconciled at month end. Approving a piece of work is simultaneously a quality decision, a cost event and a step towards somebody being paid.