Your accounting can be perfectly in order, while you still do not know where you actually earn money.
On the profit and loss statement, for example, you can see how much revenue you have generated, what your personnel costs are, and how much you have spent on external hiring. That is important information, but for managing a company, it is often not enough.
Because to which project were those costs linked? Which department caused them? Which location is performing well? And perhaps the most important question in a project organization: what have we ultimately earned from a project?
That is where analytical accounting in Odoo comes into play.
With analytical accounting, you essentially add an extra dimension to your financial administration. Not to book even more, but to better analyze the bookings you are already making.
What is analytical accounting?
The normal financial accounting mainly tells what has happened financially.
A supplier invoice for external consultancy can, for example, be booked to a cost account for hiring. A customer invoice is recorded as revenue. Salaries fall under personnel costs.
That is necessary for your financial reporting.
But that still doesn't tell you what those costs were incurred for.
Suppose you spent € 50,000 on external consultants in one month. Financially, that is clear. For management, the interesting question only begins afterwards:
What was that € 50,000 spent on?
Perhaps € 20,000 belongs to project A, € 15,000 to project B, and € 15,000 to project C. Or the costs need to be allocated across different departments or locations.
With analytical accounting, you can add that second layer.
The general ledger account thus tells you what kind of costs they are. The analytical account tells you what those costs relate to.
That difference is important.
Cost centers and cost carriers: what does that mean in Odoo?
In financial administrations, we often hear the terms cost center and cost carrier. These concepts are often used interchangeably, while they answer different questions.
A cost center mainly concerns the question:
Where do the costs arise?
Think, for example, of:
Consultancy
Development
Sales
Marketing
Location Netherlands
Location Curaçao
A cost carrier is more about the question:
What are we incurring these costs for?
That could be, for example, a customer project, product group, service, or order.
In a business service provider, a project is therefore a logical example of a cost bearer. After all, you want to know which revenue and costs belong to that specific project.
Odoo does not simply use two fixed fields named cost center and cost bearer for this. The setup is more flexible. Odoo works with analytical plans and analytical accounts.
An analytical plan can be seen as the dimension on which you want to analyze.
For example:
| Analytical plan | Analytical accounts |
|---|---|
| Department | Consultancy, Development, Sales |
| Location | Netherlands, Curaçao, Aruba |
| Project | Project client A, Project client B, Project client C |
In this setup, you can consider the plan Department as an economic cost center structure. You use the plan Project as a cost bearer.
That is a much better way to look at the setup than simply asking: "Where is the cost center field in Odoo?"
The answer is: you largely determine that yourself with your analytical structure.
Viewing one booking from multiple angles
The interesting thing about analytical plans is that you do not have to choose between project, department, or location.
One booking can be viewed from multiple dimensions.
Suppose you receive a supplier invoice of € 5,000 from an external consultant.
The financial booking can be:
External hiring: € 5,000
Analytically, you can link the same booking to:
Project: Implementation client A
Department: Consultancy
Location: Netherlands
You have booked the same € 5,000 only once. Still, you can analyze the costs in different ways later.
How much external hiring did we have on project A?
How much does the Consultancy department cost?
What are the costs of our Dutch organization?
That is exactly why a good analytical setup is so much more interesting than an enormously detailed chart of accounts.
You do not need to create a separate general ledger account for every combination of department, project, and location.
The financial administration remains clear, and the management information is in the analytical dimensions.
This is also one of the advantages of an integrated ERP system. Financial information is not separate from projects, sales, purchasing, time registration, and other business processes.
Project profitability: what do you really earn?
For us, this is practically one of the most important applications of analytical accounting.
Many companies know exactly how much they have invoiced to a client. But revenue is not yet profit.
Suppose you sell a project for € 100,000.
Afterwards, € 100,000 has been invoiced. Commercially, the project seems to have succeeded.
But what did the project cost?
Perhaps 700 internal hours were spent on it. In addition, € 12,000 was spent on external expertise, materials were used, and an employee declared € 2,500 in project costs.
Then a very different picture emerges.
To determine the true profitability of a project, you must set revenue against all relevant project costs.
Odoo can bring together various data around a billable project in the project dashboard. Think of revenue, recorded hours, purchases, supplier invoices, materials, and expenses linked to the project.
The analytical account forms an important financial connection.
This raises a much more interesting question than:
"How much have we invoiced?"
You can ask:
"What have we earned from it?"
That sounds like a small difference. For managing a company, it is a world of difference.
Hours are costs, even if there is no invoice for it.
In service companies, we often see that the focus is primarily on external costs.
That is not enough.
The hours of your own employees also represent costs. If a consultant works a hundred hours on a project that was budgeted for only sixty hours, that is financially relevant information. Even if your client simply pays the agreed fixed amount.
This makes time tracking more important than just a tool for invoicing.
The hours also indicate how much capacity a project has actually cost.
Especially in fixed-price projects, you quickly see why project profitability becomes interesting. More hours do not automatically lead to more revenue. They do compress the margin.
A project can therefore be fully delivered, the client can be satisfied, and all invoices can be paid, while the project has still been financially disappointing.
Therefore, we believe that financial insight should be part of good project management.
A project is not successful just because all tasks are marked green.
From cost center to results per department
You can use the same analytical accounting for departments.
Suppose you have an organization with Consultancy, Development, and Sales.
A portion of the costs can be easily linked directly to a department. Other costs are shared.
A software license may be used entirely by Development. You can link that directly to that department.
The office rent is used by everyone. You could distribute it, for example, according to an agreed allocation key among the departments.
This creates much better insight into the cost structure of your organization.
This does not mean that every cost center must be independently profitable.
Sales, for example, incurs costs that ultimately generate revenue for other business units. Finance may have no revenue of its own.
Analytical accounting provides the information. The interpretation remains management work.
This is an important distinction. Software can calculate very accurately where costs have been booked. The software cannot determine whether your organizational structure is sensible.
Costs and revenue per location
For companies with multiple locations, the same principle applies.
You can create an analytical plan for Location with:
Netherlands
Curaçao
Aruba
Then you can link revenue and costs to those locations.
This creates insights that you cannot obtain from just the total profit and loss statement.
For example, you see that the revenue at a location is growing rapidly, but the costs are rising even faster. Or that a smaller location has a surprisingly good margin.
The same applies here: you do not need to build a completely separate account structure for each location.
The general ledger account indicates what type of revenue or costs it concerns. The analytical dimension indicates which location they belong to.
Distributing costs over multiple analytical accounts
Not every invoice belongs one hundred percent to one cost center or cost bearer.
An invoice of € 10,000 can, for example, relate 60% to Consultancy, 30% to Development, and 10% to Sales.
Odoo therefore supports analytical distributions.
You can distribute an amount proportionally over multiple analytical accounts.
This is useful for shared costs such as housing, software, insurance, or general services.
But there is also a pitfall here.
Just because you can distribute costs in great detail, does not mean you should always do so.
If Finance spends two days every month distributing an invoice of € 200 according to seven percentages over eight departments, you should ask yourself what you are going to do with that information.
More detail does not automatically mean better insight.
Automate recurring distributions
If certain bookings are almost always distributed in the same way, you don't want someone to enter percentages again every time.
For that, you can use analytical distribution models in Odoo.
Based on, for example, a general ledger account, supplier, product, or other conditions, Odoo can automatically suggest or apply an analytical distribution.
Take, for example, the rent of a commercial property.
You have agreed:
Consultancy: 50%
Development: 30%
Sales: 20%
If that distribution is the same every month, it adds little value to enter it manually twelve times a year.
Automation also reduces the chance that one employee uses a different distribution than another.
That makes your reports more reliable.
Ensure that important analytical information is mandatory.
An analytical administration only works if the data is recorded.
That sounds quite logical, but in practice, this often goes wrong.
Beautiful reports are devised, but then it turns out after three months that a large part of the bookings has no department or project filled in.
You can still report, but the result is not correct.
Odoo can therefore determine for each analytical plan whether an analytical allocation is optional or mandatory. You can further tailor that applicability to the bookings for which it is relevant.
We find that important.
If you need a report to manage your business, you must also ensure that the source information is consistently recorded.
Otherwise, you have no management information. Then you have a graph with gaps in it.
Budget monitoring with analytical accounting
Analytical accounting does not only look back.
You can also use analytical accounts and plans for budget monitoring.
Suppose project A has a budget of € 75,000.
Then you do not want to discover only after the project that € 92,000 has been spent.
You want to see how the actual result develops in relation to the budget.
The same applies to a department.
Marketing, for example, receives an annual budget. As the year progresses, you want to be able to see how much of that has already been realized or has already been committed.
This makes analytical accounting interesting for controllers and financial managers, but just as much for project managers and department heads.
A budget does not only belong in Finance.
The person responsible for the result must also be able to see where he or she stands.
Odoo supports both financial and analytical budgets. Analytical budgets are specifically intended to track projects, departments, and other analytical dimensions.
The power lies in the integration
Analytical accounting also exists in other financial packages.
The difference becomes particularly interesting when the financial administration is part of the same ERP system in which the rest of the business process also takes place.
A sales order leads to a project.
Employees log hours on that project.
Purchasing is linked to the project.
Supplier invoices end up in the same administration.
Costs and revenue are reflected in the analytical administration.
And then the project manager can look at the financial progress from the project.
That is something different than exporting information from four systems to Excel at the end of each month and trying to create a project result from that.
It is precisely the integration of business processes that is an important difference between standalone software and a complete ERP system like Odoo.
Also for the financial administration itself, Odoo now goes much further than just registering customer invoices and supplier invoices. In our article about accounting in Odoo we will elaborate on that.
Do not start with the question of how many cost centers you need
With a new setup, we sometimes quickly get questions like:
"How many cost centers can we create?"
Technically, that is rarely the most important question.
We prefer to start somewhere else:
What information do you need to manage your business?
Do you want to know the profitability per project?
Do you want to compare results per location?
Do you want to track costs per department?
Do you want to be able to compare budget and reality?
Only then do you determine which analytical plans and accounts are needed for that.
That may sound obvious, but it prevents a lot of trouble.
You can create an extraordinarily impressive analytical structure with departments, business units, teams, locations, projects, product groups, and cost types.
If users then have to think about six different analytical fields for each booking, you probably haven't built the best solution.
You've mainly created a lot of administration.
Our preference is therefore: as simple as possible, but comprehensive enough to answer the questions you really want to manage.
That also fits with how we look at a ERP implementation. Not starting with what is technically possible, but with what the company needs.
From accounting to management information
The financial administration tells you how much revenue you have generated and how many costs you have incurred.
Analytical accounting adds context to that.
Which project?
Which department?
Which location?
Which cost bearer?
And ultimately: where do we earn our money?
Especially that last point makes analytical accounting interesting for us.
When you execute projects, you want to know not only if they are completed and invoiced. You want to know which projects yield a good margin, which are structurally overrunning, and where costs arise that you had not anticipated.
This transforms analytical accounting from an administrative function into management information.
And that is exactly where the value lies.