How to set % based charges ?

We are going to have some charges that are related to the quantity shipped and some that aren't.   Also we have some that have a minimum/maximum charge. Typically, if the charge is a % based charge, then it should be based on the quantity shipped.   If it is not a % based charge, then we will probably NOT base it on the quantity shipped.   So let's look at an example:
a. Order Restocking Percentage Charge = 20% of the order.   Order has 10 lines to be returned for a total amount of $100.    The customer actually  returns 6 lines for $75.    Ideally we want the credit memo to show the restocking fee to be $15, and the order to still show that there is $5 restocking fee to be charged when the last 4 items for $25 are returned.     So either you are going to have to split the restocking fee line and add the split line to a fulfillment set that is associated to one of the lines that is still open, or don't split the restocking fee line and re-associate it to a line that is open, or figure out another method for doing charges that don't invoice until an item is shipped/returned.
b. Customer Down (15% of amount ordered, with a minimum $20 and a maximum of $170)  The charge is associated to only 1 line for 100 pieces for $200 (therefore the Customer Down line would be $30).    Due to availability we are able to ship 40 pieces ($80).   The Customer Down charge percentage for this shipment would calculate as $12 (15% of $80), however there is a minimum charge, so the invoice for this particular shipment would be $20 (the minimum).   Since the line for the item to be shipped splits and shows 60 more pieces due, the Customer Down line should also split and be associated to the item split line, plus the amount still to charged would now be $10 (charge of $30 - $20 invoiced).    All future shipments would then also split as needed and the charge amount for Customer Down would be calculated as  
if (total quantity shipped on all lines * %charge) > minimum
Then if (total quantity shipped on all lines  * %charge) < charge on the order
Then charge amount to invoice = (total quantity shipped on all lines * %charge) - charge already invoiced
Else charge amount to invoice = $0
Else charge amount to invoice = $0
Any solution will be appreciated.
Thanks.

NitinJ,
I might be able to help with a, but I'm completely confused with what you are attempting with b.
For a, we have our restock fees set in Pricing to a Surcharge modifier with a pricing phase of "List Line Adjustment" in Bucket 2.  This causes the modifier to adjust the unit selling price on each individual line independently.  So the customer just gets less credit for each item than what they paid.  We tried it initially with an inventory item method that you indicate above, creating a separate restock line for each product return line and tying them together with a fullfillment set, but really didn't like the way that worked.
For b, is this "Customer Down" line a separate line on the order?  Is it some sort of pre-payment?
Jessica

