Article: AN0002438Updated: 01.06.2021
Purpose of the cost allocation is to determine costs that are associated with certain objects. At the time of implementation the model has to be adapted to the customer environment. Therefore we are proceeeding with following steps:
- Clarification of input cost
- vendor invoices
- salaries of employees working in the processes
- depreciation of property
- ...
- Determining target objects to which the cost should be assigned:
- products and services
- external customers
- internal teams
- projects
- ...
- Determining how cost should be assigned to target objects
- direct assignment
- indirect assignment by means of models into which costs are assigned and which have their own way for cost distribution to target objects
- ...
Following information relate to a particular implementation. In our example we will solve allocation of IT cost. The model has to be always adapted to a particular customer, his goals, situation and nature of cost.
Objects of the solution
Type |
Name |
Description |
Page |
Dashboard |
Home page of the administrator with menu and data quality indicators. |
Class |
Charge |
Records of invoices, salary cost and depreciation that should be allocated. |
Class |
Linking Charge to Service |
Setup of assignment |
Class |
Service |
List of services that represent cost distribution model. |
Class |
Period |
List of periods |
Class |
Team |
List of teams |
Class |
Country |
List of countries |
Class |
User |
List of users |
Class |
MS AD group |
List of MS AD groups |
Class |
Members of MS AD groups |
Membership of users in MS AD groups in particular periods. |
Class |
Server |
List of used servers. |
Class |
Server customer |
Distribution of amounts allocated to particular servers. |
Class |
User allocation |
Assignment of users to particular teams and countries in particular periods. |
Class |
Model Server |
Overview of server configuration according to infrastructure snapshots and calculation of total resources of particular servers. It is used for allocation of costs associated with server infrastructure. |
Class |
Model Print |
Overview of print volumes by particular users. It is used for allocation of cost associated with printing. |
Class |
Model Storage |
Overview of data volumes by particular users. It is used for allocation of cost associated with user data storage. |
Roles
Role |
Use cases |
Administrator of cost allocation |
Performs all the settings and enters input data for the cost allocation. |
Cost allocation process
There are invoices, salaries and also depreciation as input data. Particular items can be in various currencies. We have to convert them to a single standard currency - e.g. EUR or USD.
Each invoice has to be analyzed and assigned to a team, country, user, group of users or service. Each item can be assigned to more periods and more teams, services or users. E.g. if one invoice contains prepaid amount related to next years and then a payment for implementation related to a certain team, payment related only to a certain user and amount related only to a certain service, we can assign everything correctly and transparently.
Amounts assigned to a team and country enter directly our final objects. We have to perform further conversions for users, groups and services.
Services as means of cost distribution
We will not be able to allocate most of the cost from invoices and headcount directly to the target objects (teams and countries). However, we can do that by means of services that are used by users and these users can be assigned to target objects (teams and countries). We keep a reference to MS AD groups that contain users using the given service. An exception are services that have a different allocation key than an equal distribution to all the users in certain groups (see below Print, Storage and Server infrastructure).
Example of service:
Service |
MS AD group |
Description / Example of cost entering the given service |
User minimum |
user_all |
MS Windows, Office, end-user devices, helpdesk, VPN, related cost for servers. |
Print |
|
Invoices for toners, paper, printers, cost related to print servers. |
User data storage |
|
Invoices for disk storage, cost for NAS servers. |
Server infrastructure |
|
Invoices for hardware, server licenses, disk storage for servers. |
SAP application |
SAP_basic, SAP_admin |
SAP licenses and maintenance, related cost of SAP servers. |
DWH and BI |
DWH |
Licenses, helpdesk for DWH and BI. |
CRM |
CRM_users |
CRM licenses. |
Service Print
Solution from our example contains a model for cost allocation according to the print volume. All invoice and cost of employees associated with print will be charged in this way.
Example of input data defining the print volume.
Service Storage
Cost associated with storage of user data will be distributed in a similar way.
Service Server infrastructure
We are taking snapshots of servers during the year to get an overview of CPU, RAM and HDD size as elementary server parameters for distribution of server infrastructure cost.
We can define how to distribute cost associated with the server in certain period. We can use any combination of allocation to teams and countries or we can allocate the cost as an input to other services.
Cost distribution
Services distribute cost assigned to them directly from input invoices or indirectly from particular servers, to which the cost was assigned from the service (model) Server infrastructure. This is done through users that are members of groups defined at particular services or that are included in the input data for the services (volume of print by users, volume of data in the storage by users). Users can be assigned in each period to various teams and countries. We can define any combination of countries and teams with setting the weight which determines at which ratio cost for a user should be charged to certain team and country. This allows an easy reflection of user moves between teams and countries.
The final allocation then shows cost by teams and countries.
We can compare sum of allocated amounts with the total sum of all invoices that enter our example to check correctness of the calculation.