updated as of release 1909
This Blog is about managing the Budget Availability control on SAP On Premise solutions and does not take in consideration functionalities regarding SAP Cloud Platform solutions like Real Spend or others.
Many customers ask about the possibility to manage budget availability control on ECC and S/4 Hana; some of them consider sufficient to check budget and actual values in a Report or a Fiori App, some others are eager to trace and eventually stop budget costs overruns before they happen.
For this last category of customers, depending on the specific requirements they have, SAP offers some possibilities.
As stated by OSS note 68366 standard functionality for budget availability control on cost centers was not present in standard until S/4Hana 1909.
Despite that limitation the mentioned OSS offered the workaround to use statistical internal orders to obtain the same result.
In other words the scope is to allow usage of internal orders budget availability control even by postings on cost centers. To obtain that:
- a statistical internal order must be created for every cost center
- a substitution must be created in order to connect the statistical order for every cost center posting.
- Budget must be inserted on the statistical order.
This is an useful workaround used by some customers but it has limitations.
For example in this case statistical orders cannot be used for other purposes (for example to furtherly detail the destination of costs for different purposes)
Anyway If you want to have a hint on how to customize Internal Orders Budget Availability Control on ECC please have a look here
Another option used by some customers to overcome these limitations is the use of Funds Management. Funds Management is able to trigger budget overruns by nature (or group of natures) of costs.
Funds Management is mainly used by Public Sector customers, but even some customers not belonging to the Public Sector Industry decided to use it.
Funds management functionalities can be switched on via the activation of Enterprise Extension EA-PS.
Funds management has his own master data (E.g. Funds Centers, Commitments Items, Funds, Funded Programs and Functional Area). A combination of these master data (Funds Centers and Commitment items are mandatory fields while other master data are optional) can be used to collect budget, moreover these master data can be derived via a derivation tool (FMDERIVE) quite similar to the CO-PA derivation. By this tool FM master data can be easily derived from Finance and Controlling master data, so once these master data are created the final user doesn’t need to insert them in the creation of a commitment document (e.g. Purchase order) or Financial Document.
Funds management is very flexible in terms of Budget Availability Control in fact it has a lot of functionalities to adapt the availability control ledger or to create your own availability control ledger. For example a user may want to post on a cost center and to control the budget on a higher level in cost center standard hierarchy or to use a unique budget for cost centers and internal orders and projects.
Please be aware that despite some customers are using FM to enhance the Controlling Budget and Availability Control comparing CO functionalities, Funds Management was actually built by SAP to be used in the Public Sector so as stated by OSS Note 195122 limitations may arise if you want try to compare CO and FM values.
If you want more information on comparison between FM and Controlling you can refer to this blog
S/4 HANA 1909 (ON PREMISE)
With the advent of SAP S/4 HANA 1909 you have more possibilities in checking your budget on Cost Centers.
Most important steps you need to execute setup budget availability control on S/4 HANA 1909
Maintain Budget Availability Control for Cost Center
In this step you decide:
- Currency type in which you want to execute the availability control (Company code or Global currency)
- GL account groups you want to use to for budgeting and availability control. So you can decide different tolerances for different Cost elements or Cost elements Groups. Cost elements groups must be created in advance via the Manage Global Hierarchies app.
- Budget availability control tolerances. Here you can establish a different tolerance percentage and error or warning message for each Activity Groups (a detailed explanation of activity groups can be found here). To execute this step step you need to ask yourself questions like:
- Do I really want to check availability control on “External Postings” (like for example Purchase or Finance documents or do I need to check “Internal postings” (Like Allocations) too?
- What tolerances do I need?
- What kind of error should the system raise?
- Do I need to raise an error message towards a Payroll Posting and stop it? (probably not)
In the Example I am creating:
A detail regarding activity groups you can use in Availability Control Profile are contained in the SAP Help documentation
More details about G/L Account Hierarchy and G/L Account Group will be provided in the master data section of this blog.
An important customizing step is the definition of plan categories
Plan Categories are used to distinguish different sets of plan data. Some plan categories (like for example the one I am using in this example) are provided by SAP but you can create your own if you need it.
If you want to understand more about plan categories you may want to check the customizing documentation that is very detailed, or SAP the S/4HANA 1909 help portal
Once you have defined the plan categories you need to define budget checks for plan categories.
Here you customize the fact that a specific plan category is available for Cost Center budget with availability control and budget checks.
Please be aware that planning category is an important information requested when you upload budget via the “Import Financial Planning data” FIORI App.
Master data steps
Global G/L Account Hierarchy
The G/L Account Hierarchy can be created via the “Manage Global Hierarchy” FIORI APP
This is an example of the Hierarchy I have created to be used in the Budget Availability Control customizing.
The budget availability control must be joint to the Cost center master data in the FIORI APP Manage Cost Center
As per the documentation there are two kinds of possible entries.
- Cost centers that manage directly budget (e.g. CC001). In this case fields Budget Carrying Cost Center, Budget Availability Control Profile must be filled and the Budget Availability Control Active pushbutton must be activated if you want to activate availability control for this cost center
- Cost Center that are controlled via an assignment to another cost center (e.g. CC002). In this case only the field Budget Carrying Cost center must be filled.
Budget Preparation and Actual Data Posting to Availability Control
Import Financial Planning Data
This FIORI APP is executed to import your financial budgeting data
You can obtain the template CSV file to be uploaded by using the “Download Template Button”
Once you have downloaded it you can compile the CSV file and upload it again
Then you “Import The source File”
Then if you have Design Studio, by Pressing “Check Financial Plan Data”
You can check your uploaded data.
Moreover you can execute the FIORI APP “Cost Center Budget Report ”
Posting Finance Document to check budget availability control
Please note I am executing examples concerning actual postings but this works for commitment postings as well (e.g. Purchase Requisition or Purchase orders)
I post an FI (FB50) document on Cost Center CC001 and Account 400000 (tolerances 80% Warning and 100% Error) and simulate in General Ledger expert mode Warning error
Then I post a value of 81000 and this is the detail of message I receive.
Please note that the message says to contact the Cost Center Manager written on Cost Center master data.
To post the data I had to ignore the warning by saving again the document.
Now I post a document on Cost Center CC002.
If you remember, the Cost Center CC002 has no budget profile inserted in his master data but he has CC001 as a budget Carrying Cost Center; moreover no budget was uploaded on Cost Center C002
Tolerances for 416300 and 416400 G/L Accounts were
90% Warning and 100 Error.
Please also note that the budget uploaded for these G/L Accounts was
416300 – 50.000 Euro
416400 – 50.000 Euro
Now if I simulate a document of 50.000 Euro I do not receive any Warning or Error
While to obtain the first warning I need to post a value of 90.001
This is because the Tolerance Limit I have created works in this specific case for the GL Account Group Overheads
Moreover the GL account Group Overheads is made in the following way:
So even I f I have uploaded budget for
50.000 Euro on G/L Account 416300 for Cost Center CC001
50.000 Euro on G/L Account 416400 for Cost Center CC001
since the Tolerance is on the overhead group OVERHEADS, this group contains the budget value to be checked (50.000+50.000=100.0000). So I can Post a document on Cost Center CC002 (that is related to Cost Center CC001) and the value posted will be checked towards the total budget amount (for 416300 and 416400) I have put on Cost Center CC001
This test shows you that the budget availability control may work for G/L Accounts and for G/L Account group, and it is very flexible. Moreover you may experience a similar flexibility on Cost Center; in fact you may decide to put your budget at a high level Cost Center (in your Cost Center Hierarchy) while checking the availability control on lower Cost Center levels.
So keep it in mind if you are thinking to activate these budget and availability control functionalities!
This blog is based on my experience on Controlling and Funds Management, I have enclosed Oss notes and link to standard documentation, if you think there is something I may improve or detail more, your feedback is very welcome.
In general, if you want more info on the planning options in S/4 Hana you can refer to this blog
Brought to you by the SAP S/4HANA RIG