Special prices leading to rounding on lines of sales documents

Hi
i have a user who is using special prices against items to store custom prices for their customers.  They are settting a default sell price on the items under special prices as opposed to a % discount as these are fixed prices that they have agreed.  This in turn calculates to percentage discount for each item
This all seemed to work well when piloting the system pre go live.  However they have since noticed that in some cases based on the way the system works that the system is rounding differently than expected.
Eg
Item set up at sell price of u20AC191
Special price agreed with BP u20AC132
On a sales invoice sell out 4 items.  You would expect that the system calculate 132 * 5 giving a line total u20AC 528 but instead the system is giving me 527.99
This is causing problem for the client.  I have logged a message in relation to this but have been informed that this is the way the system works
Has anyone come up against this before and what solutions have you developed? 
Thanks in advance
David

Gordon
I have tested as below on the message but they only appear to round the doc total.  All transactions are Euro
Regards
David
30.03.2009 11:55 Reply to Reporter by SAP 
Dear David,
Thank you for your feedback.
We tested your scenario in the version 2007A SP00 PL47.
Scenario 1:
1., Administration -> System Initialization -> Document Settings ->
General tab. In the Rounding method, select By Currency.
2., Administration -> Setup -> Financials -> Currencies -> Set the
'Rounding' of the currency used to 'Round to One'.
The Total of a sales order entered is correctly rounded to one.
In the Rounding field the rounding difference is showed.
Scenario 2:
1., Administration -> System Initialization -> Document Settings ->
General tab. In the Rounding method, select By Document.
2., Administration -> System Initialization -> Document Settings ->
Per Document tab. Select Sales order and tick 'Automatic Rounding for
Document'.
The Total of a sales order entered is correctly rounded to one.
Please upgrade your database to this patch level and test the scenario.
If the rounding is still not correct please get back to us.
In case you have any doubt or question please do not hesitate to
contact me.
Otherwise please confirm this message at your
earliest convenience.
Thank you in advance,
Best Regards
Andras Suto
Support Consultant
SAP Product Support for SAP Business One
SAP SSC - Ireland Ltd 
30.03.2009 16:16 Reply to Support Center  by David Kenny
Andras
I have studied your response but I tink we may be discussing two
different points. Your response seems to relate to rounding on the overall
document.
What my client is trying to do is to ensure that each line of the document
shows the correct rounding. If you took my original examples as a two
line sales order with a qty of 4 of each product
Product A - 580.00 * 4 = 2320.01
Product B - 132 * 4 = 527.99
The total on the order would be rounded based on what you have
described above but the individual line totals are rounded incorrectly
based on the price they have agree with their customer.
Is there something that can be set in the database to allow for this?
Regards
David
31.03.2009 09:25 Reply to Reporter by SAP 
Dear David,
Thank you for your clarification.
As explained earlier the system supports two types of rounding for
the calculation of the Total of the document but unfortunately
it is not possible to use rounding on line level in a document.
In case your customer would need this, you may consider to use
a user defined field where the rounding is applied as requested.
In case you have any doubt or question please do not hesitate to
contact me.
Otherwise please confirm this message at your
earliest convenience.
Thank you in advance,

