Tuesday, 17 May 2016

SAP SD Pricing Fundamentals

Fundamentals of SAP SD Pricing


Concepts


Pricing is one of the core concepts in SAP SD and all SD consultants need to know pricing. Just as the name says, SAP SD Pricing is configuring the system to effectively determine the price of a product under different circumstances. The easiest example to explore pricing is to take a simple grocery bill and expand on it.Consider this as an extract of a grocery bill. You have purchased some items from the Produce section and some from the stationery section. Your Produce sub-total is 18.00 and your stationery sub-total is 10.00. You have been taxed 10% and your total comes to 27.00 as shown in the picture above.



Let’s just explore on how the pricing is calculated on line item No. 10 – Milk. However, they might not be shown on the bill but are internal to the company selling the product. Let’s explore how a potential bill could be created. As you can see from the picture below, there is a Base Price from the price list – 5.00 . And since the bill is for a retail customer , there is a retail discount of 1.00. So the sub-total for the line item 10 is 4.00.


Condition Type :


The types of calculation ( whether its a price, discount or a tax calculation, and in price – if its a retail price or a wholesale price or a variant price etc ) are called condition type. Normally, condition types of a particular kind are not cumulative – Meaning if there are more than 1 Pricing condition type, they don’t add up – instead the last pricing condition type is taken by the system. There are some exceptions to this however. For example when pricing a car, its the sum of the different pricing condition types that gives you the Price. They are called variant condition types.



Requirement

A requirement is a piece of code that calculates if a particular condition type should be evaluated or not. This is not necessarily the only way to check if. However, since this involves hard-coding the logic in the system, this functionality should be used sparingly.






For example, the following piece of code says, “If the item is not relevant for pricing – do not price it”. Functional consultants should be aware of the final result SY-SUBRC. SUBRC stands for SUB Routine Return Code. Typically in SAP, a return code of 0 signifies a success. Otherwise its a failure.


* Pricing is turned on in item category configuration (TVAP)


form kobed_002.


sy-subrc = 4.


if komp-kposn ne 0.


check: komp-prsfd ca ‘BX’.


check: komp-kznep = space.


endif.


sy-subrc = 0.


endform.


* Prestep


form kobev_002.


sy-subrc = 0.


endform.


Similarly, the following picture shows a simple requirement. There are 2 types of discount condition types – Retail and Wholesale. If the customer is retail, then apply that discount. If the customer is wholesale, then apply the other discount. So the actual total depends on who the Order’s customer is. The same can be achieved using many different ways, but this is sure one hard-coded way to do it.


Sub-Total


A sub-total as the name implies holds temporary totals before the final price is calculated. As shown in the picture below, the Gross price is a sub-total that results from the base price. The Net Price is a sub-total that is arrived at subtracting the Discount percentage off of the Gross Price. There are many additional steps that might be required to arrive at the final price. For example, if the item is taxable, should the tax be applied on the Gross Price or the Net Price..? That actually depends on the business scenario. However, the Sub-totals allow for easily identifying and computing values for further use.








Alternative Calculation Type


The value 5.00 for the Base Price ( shown in the picture above ) is derived based on condition records which we will see much further in the discussion. However, if the condition type should NOT be calculated based on a condition record, but should be calculated based on an external or internal logic, then an alternative calculation routine should be used. Each alternative calculation routine is a 3 digit number between 1 and 999 that contains a piece of code that does some calculation either internally or externally and returns a value. That value will be used to calculate the condition type as opposed to a condition record. A simple example for the same is US Taxes. Taxes in the US and Canada are based on Jurisdiction code. There are around 50000+ jurisdiction codes in the US alone ( Based on all possible variations of City, County, State and District ). And they change continuously. So it is not practical for companies to keep track of the changes in tax rates. There are external tax companies ( Called Tax Vendors ) that only does this. So it is wiser for companies to just call an external tax vendor using a remote function call, get the tax rate as relevant for the corresponding jurisdiction code and return that value to the pricing procedure.








Account Key


When an invoice is created, the finance departments wants the corresponding Sales, expenses, tax accounts etc to be updated on the fly. The account key in the pricing procedure ( with the help of Account Determination ) helps in identifying which G/L account this should the amount flow into.

 A simple example could be


Account Key 


Description


Customer A/C Group


Material A/C Group


G/L Account



ERL


Sales


Wholesale


Consumables


1000040



ERL


Sales


Wholesale


Stationery


1000050



ERS


Discounts


Wholesale


Consumables


1100040



ERS


Discounts


Wholesale


Stationery


1100050


Statistical


This is a flag ( A Check mark ) that is used to signify if the pricing condition type is being used in the calculation or not. For example, the actual cost of the material ( not the price but the cost price ) is available in all pricing procedures, since this is used by Controlling ( CO ) to evaluate profitability. However, the value should not be relevant when pricing to the customer. So, if you need informational condition types for further analysis set them up in the pricing procedure as statistical.





Print Flag


The print flag is another check mar that is used to tell SAP if the particular pricing condition type should be printed on the final bill or not. As discussed in the previous example, the cost condition type should not be printed on the invoice. With the advent of advanced technologies like SmartForms, Adobe Forms etc, this flag has almost no use ( Since what is printed and what is not is decided mostly by these programs ).








