Contracts in SAP SD

Contracts in SAP – SAP Training Sample Recorded Video

Contracts in SAP SD Exercises

Concept :

What are Contracts ?

Contracts are agreements between the Customer and Vendor to supply materials/services for a specific price between a fixed period of time. Many possible types of contracts


Concept of Contract


exists based on the types of contracts. For example, there are maintenance contracts, service contracts, quantity contracts, value contracts all of which we will be discussing over the course of this article. The bottom line however remains the same – A contract is an agreement between the Customer and vendor to supply goods/materials/services of specific quantity/value for a specific price over a specified period. Let’s discuss the different types of contracts.

Quantity Contract

A quantity contract is an agreement to supply a fixed quantity over a period of time. Since the customer promises to buy the fixed quantity of goods/services, they will get a discounted price.


Concept of Contract


The document type in SAP for quantity contract is QC. For example, in this example, the quantity contract is for quantity 100 of say material M-01. Release orders are orders created with reference to the contract to consume the quantities in the contract. So the first release order is for quantity 20 which consumes 20 % of the quantity in the contract. Similarly, the rest of the release orders consume the remaining quantity in the contract. Document flows should exist between the contract and the release order types. There are 2 primary reasons why quantity contracts are used.

  1. When Quantity is Limited – When the production quantities are limited in numbers, then customers are allocated a specific quantity by time -period ( say a month, or a quarter ) . And customers cannot place ad-hoc orders, but have to first sign a contract for a fixed quantity and always order via release orders that specifically refer to the contract.
  2. When Vendors want to Lock-in Customer quantities – Some times to give deep discounts, sales folks require that customers commit to buying a fixed quantity over a time-period. This satisfies the sales figures .
Service Contract

A service contract is normally created for service-oriented items – examples are annual service contracts, annual maintenance contracts.


Concept of Contract


For example, when you buy an internet connection from comcast, they are providing services to you for a fixed period – say 1 year or 6 months. And for providing those services, they charge you monthly. In this case, there are no release orders because in case of service since there are no logistics operations, directly the customers are invoiced with reference to the contract. In this case, the customer is charged $100 a month for 12 months with a total of $1200. The items in these types of contracts follow billing-plan. Repairs also follow service contract methodology.

Master Contract

A master contract is used when a particular type of contract is created regularly for a customer and you want all the header data to be consistent across all of the contracts. Normally, the header data of a sales document contains data from the Customer master.


Concept of Contract


For example, if a contract is created for a customer say 1400, key data like inco-terms, payment terms, delivery preferences, taxability etc flow from the customer master data for that sales area for customer 1400. However, if you consistently change the data in the contract to a fixed value, say the inco-terms should always be FOB Destination for all contracts, while regular sales order have CIP Philadelphia, you can create a master contract for customer 1400 and change the inco-terms in the master contract to FOB Destination. All subsequent contracts that refer to this master contract will have the inco terms as FOB Destination.

Value Contract

A value contract is very similar to a quantity contract – except that instead of a fixed quantity, the value of the contract is fixed ( ie the dollar amount of the contract is fixed ) while the materials that the customers procure could come from either a fixed basket of materials or a single material only.


Value Contract


For example, in the example shown above, the type of contract is a value contract for a specific material – ‘WK2’. Essentially, this contract is limiting the value of the contract to a fixed dollar value and the customer can release multiple release-orders referring to the value contract for that specific material. If the customer wants to create contracts for specific value and not limit them to a particular material, then an assortment module can be used. The type of value contract that refers to an assortment module is ‘WK1’.


Value Contract


An assortment module is a basket of materials ( a fixed set of materials ) without any specific quantities or prices. When some of the materials in the assortment module needs to be used in the value contract, the assortment module is searched for ( by name or number ) and the materials in the assortment module are selected and quantities specified. Price can be either manually specified or automatically done. We will discuss more on this during the configuration section.


The configuration path for Contracts specifically ( other than document types ) is [ SPRO -> IMG -> Sales and Distribution -> Sales -> Sales Documents -> Contracts ]


Configuration of Contracts


The configuration for master contracts is shown below. The child contracts ( contracts that refer the master contracts ) are called referencing sales documents. We have to first define the contract document types that can reference a particular master contract document. The standard master contract document type in the IDES system is GK.


Master Contracts Configuration


The child contracts that reference the master contracts are bound by the referencing requirements. The referencing requirements are specified in the reference procedure – SDGK. The fields that can be referenced in the lower level contract are specified as technical fields ( Table, Field combination ) along with the copy rule and message. As shown in the picture below, the reference copy rules can be ‘A’ – Check for Agreement, ‘B’ – Always copy or ‘C’ – Copy only if agrees. These copy rules are used to over-ride customer master derived data ( incoterms, payment terms, taxability etc ) by the data in the master contract header. The message flag is used if a warning message should be shown in case data differs. However, this message cannot be changed to error in configuration.