Similar Messages

  • Special price by date

    Maybe someone will be able to help me on this issue.
    We have a customer that we periodacly give him discounts on a group of 20-30 items for a limited time.
    We would like to enter it in SAP but its a lot of work since on every line we have to click again to enter the dates the discount is valid.
    Is there any way to enter a date range and then select all the items that will be discounted that period?
    Ephraim

    Hello ...
    If there is a way you can do ...
    If you open the window of special prices, you can select several lines .. test by selecting from last to first ... then uncheck without double clicking on the first and assigns a date range ... ell copy button then applies discounts and will open a new window that lets you choose any option ..
    I just did .. and that is why I commented that if possible
    Best Regards,

  • Business Partner Special Price Import - DTW

    Forum,
    We have a number of special prices for Business Partners which we'd like to update. In some cases, we would like to remove the current special price and have the system pick up the unit price against an item within Item Master Data.
    When importing through DTW using the OSPP template, we have entered '0' as the price. This correctly imports in through DTW and removes the special price however, when we then raise a sales order for that item. The unit price is zero and it hasn't picked up the unit price against the item within item master data.
    Is this how it works or is there a setting we're perhaps missing? I have test this in the demo and it does pick up the unit price from item master. In our set of data, it does not.
    Regards,
    Juan

    Hi Juan,
    You may check:
    Re: Price List table not updated
    Prices auto adjusted when setting up BP Special Prices
    Thanks,
    Gordon

  • Special Price + Formatted Search for Special Price.

    Hi all,
    Appreciate some help here.  Our client is using SAP B1 2007 Patch 38.  AU/NZ localization, Local Currency = AUD.
    Scenario:
    Item A, Price List 1 = $2795, Price List display = 4 decimals, Price List Currency = USD
    Special price for Item A has been set up as follows:
    Step 1 - Go to Item> Price List> Price and Volumne Discount
    Step 2 - The price and volumn discount screen opened. From the drop down, select price list and then select Item A by double clicking the line.
    Step 3 - Period Discount screen opened.  Valid from = 9th July 2008. Price = $2795.
    Step 4 - Double click the line, Volume Discount Price List open, with the following details maintained.
    Quantity=1, Discount=0, Special Price = $2795.
    Quantity = 10, Discount=7.1556, Special Price = $ 2595.0010
    Quantity = 100, Discount=10.0179, Special Price=$ 2514.9997
    Question:  we intend to put in Special price = $2595 and $2515, but SAP just does its own round up.  Is there a way to work around?
    Scenario 2:
    To deal with the problem from Question 1, we have created a formatted search in the sales order and formatted search to round up the value in Line Total.
    Column = Line Total
    Trigger by = Quantity
    Query = SELECT (case when $[$63.0.0]='USD' then Round($[$38.23.number],0) else $[$38.23.number] end)
    Column = Quantity
    Trigger by = Discount%
    Query = SELECT $[$38.11.1]
    The above set up works fine, if the user enter the quantity correctly the first time. 
    Eg:
    User enter Qty = 10, SAP will display Discount = 7.1556 % and Line Total = $25,950.00 (Round up from $25950.01).
    If user notice the quantity is wrong and then enter new quantity = 100, the discount remains at 7.1556%, it should be 10.0179%.
    Question: Is there a way to work around this?

    Hi Shawn ,
    1.First check the decimal setting
    a.Administration --> system intilisation --Document setting -- currency or by document --
    b.System initiliaisation ---> general settng --->Display
    c.Administration set up->Financial currency ---rounding --???
    Currency setting overides the rounding method of procedure B
    Scenario2
    Since your trigger is dicount percentage , You will not get the desired output from the formatted search . Try to get the trigger at quantity .
    Hope that helps
    Bishal

  • How to copy Sales Quotaton prices to Price List or Special Prices

    We frequently use Sales Quotation to communicate deal price offers to customers.  Once these prices are approved, we have to re-type these prices into applicable price lists or special prices. 
    We are looking for a way to copy these deal prices from Sales Quotation (by Business Partner) over to the applicable price list and special prices?
    Please assist?
    Jaco de Villiers

    I was told by my Implementation Partner that it is possible to import and update price list by using the Import function that is available in SBO.  To do this:
    1. From your sales quotation with the agreed prices - export to excel.
    2. Change the format to list: Product code, Price list to update, New price, Currency
    3. Save the file as tab delimited text
    4. Import into SBO using the Administration, Data Import/Export, Data Import, Import from Excel option.
    5. Choose Item type to import
    6. In the B line, choose Price List Code, the list updates to show only the fields relevant to price list updates
    7. Press OK and follow rest of instructions to complete the import.
    I found the above to be simple, repeatable and reliable enough to solve my initial question.

  • Change Log needed at price list and special prices

    Tracking changes made to the price list and special prices by BP is a valuable control function missing that needs to be included in future.

    I was told by my Implementation Partner that it is possible to import and update price list by using the Import function that is available in SBO.  To do this:
    1. From your sales quotation with the agreed prices - export to excel.
    2. Change the format to list: Product code, Price list to update, New price, Currency
    3. Save the file as tab delimited text
    4. Import into SBO using the Administration, Data Import/Export, Data Import, Import from Excel option.
    5. Choose Item type to import
    6. In the B line, choose Price List Code, the list updates to show only the fields relevant to price list updates
    7. Press OK and follow rest of instructions to complete the import.
    I found the above to be simple, repeatable and reliable enough to solve my initial question.

  • Future Dated Special Prices

    I have created a Special Price that does not go into affect until a future date. When the item associated with this special price is entered in an order for the BP, no price comes up. It appears that the existence of the special price stops SAP from looking elsewhere yet because the special price is not in affect yet relative to the date entered, no price is retrieved. The BP has a Discount Group that supports a price for the Item and the BP has a default price list. One would expect that SAP would look for a Special Price for the date on the order, not find it because of the date set in the Special Price,  and then go look at Discount Group and find the price there. I wouldn't expect that I would have to enter a line in the Special price to support the BP until the future date is reached. Bug or poor functionality?

    Hi Chris,
    I'm not able to replicate that behaviour.  The system however doesn't operate quite as you expect, as special prices always override discount groups.  So when we set up a special price it has to have a price in the main special prices window as well as in the period discounts window.  then when you key an order, it will use the price from the special prices window over any discount group price until the period discount comes into effect.
    Perhaps you have no price in the main special prices window?
    Michael

  • Special prices - Group discount

    Hi
    There are special prices defined for certain customers. A special price discount were defined for a certain period which ended at the end of Sept 2010. Previously a group discount of 10% was defined for this customer. Now that the period discount expired, the special price dicount should revert back to the group discount of 10%  but it doesn't. It just pulls through the normal price as per the price list assigned to the BP.
    I deleted the period discount line in the period discount window even though the period expired but no luck.
    I couldn't find any notes on the subject so has anyone got a solution for me?
    The version is 2007A PL 44
    Regards
    Danie

    Hi
    After much testing it seems that the system handles it in the following manner -
    If the item exists in the window for 'Special prices' - which is the highest level, and even if the disc % is zero, no further checking is done - even though a disc exists in a lower level, in this case 'Group Discounts'.
    When you delete the item from the 'Special Prices' window, the discount defined for 'Groups' pulls through.
    This is the case in 2007 PL44 and also in 8.8 PL11 so I suppose it's just the way SBO handles special prices.
    This may be ok for companies with few bp's and items, but for my client with many bp's and huge warehouses, maintaining special prices is a huge problem.
    Regards

  • Error in DTW for Special Prices while using

    Hi All,
             while tryin to import Special prices through DTW, I'm gettin an error message, " No Price defined for item in selected price list". CAn anyone please suggest how to import special prices and whts the casue of this error??
    Thanks in advance,
    Joseph

    Hi Joseph,
    Check the link
    Updating Special Prices via DTW
    special prices
    Re: Price List per Document Line
    DTW Template for Uploading Special Prices for Business Partners.
    *Close the thread if issue solved.
    Regards
    Jambulingam.P
    Edited by: Jambulingam P on Jun 29, 2009 11:57 AM

  • Prices on invoices not mantained - Discounts - Special Prices

    Hello everybody,
    I'm developing with SBO2005 A PL7 and DI API.
    I have this problem with an our addon that generates invoices.
    If I set this properties:
    .Lines.Price = X
    .Lines.DiscountPercent = Y
    and I have Stock Management - Price Lists - Special Prices - Discount Groups setted for this customer,
    the price X comes mantained ok, but the DiscountPercent Y comes overwritten on this instruction:
    objInvoice.Add as if it takes another PriceList.
    Do you know why?
    How can I set this field AR/Invoice - Form Settings  - Price List (for the document)?
    Thank you
    Andy

    I intended the field Price List field in [Form 998, Item = 31, Variable = 2, OCTG.ListNum]
    Thank you again

  • Special price for BPs

    Hi experts,
    I have created a special price for a BP based on trade price as price list and it is not on automatic mode, when I do sales order for this BP the unit price is same as trade price and the discount and price after discount comes from the special price as defined.
    Now when I change the trade price for this item and do sales order then the unit price is not same as trade price, it is showing the old trade price,
    Here my question is if I define special price and keep it on non auto mode, when there is a trade price change then where from the unit price comes at sales order? is it from special price?
    Thanks in advance.
    Rgds
    Suman

    Hi Suman Roy...
    Special Price Use
    Special prices can be used for the following scenarios:
    You want to specify a special price for a customer when a particular item or an item from a particular item group is purchased. In this case, you specify a price that depends on the business partner.
    You want to define special prices for an item that are to apply for particular periods of time. In this case, you specify a date-dependent price.
    Depending on the quantity ordered, you want to assign a special price. If the quantity ordered is very large, you sell or buy an item at a lower price than with a small quantity. In this case, you specify a quantity-based price.
    From time to time, you will also want to update all or particular special prices. You can do this, for example, by changing the discount for selected special prices. You can also select specific special prices and change only these prices. You can refer price list updates to the derived special prices. You may also want to delete particular special prices after a defined period of time. Once you have defined special prices for individual cases (that is, for a particular business partner), you can copy them to other business partners or groups of business partners according to various sets of rules.
    If you want to refer discounts to particular item groups, items with particular properties, or manufacturers regardless of the business partner, you can define discount groups.
    If you do not want special prices to depend on a business partner, you can also define special prices for a price list. These always apply if no special prices have been defined for a business partner. These special prices can also be defined on the basis of a particular date and/or quantity.
    Automatic Price Calculation
    When you enter a business transaction, such as an outgoing invoice or a purchase order, the system calculates the price for an item automatically. The system proceeds as follows here:
    The system first checks whether a special price has been defined for the item for this particular business partner. This special price could also be based on a particular date or quantity.
    If no special price has been defined, the system checks whether a discount group has been defined for the business partner that can be applied to the item.
    If no special price has been defined, the system checks whether a special price has been defined for the item (for the price list entered in the master record of the business partner), which once again can be based on a particular date or quantity.
    If no special price has been defined, the system copies the price for the item from the price list entered in the master record of the business partner.
    If a discount has been granted because of a special price, the discount is indicated in the detailed information of a line in the purchasing or sales document in the Discount % field.
    Regards

  • Report to show changes in special prices

    Hi All
    We are having a problem currently where some users change the prices in the system and since the special prices table or price table does not have a log it makes it difficult to check who changed the prices from what price to what price and when.
    So as a solution I am looking for a report or function that will alert me when there is any price change, or a log file that can log any price changes in the system.
    We are using SBO 8.81 A PL09

    Hi,
    You've posted your question in the System Administration forum which is for system installation and configuration topics. Your question would be better placed in the reporting forum:
    http://scn.sap.com/community/business-one/reporting-and-printing/content?filterID=content~objecttype~objecttype[thread]
    or in the general application forum:
    http://scn.sap.com/community/business-one/content
    In answer to the question, I think you could probably create your own logging solution by creating a separate SQL table and using a script in the SBO_SP_TransactionNotification proc to insert a record in this table when a user updates a special price. The SBO client will pass the CardCode and ItemCode properties through in the proc. The object type is 7. The OSPP has a UserSign field but I'm not sure if that holds the UserID of the original user who created the special price or if its the user who last updated the record. You'd have to test that. Alternatively you could develop an add-on that runs in the GUI to track the user clicking on Add/Update in the special pricing screen and recording the details.
    Kind Regards,
    Owen

  • How to update PO Price only for a single line item and not other Line Item

    Hi
    My requirement is not to update Price of PO from PIR if the Final Invoice Indiactor is not set and it is not a return PO. I am trying to do this using
    BAPI_PO_CHANGE to update price automatically from Pricing record using
    POITEM-PO_ITEM = '00001'
    POITEM-CALCTYPE = 'B'.
    POITEMX-PO_ITEM = '00001'
    POITEMX-CALCTYPE = 'X'.
    The price gets updated for the line item 1 as well as other line item which I do not want. Please can you tell how to restrict that.
    Is it possible to restrict through configuration if this indicator is set there should be no price update. I tried to check in ME22n and if I update the condition item by pressing the update button the other item price also gets updated.
    Thanks
    Arghadip

    Timestamp is date and time together in one field..
    Search for data element TIMESTAMP.
    If you are getting this in your table.
    If you are getting time and date in different fields then you can use the function module
    given below....
    CALL FUNCTION 'DELTA_TIME_DAY_HOUR'
      EXPORTING
        t1            =
        t2            =
        d1            =
        d2            =
    IMPORTING
       MINUTES       =
    Then you can convert minutes into seconds..
    Function module credit to BrightSide it works....but only it will give difference in minutes
    Regards,
    Lalit Mohan Gupta.

  • DI API: 2005A PL: 08  Special Prices

    Hi everyone,
    I am using the DI-Object SpecialPrices for adding a special price in the Database. We use a German MSSQL Server 2000 and VB.Net (1.1)
    My Code:
    Public Sub PreislisteZwischenspeichernLöschenUndSetzen()
                'Dim oPreisliste As SAPbobsCOM.PriceLists
                Dim oSonderpreisliste As SAPbobsCOM.SpecialPrices
                Dim oSonderpreislisteDataArea As SAPbobsCOM.SpecialPricesDataAreas
                Dim oSonderpreislisteQuantityArea As SAPbobsCOM.SpecialPricesQuantityAreas
                Dim oSBOB As SAPbobsCOM.SBObob
                oSBOB = oCibAddOn.oCompany.GetBusinessObject(BoObjectTypes.BoBridge)
                'oPreisliste = oCibAddOn.oCompany.GetBusinessObject(BoObjectTypes.oPriceLists)
                oSonderpreisliste = oCibAddOn.oCompany.GetBusinessObject(BoObjectTypes.oSpecialPrices)
                ' Staffelpreisliste neu eingeben
                ' Wichtig, Standardpreis muss in der Preisliste unter ITM1 eingegeben sein
                Dim oArtikelPreis As SAPbobsCOM.Items
                Dim oArtikelPreise As SAPbobsCOM.Items_Prices
                oArtikelPreis = oCibAddOn.oCompany.GetBusinessObject(BoObjectTypes.oItems)
                oArtikelPreis.GetByKey("9999")
                Dim intIndex As Integer = 0
                Dim blExit As Boolean = False
                Do While blExit = False And intIndex < oArtikelPreis.PriceList.Count
                    oArtikelPreis.PriceList.SetCurrentLine(intIndex)
                    If oArtikelPreis.PriceList.PriceList = 1 Then
                        oArtikelPreis.PriceList.Currency = "EUR"
                        oArtikelPreis.PriceList.Price = 12.5
                        If oArtikelPreis.Update() <> 0 Then
                            MsgBox(oCibAddOn.oCompany.GetLastErrorDescription)
                        End If
                        blExit = True
                    End If
                    intIndex += 1
                Loop
                oSonderpreisliste.CardCode = "70000"
                oSonderpreisliste.ItemCode = "9999"
                oSonderpreisliste.Currency = "EUR"
                oSonderpreisliste.Price = 12.5
                oSonderpreisliste.PriceListNum = 1
                oSonderpreisliste.SpecialPricesDataAreas.SetCurrentLine(0)
                oSonderpreisliste.SpecialPricesDataAreas.AutoUpdate = BoYesNoEnum.tYES
                oSonderpreisliste.SpecialPricesDataAreas.DateFrom = New System.DateTime(2006, 4, 26)
                oSonderpreisliste.SpecialPricesDataAreas.Dateto = New System.DateTime(2006, 4, 28)
                oSonderpreisliste.SpecialPricesDataAreas.PriceCurrency = "EUR"
                oSonderpreisliste.SpecialPricesDataAreas.PriceListNo = 1
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPrice = 12.5
                oSonderpreisliste.SpecialPricesDataAreas.Add()
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPricesQuantityAreas.SetCurrentLine(0)
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPricesQuantityAreas.PriceCurrency = "EUR"
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPricesQuantityAreas.Quantity = 1
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPricesQuantityAreas.SpecialPrice = 12.5
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPricesQuantityAreas.Add()
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPricesQuantityAreas.SetCurrentLine(1)
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPricesQuantityAreas.PriceCurrency = "EUR"
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPricesQuantityAreas.Quantity = 100
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPricesQuantityAreas.SpecialPrice = 10
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPricesQuantityAreas.Add()
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPricesQuantityAreas.SetCurrentLine(2)
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPricesQuantityAreas.PriceCurrency = "EUR"
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPricesQuantityAreas.Quantity = 1000
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPricesQuantityAreas.SpecialPrice = 7.5
                oSonderpreisliste.SpecialPricesDataAreas.SpecialPricesQuantityAreas.Add()
                If oSonderpreisliste.Add <> 0 Then
                    MsgBox(oCibAddOn.oCompany.GetLastErrorCode)
                    MsgBox(oCibAddOn.oCompany.GetLastErrorDescription)
                End If
                System.Windows.Forms.Application.Exit()
            End Sub
    We get all the time the errormessage: Date is out of range.
    We also try to use the functions SaveAsXML and GetBusinessObjectFromXML, but then the same error comes.
    Trinidad wrote a lot of time that the error is solved in the Version 2005, but it isn`t so for us.
    Please help
    Regards
    Jörn

    Sorry for the double post; I thought I would be better showing how my code goes.
    As with the original poster, I am using the DI-object Special Prices to insert new records. I am trying to create a Special Price that is BP-Item specific, using the default demo company (SBO Demo UK), valid date from 15 Jun to 20 Jun.
    Dim oSpecialPrices As SpecialPrices = oCompany.GetBusinessObject(BoObjectTypes.oSpecialPrices)
    Dim oSpecialPricesDataAreas As SpecialPricesDataAreas = oSpecialPrices.SpecialPricesDataAreas
    ' SpecialPrices settings
    oSpecialPrices.ItemCode = "A1000"
    oSpecialPrices.CardCode = "C1000"
    oSpecialPrices.AutoUpdate = BoYesNoEnum.tYES
    oSpecialPrices.PriceListNum = 3
    oSpecialPrices.DiscountPercent = 50
    ' ------------------ START ------------------
    ' SpecialPricesDataAreas settings
    oSpecialPricesDataAreas.SetCurrentLine(0)
    oSpecialPricesDataAreas.DateFrom = New DateTime(2006, 6, 15)
    oSpecialPricesDataAreas.Dateto = New DateTime(2006, 6, 20)
    oSpecialPricesDataAreas.AutoUpdate = BoYesNoEnum.tYES
    oSpecialPricesDataAreas.Discount = 15
    oSpecialPricesDataAreas.PriceListNo = oSpecialPrices.PriceListNum
    oSpecialPricesDataAreas.PriceCurrency = "GBP"
    oSpecialPricesDataAreas.Add()
    ' ------------------- END -------------------
    ' Adding and checking for any errors
    oSpecialPrices.Add()
    oCompany.GetLastError(lErrCode, sErrMsg)
    If lErrCode <> 0 Then
        MsgBox(lErrCode & ": " & sErrMsg)
    End If
    If the portion of the code between START and END was commented out the insertion was successful. Else as it is, it will keep prompting Invalid Date Range (-10).
    Can anyone please shower some enlightenment?

  • Price changes in Purchase order Line Items its displaying as"WF-BATCH"

    Hi Experts,
    I need some Information about Price changes in Purchase order Line Items,In PO Documents Price changes through this wf-batch has  changed the value of this row to xxx.xx USD, which does not correspond the invoice.
    If  i selected the Item changes in the Purchase Order its displaying as"WF-BATCH".
    So please try to clarify where this batch originates from.
    Brgds,
    RK

    Hi Jurgen,
    Thanks for your reply.
    But how i can check this in Purchase orders,on what basis this price changes information is recorded in PO Line Item level.
    can you pls guide me some steps to check the price changes through WF-BATCH.
    Brgds,
    RK

Maybe you are looking for