Similar Messages

  • TPY: How to set maximum charging limit?

    In my Win 7 X220 and Win 8 Yoga11s, both had Lenovo programs (Power Manager and Lenovo Energy Management respectively) that allowed me to maximize battery health by setting a charging threshold.
    In the TPY, is there any Lenovo programs that does that too?
    Solved!
    Go to Solution.

    Lenovo removed the program in Windows 8.1. The battery is set to fully charge under all condition.
    Regards,
    Jin Li
    May this year, be the year of 'DO'!
    I am a volunteer, and not a paid staff of Lenovo or Microsoft

  • How to set the Charge's email checking frequency polling interval?

    HI.  Does anybody know the secret for setting the email checking frequency polling interval?  
    During setup I get two options:  Push and Never.     If I choose push I find no options for setting the check frequency to 15 min, 1 hour, etc......
    Am I missing something?    Would like to tune it to consume an optimal amount of battery.
    Thanks

    Hello LIRob,
    After testing on Droid Charge myself, yes the only options for changing "Email Check Frequency" are "Automatic (Push)" and "Never".  I know you mentioned you are wanting to conserve as much battery usage as possible, so I have included a link below with a short video that gives some tips & tricks on conserving battery on Samsung Charge.
    Tips and Tricks for Battery Conservation on Your Droid Charge by Samsung
    Hope this answers your question!

  • How to set up Dynamic Variants for job which is based on Pay Period

    Hi,
    We need to set up dynamic variant for payroll interface.  This interface is based on Pay periods and that is why we need to use different variant for each month.  Letus know how to set up dynamic variant which will take care of Pay Periods

    Hi,  Thnx for reply.
    We are not changing the control records, current period will be some old period in system. 
    payroll is not processed in SAP,

  • How to create a Platinum,Gold and Silver Customer and how to set different price for a single material based on customer?

    Hi All,
    How to create a Platinum,Gold and Silver Customer and how to set different price for a single material based on customer?
    Assume Material is Pen.
    While creating Sales Order in VA01 how to bring different price for the same material for Platinum,Gold and Silver Customers.
    Kindly help me out.
    Thanks,
    Renjith Jose

    A good place to start is http://www.javaworld.com/javaworld/javatips/jw-javatip34.html
    Also, do a search in this forum on HttpURLConnection. That class allows you to use POST method to send form data to a web server.
    "Hidden" variables are only hidden in HTML. The HTTP that gets POSTed to the web server doesn't distinguish between hidden and not hidden. That is, the content you would write to the HttpURLConnection.getOutputStream() would be something like:
    hidden=1&submit=ok(Of course, the variable names would depend on what the web server was expecting from the form.)
    Also, be sure to set the Content-Type request parameter to "application/x-www-form-urlencoded"

  • How to set the file path dynamically based on sytem, username, and date

    Hi All,
    My requirement is upload the data into one  structure like xyz that is related to t.code MCSZ.
    file will be in  UNIx SERVER .
    PATH IS: /sapif
    file name is xy789 load .txt
    I have  to write code in one user-exit
    how can i set the file path for this.
    shall i put hard code file path?
    because i have to writecode in user-exit.
    plz tell me how to set the file path based ons syetem, username, date
    Thanks in advance
    Ram.A

    Concatenate the field SY-SYSID, SY-UNAME and SY-DATUM for the file path

  • How to stop the charges incurred to my account based on the action of itunes storing U2's newest album into my iPhone that I personally did not pay for?

    How to stop the charges incurred to my account based on the action of itunes storing U2's newest album into my iPhone that I personally did not pay for?

    There was no charge. The album was free.

  • How to set dynamic color , based on xml element

    Hi,
    We have a requirement, where based on certain conditions, a cell will be shown in a specific color. We would like the coloir to be based on an XML element. The xml element will have values like '#FF00FF' etc..
    We tried using xsl attribute with the following syntax ,
    <xsl:attribute xdofo:ctx="block"name="color"><?stdcolor?></xsl:attribute><?end if?>
    where stdcolor is the xml element, but when we use this , this is giving a syntax error.
    Let us know, if this is possible or is there any other alternate way to do this.
    Regards,
    - Vasu -

    Hi Vasu,
    http://winrichman.blogspot.com/2008/09/how-to-set-dynamic-color-based-on-xml.html
    use the following :)
    <xsl:attribute xdofo:ctx="block" name="color" ><xsl:value-of select="stdcolor" /></xsl:attribute>
    TO get the colors you wanted , you can refer to
    http://www.w3schools.com/Html/html_colors.asp

  • How to set a value in dashboard prompt based on user id

    Hi
    i have a requirment like i need to set a dashboard prompt value based on user's login.i.e.if i login as administrator
    the adminstrator is belongs to circle(my requirment)then the circle name willbe displayed in dashboard prompt .
    if any idea pease help me.
    thanks

    Thanks for yor reply.please you can tellme clearly how to set use 'NQ_SESSION.USER' to set the value to logged in User.i.e i have circle table in that users and circle names will be there.it is teradata database.so how can i set that in to the dashboard prompt and one thing along with that prompt the follwing prompts will be there
    mobile no<>
    date<>
    circle name<"user">
    this is my requirement so please help me step by step what to do for achiving this.
    thanking oyu

  • How to set role based Authorization in JAAS

    how to set role based Authorization in JAAS
    i had user name , password and role in FileLogin
    thanks
    arun .v.

    http://dev2dev.bea.com/pub/a/2003/04/Kemp_Helton.html?page=last

  • How to optimize iterative approach into set based approach

    I have an iterative query that I need to optimize with hopefully a set based approach. Every hour it looks at a vehicles gps data and loops over the
    data points looking for idle times longer than X minutes. If the vehicle has been idle, but less than X minutes and it starts moving, the idle time is reset, and begins checking for the threshold again when the speed <= 1.
    For each vehicle, I only want to know the consecutive idle times greater than X seconds. the thing to note as well, if the idle time doesn't reach the threshold and
    the vehicle starts moving, the time is then considered moving time and not idle time.
    here is the query - Thanks in advance for any help!
    WHILE @iLoop = 1
    BEGIN
    If( @iCurRow is null) select @iCurRow = 1
    Else select @iCurRow = @iCurRow + 1
    IF @iCurRow is null Break
    select @curTS = TS,
    @curIgn = IgnitionOn,
    @curSpeed = Speed,
    @span = 0
    from @temp where ID = @iCurRow
    select @nextTS = TS,
    @nextSpeed = Speed
    from @temp where ID = @iCurRow+1
    set @span= isnull(sum(datediff(second,@curTS, @nextTS)),0)
    if(@curSpeed <= 1 and @curIgn = 1)
    Begin
    if(@isIdling = 1)
    Begin
    set @adjIdle = @adjIdle + @span
    End
    else if((@cumIdle + @span) >= @idleThreshold)
    Begin
    set @adjIdle = @adjIdle + @cumIdle + @span
    set @cumIdle = 0
    set @isIdling = 1
    End
    else
    Begin
    set @isIdling = 0
    set @cumIdle = @cumIdle + @span
    End
    End
    else if(@curSpeed > 1 and @curIgn = 1)
    Begin
    set @isIdling = 0
    set @adjMove = @adjMove + @cumIdle + @span
    set @cumIdle = 0
    End
    else if @curIgn = 1
    Begin
    set @isIdling = 0
    set @cumIdle = @cumIdle + @span
    End
    else if @curIgn = 0
    Begin
    if((@cumIdle) >= @idleThreshold)
    Begin
    set @adjIdle = @adjIdle + @cumIdle
    set @cumIdle = 0
    set @isIdling = 0
    End
    else
    Begin
    set @adjMove = @adjMove + @cumIdle
    set @cumIdle = 0
    set @isIdling = 0
    End
    End
    IF @iCurRow+1 = @iMaxRow Break;
    END
    End

    I molded your sample data into INSERT statements (please provide the INSERT
    statements yourself next time), and declare variables. I defined the
    threshold, and I added a SELECT of what I think is the final output. But it
    returns 0 and not 10 as suggested. I have probably not understood the
    problem correctly.
    Whether this can be done set-based for a single vehicle, I don't know, but I
    assume that you are looking at many vehicles at a time. What you definitely
    can do is to work with all vehicles at the same time. Number the rows per
    vehicle, and the work with all rowno = 1 at once, then rowno = 2 at once
    etc.
    This is my script as far as I got.
    declare @temp as table
       ID int identity,
       TS datetime2,
       IgnitionOn bit,
       Speed decimal(4,1),
       GPIO1 bit,
       GPIO2 bit,
       Location varchar(3),
       Odometer bigint,
       Lat decimal (9,6),
       Lng decimal (9,6)
    INSERT @temp (TS, Speed, IgnitionOn)
    VALUES
    ('12:00',   5,   1)   ,
    ('12:02',   0,   1)   ,
    ('12:04',   0.5,   1),
    ('12:06',   0,   1)   ,
    ('12:08',   0.25,   1),
    ('12:10',   0,   1)   ,
    ('12:12',   2,   1)   ,
    ('12:14',   6,   1)   ,
    ('12:16',   10,   1) ,
    ('12:18',   0,   1)    ,
    ('12:20',   0,   1)   ,
    ('12:22',   15,   1),
    ('12:24',   20,   1),
    ('12:26',   30,   1),
    ('12:28',   0,   1),
    ('12:30',   0,   1)
    DECLARE @iLoop int = 1,
            @iCurRow int,
            @curTS datetime2,
            @curIgn bit,
            @curSpeed decimal(4, 1),
            @nextTS datetime2 ,
            @nextSpeed decimal(4,1),
            @span      int,
            @isIdling  bit,
            @adjIdle   int,
            @cumIdle       int,
            @idleThreshold int = 10,
            @cumIdling     int,
            @adjMove       int,
            @iMaxRow       int  = (SELECT MAX(ID) FROM @temp)
    WHILE @iLoop = 1
    BEGIN
              If( @iCurRow is null) select @iCurRow = 1
              Else select @iCurRow = @iCurRow + 1
              IF @iCurRow is null Break
              select @curTS = TS,
                     @curIgn = IgnitionOn,
                     @curSpeed = Speed,
                     @span = 0
                   from @temp where  ID = @iCurRow
              select @nextTS = TS,
                      @nextSpeed = Speed
                   from @temp where  ID = @iCurRow+1
              set @span= isnull(sum(datediff(second,@curTS, @nextTS)),0)
              if(@curSpeed <= 1 and @curIgn = 1)
              Begin
                   if(@isIdling = 1)
                   Begin
                        set @adjIdle = @adjIdle + @span
                   End
                   else if((@cumIdle + @span) >= @idleThreshold)
                   Begin
                        set @adjIdle = @adjIdle + @cumIdle + @span
                        set @cumIdle = 0
                        set @isIdling = 1
                   End
                   else
                   Begin
                        set @isIdling = 0
                        set @cumIdle = @cumIdle + @span
                   End
              End
              else if(@curSpeed > 1 and @curIgn = 1)
              Begin
                   set @isIdling = 0
                   set @adjMove = @adjMove + @cumIdle + @span
                  set @cumIdle = 0
              End         
              else if @curIgn = 1
              Begin
                   set @isIdling = 0
                   set @cumIdle = @cumIdle + @span
              End
              else if @curIgn = 0
              Begin
                   if((@cumIdle) >= @idleThreshold)
                   Begin
                        set @adjIdle = @adjIdle + @cumIdle
                        set @cumIdle = 0
                        set @isIdling = 0
                   End
                   else
                   Begin
                        set @adjMove = @adjMove + @cumIdle
                        set @cumIdle = 0
                        set @isIdling = 0
                   End
              End
              IF @iCurRow+1 = @iMaxRow Break;
         END
    --End
    SELECT @cumIdle
    Erland Sommarskog, SQL Server MVP, [email protected]

  • How To Set Up Airport Express To Use With iPad2 For My Needs ?

    On the advice of several people in a audio forum, I just purchase an Apple Airport Express. I will be using it with my new iPad 2. What I need to accomplish is using my iPad2 to stream subscription based music from the internet to the Airport Express, and for the Airport Express to connect via toslink cable to the DAC in my audio system.
    What I am not sure about is how to set up my Airport Express to accomplish this. I do have a wireless network in my home, but wish to keep the wireless connectivity between the Airport Express and the iPad2 separate from it.
    I would greatly appreciate any assistance with this. Thanks.

    Deggie, firstly, thank you for your attempt to help. I greatly appreciate it. I connected it via the ethernet cable to the router since when I reconfigured the Airport Express adding it to my existing wireless system, the iPad could not connect to anything until I unplugged the Airport Express. I set it up for an ethernet connection to my router based on that experience.
    Either the Ipad does not seem able to send anything to the Airport Express, or the AEX is not passing anything on. I also tried streaming a song stored on the iPad 2 to the AEX with no result, so it is not an issue with the subscription channel.
    I don't own a miniplug cable of any sort for further testing, but the toslink cable is brand new, and was literally taken out of its package and plugged in, so I feel it extremely unlikely it is the issue. I've also tested it in three inputs on the DAC, so it is definitely not an issue with it.
    I have a question though. You said "when you start your subscription and go to Airplay, does the iPad see the AEX?" You may be on to something there. How do I "go to Airplay" I thought it was just automatic?  Also, how do I "select it"? This may be the problem.

  • How to set up shared use of "Contacts" data w/ 2 individual user accounts?

    How to set up shared use of application "Contacts" data for two individual user accounts?

    Link the contacts in one user account to a online cloud based system like Google or apples iCloud and then link the second user to that same online account. This could cause some slight problems if both people maintain their own online account to either of those systems on a phone or pad.

  • HOW TO: Set up your application server to run BC4J

    How To set up your application server to run BC4J.
    INTRODUCTION
    A running BC4J application is actually the combination of:
    * Your own application files
    * BC4J runtime libraries
    In order to successfully run your BC4J application in local mode, the first requirement is
    that your application server contains the necessary BC4J libraries.
    This How To describes the steps required to ensure that you have a functional
    BC4J runtime environment installed on your application server.
    Oracle IAS 1.0.2 and Tomcat 3.1 will be used as examples.
    THE BC4J RUNTIME LIBRARIES
    Whatever application server you deploy to, the following libraries
    are required in the following order to be in the classpath.
    BC4J Libraries:
    xmlparserv2.jar
    jdev-rt.zip
    jbojdbcpatch.zip
    connectionmanager.zip
    jbohtml.zip
    jboimdomains.zip
    ordim817.zip
    ordvir817.zip
    ordhttp.zip
    jbomt.zip
    jbodomorcl.zip
    jboremote.zip
    jndi.jar
    jbodatum12.zip
    These libraries can be found in <JDEV_HOME>/lib/
    INSTALLING THE LIBRARIES ON IAS:
    Installing the libraries is simply a matter of copying them to the
    application server's filesystem and adding them to the classpath.
    IAS's classpath can be modified by editing the file:
    <IAS_HOME>\Apache\Jserv\conf\jserv.properties
    In this file you'll find the existing pre-installed BC4J libraries which
    looks like this:
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\lib\ordvir817.zip
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\lib\ordim817.zip
    etc.
    Note! These BC4J libraries correspond to JDeveloper 3.1.1.
    In order to run JDev 3.2 based applications you will have to update these libraries
    to JDeveloper 3.2 production.
    Steps:
    1. Copy (or FTP) the JDev 3.2 BC4J libraries from <JDEV_HOME>\lib to a NEW directory on the
    appserver's filesystem called:
    <IAS_HOME>\Apache\BC4J\newlib
    2. Modify the classpath by editing <IAS_HOME>\Apache\Jserv\conf\jserv.properties.
    Example: (modified classpath entries)
    # New 3.2 BC4J Runtime libraries
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\xmlparserv2.jar
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jdev-rt.zip
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jbojdbcpatch.zip
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\connectionmanager.zip
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jbohtml.zip
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jboimdomains.zip
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\ordim817.zip
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\ordvir817.zip
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\ordhttp.zip
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jbomt.zip
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jbodomorcl.zip
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jboremote.zip
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jndi.jar
    wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jbodatum12.zip
    Note: Make sure to remove or comment out the existing 3.1.1 BC4J library entries!
    To see the changes, you must restart IAS and that's it, your IAS will be updated with
    the JDev 3.2 BC4J libraries which allow you to run BC4J Data Tags among other
    things!
    INSTALLING THE LIBRARIES ON TOMCAT
    As before, this process involves both the copying of the libraries
    and modifying the classpath.
    After copying the BC4J libraries to a path accessible from Tomcat,
    you can modify Tomcat's classpath by editing it's startup script:
    <TOMCAT_HOME>\bin\tomcat.bat (NT)
    <TOMCAT_HOME>\bin\tomcat.sh (Unix)
    Here is a portion of a modified tomcat.bat (on NT)
    rem Add BC4J libraries
    set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\xmlparserv2.jar
    set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jdev-rt.zip
    set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jbojdbcpatch.zip
    set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\connectionmanager.zip
    set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jbohtml.zip
    set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jboimdomains.zip
    set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\or dim817.zip
    set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\ordvir817.zip
    set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\ordhttp.zip
    set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jbomt.zip
    set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jbodomorcl.zip
    set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jboremote.zip
    set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jndi.jar
    set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jbodatum12.zip
    rem Add Oracle JDBC library
    set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\classes12.zip
    Note: I also added the Oracle JDBC library since Tomcat does not have it.
    It is found at:
    <JDEV_HOME>\jdbc\lib\oracle8.1.7\classes12.zip
    And That's It!
    When Tomcat is restarted using this script, the necessary BC4J libraries
    will be in the classpath..
    A follow up How To:"How To Deploy a BC4J JSP Application on IAS and Tomcat"
    will be posted shortly!

    I copied the following files in jserv classpath
    bc4jct.jar
    bc4jctejb.jar
    bc4jdomorcl.jar
    bc4jhtml.jar
    bc4jimdomains.jar
    bc4jmt.jar
    bc4jmtejb.jar
    bc4juixtags.jar
    collections.jar
    datatags.jar
    jdev-cm.jar
    regexp.jar
    share.jar
    uix2.jar
    cabo.war
    classes12.jar
    nls_charset12.jar
    ordim.jar
    ordhttp.jar
    runtime12.jar
    jdev-rt.jar
    xmlparserv2.jar
    bc4j_jclient_common.jar
    webapp.war
    I got this list from Jdev 9031 on-line help
    I also copied the new DataTags.tld file to /webapp directory
    When i run my jsp page i get this error..
    java.lang.NoClassDefFoundError: java/util/TimerTask
         at oracle.jbo.http.HttpContainer.findSessionCookie(HttpContainer.java:693)
         at oracle.jbo.html.jsp.datatags.ApplicationModuleTag.doStartTag(ApplicationModuleTag.java:148)
         at jspapp.odrjsp__html._menu._jspService(Compiled Code)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(Compiled Code)
         at oracle.jsp.JspServlet.doDispatch(Compiled Code)
         at oracle.jsp.JspServlet.internalService(Compiled Code)
         at oracle.jsp.JspServlet.service(Compiled Code)
         at javax.servlet.http.HttpServlet.service(Compiled Code)
         at oracle.portal.provider.v1.http.JspRenderer.renderBody(JspRenderer.java:116)
         at oracle.portal.provider.v1.RenderManager.render(RenderManager.java:164)
         at oracle.portal.provider.v1.http.ServletProviderResponse.showPortlet(Compiled Code)
         at oracle.portal.provider.v1.http.HttpProvider.dispatchProviderAction(Compiled Code)
         at oracle.portal.provider.v1.http.HttpProvider.service(Compiled Code)
         at javax.servlet.http.HttpServlet.service(Compiled Code)
         at org.apache.jserv.JServConnection.processRequest(Compiled Code)
         at org.apache.jserv.JServConnection.run(Compiled Code)
         at java.lang.Thread.run(Compiled Code)
    In the JDK 1.3 APi docs, i found that TimerTask was introduced only in JDK 1.3
    Does this mean that BC4J (in jdev 9031) will only work
    with JDK 1.3 or later?
    Thanks for your time.
    Harish

  • How to set up automatic payment for the purchase order

    Hi, All,
    I have one question how to set up automatically payment for the Rent Office purchase Order?
    There is the requirement from the client. They want to create one kind of purchase order for the Office Rent, then pay the fees in the certain time of every month to the vendor for the rent fees without any invoice. Whatu2019s the normal solution for this kind of purchase order? Is it ERS? Or something else?
    Please give me the details and business flow. Also please tell me how to setup in the SAP and T-code.
    Thanks in advance

    Either you can set up ERS or you can pay directly from the FI side.
    Prerequisites
    Evaluated receipt settlement must be flagged in the purchase order item.
    The vendor must be flagged as being subject to ERS in the vendor master record.
    The goods receipt must refer to a purchase order.
    Goods-receipt-based Invoice Verification must be defined for the purchase order item.
    A tax code must have been maintained in the purchase order item.
    The order price of the materials may not be an estimated price.
    If you flag a vendor as being subject to ERS, the system sets the ERS indicator as a default in each item when you create a purchase order for the vendor. You can prevent this happening for certain vendors by flagging the info record for the material and the vendor as not being subject to ERS.
    In Purchasing, you can delete the default ERS indicator in a purchase order item.
    Choose Logistics Invoice Verification ® Automatic Settlement ® Evaluated Receipt Settlement (ERS).
    The selection screen appears.
    You can use the following criteria to narrow down selection of the transactions to be settled:
    Company code
    Plant
    Goods receipt posting date
    Goods receipt document
    Fiscal year of the goods receipt
    Vendor
    Purchase order and order item
    You can define the selection criteria for the invoice documents by:
    Delivery
    Purchase order
    Purchase order item
    Goods receipt document
    Credit memo
    Invoice
    Currency
    Choose  Execute.
    The system issues a log for Evaluated Receipt Settlement, which displays the following:
    Settled
    In line with your selection criteria, the system displays all the order items that were settled (or if you are working in test mode, which would have been settled).
    Could not be settled
    In line with your selection criteria, the system displays all order items for which ERS is defined but could not be settled. It also lists the reasons.
    If the system reports being unable to invoice a transaction, you should exclude the transaction from ERS to avoid it being included in the log the next time ERS is run.
    Select the item and choose Exclude from ERS.
    The system also generates and possibly sends a message to inform the vendor(s) about the transaction settled, depending on the settings in Customizing.
    You can display the following environment information for the order items selected. To do this, choose Goto ®:
    Display purchase order
    Display invoice
    Display material document
    Display long text

Maybe you are looking for