Availability check is one of the key functionalities in sales document processing. The confirmation of delivery of goods to customer while entering a sales document is carried out on the basis of this check.

Availability check can be carried out on the deadline of goods availability that would be necessary to consider the picking, packing and shipping time.

Availability check can only be carried out if transfer of requirements take place for goods from sales to purchase or production.System provides for three types of Availability check explained as under: 

ATP basis check 

Available To Promise (ATP) is calculated from warehouse stock, planned inward movement of stock (purchase orders, planned orders etc.) & planned outward movement of stock (sales orders, deliveries, reservations etc.) ATP check explained in equation terms above. The check is performed dynamically for each transaction.

ATP=WAREHOUSE STOCK + INHOUSE STOCK-OUTWORD MOVEMENT STOCK

Check against Product Allocation -Product allocation is used for period based distribution of products for specified customers or regions. This check is over the normal availability check. It is carried out in cases where production is low and goods produced need to be distributed to customers and ensured that first customer is not allocated complete quantity.

Check against Planning -Check against planning is performed against planned independent requirements which are generated from a demand planning program

Definition: Replenishment Lead Time (RLT) is time that is needed to order or produce requested material. RLT is calculated based on time maintained in master data. 

ATP check Including RLT Availability check is calculated only up to end of RLT. If the material availability date calculated on basis of current date lies after RLT, system confirms the item in spite of insufficient stock in the assumption that stock would be procured or produced by that time. Thus confirmation can be sent to customer in this case.

Example: In this example (refer figure) 20 pcs of stock requested by customer can be confirmed if RLT is included with ATP check because although 20 pcs of stock may not be available on day requested the date falls after the lead time specified for item and hence stock would theoretically be available.


ATP check Excluding RLT ›If RLT is not included in ATP check system performs a check on the unrestricted stock and scope of check on inward and outward movement of stock.

Similar example as above excluding RLT check, system would confirm the item only when stock would actually be available. 


Control Parameters of Availability Check in Sales

Following SD specific control parameters need to be maintained.
Checking Group

Checking group forms one of factors for specifying scope of availability check. It is used for grouping of materials for individual or collective requirements. It is assigned in material master Sales/Plant view.

Checking Rule

Checking rule forms the other factor in specifying scope and is assigned to each transaction in sales and distribution. The checking rules are predefined in system.

Schedule Line Category

Schedule line category had additional check to turn on/off availability check.

Following elements can be included in scope of availability check 
  • ›Stock 
  • Safety Stock 
  • Stock in Transfer 
  • Blocked Stock 
  • Quality Inspection 
›Inward/Outward movement of goods 
  • Purchase requisitions & orders 
  • Planned & Production orders 
  • Reservations 
  • Sales & Delivery requirements 
  • Dependent requirement
The process flow in which system checks for Availability is as follows



Requirements generated in Sales & Distribution need to be transferred to material requirements planning to ensure the quantities ordered are available to be delivered on time to Customer. 

This is called transfer of requirements (TOR).
TOR are of two types:
  • TOR with individual requirements-A line for each individual requirement is created in availability overview for each sales document and schedule line. This helps in tracking the initiating document. System uses this for special stock scenarios like Make-to-order stock, project stock etc. It can also be used for standard orders if sales order volume is not large and requirements need to be tracked at item level
  • TOR with collective requirements.Collective requirements combine various requirements based on following criteria
  1. Plant 
  2. Storage Location 
  3. Batch 
  4. Date 
  5. Transaction & 
  6. Requirement class 

These requirements can either be created daily or weekly. The documents initiating collective requirements cannot be directly identified but can be traced via list of orders for material. 
Control Elements of significance in TOR are 
  • ›Requirement type 
  • ›Requirement class 
  • ›Checking group 
  • ›Schedule Line category 
  • TOR needs to be switched on at Requirements class and Schedule line category level for proper processing. 
  • Plant must be defined at item level in sales document. 
  • Checking group must be defined in material master in Sales/plant view.

Thursday, 12 May 2016

Abbreviations

List of Abbreviations in sap

SAP - Systems Applications & Products for data processing
ABAP - Advanced Business Application Programming.
SAP ECC - SAP ERP Central Component.
IDES - International Demo and Educational System
IMG - Implementation Projects
R/3 - ? is an integrated suite of applications designed to handle the data processing for
large corporations.
BAdI - Business Ad-Ins.
RICEFW - Reports, Interfaces, Conversions, Extensions, Forms & Workflow.
STO - Stock Transport Orders.
RM - Receipt Management.
PI - Process Integration.
IDoc - Intermediate Document.
BDC - Batch Data Communications session
RFC - Remote Function Call
DG - Data Governance Group
ALE - Application Link Enabling
Kanban - Similar to fixed storage bins in SAP PP. Sold units
SAP AFS - SAP Apparel & Footwear Solutions
ATP - Available-to-Promise
APO - Advanced Planner and Optimizer
P & D - Pick-up & Drop-off
ARUN - Allocation RUN (AFS retail function). You must carry out the allocation run in
the AFS system. A sales order requirement cannot be delivered until an allocation run has
already released it.
POS - Point of sale
MAP - Merchandise and Assortment Planning.
ASAP - AcceleratedSAP (Implementation process).