Master Contracts Referencing Procedures


Contract Profile

A contract profile primarily specifies the automatic rules for determining dates ( start date, end date and validity period ) and cancellation procedure. Some of the reasons why they are used could be to automatically populate the dates for some contract types. For example if a particular contract document type always is used for a period of 2 years, then a contract profile with a validity period category of 2 years can be assigned to the document type in Sales document type configuration [VOV8 ]. The validity period for example can be defined as follows.


Contract Profile



Validity Period


As shown, the validity period category of ‘Z5’ indicates that he contract profile is valid for 5 Years ( ‘4’ is the validity period unit for years ). This finally comes together in the Date determination rules. For example, the date determination rule ’08’ says the contract end date should be computed based on the contract start date ( as opposed to another date, say goods acceptance date or billing date ) + the contract validity period.


Date Determination Rules


Contract Creation DEMO

Transaction Code / Menu Path :

[VA41] or [Sales and Distribution -> Sales -> Contract -> Create ]. Enter the contract type from the drop downs. The typical contract document types in a standard IDES system are

GK – Master Contract

QC – Quantity Contract

QP – Rental Contract

Wk1 – Value Contract

WK2 – Material relevant value contract

SC – Service and Maintenance Contract etc


Contract creation easy access menu path


The start and end dates are either automatically determined ( if there is a contract profile with date determination rules assigned to the contract document type ) or they can be manually entered. For example, in a quantity contract, the target quantity can be entered along with the dates.


Quantity Contract


Release orders can be created with reference to the contract as follows. You can use ‘OR’ – standard order or you can use any other custom document type created as a copy of OR or otherwise ( however, please be advised that there should be a copy control created between that contract document type and the release order document type ). When creating the release order, click on “Create with Reference” button on the left top corner. A pop-up will open up. Select the Contract tab. Enter the quantity contract number there or search for it. By default the entire consumable quantity in the original contract is copied over to the release order. However, the quantity can be changed in the release order according to the requirements of the user. The quantity referenced will be deemed as ‘Referenced’ in the item’s status of the quantity contract. For example, in this example, there are 2 release orders 12960 and 12961 created with reference to the quantity contract 40000209. The quantity contract is for quantity 100, while the release orders have each released 50 and 25 in quantity. That is the reason why the status of the line item in the quantity contract is in the state “Being Processed”.


Quantity referenced in the quantity contract


However, after the third release order is being processed for another 25 quantity, the item’s status in the contract is set to “Completed”. This is also explained better in Item Category configuration in SAP.

Assortment Module

To create an assortment module goto [Sales and Distribution -> Master Data -> Products -> Value Contract -Assortment Module ] OR [WSV2]


Assortment Module


You will have to give a name ( in this case Module-1 ), enter the materials and validity dates. Now you can use the assortment value in the value contract by entering the assortment module in the contract. To release the contract however, you will have to select the materials from the value contract. The way you do it is as follows. As usual create the release order with reference to the contract, and during the process of selecting the items in the pop-up, select the line item and click on “Expand Assortment”


Release Value Contract


and select the materials and quantities. Depending on the quantities selected, the order will be priced. You can do the same using material specific contracts as well – Just that you do not need an assortment module to do the same.

Service and Maintenance Contract

Service and maintenance contracts typically follow a billing plan that is typically periodic. For example, if you choose the material REPAIR_SERVICE in an ides system in sales area ( 1000,14,00 ), enter the line item and click on billing plan button.


Billing Plan in a service contract


you can see the billing broken down by period – In this case month – in the billing plan tab of the line item.


Billing Plan in a service contract


Please click here for SAP Training.

11 thoughts on “Contracts in SAP SD

  1. Emery Parsons says:

    Siva, the Master Contract is one where lower-level contracts can be tied according to header-level data within the same sales area…how can we create master contracts to tie all of the customer contracts together if our company has multiple divisions for contract types?


    • siva says:

      You would have to create multiple master contracts. However, as discussed in the class, divisions in SAP are a relic from the past. They just make things inflexible. Most big companies just go with 01 or 00 as the division ( even though they have a wide variety of product lines ). The way they do their segregation/reporting/pricing is either based on material group or sales material groups or most importantly product hierarchies.


    • siva says:

      this forum is ONLY for Magna Training students. I am sorry to say I will not be able to help you keeping in view the timelines. The answer to this is pretty simple.


      • sd_student says:

        see siva, if u have the knowledge there is nothing wrong in sharing with others. dnt try to create seperate barriers. fine sunil its pretty simple execute va01 to raise the order and click on the buttoncreate with reference references will be displayed in a box select contracts. fill partner , del date & contract data. thats all …………………


  2. 人気 コート 信頼 says:

    Hi, i read your blog from time to time and i own a similar one
    and i was just wondering if you get a lot of spam responses?

    If so how do you stop it, any plugin or anything
    you can recommend? I get so much lately it’s driving me crazy so any help is very much appreciated.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s