Outline agreements in SAP® — introduction

In this blog I would like to give you an overview of outline agreements in SAP® in the purchasing module. Extra to sketching the concept itself, I will give you insight into its mapping from a viewpoint of data analytics, in other words SAP® tables and field level.

Outline agreements are an important topic that we continually have to deal with in our data analytics for purchasing. Unlike single orders, which are frequently of an ad hoc nature, outline agreements are constructs aimed at a longer-term business relationship.

It is often in the interest of the procuring unit to concretize terms over a longish period of time for materials or services required regularly and/or of largish volume. In the course of negotiations it may be possible to arrange discounts and special terms other than those for once-only orders.

Here I am going into the topic mainly from a perspective of analyzing SAP® data, i.e. the terminology used and processes illustrated are in part system-specific.

Following a short explanation of the facts of the subject, I want to get into the actual data.


Selected kinds of outline agreement

Let us start with examples of different kinds of outline agreement. Here I will be looking at:

  • Quantity contracts
  • Value contracts
  • Scheduling agreements

The focus of later elaboration of details is on quantity and value contracts.

Quantity contracts, as the name implies, are typically concluded for concrete target quantities of certain goods or materials, e.g. a contract item labeled "1000 motors". This means — if a quantity contract includes various items — that the target quantities (and thus the monetary values too) are differentiated by item. As a further second item our contract could include "2000 special-purpose valves".

In value contracts the item quantity is often of secondary importance because the entire value of the contract is what counts. For example, a value contract "Facility management" amounting to € 1,000,000 might be concluded with a provider. This covers the three items building cleaning, possibly occuring repairs, and disposal. Here individual quantities may be assigned in much less concrete terms, and an overall value construct makes more sense. A further example would be office material (pens, post-it notepads), too "singular" at single item level to be firmed in an outline agreement.

Scheduling agreements in turn are more oriented on quantities, and furthermore on concrete delivered quantities at certain delivery dates (one speaks of schedule lines). Quite loosely you could say they are quantity contracts that are more binding — but in data analytics in SAP® they appear separately with their own document category compared to quantity or value contracts. But more about that later.


Data model — fundamentals

Before looking more closely at the data, here are a couple of basics that you might need first, i.e. a small crash course in case you are not too well versed in database architecture:

The classic relational data model avoids redundancy by splitting data into header and item data for document and transactions, for example. In the document header you find data that are valid for the entire document (and all items). In a classic ordering scenario, the document header holds attributes like vendor, document currency, date of the order, and terms of payment. Common order item data, on the other hand, are purchase order quantity, merchandise category, material number, and price.


Data model — purchase orders and outline agreements

To create a context, we will start with normal once-only orders: In terms of the database these are saved in SAP® in the tables EKKO (purchase order header) and EKPO (order item). If you want to follow that, you can use the table browser SE16, for instance, to show the table contents.

Now things get exciting (at least for data analysts): Outline agreements like quantity contracts, value contracts, and scheduling agreements are not saved in their own tables but likewise in the EKKO and EKPO tables. So do not get confused by the names, or take them too literally.


Document categories and document types

So how do you tell the difference in SAP® whether it is a normal purchase order or an outline agreement – and if so, what kind of agreement? Experienced SAP® users among you will of course cite the document type, which is quite correct. Still, it is worth taking a more detailed look.

Document category

In many areas SAP® follows a concept of document category and document type. Document category is a rough classification, document type the finer differentiation of the document category. When analyzing in an order scenario, the following four document categories may be of interest to you:


Document categoryDescription
FPurchase orders
LScheduling agreements


Our focus in this blog is on K and L, the contracts and scheduling agreements.

Document type

The document categories above are assigned to each purchasing document in the EKKO header data table as an attribute (field: EKKO_BSTYP). This means, in terms of analytics, that the document category allows us to distinguish scheduling agreements from other contracts. But how can value contracts be distinguished from quantity contracts? This is where the document type explained above comes in: In the standard the document type "MK" stands for quantity contracts, and "WK" for value contracts. Both document types have the same "K" document category however. While document categories serve primarily for categorizing, document types are often used to customize, i.e. attributes are assigned to the document types that then serve for process organization/process control in a system. They can also be found in the EKKO table, the field name is EKKO_BSART.

This is somewhat more technical, but here for the sake of completeness is a screenshot of the document type table with the customizing settings in SAP®, in case these are needed for data analysis purposes. Number circles for the corresponding document types, for example, settings for field selection, etc are contained in this table:

Table T161 — Settings for document types

So if we add document types to our table above, it looks as follows (this time I have left out the document categories and document types that are not contract-relevant:


Document categoryDescriptionDocument typeDescription
KContractsWKValue contract
KContractsMKQuantity contract
LScheduling agreementsLPScheduling agreement

Note: There can of course be further document types, both in the standard and in the framework of customizing. For our blog post those named are sufficient to explain the relationships.

Here is a listing of the scheduling agreements and contracts from our SAP® development system with transaction SE16, which we can now undertake with this information:

Table EKKO — Listing of contracts and scheduling agreements with transaction SE16

You can clearly see the category (K or L) and the associated document type (LP, WK, MK). Our system holds a total of 154 agreements.


Relevant SAP® transactions

To refer to standard purchase orders you can use transaction ME23N for example; T-Code ME33K will show you contracts, and ME33L is right for scheduling agreements. You can see that the document category mnemonics K and L also appear in part in the transactions.

The following illustration shows a value contract, called up by transaction ME33K:

Display of value contract in SAP® with transaction ME33K

By a click on the hat icon (the header data — remember?) you arrive where the target value of the contract is also visible (in this case the sum of the two items, of course). Now I will look a little more closely at target values at item and header level in outline agreements.

Transaction ME33K hat icon — display of header data of value contract

Practical use of outline agreements

Now that we have worked out where outline agreements are held as data — namely in the tables where you actually suspect "standard" orders to be — and how to identify them — by document category and document type — let us now look at a few process aspects.

We will look into the target values of quantity and value contracts in connection with material and merchandise groups, and the role of purchasing organizations (or reference purchasing organizations) in the context of centrally agreed contracts.

Runtime and target value

As a rule, the aim of outline agreements is to set an upper limit or total volume (i.e. a target value). In the case of quantity contracts that is tied very specifically to single materials and thus often to a material number (field: EKPO_MATNR), because here the number of pieces or units plays an important role (also if, for an unknown material or consumable material, for instance, there are other possibilities, but which I will not look into here). For this reason here the target value is to be found at the level of the particular contract item, because the target quantity (field: EKPO_KTMNG) multiplied by the price of the particular material produces the target value (field: EKPO_ZWERT) of the individual item.

For value contracts different, non-quantified items frequently add up to a cumulative contract value that is then fixed at the level of the document header (EKKO_KTWRT). Seeing as here the single quantities per item (and thus target quantities) tend to play a subordinate role or none at all, and it is also frequently applied for services, etc, you are likely to find definition at the level of material groups (field: EKPO_MATKL).

Runtimes in both cases are to be found at header level in the EKKO table in the fields EKKO_KDATB and EKKO_KDATE.

Purchasing organizations and centrally agreed contracts

Contracts are frequently superordinate in character. This can be the case in SAP® in that the purchasing organization is of central importance (and the works possibly associated with the purchasing organization). The purchasing organization appears in the EKKO table for each agreement (field: EKKO_EKORG). In concern structures it is often the case, however, that important contracts (example: purchase of laptops throughout the concern) are negotiated centrally, and can then be used on a decentralized basis. In this case it is possible to work with quasi-superordinate purchasing organizations that are assigned as a reference purchasing organization to the decentral purchasing organizations. The latter can then use and retrieve outline agreements created under the reference purchasing organization. From the viewpoint of the data analyst you can find the assignment of the purchasing organizations (field: T024Z_EKORG) to possible reference purchasing organizations (field: T024Z_EKORZ) in table T024Z.

Table T024Z: Assignment of reference purchase organisations

Outlook: Call-offs

Now, with the agreements, the foundation is laid for longterm, structured procurement. But what do single purchasing operations look like, on the concrete basis of an agreement? Here we also speak of "call-offs". These are concrete individual orders with reference to the outline agreement. How you can determine these call-offs by data analytics, in what tables they are logged, and whether relevant or how relevant goods and invoice receipts are in this connection — that is something for the next blog post of the series.

In the SAP® system itself, for example, you can call up the call-off documentation in transaction ME33K by the histogram icon, and obtain information about what was already released.

Figure: Callup of call-off documentation (list of orders) in ME33K

I hope you enjoyed launching into the subject of outline agreements, and that we get together here again soon for the second part "Outline agreements — call-off documentation".