Accrual Rate

Dear Gurus,
My client requirement is like they have Annual Rate is 30 Per year and Accrual Rate is different in different months like in Jan it will 2, in Feb it will 1, in Mar it will 3, in Apr it will 2 like this only every month it is different Accrual Rate but the total is (Annual Rate) is 30. Kindly suggest how i will capture it in system and in which Accrual Formula will use it. { Do I need to create a UDT like once it is JANUARY then Accrual_Rate is 2, by using function GET_TABLE_VALUE }
Thanks,
Shobhit

Dear Sanjay sir,
I have written the formula, for every BAND Ceiling (total entitlement) is working and in month JAN Accrual Rate is correct for every Bands but from FEB accrual rate is not working correct, it is accumulating some different amounts. Kindly find my Accrual Formula and please let me know where i am doing mistake , i will edit that code.
FORMULA ********
    NAME : PTO_SIMPLE_BALANCE_MULTIPLIER
    This formula calculates the start and end dates for out simple multiplier.
    This formula calculates the dates between which an assignment is to accrue.
    It is based on PTO_SIMPLE_MULTIPLIER, but has been amended to allow its
    use in the new payroll balance functionality. It may not be used out of the box
    but must be amended, according to the documentaion, by inserting the
    name of the database item which was created with your defined balance.
    This defined balance should have been created immediately after the
    accrual plan.
DEFAULT FOR ACP_INELIGIBILITY_PERIOD_TYPE IS 'CM'
DEFAULT FOR ACP_INELIGIBILITY_PERIOD_LENGTH IS 0
DEFAULT FOR ACP_CONTINUOUS_SERVICE_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR ACP_ENROLLMENT_END_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR ACP_TERMINATION_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR ACP_ENROLLMENT_START_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR ACP_SERVICE_START_DATE IS '4712/12/31 00:00:00' (date)
Default for Accrual_Start_Date is '4712/12/31 00:00:00' (date)
Default for Accrual_Latest_Balance is 0
DEFAULT FOR ASG_GRADE IS '0'
INPUTS ARE
Calculation_Date (date),
Accrual_Start_Date (date),
Accrual_Latest_Balance
MONT=SUBSTR(TO_CHAR(Calculation_Date,'DD-MON-YYYY'),4,3)
IF ASG_GRADE WAS NOT DEFAULTED THEN 
(x=TO_NUMBER(GET_TABLE_VALUE('BMC_NL_ACRL_CEILING2000','BAND',ASG_GRADE))) /* this table for entitlement for one year with their BAND */
E = SET_NUMBER('CEILING', X)
(A=TO_NUMBER(GET_TABLE_VALUE('BMC_NL_ACRL_RATING2000',MONT,ASG_GRADE))) /* this table for monthly accrual rate, like if BAND is 1 and month is JAN the Accrual Rate is 2 */
E = SET_NUMBER('ACCRUAL_RATE',A )
Accruing_Frequency = 'M'   /* Month */
Accruing_Multiplier = 1
E = SET_TEXT('ACCRUING_FREQUENCY', Accruing_Frequency)
E = SET_NUMBER('ACCRUING_MULTIPLIER', Accruing_Multiplier)
Beginning_Of_Calculation_Year = to_date('0101'||to_char(Calculation_Date,'YYYY'),
                                        'DDMMYYYY')
IF (Beginning_Of_Calculation_Year > Calculation_Date) THEN
  Beginning_of_Calculation_Year = ADD_MONTHS(Beginning_Of_Calculation_Year, -12)
IF Accrual_Start_Date < Beginning_Of_Calculation_Year THEN
  Accrual_Start_Date = Beginning_Of_Calculation_Year
E = SET_DATE('BEGINNING_OF_CALCULATION_YEAR', Beginning_Of_Calculation_Year)
E = GET_PERIOD_DATES(Beginning_of_Calculation_Year,
                     Accruing_Frequency,
                     Beginning_Of_Calculation_Year,
                     Accruing_Multiplier)
First_Period_SD = get_date('PERIOD_START_DATE')
First_Period_ED = get_date('PERIOD_END_DATE')
   Set the Calculation_Date to the Termination Date if not null
IF NOT (ACP_TERMINATION_DATE WAS DEFAULTED) OR
    NOT (ACP_ENROLLMENT_END_DATE WAS DEFAULTED) THEN
  Early_End_Date = least(ACP_TERMINATION_DATE, ACP_ENROLLMENT_END_DATE)
  IF (Early_End_Date < First_Period_ED) THEN
    Total_Accrued_PTO = 0
    E = PUT_MESSAGE('HR_52794_PTO_FML_ASG_TER')
  IF (Early_End_Date < Calculation_Date) THEN
    Calculation_Date = Early_End_Date
   Get the last whole period prior to the Calculation Date and ensure that it is within the
   Year (if the Calculation Date is the End of a Period then use that period)
E = GET_PERIOD_DATES(Calculation_Date,
                     Accruing_Frequency,
                     Beginning_of_Calculation_Year,
                     Accruing_Multiplier)
Calculation_Period_SD  = get_date('PERIOD_START_DATE')
Calculation_Period_ED = get_date('PERIOD_END_DATE')
IF (Calculation_Date <> Calculation_Period_ED) THEN
     E = GET_PERIOD_DATES(ADD_DAYS(Calculation_Period_SD,-1),
                                                Accruing_Frequency,
                                                Beginning_of_Calculation_Year,
                                                Accruing_Multiplier)
    Calculation_Period_SD  = get_date('PERIOD_START_DATE')
    Calculation_Period_ED = get_date('PERIOD_END_DATE')
If (Calculation_Period_ED < First_Period_ED) THEN
    Total_Accrued_PTO = 0
    E = PUT_MESSAGE('HR_52795_PTO_FML_CALC_DATE')
   Set the Continuous Service Global Variable, whilst also
   ensuring that the continuous service date is before the Calculation Period
IF (ACP_CONTINUOUS_SERVICE_DATE WAS DEFAULTED) THEN
    E = set_date('CONTINUOUS_SERVICE_DATE', ACP_SERVICE_START_DATE)
