Table of contents5 sections
A B2B developer’s monthly invoice is 24,000 PLN. In the same period the specialist worked on three projects, supported the sales team with estimates and spent a few hours on internal tasks.
What cost should be assigned to each client?
The invoice alone does not answer that. It shows the total cost of working with the contractor, but not what part of that amount burdens a specific project. If the company assigns the whole cost to one order, that project’s result will be understated. If it leaves the invoice only as a general cost, all projects will look more profitable than they really are.
We know what it is like when the data needed for settlement exists, but sits in different places:
- the developer’s invoice is in the accounting system,
- working time is in the project tool,
- the contractor’s rate is written in the contract,
- project budgets are kept in a spreadsheet,
- some hours have not been assigned to a client,
- final profitability is calculated by hand after the month ends.
That is why settling B2B developers should link the contractor’s monthly cost to the time actually spent on individual projects. Only then can a software house owner or Project Manager see how much serving each client really costs.
A B2B developer’s monthly invoice is 24,000 PLN. The specialist worked on three projects, supported the sales team with estimates and spent a few hours on internal tasks. What cost should be assigned to each client?
Why does a monthly B2B invoice not show the cost of individual projects?
A contractor’s invoice answers one question: how much the company has to pay the specialist for a given period. It does not show where that cost arose or which project should bear it.
One specialist works for several clients
In software houses a developer rarely works on just one project for the whole month. At the same time they may:
- develop the client’s main product,
- fix bugs in another system,
- take part in the discovery of a new project,
- support a rollout,
- do code review,
- help less experienced team members,
- take part in sales estimates,
- carry out internal tasks.
If the monthly cost is not split according to actual involvement, the company does not know the true result of any of these activities.
Projects get too low a labour cost
A common approach is to leave B2B invoices in the company’s general costs. Projects then receive only information about the hours used, but are not charged the financial value of the work.
A dangerous situation arises:
- the project report shows a high margin,
- the number of hours fits within the budget,
- the client has been invoiced correctly,
- yet the result of the whole company is much lower than the sum of the project margins.
The difference comes from specialists’ costs that have not been assigned to orders.
All hours are treated the same
Even correct time allocation is not enough if every hour has the same value.
A junior developer’s hour may cost the company 80 PLN, and a senior developer’s hour 200 PLN. A project using 100 hours of work can therefore cost 8,000 PLN or 20,000 PLN, depending on the team structure.
The number of man-hours shows involvement, but only combining hours with the cost of a specific specialist shows the real burden on the project.
Part of the time remains unassigned
Hours labelled as the following are also a problem:
- internal tasks,
- work organisation,
- team support,
- meetings,
- research,
- technical activities,
- corrections,
- other.
Not every one of these hours has to burden the client. The company should, however, know whether it really is a general cost, or work done for a specific project that was described incorrectly.
A large number of unassigned hours may mean:
- imprecise time reporting,
- no clear rules for time recording,
- tasks in the project system that are too general,
- additional work done outside the scope,
- hidden costs of serving clients,
- too much contractor involvement in internal activities.
How to settle B2B developers between projects correctly?
An effective process should combine invoice data, the contractor’s cost rate, time records and project budgets.
1. Establish the contractor’s real hourly cost
The first step is to determine the settlement model.
If the developer invoices based on the number of hours worked, the cost rate can come directly from the contract.
If they receive a fixed monthly fee, you need to establish the number of hours that were actually available for project work in a given month.
Example:
- monthly B2B invoice: 24,000 PLN,
- contractor availability: 160 hours,
- actual cost rate: 150 PLN per hour.
In a simplified model:
24,000 PLN ÷ 160 hours = 150 PLN cost per hour
If the specialist had absences, or part of their pay covers on-call duty, a bonus or other benefits, the model should be adjusted accordingly.
2. Require time to be assigned to the right projects
Every hour should have at least:
- an assigned project,
- the person doing the work,
- a date,
- the number of hours,
- the type of task,
- information on whether the work fell within the scope.
It is worth limiting the option of reporting a large number of hours to general categories. If time cannot be assigned directly to a client, it should go to a clearly named internal category.
This lets you separate:
- commercial time,
- internal time,
- sales and estimates,
- skills development,
- corrections resulting from errors,
- additional work,
- cross-project support.
3. Allocate cost in proportion to the reported time
Once the data has been collected, the contractor’s cost can be split between projects.
Example:
The developer issued an invoice for 24,000 PLN and worked:
- 80 hours on project A,
- 48 hours on project B,
- 16 hours on project C,
- 16 hours on internal tasks.
At a cost rate of 150 PLN, the cost will be spread as follows:
- project A: 12,000 PLN,
- project B: 7,200 PLN,
- project C: 2,400 PLN,
- internal cost: 2,400 PLN.
This way each project receives a cost that matches the specialist’s actual use.
4. Control cost before the month ends
A settlement done only after the B2B invoice arrives is too late from the point of view of project management.
The Project Manager should see earlier:
- how many hours the specialist has worked on the project,
- what cost has already been generated,
- how many hours remain in the budget,
- whether the team composition matches the original estimate,
- what the expected cost at the end of the month will be,
- whether the project will hold the planned margin.
If the cost is growing too fast, the company can still change how the work is organised, limit the additional scope or renegotiate the terms with the client.
How did we solve settling B2B developers at Administy?
While running agencies and delivering digital projects, we worked with specialists involved in several orders at the same time.
The monthly B2B invoice showed the total cost of the collaboration, but did not tell us what part of that amount related to a specific client. To calculate profitability, we had to combine data from the project system, a list of rates and cost documents.
We also made a typical mistake: we looked at the number of hours, not always taking into account that each specialist’s hour has a different financial value.
That is why at Administy we linked:
- time records,
- the specific employee or contractor,
- their individual cost rate,
- the project the time is assigned to,
- project revenue and costs,
- the remaining budget,
- current and forecast margin.
Time imported from the project system is assigned to the right project and automatically recalculated at the cost of the specific person.
If a developer works on three projects in one month, their cost is split in proportion to the reported hours. The part relating to internal tasks, in turn, stays visible as an organisation cost, instead of artificially burdening a chosen client.
In practice this lets us see:
- how much the contractor’s work cost in each project,
- which client took up the largest part of their time,
- whether a project uses a team structure that is too expensive,
- how much the specialist’s internal time costs,
- whether hours were assigned correctly,
- how the contractor’s cost affects margin,
- whether the contract value covers the real cost of the work.
Such data also helps analyse the employment model. If a large part of the contractor’s paid time regularly does not go to commercial projects, the company can check:
- whether the specialist has enough workload,
- whether the team is planned properly,
- whether the rates sold cover the costs,
- whether some of the time is being reported incorrectly,
- whether internal tasks bring the expected value.
The most important change is that the B2B invoice stops being just a cost of the whole company. It becomes a source of information about the costs of individual projects and clients.
Settling a contractor correctly shows the project’s true margin
Settling B2B developers takes more than booking a monthly invoice. You need to link the specialist’s cost to their actual working time and allocate it proportionally to the projects being delivered.
This way the company sees not only the number of hours, but also the financial value of each team member’s involvement.
Administy brings working time, specialists’ individual costs, invoices, revenue and project margin together in one place.
Contact the Administy team and find out how to automatically split B2B contractor costs between clients and projects.



