Commission calculation

Hi
The query is such that the client  pays some commision to his agent on collection of the amount . e.g
bill is for Rs 100
commission is @ 10% for collection
Amount collected partially is Rs 60
Then 10% on Rs 60 shd be clculated and paid to him after making incoming payment.
How this calculation can be done and booked automatically ?

Hi,
If you want automatic postings for Commission, in pricing conditions we have specify all these. as per your requirement we have specify in those pricing conditions

Similar Messages

  • Agent's Commission calculation in pricing procedure only for NEW Saleorders

    Hi Guys,
    In a pricing procedure, .the base for agent commission was calculated on cost + markup price and freight and this base for commision + commision + insurance gave the base price.But now client wants to calculate commision from cost + mark up + freight + insurance + packing charges
    So, the steps are changed in pricing and it is working perfectly. While checking the billing documents and open orders, it is showing new pricing procdure.
    The pricing procedure should take its effect from now only and not for old billing documents I mean the open orders, open deliveries and open items.
    I understand that in open sales orders, if update button is pressed on condition tab and carry out new pricing only changes will occur. Otherwise it will NOT happen
    If I goto VF02 and take a billing documen, it is having the new pricing procedure
    I didnot maintain new condition types. Only the steps were changed.
    Please help me in this regard by suggesting a suitable solution.
    Regards,
    Anbu

    Thanks a lot for your suggestion. i had already made the changes in the existing procedure and given them.... then only we realized the problem....they created around 15 billing documents that day and all showed the changed pricing procedure( these were open orders). but my client doesn't want to revert back to the old procedure and as a solution to the change in value for the newly billed documents they have issued the debit note.... now everything is ok( except  that the changed procedure is seen in the old documents too. but the values haven't changed) so client is happy this way...  hope there wont be any issue regarding this in future...
    Thanks a lot for your advice....

  • Alternative sales commission calculation problem

    hi sir,
    I am a junior consultant trying to solve a problem for my Senior, the question goes as follows:
    We are trying to impute sales commissions to sales rep as a discount for every sale, in which for every sale a determined amount is imputed to the sales rep as a commission.
    the problem arises when the product is returned and customer asks for a refund. Then the commission should be refunded aswell. Could you please throw some light to wether we should clear that invoice the same month or the next one as a negative pendent discount, if so, how is the negative imputation applied?
    thanks a lot in advance,
    HF

    Bobsterslc wrote:
    Here is a screenshot of a piece of what I'm working on.
    Hi Bob,
    Here's what your screenshot looks like when embedded in a post, using the HTML code that Photobucket provides (third item in the list of codes provided).
    In your original post you said:
    I have a table that calculates sales commissions for a number of people and includes an overriding commission for the sales managers. I need to cap the sales commission at a fixed percentage, say 25%, for the sales people.
    I'm not sure what you mean by "I need to cap the sales commission at a fixed percentage."
    The first question that comes to mind is "25% of what?"
    Do you mean that the commission is not to exceed 25% of Total earnings?
    If so, your formula for B5 (the first cell where commission is calculated) would be:
    =MIN(formula1,B2/3)
    Where formula1 is whatever formula is used to calculate the commission when it is less than the cap, and B2 contains the salary/wages which must constitute at least 75% of the total compensation under this interpretation.
    Do you mean the commission rate is on a sliding scale that rises with increased sales, but does not exceed 25%?
    If so, you need to specify the rules that control the rate. Does it rise in steps? Does the 'new' rate at each step apply to total sales, or only to sales above that step? Are the steps the same size for everyone, directly related to the individual goals, or set by some other criteria?
    There's not enough information available fom your table to determine a pattern. For the first three columns, person B's commission is 12% of sales, person C's is under 4% and person D's is 30% of sales.
    For a more detailed response, we'll ned a more detailed specification of the question.
    Regards,
    Barry

  • Commission calculation on the basis of sales

    Hi All,
    I want to map the following scenario in canadian payroll. please help me to find the document to support this scenario.
    The sales person(s) are paid in two ways:
    1.  Base pay by the hour
    2.  Greater of base pay by the hour or commission (if sales for the hour is
    greater than target (target can be any number, depending on store and day of
    week ... target could be $1000 between 9:00 AM and 10:00 AM.  But between
    5:00 PM and 6:00 PM (peak hour) this could be $4000 - $6000; If sales
    person sells $6000 during peak, than that hours wages is the commssion wage
    which could be $60 for the hour and the base pay could be $10 for the hour.
    So the higher of the two is the $60 figure.

    Dear Yogesh,
               This is something which you have to co-ordinate wth your SD consultant, As per my knowledge as your SD consultant to check whether they have defined sales employee as partner function, so that sales order is generated against the sales person with date and time. Inorder to update in HCM you have provide necessary details for ABAP developer to develop a custom programme to update employee comission as per the sales order data.
    Anil.

  • Commission calculation add on for SAP B1

    Can anyone suggest an add-on to calculate commission on paid invoices?
    Thanks
    Dan

    Hi,
    My requirements are as follows;
    Team
    We have a relatively small sales team strucured as one sales manager, three sales people, and one technical pre sales person.
    Revenue Model
    There are two main revenue streams that attract sales commission as follows;
    Monthly Fees: At the outset of our contract with the customer we agree a monthly fee to run through the 36 month contract term.  Sales commission is paid on monthly fees for only the first 12 invoices to the customer.
    Integration & Development Fees: Each customer requires a level of customisation to the prodcut that they purchase from us.  Where this customisation is agreed upfront as part of the sales process sales commission is paid.
    We have a number of other revenue streams that do not attract sales commission.
    Commission model
    Commission paid is agreed at the outset of each contract an is never more than 13% of the value of each invoice.  Commission is usually paid as follows
    Sales manager: 2%
    Sales executive: 8%
    Tech pre Sales: 3%
    However, these values are variable and there can be some circumstances where more than one sales executive work on a deal (and therefore recieve a split of the 8%).

  • OIC Commission Calculation

    Hi,
    We are implementing 11.5.10 Incentive Compensation.
    The business requirement for commissions is that there is a quota at product category level and a quota at product sub-category level for each salesrep.
    Only when product category level quota is achieved 100% then sub-category level is used and anything above the sub-category quota gets additional commission percentage.
    How can this be achieved in Oracle Incentive Compensation ?
    Thanks in Advance,
    UC

    You can do this with interdependent plan elements where the subcategory commission plan element is dependent on the category commission plan element attainment. Depending on the number of subcategories, you can either check with a DECODE statement in the expression or use a rate table where one of the input expressions is the category attainment.
    The bigger question is why are you implementing 11.5.10 OIC in 2012?
    Regards, Men-Ching

  • Sales Commission Project

    I am working on a sales commission project and I am cannot figure out what to do next, any help would be greatly appreciated! Here is what I have so far.
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    namespace Sales_Commission
        public partial class FrmSalesCommission : Form
            public FrmSalesCommission()
                InitializeComponent();
            // calculate commission for sales agents
            private void btnCalculate_Click(object sender, EventArgs e)
                // declare variables
                string lastname;
                string firstname;
                decimal commission;
                // assign variables
                lastname = txtLastName.Text;
                firstname = txtFirstName.Text;
                commission = lblCommissionTotal.
                // if first and last name are both empty 
                if (lastname == "" && firstname == "")
                    // display the word commission
                    lblCommission.Text = "Commission";
                else
                    // display commission for + first name + last name
                    lblCommission.Text = ("Gates"); 
                // if sales is numeric check if sales is negative
                // if sales is not negative
                // calculate commission
                // display calculated commission
                // else sales is negative message user
                // else sales is not numeric message user
    Here is some more information.
    Specifications:  You are to write an application that determines the commission earned for sales agents.  You must verify that the sales amount that was entered is indeed numeric.  If it is not, display a message box with an appropriate error
    message, select the text, and allow the user to re-enter the data.  The Sales amount must be numeric and must be greater than or equal to 0. When a valid numeric sales amount has been entered, calculate and display the commission (10% commission). 
    The application should also accept the sales agent’s first name and last name.  When the calculation for the commission is calculated, also display the label “Commission for first name last name” as entered in the textboxes.
    If there is no name entered, display only the word ‘Commission’.
    If either the first or the last name is entered… display the phrase ‘Commission for ****’ using either the first or last name.
    When both the first and the last name are entered, display ‘Commission for Bill Gates’ where Bill is the first name and Gates is the last name.  ~ really any first name and last name should work!!
    Consider logical tab sequence and data alignment.
    The Clear button should clear all data (entered and calculated).  The Exit button should Exit the application.
    Set appropriate accept button and cancel button.  Set appropriate access keys.
    When a first name, last name or sales amount value is entered, clear all calculated display areas.
    Use the standard Microsoft naming conventions for all controls.
    Include appropriate comments in your code.

    Hi
    slipknotfan515,
    As far as I know, about Sales Commission Project is a basic knowledge of OOP.  You should learn by yourself.
    And there is a lot of material when you search in the internet like the following
    https://www.google.com.hk/?gws_rd=ssl#q=Simple+Sales+Commission+Calculator+(using+OOP)
    Good luck!
    Kristin
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • What is SAP-ICM - Incentive and Commission Management ?

    Can u explain me about SAP-ICM, its functionality and transaction codes and tables involved in it.
    If possible with some sample programs related to it.
    thanks.

    Hi,
    Incentive plans are maintained within ICM. You use this process to transfer sales transaction data to the ICM incentive plan for commission calculation.
    You use this business scenario to create, manage and report on incentive and commission compensation plans within your organization. It utilizes the Incentive and Commission Management (ICM) engine residing in SAP R/3 Enterprise where plan administrators are able to efficiently craft and administer complex variable compensation plans. CRM ICM includes two standard means of transferring data to ICM for the purpose of driving your incentive processing:
    ·        Transferring CRM documents to ICM through a configured document interface
    ·        Transferring SAP Business Information Warehouse (BW) data to ICM through a general BW transfer interface
    When using the configured document interface, you use SAP CRM transaction data (including sales order, sales contract or resale order) to drive your direct or indirect variable compensation processes. This allows you the flexibility to trigger commission calculations at nearly any point in the sales cycle from booking of an order to receipt of invoice payment. The calculated compensation results are extracted into both SAP BW and CRM and paired up with their original transaction data. Sales staff can then track their current performance – as well as model their potential compensation based on their sales pipelines – through content accessed via the Sales Manager Portal and the Sales Representative Portal. Based on your implementation, you also have the ability to support partner sales representatives.
    When using the general BW interface, you are able to drive your variable compensation processes from BW. This interface enables you to easily leverage all of the analytical capabilities of BW in order to prepare data (for example, activity data) that is to be used in ICM for award calculation.
    You will get the full information from the link:
    http://help.sap.com/saphelp_crm40/helpdata/en/70/eee1189abe4b8ea1dd77c70c3bfab2/frameset.htm
    Regards,
    Renjith Michael.

  • Commision agent Payment.

    Sir(s)
    please help me in bellow issue
    My client is  selling few of their finish products through agents and paying commission to them. This commission calculations and payment is handled manually as of now.
    We have to handle this through system by using standard cycle.
    Please advise me how to implement it in SAP.
    How to adjust the Commission amount in the System and also how to settle?
    Can you guide me on this.
    waiting for the reply.

    Hi,
    Please search the forum before posting.
    check this link:
    Re: Commission Agent  Settings
    you've the following options:
    1) Create the commission agent as a partner and use rebates functionality.
    2) Create the commission agent as a z-partner function and every transaction will have his data in the document header partner functions, later quarterly or yearly or etc..create a report to list commission agent wise report to see the sales and settle using a credit note.
    Regards
    RS

  • Commissions

    Dear experts,
    we have a legal requirement to process the payment of Intra-company commissions with a debiting process instead of a crediting process (as we are using up to now). Currently we are collecting the commission values on Rebate Agreements which we settle at the end of the period (using the integrated settlement functionality of the rebates that clear the accruals and issue a credit note).
    As in this process there is no functionality to debit these values (should be initiated by the receiving company of the commissions instead of the owing one as above) the rebate functionality seems not to be correct.
    I guess we will have to design a commission process, with new condition types that create the accruals. What I do not know is how those should be selected after the period (Z-Report ?) and how the settlement/payment process should be set up, allowing the receiving company to invoice the open commissions and clear the accrual accounts.
    Thanks in advance for any best-practice reference!
    Best regards,
    stefan

    Hi Suda,
    Our commission report would include the following columns:
    Sales Employee, Customer, Inv #, Inv Date, Inv Total, Inv Sales Amt* (to be used for commission calculation), Payment Receipt Date, Receipt Amount, Comm %, Calculation for Commission to be paid (Receipt amount x (Sales Amt/Inv Total) x Comm %)
    *Per invoice item row, there are 2 unit prices involved. "Unit price" brings in the value from the price list. In some cases (per cust's request), we add freight/hub fees to the unit price using "Price after Discount." In this way, the invoice total will reflect total price including fees. However, we only want to pay commission based on Sales Amt (orig unit price x quantity). So we also need to have some way to sum up the sales amts for each row for the total Inv Sales Amt.
    In this case we would need to group and show the Commission subtotal for each Sales Employee.
    Hope this is clear-any help you can provide is much appreciated!

  • Segment Definition Name in IDOC

    Hi Gurus,
       I am new to IDOCs.
       I need to create a new segment type in WE31.Its name should be say Z1TEST and I want to have the segment definition name to say Z2TEST.Currently the segment definition name is blank and disabled and when I save the segment type, the segment definition name, by default , comes as Z1TEST000(as per my example).
       Can u please suggest any ways of putting my own naming in the segment definition.
    Thanx in advance.

    hi,
    Defining Segments
    Use
    This is where you define segments so that you can assign them.
    Procedure
    From the Commission System screen, choose Master Data -> Segment Assignment -> Segments -> Maintain.
    Choose a segment type and an effective validity date.
    Choose Save.
    Result
    You have created a representation of the commission calculation of relevant data from the external policy management system. You can now assign the segments.
    A data segment contains a collection of fields from SAP tables. A data segment may hold master data or data from an application document. A segment is a collection of all the records of one type. A segment may contain data from a single SAP database table, or it may combine related data from multiple tables.
    A checksum is basically a one-way hash of whatever data arguments you supply.
    Regards,

  • Set Commissions By

    In the "Set Commissions By" options I noticed SAP allowed me to mark both the Items and Business partners.  I then specified a commission % on the item (10%) and the business partner (5%) and added an invoice for that customer and item.  I reveiwed the JE and saw no commission entry.  I expected there to either be a 10% or 5% commission entry made.  Is that not how b1 works for commission calculations?

    The commissions are calculated in a report and are not posted to any accounts.  This is from B1 help.  Have you checked any reports?
    Thanks,
    Gordon

  • Rebates in B1

    Hi All,
    Will these following be able to define in B1 :
    1. Rebates be calculated for customers achieving a certain year-to-date sales volume
    2. Potential rebates accrued on each sales order pending customer's achieving of the incentive sales contract can be tracked
    Thanks
    Edu

    It is not possible directly to do this.
    But you can calculate commissions for BP based on Sales. We can use this commission calculation as a work around by adding few UDFs and UDTs

  • PdOrg, Business Partner to Business Partner relationship

    Hi All,
    I need to create an MI hierarchy that is simply an hierarchical series of relationships between business partners. I do not want to use the relationship tab on the the business partner itself as I want to export this data to an MI system and also want to see it in a tree display in SAP PDOrg.
    All my BPs exist in the SAP Business Partner. Do I need to create Org Unit to Org Unit relationships and attach a BP to each Org unit or can I just create BP:BP relationships.
    I already have another hierarchy in the system for commission calculations.
    Any help appreciated, cheers Neil

    Hi Stephen,
    You can do the same in transaction BP.
    Select Business Partner with Employee Role --> Goto Identification tab.
    There you can maintain the PERNR and SY-UNAME.
    Let me know if this helps.
    Regards,
    Vivek Pandey

  • A little stuck, need help =)

    Hey all, Im fairly new here and new to Java as well. I just started college this month and am moving along quite well but I kinda wrote myself into a wall if you will. I just finished writing a program to calculate commission based on some data the user inputs and have just found out that I need to output the total commissions they entered as well as the total value of the sales they entered. Well ive got the program written and now I need to figure out how to squeeze in a list. Ive attached my code so you guys can have a look. Any assistance is very much appreciated and I thank you in advance for any help you can give.
    Thanks all,
    Halfzipp
    Brad.B
    P.S. - I apologize if its a bit ugly as again I am a total noob to java.. well.. Ive got about 3 weeks of experience with it so far but thats only 2, 3 hour classes a week.. not enough imo but thats another story.. anyways, i digress, so here ya go.
    // imports
    import javax.swing.*;
    import java.awt.*;
    import java.io.*;
    import java.util.*;
    import java.text.*;
    // class
    public class JavaAssignment3
         // main method
         public static void main(String[] args)
              //declare variables
              char commissionRateCode, continueCode1;
              double commission;
              double salePrice = 0.0;
              double commissionRate = 0.0;
              String commissionRateCode1; // user must choose either R, M or C
              String salePrice1, commission1, continueCodeString;
              boolean commissionRateCheck = true;
              boolean continueCode = true;
              boolean enterSalePrice = true;
              // create new scanner class to capture keyboard input
              Scanner keyboard = new Scanner(System.in);
              // display program title
              System.out.println("\t\t\t|#| Brad Bass |#|\n");
              System.out.println("\t    |#| Real Estate Commission Calculator |#|\n\n");
              // create while loop to take user back to price
              // input if they wish to calculate more commissions
              while (continueCode == true)
                   /** //This is what screwed everything for me..
                   //First, not having these 2 variables at all
                   //and then Second, putting them here, Lol
                   enterSalePrice = true;
                   commissionRateCheck = true;
                   {//main while loop
                   //initiate the variables so the loop will run again
                   enterSalePrice = true;
                   commissionRateCheck = true;
                   //create while loop to check if users input is a positive number
                   while (enterSalePrice == true)
                        {//second while loop
                        //tell user to input the sale price
                        System.out.print("Enter the property's selling price: ");
                        //grab sale price from keyboard
                        salePrice1 = keyboard.nextLine();
                        //convert to a double
                        salePrice = Double.parseDouble(salePrice1);
                        //blank space for looks
                        System.out.println();
                        //if the price is zero or negative
                        //tell them to enter a positive number
                        if (salePrice <= 0.0)
                             //tell them to enter a positive number
                             System.out.println("You must enter a positive number.\n");
                        else
                             //if the number is valid continue program
                             enterSalePrice = false;
                        }//second while loop
                        //if they do Not enter the correct code,
                        //ask them to input the code again
                        while (commissionRateCheck == true)
                             {//third while loop
                             //ask user to input commission code and show them the choices
                             System.out.println("\nEnter the property code according to the following:\n\n" +
                                                 "\tResidential" + "\t\t" + "enter R\n" +
                                                 "\tMulti-Dwelling" + "\t\t" + "enter M\n" +
                                                 "\tCommercial" + "\t\t" + "enter C\n");
                             //give the user a spot to enter the code
                             System.out.print("Choose your code: ");
                             //grab code as a string
                             commissionRateCode1 = keyboard.nextLine();
                             //convert to char
                             commissionRateCode = commissionRateCode1.charAt(0);
                             //extra line to keep things looking good
                             System.out.println();
                             // create switch statement to find commission rate
                             switch (commissionRateCode)
                                  case 'R':
                                  case 'r':
                                       commissionRate = 0.07;
                                       commissionRateCheck = false;
                                  break;
                                  case 'M':
                                  case 'm':
                                       commissionRate = 0.06;
                                       commissionRateCheck = false;
                                  break;
                                  case 'C':
                                  case 'c':
                                       commissionRate = 0.035;
                                       commissionRateCheck = false;
                                  break;
                                  //tell the user if they enter the wrong code and what the choices are
                                  default:
                                       System.out.println("Code must be either - R, M or C!");
                             }//third while loop
                        //calculate commission using calcCommission method
                        commission = calcCommission(salePrice, commissionRate);
                        //format the double so it only displays 2 decimal points
                        String fmt = "0.00#";
                        DecimalFormat df = new DecimalFormat(fmt);
                        String finalCommission = df.format(commission);
                       //output users commission
                       System.out.println("Your commission is $" + finalCommission + "\n");
                       //ask if user would like to enter more commissions
                       System.out.print("More commissions? (y/n): ");
                       //grab thier answer as a string
                       continueCodeString = keyboard.nextLine();
                       //convert to a char
                       continueCode1 = continueCodeString.charAt(0);
                        //extra line to keep it looking good
                       System.out.println();
                       //if customer wants to continue, set continueCode = true,
                       if (continueCode1 == 'y')
                             continueCode = true;
                        //else set continueCode = false and exit the loop
                        else if (continueCode1 == 'n')
                             continueCode = false;
                        }//main while loop
                        //toss program in the garbage.... collector
                        System.gc();
                   }//main
         // create second method to calculate commission
         public static double calcCommission(double salePriceA, double commissionRateA)
              // declare variables
              double commission;
              // calculate commission -> commission = salePrice * commissionRate
              commission = (double)salePriceA * (double)commissionRateA;
              // return results
              return commission;
         }//class

    paulcw wrote:
    The right way would be to create a class called, say, Sale, and Sale would have fields for sale price and commission (and probably other stuff relevant to a sale as well). Before the loop, you could declare a java.util.List of sale objects, like this:
    List<Sale> sales = new ArrayList<Sale>();Then in your loop, after you get a sale price and a commission, you'd create a Sale object, and add the object to the list, like this:
    sales.add(sale);Then after the main loop finished you could loop through this list, and add up values, etc.
    It would also make sense to move stuff like the method that calculates commissions, into the Sale class, but that might not be part of your assignment.Sweet, thanks so much and ya know I definitely should have just read a bit more because just before I read your reply I found ArrayList in the API and added the following to my code:
              //create an array for the salePrice
              ArrayList a = new ArrayList( 100 );
              Collection threadSafeList = Collections.synchronizedCollection( a );
              //create an array for the commissions
              ArrayList b = new ArrayList( 100 );
              Collection threadSafeList2 = Collections.synchronizedCollection( b );right at the top with the other variables and near the bottom, just before i exit the main loop i added:
                        //add elements to the arrays
                        a.add(commission);
                        b.add(salePrice);
                        //test if its working
                        System.out.println(a);
                        System.out.println(b);so that is all working now and I must admit I feel a bit silly for having posted this but then again I guess it did get me to stay up and keep searching hehe.
    Now I just need to sum the elements in the arrayList, after the user chooses to end. My concern is, how are these elements being stored in the array? I assume they are getting stored as Strings so if thats the case could I declare the arrayList as an array of doubles? or would I have to parse the data and then add it all.. Or, is there an easy to use method like ArrayList.sum() or something to that affect.. Im searching as I write this but ya never know.
    Thanks again for your help.
    Take it easy,
    Brad.B
    EDIT:
    Ok so from my reading it seems Im going to need to convert my arrayList to an array and then I can sum the elements. The code would look something like this:
    // get array
    Object c[] = a.toArray();
    double sum = 0.0;
    // sum the array
    for(double i=0.0; i<c.length; i++)
    sum += ((Double) c).doubleValue();
    System.out.println("Sum is: " + sum); altho I could be totally wrong.. it is 4 am and I can barely see straight but I cant stop...  I must... get... this ... done... =P
    Edited by: halfzipp on Jan 29, 2008 2:05 AM
    Edited by: halfzipp on Jan 29, 2008 2:10 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Maybe you are looking for