Skip to Content
Technical Articles

Cost Budget and Availability Control on SAP ECC, and S/4HANA On premise.

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 

Funds Management

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 Areas). 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



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

Customizing Preparation.

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.


Cost Centers

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.

  1. 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


  1. 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). It is fundamental though to activate the new Commitment Management Solution (for details and constraints on that please see OSS note 2778793 .

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

And 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!

Update from December 2020 (S/4HANA 2020).

It is now available a troubleshooting Q&A Oss note if something doesn’t work for you. I really suggest to read it because it contains hints.

Moreover the limitation Oss note I have already mentioned 2778793  has been updated some times since I have created this blog post. Please read the OSS notes carefully.

A new FIORI app to produce budget transfers among Cost centers is available since S/4HANA 2020.



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

You must be Logged on to comment or reply to a post.
  • Thanks a lot for the informative explanation. I have a question please, there is a business need to activate the availability control on some cost centers in the company. My question is, will SAP give me the choice to activate this feature for selected cost centers? Maybe based on master data field selection or something like that?

  • Hi Gianluca,


    Thank you very much for the post, very informative. I just have one question, can I also apply this process for budgettng against internal orders? Because I only see Project & Cost Centre Budget as category usage for the plan category.


    Kind regards,


    • Hi Thijs,

      For Internal Orders the budget availability control was already present in ECC and as far as i know it has not been changed in S/4 HANA.

      Hope it helps



      • That's what I figured, but what confuses me is that looking at SAP Help for S/4, going via Controlling -> internal orders it starts talking about WBS Elements & Internal orders to eventually only mention WBS elements (see here) when it comes to entering a budget.

        The second thing that makes me doubt it, is because there is an app to cover the old GUI transaction (KO22), however it is not assigned to a business catalog, which makes me think it's not the direction SAP wants you to go.

        The only thing I can think of, I haven't had a chance to test it yet, is that SAP considers Internal orders to be mini projects so perhaps it can be used using the project approach where you replace WBS elements with internal orders and still use the 'import plan data' app. However, I wouldn't know where the reports for this would be then.

        There is at least nothing definitive I can find on this.

        • Hi Thijs I am not sure I got your point.

          WBS were (in ECC too) considered for standard functionalities  on budget availability control. (similar functionalities of internal orders)

          Regarding the SAP documentation, It is talking about projects and you can manage projects with WBS of course but with internal orders (and internal orders groups) too.

          The documentation you mentioned is related to the old budget functions.



  • Hi Gianluca,

    Thanks for sharing knowledge.

    Am trying to formulate a structure for my organization but have ended up creating 1000+ cost centers / fund centers.

    The structure of my legal entity in descending order is –

    Legal Entity



    Activity 1        Activity 2         Activity 3

    Query 1 – Here can Activity be the Fund Center/Cost Center and GL be made the Commitment Item?

    Query 2 – From Budgeting perspective, in a large FMCG organization where there are large number of Departments and sub-departments, can the combination of Fund Center/Cost Center and GL limit the number of Fund Center/Cost Center?

    Regards / Mohit

    • Hi Mohit,

      well your question is not  related to the content of this blog, neither it is easy to reply to your questions without knowing in deep the context.

      What I can say is that 1000 plus cost centers/funds center is not a huge number. I have seen customers with 20.000+ Cost Centers.

      Then of course Funds Centers may be fewer.

      Please also be aware that activities may mean different things for a company (usually an activity reports what the company does and not how the company is structured) and not necessarily related to cost centers or G/L Accounts=> Commitment Items.

      So I suggest to start from CO to understand where Activities can be mapped (an internal activity type? A cost Center? an Internal Order?) and which reporting you should obtain from activities and then to come to Funds Management and to decide consequently.

      I have seen customers to use alternative FM master data (e.g. Funded Program) for activities because their activity budget was conceptually separated  from the Funds Centers budget (but still considering the Funds Center from the responsible object of the activity).

      But this is just my experience and I would not consider it as a valid in every case.

      Usually Commitment Items and Activities maybe partially related concepts (because for example in CO activities have usually a secondary cost element related to them) but you still will have commitments items not related to activities. So depending on how activities are mapped in CO, I usually search something else to map Activities to an FM concept.


      Hope it helps



  • HI GIANLUCA TACCONE , Thanks for informative blog. In my case i have carried out all the required configurations and cost center budget is checked for expenditures postings however Commitments are not getting updated (Cost center budget report - F3871) while creating purchase orders. Please share your valuable suggestions.


    Best Regards

    Fahad Mirza



    • Hi Fahad,

      sorry I did not see your question, hope you solved in the meantime, otherwise please check OSS 2952493.

      A Frequent error is related to the missing creation of predictive ledger



  • Hello Gianluca and blog,

    Question1: In s4 1909 Can Cost center availability control be used as an investment measure (IM) to  Capture and control Capital purchases directly or does it need to still go thru WBS (IM)?my question is because the client may want to manage their budget at cost center level.

    Question2: budget and availability control is managed at cist center level....can budget/AVC be managed at cost center group level?


    Thank you in advance for all your valuable input.


    • Hi Andi,

      Q1 No Cost centers cannot be considered as investment measures, if you want to check together Opex and Capex you may use Funds management.

      Q2 No I do not think you can use it cost centers group for cost center availability control but,  as explained in the post, you can create your cost center structure in order that a cost center is to be considered as father of another cost center.

      So in the Standard Hierarchy you put a group containing:

      • a cost center (the father)
      • another group (the daughters/sons) .

      When you post the son, availability control is made on the father.




  • Hey Gianluca!

    Thanks for your important post, help me a lot in the customer that I´m.

    I´ve got around 500 Cost Centers to be set Budget Availability Control Profile. Do you know how could I do it massivelly?


    Thanks in advance.


    Emerson Marçal

    • Hey Emerson,

      Happy to help 🙂


      Regarding the possibility to do a mass upload I really do not know.

      First thing that comes to my mind is a custom program to call a standard bapi to modify the field.




  • Dear Gianluca, this blog is really informative and clear to understand. thank you!

    I was able to setup the budget and availabilty control features, and also tested the budget upload and the that the tolerance limits are working as configured, but I have a proble with the app "cost center budget report":

    1. Budget for cost center 1004900 was uploaded using “import financial plan data” application.
    2. The budget can be displayed in “financial plan data app"Budget%20correctly%20displayed
    3. But the budget data is not displayed in “Cost center budget report” app:No%20data%20on%20the%20plan%20columnPlanning category ZBUDGET01 (which was copied from the standard BUDGET02)  was used for budget upload.

      I also checked table ACDOCP and my budget data is there. 

      I think budget Report should be showing same data as the financial plan data app, am I wrong?



    • Hi Yoel

      You should be able to see uploaded data in that FIori APP.

      I have not much time to test it in this week but will probably be able to do it next week.

      Please let me know if you solve it in the meantime.



      • Thank you Gianluca, I opened an incident with SAP as well, so hopefully this issue will be solved. I will update.


        • Hi everyone,

          Just an update that my situation was solved with the kind help of Bianca David from SAP by running report FINS_GENERATE_FISCAL_PERIOD which generated the fiscal year variant periods. I am not sure how this happened, but once I run the report, the periods were generated, and new planning data could be uploaded and displayed correctly in the cost center budget report app.



  • Hi Gianluca,


    Thanks for the great article it is really interesting. I have question relating to availability control for WBS elements in S/4 2020 (on premise). Is it now possible to use the import financial plan data or SAC planning to activate availability control. I can see this working for cost centres as you described but not for WBS elements. I am currently only getting this to work using the classic method of updating budgets via CJ30.

    I know this functionality is available in the S/4 Could edition but not 100% about the current on premise version.


    • Hi James

      as stated by OSS 2945702 SAP S/4HANA 2020: Release Information Note for Finance

      Active availability control based on the budget data in the ACDOCP table is available for cost centers but not for WBS elements and orders.



  • /
    • Hi Jalena,


      I have stacked the same problem for long time and found some NOTES.
      If you are using On-premise 1909, they would be helpful.


      For S4 CORE 105

      For S4 CORE 104


      • Hi, I solved this problem. I have new problem now 🙂 and the problem is with extension ledger. My fiori app Gross margin asks for extension leger 0E. FI team created one extension ledger but called it EL, because 0E can not be created - error says that 0E is SAP namespace so my question is - Do you have and documentation about that extension ledger?

        Thanks in advance.

        Br, Jelena


        • 0E is the ledger for commitments and its name is hard coded (fixed).  I doubt you can use any other ledger instead.  Anyway that is a good question and should not be asked asa comment.

          • Hello Paulo, thanks for your answer.

            The client is switching to version 2020, so I ll see what the status will be on that version.

            It somehow seems to me that the extension ledger 0E should already be on the system, as well as 0L.


          • Hi Jelena

            What is exactly your problem with this app? Which app is it? How is that related do budget availability control for cost centers?

            In 2020 but in 1909 too you can specify the extended ledger in a specific customizing. Of course the predictive extension ledger should be already created in FI.

            It is still in the Cost Center Budget Availability control customizing tree. The entry should be called check prediction ledger.




  • Hi Gianluca,

    Thanks for the nice blog. One question on cost centre budget, where budgetary control needs to be exercised on monthly basis rather than on yearly basis. Could you pls share your thought on this.


  • Hi Gianluca,

    In continuation of my previous query, I understand that in funds management we have an option to control Annual budget on monthly basis. Just wanted to know whether it is possible with cost centre budgeting.Similarly one more question on another budgeting tool - Project system, is it possible to carry forward the budget on Non leading ledger fiscal year variant which is different from Leading ledger Fiscal year variant. 


  • Hi Gianlucca!


    First of all thanks for your very informative blog post.


    I checked the configurations and it seems for Cost Center Budget control there is no option to send an email to the Budget Responsible, I only see the option of "Warning" or "Error" on the definition of tolerance limts....


    Do you know if there is another way to have this functionality for Cost Center Budget Control?

    Kind regards