Ceiling Types 
In normal budgeting and posting, availability control is set up to only limit the outgoing cash flow of an organization (for instance, through expenditures in purchase orders or vendor invoices). This logic allows for accepting incoming cash amounts (for example, through customer invoices) without limitations.
Using ceiling types, you can also maintain tolerance limits in your tolerance profile to restrict incoming cash amounts .
The following graphic shows the normal logic in which availability control limits the outgoing flow of funds:

This diagram illustrates how availability control only restricts positive or normal expenditures. Negative expenditures, however, which correspond to credits or revenues, are not limited.
If you also want to limit incoming amounts (such as revenues posted to a revenue account assignment or negative expenditures, as in the diagram above ), you can set tolerance limits in your tolerance profile using ceiling type Incoming amounts (see graphic below), in the IMG activity Edit Tolerance Profiles in BCS Availability Control.
With such tolerance limits, the system reverses its check logic. This means that a similar logic is applied for checking revenues as for checking expenditures (see the example above). The graphic below illustrates the effect of AVC checking using tolerance limits with ceiling type Incoming amounts :

Note
Negative revenues from commitments/actuals correspond to positive or normal expenditures (see the first graphic above).
In the above example, only inactive tolerance limits for ceiling type Outgoing amounts are defined. This means that the system accepts posted revenues only until the limit set by the revenue budget, but authorizes expenditures (or negative revenues from commitments/actuals) without any limit. However, if you don’t want the system to authorize the posting of expenditures (= negative revenues) to a revenue account assignment, you can combine tolerance limits for ceiling type Incoming amounts with tolerance limits for ceiling type Outgoing amounts :

Ceiling types are integrated with the availability control (AVC) functionality of the Budget Control System.
The availability control functionality of the Budget Control System must be configured in order to use ceiling types.
By selecting a ceiling type for tolerance profiles, you have a flexible tool for controlling the logic of availability checking, enabling you to restrict the amounts of outgoing funds, incoming funds or both.
If you do not specify a tolerance limit with ceiling type Outgoing amounts for the activity group of a given transaction, the system will automatically take the following standard check: error at budget usage rate 0% . However, there is no such standard check with ceiling type Incoming amounts , if you do not specify any tolerance limit for incoming amounts. Therefore, if you do not want to have checks with ceiling type Outgoing amounts , you must define tolerance limits with this ceiling type for all activity groups (or for activity group ++), which are marked as Inactive.