ELSE IF(ACP_CONTINUOUS_SERVICE_DATE > Calculation_Period_SD) THEN
    Total_Accrued_PTO = 0
    E = PUT_MESSAGE('HR_52796_PTO_FML_CSD')
    E = set_date('CONTINUOUS_SERVICE_DATE', ACP_CONTINUOUS_SERVICE_DATE)
ELSE
    E = set_date('CONTINUOUS_SERVICE_DATE', ACP_CONTINUOUS_SERVICE_DATE)
Continuous_Service_Date = get_date('CONTINUOUS_SERVICE_DATE')
First_Eligible_To_Accrue_Date  = Continuous_Service_Date
   Determine the date on which accrued PTo may first be registered, i.e the date on which the
   Ineligibility Period expires
Accrual_Ineligibility_Expired_Date = First_Eligible_To_Accrue_Date
IF (ACP_INELIGIBILITY_PERIOD_LENGTH > 0) THEN
   IF ACP_INELIGIBILITY_PERIOD_TYPE = 'BM' THEN
      Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
                                                      ACP_INELIGIBILITY_PERIOD_LENGTH*2)
   ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'F' THEN
      Accrual_Ineligibility_Expired_Date = add_days(Continuous_Service_Date,
                                                    ACP_INELIGIBILITY_PERIOD_LENGTH*14)
   ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'CM' THEN
      Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
                                                      ACP_INELIGIBILITY_PERIOD_LENGTH)
   ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'LM' THEN
      Accrual_Ineligibility_Expired_Date = add_days(Continuous_Service_Date,
                                                    ACP_INELIGIBILITY_PERIOD_LENGTH*28)
   ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'Q' THEN
      Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
                                                      ACP_INELIGIBILITY_PERIOD_LENGTH*3)
   ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'SM' THEN
      Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
                                                      ACP_INELIGIBILITY_PERIOD_LENGTH/2)
   ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'SY' THEN
      Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
                                                      ACP_INELIGIBILITY_PERIOD_LENGTH*6)
   ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'W' THEN
      Accrual_Ineligibility_Expired_Date = add_days(Continuous_Service_Date,
                                                    ACP_INELIGIBILITY_PERIOD_LENGTH*7)
   ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'Y' THEN
      Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
                                                      ACP_INELIGIBILITY_PERIOD_LENGTH*12)
   IF Accrual_Ineligibility_Expired_Date > First_Eligible_To_Accrue_Date
   AND Calculation_Date < Accrual_Ineligibility_Expired_Date THEN
      First_Eligible_To_Accrue_Date = Accrual_Ineligibility_Expired_Date
   Get the first full period following the First_Eligible_To_Accrue_Date
   (if it falls on the beginning of the period then use that period)
Latest_Balance = 0
IF (not Accrual_Start_Date was defaulted) AND
   ((Calculation_Date < Accrual_Ineligibility_Expired_Date) OR
    (Accrual_Start_Date > Accrual_Ineligibility_Expired_Date)) THEN
  Adjusted_Start_Date = Get_Start_Date(Accrual_Start_Date,
                                       Beginning_Of_Calculation_Year)
  /* Check whether RESET_PTO_ACCRUAL action parameter is defined */
  /* If yes, then we need to calculate from the beginning         */
  Reset_Accruals = Reset_PTO_Accruals()
  IF ((Adjusted_Start_Date < Accrual_Start_Date) OR
      (Reset_Accruals = 'TRUE'))  THEN
    Process_Full_Term = 'Y'
  ELSE
    Process_Full_Term = 'N'
ELSE
  Process_Full_Term = 'Y'
IF (Process_Full_Term = 'N') AND
   (Accrual_Start_Date >= First_Eligible_To_Accrue_Date) THEN
  E = GET_PERIOD_DATES(Adjusted_Start_Date,
                       Accruing_Frequency,
                       Beginning_Of_Calculation_Year,
                       Accruing_Multiplier)
  First_Eligible_To_Accrue_Period_SD = get_date('PERIOD_START_DATE')
  First_Eligible_To_Accrue_Period_ED = get_date('PERIOD_END_DATE')
  Latest_Balance = Accrual_Latest_Balance
  Effective_Start_Date = Accrual_Start_Date
ELSE IF First_Eligible_To_Accrue_Date > Beginning_Of_Calculation_Year THEN
  IF (not Accrual_Start_Date was defaulted) THEN
    Latest_Balance = Accrual_Latest_Balance
  ELSE
    Latest_Balance = 0
  E = GET_PERIOD_DATES(First_Eligible_To_Accrue_Date,
                       Accruing_Frequency,
                       Beginning_Of_Calculation_Year,
                       Accruing_Multiplier)
  First_Eligible_To_Accrue_Period_SD  = get_date('PERIOD_START_DATE')
  First_Eligible_To_Accrue_Period_ED  = get_date('PERIOD_END_DATE')
  IF First_Eligible_To_Accrue_Date <> First_Eligible_To_Accrue_Period_SD THEN
       E = GET_PERIOD_DATES(add_days(First_Eligible_To_Accrue_Period_ED,1),
                                                  Accruing_Frequency,
                                                  Beginning_Of_Calculation_Year,
                                                  Accruing_Multiplier)
       First_Eligible_To_Accrue_Period_SD  = get_date('PERIOD_START_DATE')
       First_Eligible_To_Accrue_Period_ED  = get_date('PERIOD_END_DATE')
  IF (First_Eligible_To_Accrue_Period_SD > Calculation_Period_ED) THEN
       Total_Accrued_PTO = 0
       E = PUT_MESSAGE('HR_52793_PTO_FML_ASG_INELIG')
  Effective_Start_Date = First_Eligible_To_Accrue_Date
ELSE
  IF (not Accrual_Start_Date was defaulted) THEN
    Latest_Balance = Accrual_Latest_Balance
  ELSE
    Latest_Balance = 0
  First_Eligible_To_Accrue_Period_SD  = First_Period_SD
  First_Eligible_To_Accrue_Period_ED  = First_Period_ED
  Effective_Start_Date = Beginning_Of_Calculation_Year
