With activity-based costing (ABC), all costs are assigned to "activities" -- things people do. Then, these activities are assembled into the products and services that the organization delivers to clients outside the organization.
The concepts of ABC can be used in two ways: activity-based budgeting (ABB) and activity-based cost accounting.
Both ABB and ABC Accounting are built on the same cost model which associates all costs with external products and services. ABB is done before the year begins as a planning process, while ABC Accounting is a modification to accounting systems that track costs during the year (after-the-fact) by projects and services delivered.
At a high level, activity-based budgeting (ABB) means presenting a budget in terms of the cost of an organization's products and services, rather than the traditional budget that describes cost factors (expense codes) such as compensation, travel, and training.
But ABB has some limits.
First, ABB treats internal support services as activities, not products and services. The groups providing them are not seens as businesses serving customers within the organization; in ABB, only external-facing groups have products and services.
This creates "two classes of citizenship": those who sell to clients (the "important" functions within the organization), and those who simply do activities that are somehow incorporated into those products (the second-class citizens).
It's demotivational to imply that internal support groups are less important (just "activities") than those selling to external customers. More importantly, it misses an opportunity to build a culture where everybody has to please customers, everybody has to produce results, and everybody is an entrepreneur who must be frugal, innovative, and offer best value.
Second, ABB has a technical flaw.
Activities become cost pools, which are then allocated among the external products. It's a simple, trickle-down "cascade" process.
But in real life, some of those activities support other activities -- the products sold to others within the organization. And these, in turn, may support both external and internal products. And so on....
For example, in IT, it would be tempting to assign the costs of infrastructure engineering to the infrastructure-based services (like email and applications hosting) sold to clients.
But remember that some infrastructure engineers contribute to applications project teams. And some infrastructure services (like email, network services, shared storage) are consumed internally by groups such as the applications engineers.
In real life, there's a complex web of customer-supplier relationships inside any organization. Allocating the costs of all activities directly to external products (as in ABB) ignores these internal value chains.
This introduces distortions which are often significant. In practice, we've measured distortions as often greater than 30 percent, and in some product lines exceeding 100 percent.
Associating all costs with products/services is not only right; it's the basis for all sensible resource governance processes.
Everybody should understand their products/services (service catalog) and their customers, both within the organization and clients out in the business units, and the full costs of each.
Direct costs are easy to assign to those products/services. Indirect costs within each group must be amortized into that group's unique products/services.
Then, the costs of internal products/services are transfered to the internal customer, and spread over that group's products/services.
Second-generation cost models (beyond ABB) like FullCost represent the rich web of internal customer-supplier relationships. They describe the costs of the products and services the organization "sells" at every level of its internal value chain (not the processes and activities it "does" which are then applied only to external sales).
In a second-generation cost model, costs flow through the web of internal support relationships until they ultimately end up on the external products/services.
FullCost is a practical method and tool-kit to implement investment-based budgeting.
Finally, primes and subs add up their full costs to get the total cost of each external product/service.
The FullCost process produces a product/service catalog with costs, a budget with the costs of proposed products/services, and chargeback rates. It achieves the same purpose as ABB (and more) and it's entirely consistent in concepts. But the language of business improves the accuracy of the costing and contributes to organizational culture in a powerful way.
Research report: Second-generation Cost Models