/*start of 4733782*/
Effective_Start_Date = GREATEST(Effective_Start_Date, ACP_ENROLLMENT_START_DATE)
/*end of 4733782*/
   Determine the date on which PTO actually starts accruing based on Hire Date,
   Continuous Service Date and plan Enrollment Start Date. Remember, we have already determined
   whether to user hire date or CSD earlier in the formula.
   If this date is after the 1st period and the fisrt eligible date then establish the first full period
   after this date (if the Actual Start Date falls on the beginning of a period then use this period)
IF Continuous_Service_date = ACP_CONTINUOUS_SERVICE_DATE THEN
  Actual_Accrual_Start_Date = Continuous_service_Date
ELSE
  Actual_Accrual_Start_Date = greatest(Continuous_Service_Date,
                                       ACP_ENROLLMENT_START_DATE,
                                       First_Period_SD)
       Determine the actual start of the accrual calculation
IF (Actual_Accrual_Start_Date > First_Period_SD AND
     Actual_Accrual_Start_Date > First_Eligible_To_Accrue_Period_SD) THEN
     E = GET_PERIOD_DATES(Actual_Accrual_Start_Date,
                          Accruing_Frequency,
                          Beginning_Of_Calculation_Year,
                          Accruing_Multiplier)
     Accrual_Start_Period_SD = get_date('PERIOD_START_DATE')
     Accrual_Start_Period_ED = get_date('PERIOD_END_DATE')
     IF Actual_Accrual_Start_Date > Accrual_Start_Period_SD THEN
          E = GET_PERIOD_DATES(add_days(Accrual_Start_Period_ED,1),
                               Accruing_Frequency,
                               Beginning_of_Calculation_Year,
                               Accruing_Multiplier)
          Accrual_Start_Period_SD = get_date('PERIOD_START_DATE')
          Accrual_Start_Period_ED = get_date('PERIOD_END_DATE')
        If the Actual Acrual Period is after the Calculation Period then end the processing.
        IF (Accrual_Start_Period_SD > Calculation_Period_ED) THEN
            Total_Accrued_PTO = 0
            E = PUT_MESSAGE('HR_52797_PTO_FML_ACT_ACCRUAL')
ELSE IF (First_Eligible_To_Accrue_Period_SD > First_Period_SD) THEN
      Accrual_Start_Period_SD = First_Eligible_To_Accrue_Period_SD
      Accrual_Start_Period_ED = First_Eligible_To_Accrue_Period_ED
ELSE
      Accrual_Start_Period_SD = First_Period_SD
      Accrual_Start_Period_ED = First_Period_ED
       Now set up the information that will be used in when looping through the periods
IF Calculation_Period_ED >= Accrual_Start_Period_ED THEN
  E = set_date('PERIOD_SD',Accrual_Start_Period_SD)
  E = set_date('PERIOD_ED',Accrual_Start_Period_ED)
  E = set_date('LAST_PERIOD_SD',Calculation_Period_SD)
  E = set_date('LAST_PERIOD_ED',Calculation_Period_ED)
  IF (Process_Full_Term = 'N') THEN
    E = set_number('TOTAL_ACCRUED_PTO', Latest_Balance)
  ELSE
    E = set_number('TOTAL_ACCRUED_PTO', 0)
  E = LOOP_CONTROL('PTO_SIMPLE_PERIOD_ACCRUAL')
  Total_Accrued_PTO = get_number('TOTAL_ACCRUED_PTO') - Latest_Balance
ELSE
  Total_Accrued_PTO = 0
IF Accrual_Start_Period_SD <= Calculation_Period_SD THEN
  Accrual_end_date = Calculation_Period_ED
IF Process_Full_Term = 'Y' AND
   Effective_Start_Date > Actual_Accrual_Start_Date THEN
  Effective_Start_Date = Actual_Accrual_Start_Date
Effective_End_Date = Calculation_Date
IF Effective_Start_Date >= Effective_End_Date THEN
  Effective_Start_Date = Effective_End_Date
RETURN Total_Accrued_PTO, Effective_start_date, Effective_end_date, Accrual_end_date
Thanks & Regards,
Shobhit

Similar Messages

  • Rebate Accrual Rate

    Hi All,
    In Rebates while maintaining the condition records we have two columns u201CAmountu201D and another u201CAccrualsu201D. Why we need to enter the value in both the fields OR if we donu2019t maintain the value in the fields what will be the impact.
    Also we are trying to use the extended rebate functionality for u201CMaterial for settlementu201D issue. Can you guide me on the seetings will be done for this.
    Babs.

    Hi Babs,
    Let me explain you this with an example :
    As per the standard definition, Accrual is the accrued discount amount which we want to pay back to the customer when we settle the Rebate. When the Rebate relevant Billing document is posted , the Accrual is also posted to FI in the specific G/L account meant for Accrual.
    In the condition record for Rebate agreement we enter the Rebate rate and the Accrual rate.
    Now say if you have given Rebate rate as 10 Rs amount per piece & Accrual as 2 Rs
    Then ,system will take 2 Rs as accrual amount and this amount will be posted in FI and will be accrued there.
    SAP considers the accrual amount specified in the condition record, therefore normally, we give Accrual rate same as Rebate.
    Hope it will helkp.
    Thanks,
    Raja

  • Rebate rate and accrual rate

    What is the difference between rebate rate and accrual rate in rebate agreements. One example wil be very helpful

    Accrual Rate:
    You can enter an accrual rate manually in each condition record. The accrual rate should reflect, as accurately as possible, the rate at which the rebate will be calculated at final settlement.
    Every time you process a rebate-relevant billing document (an invoice, a credit or debit memo), the system automatically posts an accrual to financial accounting (FI). Within FI, the rebate accrual is posted to two accounts: a sales deduction account and an accrual account. The accrual account is cleared when the rebate agreement is settled with a credit memo.
    Rebate Rate:
    A price discount that a vendor grants a customer at a later time.
    The amount of rebate depends on the invoiced sales that the customer achieves in a specified period and is defined using condition records.
    Regards
    AK

  • Rebates- Accrual rate and Rebate Rate

    Hi, I am working on Rebate configuartion.
    Can any one explian me the difference between Rebate Rate and the Accrual Rate that we provide while creating Rebate agreement.
    Regards,
    Sunil

    Hi,
    The rebate rate is the rate at which you have made the agreement with the customer for a specified period.
    Accrual is the total rebate need to be provide for the agreemnet period.
    Regards

  • Difference between Rebate rate and accrual rate

    Dear Experts,
    Can you explain the difference between Rebate rate and accrual rate in rebate processing ?
    If possible, give any example so that it would be easier to understand.
    Thnx in advance
    regards,
    Sagar

    Hi Sagar,
    I also agree that rebate is an amount which is derived from either sales order or billing doc.
    No it's not; only billing documents update rebate agreements.
    ... two terms i.e. Rebate rate and Accrual Rate maintained in condition records for rebate agreement.
    Accrual Rate = The rate used to accrue the value (provision) before settlement takes place.
    Rebate rate = The rate used to generate the real credit amount to the customer when settlement takes place.
    Usually both rates are set the same but, because if scales are used in the rebate rate, then it is usual to manually set the accrual rate at the expected rebate rate based on the planned sales volume.
    If I am not wrong, the condition technique it it the accrual rate which determined not the rebate rate.
    Not correct; the condition technique is used to determine both rates in the rebate condition.
    Also i tried to create scales for rebate, this can be done with rebate rate and not with accrual rate. Then what is its use.
    Scales are used when the amount is paid on a variable rate depending on the total customer consumption. The idea is that the more the customer is purchasing, the more rebate he will receive, also on its previous purchases.
    Accrual rate is fixed (no scale).
    Hope it helps.
    Best Regards,
    Franck Lumpe
    Freelance SAP Logistics Consultant

  • Accrual Balance Dialy Rate

    Dears,
    I have a case related to Accrual Balance R12.1.3, as following:
    1- We have a rule that says:
    Years Of Service: 5 (+) Years
    Accrual Balance: 21
    Dialy Rate : 21/365
    Years Of Service: Lesss than 5 years
    Accrual Balance: 14
    Dialy Rate : 14/365
    2- suppose that Employee (X) hire date is : 05-MAR-2008,
    the Accrual Rate for 2013 should be:
    01-jan-2013 up to 04-mar-2013 = 14/365 --> Less than 5 years
    05-mar-2013 up to 31-dec-2013 = 21/365 --> 5(+) Years
    How to achieve this requirement.
    BR

    Thank you Sanjay,
    Actually, i did the followng Custom Formula, but when i check the Accrual balance on (31-Dec-2013) from the (Accrual) Screen for an employee that have 5 years
    experience active from 01-apr-2013 i got 21 Days!!!!!???
    DEFAULT FOR ACP_INELIGIBILITY_PERIOD_TYPE IS 'CM'
    DEFAULT FOR ACP_INELIGIBILITY_PERIOD_LENGTH IS 0
    DEFAULT FOR ACP_CONTINUOUS_SERVICE_DATE IS '4712/12/31 00:00:00' (date)
    DEFAULT FOR ACP_ENROLLMENT_END_DATE IS '4712/12/31 00:00:00' (date)
    DEFAULT FOR ACP_TERMINATION_DATE IS '4712/12/31 00:00:00' (date)
    DEFAULT FOR ACP_ENROLLMENT_START_DATE IS '4712/12/31 00:00:00' (date)
    DEFAULT FOR ACP_SERVICE_START_DATE IS '4712/12/31 00:00:00' (date)
    DEFAULT FOR EMP_HIRE_DATE IS '01-JAN-1900' (DATE)
    DEFAULT FOR EMP_TERM_DATE IS '01-JAN-3001' (DATE)
    DEFAULT FOR ASG_NUMBER IS ' '
    DEFAULT FOR ASG_GRADE IS ' '
    ALIAS ASG_NUMBER AS EMP_NUMBER
    INPUTS ARE
    Calculation_Date (date)
    Accruing_Frequency = 'D' /* Month */
    Accruing_Multiplier = 1
    V_ACCRUAL_RATE = 0
    E = SET_TEXT('ACCRUING_FREQUENCY', Accruing_Frequency)
    E = SET_NUMBER('ACCRUING_MULTIPLIER', Accruing_Multiplier)
    E = SET_NUMBER('ACCRUAL_RATE',0)
    E = SET_NUMBER('CEILING', 42)
    Beginning_Of_Calculation_Year = to_date('0101'||to_char(Calculation_Date,'YYYY'),'DDMMYYYY')
    end_year=last_day(add_months(Beginning_Of_Calculation_Year,11))
    Years_Service = Months_Between(CALCULATION_DATE,EMP_HIRE_DATE)/12
    IF ASG_GRADE = '7' OR
    ASG_GRADE = '8' OR
    ASG_GRADE = '9' THEN
    V_ACCRUAL_RATE = 21
    else
    if Years_Service >= 5 then
    V_ACCRUAL_RATE = 21
    ELSE
    V_ACCRUAL_RATE = 14
    V_ACCRUAL_RATE=V_ACCRUAL_RATE/(DAYS_BETWEEN(END_Year,Beginning_Of_Calculation_Year)+1)
    E = SET_NUMBER('ACCRUAL_RATE',V_ACCRUAL_RATE)
    E = SET_TEXT('ACCRUING_FREQUENCY', Accruing_Frequency)
    E = SET_NUMBER('ACCRUING_MULTIPLIER', Accruing_Multiplier)
    Beginning_Of_Calculation_Year = to_date('0101'||to_char(Calculation_Date,'YYYY'),'DDMMYYYY')
    IF Beginning_Of_Calculation_Year > Calculation_Date THEN
    Beginning_of_Calculation_Year = ADD_MONTHS(Beginning_Of_Calculation_Year, -12)
    E = SET_DATE('BEGINNING_OF_CALCULATION_YEAR', Beginning_Of_Calculation_Year)
    E = GET_PERIOD_DATES(Beginning_of_Calculation_Year,
    Accruing_Frequency,
    Beginning_Of_Calculation_Year,
    Accruing_Multiplier)
    First_Period_SD = get_date('PERIOD_START_DATE')
    First_Period_ED = get_date('PERIOD_END_DATE')
    Set the Calculation_Date to the Termination Date if not null
    IF NOT (ACP_TERMINATION_DATE WAS DEFAULTED) OR
    NOT (ACP_ENROLLMENT_END_DATE WAS DEFAULTED) THEN
    Early_End_Date = least(ACP_TERMINATION_DATE, ACP_ENROLLMENT_END_DATE)
    IF (Early_End_Date < First_Period_ED) THEN
    Total_Accrued_PTO = 0
    E = PUT_MESSAGE('HR_52794_PTO_FML_ASG_TER')
    IF (Early_End_Date < Calculation_Date) THEN
    Calculation_Date = Early_End_Date
    Get the last whole period prior to the Calculation Date and ensure that it is within the
    Year (if the Calculation Date is the End of a Period then use that period)
    E = GET_PERIOD_DATES(Calculation_Date,
    Accruing_Frequency,
    Beginning_of_Calculation_Year,
    Accruing_Multiplier)
    Calculation_Period_SD = get_date('PERIOD_START_DATE')
    Calculation_Period_ED = get_date('PERIOD_END_DATE')
    IF (Calculation_Date <> Calculation_Period_ED) THEN
    E = GET_PERIOD_DATES(ADD_DAYS(Calculation_Period_SD,-1),
    Accruing_Frequency,
    Beginning_of_Calculation_Year,
    Accruing_Multiplier)
    Calculation_Period_SD = get_date('PERIOD_START_DATE')
    Calculation_Period_ED = get_date('PERIOD_END_DATE')
    If (Calculation_Period_ED < First_Period_ED) THEN
    Total_Accrued_PTO = 0
    E = PUT_MESSAGE('HR_52795_PTO_FML_CALC_DATE')
    Set the Continuous Service Global Variable, whilst also
    ensuring that the continuous service date is before the Calculation Period
    IF (ACP_CONTINUOUS_SERVICE_DATE WAS DEFAULTED) THEN
    E = set_date('CONTINUOUS_SERVICE_DATE', ACP_SERVICE_START_DATE)
    ELSE IF(ACP_CONTINUOUS_SERVICE_DATE > Calculation_Period_SD) THEN
    Total_Accrued_PTO = 0
    E = PUT_MESSAGE('HR_52796_PTO_FML_CSD')
    E = set_date('CONTINUOUS_SERVICE_DATE', ACP_CONTINUOUS_SERVICE_DATE)
    ELSE
    E = set_date('CONTINUOUS_SERVICE_DATE', ACP_CONTINUOUS_SERVICE_DATE)
    Continuous_Service_Date = get_date('CONTINUOUS_SERVICE_DATE')
    First_Eligible_To_Accrue_Date = Continuous_Service_Date
    Determine the date on which accrued PTo may first be registered, i.e the date on which the
    Ineligibility Period expires
    Accrual_Ineligibility_Expired_Date = First_Eligible_To_Accrue_Date
    IF (ACP_INELIGIBILITY_PERIOD_LENGTH > 0) THEN
    IF ACP_INELIGIBILITY_PERIOD_TYPE = 'BM' THEN
    Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH*2)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'F' THEN
    Accrual_Ineligibility_Expired_Date = add_days(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH*14)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'CM' THEN
    Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'LM' THEN
    Accrual_Ineligibility_Expired_Date = add_days(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH*28)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'Q' THEN
    Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH*3)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'SM' THEN
    Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH/2)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'SY' THEN
    Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH*6)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'W' THEN
    Accrual_Ineligibility_Expired_Date = add_days(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH*7)
    ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'Y' THEN
    Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
    ACP_INELIGIBILITY_PERIOD_LENGTH*12)
    IF Accrual_Ineligibility_Expired_Date > First_Eligible_To_Accrue_Date
    AND Calculation_Date < Accrual_Ineligibility_Expired_Date THEN
    First_Eligible_To_Accrue_Date = Accrual_Ineligibility_Expired_Date
    Get the first full period following the First_Eligible_To_Accrue_Date
    (if it falls on the beginning of the period then use that period)
    IF First_Eligible_To_Accrue_Date > Beginning_Of_Calculation_Year THEN
    E = GET_PERIOD_DATES(First_Eligible_To_Accrue_Date, Accruing_Frequency,Beginning_Of_Calculation_Year,Accruing_Multiplier)
    First_Eligible_To_Accrue_Period_SD = get_date('PERIOD_START_DATE')
    First_Eligible_To_Accrue_Period_ED = get_date('PERIOD_END_DATE')
    IF First_Eligible_To_Accrue_Date <> First_Eligible_To_Accrue_Period_SD THEN
    E = GET_PERIOD_DATES(add_days(First_Eligible_To_Accrue_Period_ED,1),
    Accruing_Frequency,
    Beginning_Of_Calculation_Year,
    Accruing_Multiplier)
    First_Eligible_To_Accrue_Period_SD = get_date('PERIOD_START_DATE')
    First_Eligible_To_Accrue_Period_ED = get_date('PERIOD_END_DATE')
    IF (First_Eligible_To_Accrue_Period_SD > Calculation_Period_ED) THEN
    Total_Accrued_PTO = 0
    E = PUT_MESSAGE('HR_52793_PTO_FML_ASG_INELIG')
    ELSE
    First_Eligible_To_Accrue_Period_SD = First_Period_SD
    First_Eligible_To_Accrue_Period_ED = First_Period_ED
    Determine the date on which PTO actually starts accruing based on Hire Date,
    Continuous Service Date and plan Enrollment Start Date. Remember, we have already determined
    whether to user hire date or CSD earlier in the formula.
    If this date is after the 1st period and the fisrt eligible date then establish the first full period
    after this date (if the Actual Start Date falls on the beginning of a period then use this period)
    IF Continuous_Service_date = ACP_CONTINUOUS_SERVICE_DATE THEN
    Actual_Accrual_Start_Date = Continuous_service_Date
    ELSE
    Actual_Accrual_Start_Date = greatest(Continuous_Service_Date,
    ACP_ENROLLMENT_START_DATE,
    First_Period_SD)
    Determine the actual start of the accrual calculation
    IF (Actual_Accrual_Start_Date > First_Period_SD AND
    Actual_Accrual_Start_Date > First_Eligible_To_Accrue_Period_SD) THEN
    E = GET_PERIOD_DATES(Actual_Accrual_Start_Date,
    Accruing_Frequency,
    Beginning_Of_Calculation_Year,
    Accruing_Multiplier)
    Accrual_Start_Period_SD = get_date('PERIOD_START_DATE')
    Accrual_Start_Period_ED = get_date('PERIOD_END_DATE')
    IF Actual_Accrual_Start_Date > Accrual_Start_Period_SD THEN
    E = GET_PERIOD_DATES(add_days(Accrual_Start_Period_ED,1),
    Accruing_Frequency,
    Beginning_of_Calculation_Year,
    Accruing_Multiplier)
    Accrual_Start_Period_SD = get_date('PERIOD_START_DATE')
    Accrual_Start_Period_ED = get_date('PERIOD_END_DATE')
    If the Actual Acrual Period is after the Calculation Period then end the processing.
    IF (Accrual_Start_Period_SD > Calculation_Period_ED) THEN
    Total_Accrued_PTO = 0
    E = PUT_MESSAGE('HR_52797_PTO_FML_ACT_ACCRUAL')
    ELSE IF (First_Eligible_To_Accrue_Period_SD > First_Period_SD) THEN
    Accrual_Start_Period_SD = First_Eligible_To_Accrue_Period_SD
    Accrual_Start_Period_ED = First_Eligible_To_Accrue_Period_ED
    ELSE
    Accrual_Start_Period_SD = First_Period_SD
    Accrual_Start_Period_ED = First_Period_ED
    Now set up the information that will be used in when looping through the periods
    IF Calculation_Period_ED >= Accrual_Start_Period_ED THEN
    E = set_date('PERIOD_SD',Accrual_Start_Period_SD)
    E = set_date('PERIOD_ED',Accrual_Start_Period_ED)
    E = set_date('LAST_PERIOD_SD',Calculation_Period_SD)
    E = set_date('LAST_PERIOD_ED',Calculation_Period_ED)
    E = set_number('TOTAL_ACCRUED_PTO',0)
    E = LOOP_CONTROL('RGH_QIS_PTO_SIMPLE_PERIOD_ACCRUAL')
    Total_Accrued_PTO = get_number('TOTAL_ACCRUED_PTO')
    IF Accrual_Start_Period_SD <= Calculation_Period_SD THEN
    Accrual_end_date = Calculation_Period_ED
    Effective_Start_Date = Accrual_Start_Period_SD
    Effective_End_Date = Calculation_Date
    IF Effective_Start_Date >= Effective_End_Date THEN
    Effective_Start_Date = Effective_End_Date
    RETURN Total_Accrued_PTO, Effective_start_date, Effective_end_date, Accrual_end_date
    please advice

  • Help Needed !!!!! in New Hire Proration and Carryover (PTO Accruals)

    Dear All,
    We are facing a problem in Accrual formula where
    Accrual Term is 1-July to 30 June
    Accruing Multiplier is 'M'
    Accruing Frequency is 3 Months
    Accrual Rate is 5 Days
    Employee gets Leave at the end of each quarter
    1st Quarter (July-Aug-Sep) - 5 Days
    2nd Quarter (Oct - Nov - Dec) - 5 Days
    3rd Quarter (Jan - Feb - Mar) - 5 Days
    4Th Quarter (Apr - May - Jun) - 6 Days
    Total 5+5+5+6 = 21 Days
    This accrual Plan is working fine for employees joining before the accrual start date of 1-Jul or employees joining on the first date of the first month of any quarter.
    But for any employee joining after 1-Jul we should get the prorated leave entitlement
    We have identified and developed the logic for the number of days a new joinee would accrue if he joins in the middle of a Accrual period. I am detailing out the following logic
    The SQL for this is as follows
    SELECT (ROUND((21/365*(fffunc.days_between(:Hire_date,:Current_accrual_Period_End_Date)+1))/5,1)*5)*-1 FROM DUAL
    My query to all Fastformula Gurus is that how can i incorporate this leave proration logic for employees joining in the middle of the accrual period into my Accrual Fastformula.
    Any help is appreciated guys.
    If anyone wants to look at the code for the Accrual fastformula, you guys can Message me on the forum
    Cheers
    Sachin

    To achieve your requirement, you need to change the accrual sub formula PTO_PAYROLL_PERIOD_ACCRUAL. Follow the below steps.
    A.Create a pl/sql function :
    1. Create a new Pl/Sql Function in similar lines with parameters as p_assignment_id, p_date_earned, p_plan_id and p_number_of_years;
    2. The new function should call the pl/sql function per_utility_functions.Get_Accrual_Band passing values of p_plan_id and p_number_of_years.
    3. After the above function call, invoke your custom procedure to get the accrual value based on grade (passing p_assignment_id and p_date_earned as parameters).
    4. call the procedure per_formula_functions.set_number to set the ceiling value.
    So overall your function should like this
    FUNCTION <function name>(p_assignment_id NUMBER,p_date_earned DATE,p_plan_id NUMBER, p_number_of_years NUMBER ) RETURN NUMBER IS
    < variables declaration>
    l_ceiling number;
    BEGIN
    l_return := per_utility_functions.Get_Accrual_Band(p_plan_id,p_number_of_years);
    IF l_return = 1 THEN
    return l_return;
    ELSE
    l_return := <your custom function>(p_assignment_id,p_date_earned,l_ceiling);
    l_error := per_formula_functions.set_number('CEILING' ,l_ceiling);
    END IF;
    END <function name>;
    l_error := per_formula_functions.set_number('CEILING' ,l_ceiling);
    B. Create a Formula Function with the above pl/sql function with p_assignment_id, p_date_earned, p_plan_id as context usages and p_number_of_years as parameter.
    C. Copy the Formula PTO_PAYROLL_PERIOD_ACCRUAL and replace the entry of Get_Accrual_Band with your custom formula function defined in step B.
    D. Copy the formula PTO_PAYROLL_BALANCE_CALCULATION and replace the entry of PTO_PAYROLL_PERIOD_ACCRUAL with your custom formula defined in step C.
    Hope this helps.
    Regards,
    Sharath

  • Absence Quota generation / Accruals

    Hi Gurus,
    I am trying to configure Absence Quotas with the below mentioned rules.
    1. To be eligible for PTO you must be on the payroll at least 6 months at which time 20 hours of Paid Time Off is granted.
    2. In the second year of employment an employee will receive 5.58 hours of PTO per pay period.
    3. The accrual rate increases with continued years of service. After 5 years of employment the accrual rate is 7.11 hours per pay period. See the chart below:
    Years     PTO Hours
    1                  20 Hours
    2 - 4            145 Hours       (5.58 hours per pay period)
    5+               185 Hours       (7.11 hours per pay period)
    A maximum of 240 PTO hours (6 weeks) may be accumulated.
    Can you please advise if it's possible to automatically (using Time Evaluation) generate 20 hours of quota in one go after 6 months, and then after 1 year is completed, the quota accrual starts happening every pay period. If it's possible, then please advise me how can this be achieved.
    Any kind of help is really appreciated.
    Thanks in Advance,
    Ashish Maini

    Hi,
    In table V_T559L you can set up to do the accrual based on a time type and using a rule, you can check based on infotype 41 when to generated it.
    Regards
    Frederick

  • Manual accruals/ Partial settlement in rebates

    Hi,
    I have following questions sinc eiam doing rebates for first time.
    1)  in the billing document, the rebates are calculated as per the the accrual rates in rebates condition records. My question if the invoice is for Rs 100 and accrual rebate amt in invoice is rs 2. will the customer pay Rs 98 against this invoice of full Rs 100.
    2) what happens during manual accruals.  why a credit memo request is generated during manual accruals. what happens to accruals as per condition records.
    3) what happens during partial settlement. do the accruals already poested gets reduced to the extent of amount of partial settlement. do manaul accruals have any role to play during partial settlement
    4) what happens during final settlement. do manual accruals have any role to play during final settlement i.e. do they get reversed and what happens to accurals posted as per  rebate conditon records.
    regards
    sachin

    Dear Sachin,
    1) in the billing document, the rebates are calculated as per the the accrual rates in rebates condition records. My question if the invoice is for Rs 100 and accrual rebate amt in invoice is rs 2. will the customer pay Rs 98 against this invoice of full Rs 100.
    Ans --> Customer need to pay Rs 100 only , rebate amount will paied to the customer after completion of the rebate duration in between there will be partial settlement.
    2) what happens during manual accruals. why a credit memo request is generated during manual accruals. what happens to accruals as per condition records.
    Ans--> Manual Accruals
    Use
    Posting accruals manually can be useful in different situations such as:
    Lump sum payments
    Accruals correction
    You can control at which time and for which amount the accruals should be posted.
    You can build accruals for a particular condition record or reverse them in part or in full.
    When you save the rebate agreement, the system will automatically create a credit memo request. The system uses this document to create a credit memo. When the credit memo is released, the accruals are posted to FI.
    If you have posted accruals manually, but these have not been passed on to financial accounting, the manual accruals and manual payments in the rebate agreement are blocked.
    3) what happens during partial settlement. do the accruals already poested gets reduced to the extent of amount of partial settlement. do manaul accruals have any role to play during partial settlement
    Ans->Partial Settlement
    Use
    You can also partially settle a rebate agreement during its validity period. The amount to be paid can be limited in Customizing for Sales. Payments can be:
    limited to the cumulative accruals of the condition record
    limited to the amount that would be paid if final settlement were presently carried out
    unlimited
    You carry out partial settlement by using the manual payment screen within rebate agreement processing. On this screen you can specify the amount to be paid for each condition record.
    The system will automatically create a credit memo request for the amounts specified.
    It will also reverse the accruals with the credit memo if the rebate agreement type is configured accordingly. If the payment exceeds the recordu2019s accumulated accruals, the system will only reverse the accruals which are actually there.
    The system gives you the opportunity to carry out additional partial settlements when previous partial settlements remain open in the form of credit memo requests or credit memos. The system always takes open documents into account when determining the maximum amount which you can pay.
    When the system carries out final settlement for a rebate agreement, it takes all partial payments into account.
    4) what happens during final settlement. do manual accruals have any role to play during final settlement i.e. do they get reversed and what happens to accurals posted as per rebate conditon records.
    Ans-->Final settlement
    Use
    When you carry out final settlement of a rebate agreement, the system automatically
    calculates the rebate based on the sales volume statistics or the lump sum
    deducts any previously paid rebates
    It then creates a credit memo request, and proposes the end date of the agreement validity period as the billing date.
    The system also reverses any accruals that have been posted.
    Depending on Customizing, when the system creates a credit memo request, the document is automatically blocked for billing. After approving the credit memo request, the person responsible can remove the billing block. You can then create the final credit memo.
    When you want to search for credit memo requests during sales order processing, you can use the matchcode F "Credit memo request for rebate".
    You can carry out final settlement of rebate agreements
    automatically
    Manually
    as a background task (in batch)
    Settling Single Rebate Agreements
    You can carry out settlement directly from within a rebate agreement.
    Before you save the rebate agreement you can still carry out changes to the credit memo request:
    The credit memo request is only saved when you save the rebate agreement.
    Carrying out Final Settlement as a Background Task
    If the volume of your sales rebate processing is high, you can collectively process rebate settlements as a background task.
    The following reports are available:
    RV15C001
    RV15C002
    Your system administrator can use these reports to generate a list of rebate agreements, based on various selection criteria, such as rebate recipient, status of the agreement, and so on.
    Background processing can then be carried out later. I.e., after the regular posting periods.
    After a list is generated, the rebate agreements can be analyzed or processed for payment.
    For more information about settling rebates as a background task, see your system administrator.
    I hope it will help you,
    Regards,
    Murali.

  • Accrual fastformula help

    Hi Guru's,
    Am writing Accrual fast formula for a Indian client. They have 5 different units and each unit has different leave policy.
    Ex.: 1 unit has 10 days SL(per year .given at the beginning of year) for above manager position and 6 days for below manager and executive level and 4 days for below executive level(position).
    2nd unit had 10 days SL for only S VP position and 6 days for manager and executive level and 3 days for below executive level. So the accrual amount is different for different positions in all 5 different units.
    How can i create Accrual plan with different accrual rate for different positions in different units??
    Also they do not have Grade system ..!!
    Can anyone please give me some idea to carry on..
    Should i create different accrual plans with the proper accrual rate and attach to employees or can i create a single accrual plan and map the accrual rate depending on the location and position.???
    Thanks,
    Pems

    Please help me guys.....

  • CRM TPM 7.0: Accruals amount is zero in the condition records

    Hi All,
    I am creating condition records through TPM, the amount value is getting populated correctly in the condition record, however, the accruals value is showing up as zero. Ideally, I wanted to have the accruals value same as the amount in the condition record. Can anyone suggest a solution on this?
    Any help in this regard is highly appreciated.
    Thanks in anticipation !
    Kind Regards,
    Neeraj

    You must be using Funds Management.  Zero accrual rate in ECC condition record is correct.

  • Accrual and Posting to a Account

    Is it possible for a condition record to both Post & Accrue as system allows me to put account key and accrual key? 
    If I want to use accrual key - should i define the condition record as an accrual in control2 portion of condition record configuration?  Is it not possible to use a condition record that is not having accrual key to post an accrual?
    Can some one give me a bit more elaboration on accrual, account key?
    Appreciate your help.

    Hi
    Accrual Key is used only for Rebate conditions. For Rebate conditions, you need to specify Account key as well as Accrual Key in the Pricing Procedure.
    For Rebate conditions, you need to specify the "Account Key", which specify in which G/L account, the discount amount will be posted.
    This Rebate discount, we have to pay back to the customer when the Rebate will be settled and till that time, it is accrued with us.
    So, it is posted to a special G/L account meant for accrual only.
    For Rebate conditions, Accrual Key is specified in the Pricing Procedure, from which system identifies the appropriate account and posts the accrual amounts.
    The accrual rate and the Rebate rate both are specified in the Condition record created within the Rebate agreement.
    If the Accrual rate is not specified in the condition record, then system does not post any accrual to Accounting.
    When Rebate is settled, this accrual amount is apid back to the Rebate receipient and that is how Rebate is settled.

  • TPM Accruals with Variable Rebates

    Hi,
    I am configuring TPM with CRM 7.0 and I can't understand how the accruals are performed in this new version of CRM. In prior versions of CRM (5.0) the accruals were done in ECC just like the old ECC Rebate Functionality.
    However with the new version of TPM 2007 and 7.0 the variable accruals (according to SAP slides and training material), the use of BI is required to perform the accruals. How do the accruals reach the G/L in ECC?
    Does anyone know the exact process to perform the configuration settings?
    By the way, SAP Best Practices or Building blocks doesn't contain any information for TPM, it only contains for other areas of CRM.
    In Solution Manager the configuration guide doesn't include the configuration for the variable accruals, so I need to understand how these are configured and set in the system.\
    Your help is appreciated,
    Thanks
    Chris

    Hi Chris,
    There is a whole list of configuration needed for accrual. First you have to figure out whether you want to do a fund based accrual or Event based accrual. Based on your question, I am assuming that you are doing Event based accruals. For variable rebates (shipment based), you have set accrual calculation as ERP_SV (based on Sales Volume). Technically, CRM sends a zero accrual rate to ERP. You release promotion in TPM first, do invoicing in ERP which would apply the variable BB condition type. You run the following accrual jobs in CRM: Sales Volume load, Accrual Calculation and Accrual posting to get accruals in CRM.
    In accrual scenario for TPM, BI is used for fund usage generation, which links to a accrual profile. You see the accrual postings against the fund usage. You will need to have a calculated key figure which will show the planned funding during release of Trade Event.
    There are also configuration setps in CRM to link it Accounting document in ECC.
    It is not possible to list all accrual configuration in this post. I guess you need to think of accrual design first. You would need to talk with your ERP and FI team.
    Hope this helps to an extent.
    -Sanajy

  • What is the use of provision account in vkoa t.code

    Hi,
    i have a doubt regarding in vkoa t.code there are G/L Accounts column and Provisions column what is the use of provision column and what is the difference between these two.
    i am waiting for u r replies.
    Thanks & Regards,
    Kishore.

    Hi,
    'The provision account is only required if there are conditions that are relevant for accrual, for example, rebate conditions. If this is the case, account determination takes place in the billing document with the field'
    In other words it will be used to store the valuue of a( for eg.,Rebate) condition type in a different GL a/c for the periodic calculation of the total value of the same cond.type...
    chk this thread for more clarity on Accrual
    Re: Rebate Accrual Rate
    Reg
    JJ
    Edited by: Jagsap on Jul 10, 2009 1:03 PM

  • Field catalog in rebates

    How to add new field in fied catalog in rebates (not pricing field catalog)
    Thread closed, found solution
    Suddu
    Edited by: sud val on Jul 18, 2008 6:21 PM

    How to add new field in fied catalog in rebates (not pricing field catalog)
    Go to IMGS&D-Billing--RebateprocessingClick on condition technique for rebate processingclick on Field catalog for rebates-Maintain condition table for Rebate
    There are standarad rebate tables like 0001, 0002, 0003 etc. u can configure according to the client requirment. Please go through the below help.
    Creating Condition Records for a Rebate Agreement
    Steps
    To create a condition record for a rebate agreement:
    When creating or changing rebate agreements, you can create condition records by choosing Goto ® Conditions to get to the Agreement Overview screen.
    Enter the data necessary to create a condition record (for example: customer and condition rate).
    Choose ENTER .
    If you do not enter a value for the accrual rate, the system automatically proposes the value you entered as the condition rate.
    To create a pricing scale for a condition record, select the condition record and choose Scales.
    To display or change details in a condition record, select the condition record and choose Details.
    It is possible to see an overview of condition records that already exist in other rebate agreements and that have the same key combination (customer/material, customer/rebate group, and so on).
    To view the list, select Validity periods.
    If the condition record only refers to the customer, the system prompts you to enter a value in the settlement material field.
    If you have finished creating the condition record, press
    Save to save the rebate agreement or
    Conditions to return to the Condition screen where you can create additional condition records.
    Regards,
    Murthy

Maybe you are looking for