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

Similar Messages

  • 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

  • Adding special prices to items query.

    Hi, I'm just wondering if anybody can help me work out how to add special prices to items on a volume basis. say if i sold one item there would be no discount but if i sold 10 then i would automatically want a 5% discount to be given, I've had a look around and nothing seems to be popping out at me, i want the discount given to all customers also.
    many thanks.

    Dear RW,
    Choose  Inventory ->Price Lists ->Special Prices ->Special Prices for Business Partners
    To define the special price of an item for a business partner, in the Special Prices for Business Partners window, enter the required business partner and item information
    To open the Period Discounts window, in the # column, double-click a row . Enter the required dates, price list, discount, and price and choose the Update button
    To save the modified special prices, in the Special Prices for Business Partners window, choose the Update button
    If no date-dependent special price has been defined for an item, SAP Business One assumes that the customer-specific special price has been valid since the date on which it was added. The special price with the appropriate valid-from date appears in the first row.
    Defining Quantity-Based Special Prices for a Business Partner
    Choose  Inventory -> Price Lists -> Special Prices  -> Special Prices for Business Partners .
    The Special Prices for Business Partners window appears.
    To open the Period Discounts window, in the # column, double-click a row . Enter the required dates, price list, discount, and price.
    In the Period Discounts window, double-click a price-list row to open the Special Prices - Volume Discounts window, and enter the quantity, discount, and special price.
    After you enter or change the price, SAP Business One automatically calculates the discount according to the difference between quantity-based and the date-dependent special price.
    To confirm your entries, choose the Update button in the Special Prices - Volume Discounts window and the Period Discounts window.
    To save the modified special prices, choose Update in the Special Prices for Business Partners window.
    To define quantity-based special prices, you do not have to define a date dependency in addition to the SAP Business One default one. You can also define quantity-based special prices directly, based on the special price for the business partner
    Regards,
    Sarkar R

  • Synchronisation of price before discount

    At the time the synchronisation of special prices and discounts was realised last year, there hasn't been a change of the way the prices are synching to Business One.
    Webtools only synches the price after discount to SBO to the field RDR1.Price (which is the field price before discount). On the invoice only the price after discount is shown.
    u221A     OrderDetail.PurchasePrice     NPOrderDetail.PurchasePrice     SAPbobsCOM.Documents.Lines.Price     RDR1.Price
    My customers like to see the price before discount, the discount (in %) and the price after discount on the invoice.
    Any suggestions to solve this. So has someone already build a way around to achieve this.
    When I look at the OrderDetail table I can see the PurchasePrice (Price before discount) and DiscountPer (discount amount per article). When I'm correct these amounts are deducted during the synch and the price after discount is shown in the field RDR1.Price in SBO.
    To achieve it the way we like we have to duplicate the OrderDetail table, rename it, build a plugin so that the PurchasePrice is synched to the field RDR1.Price and that we create a calculation field (PurchasePrice - DiscountPer) and that this field is synching with the field RDR1.Price after discount. SBO will calculate the discount % itself. For the synch we have to use our own OrderDetail table.
    I'm I correct are do we miss something.
    Best regards,
    Tim
    Edited by: T. Verholt on Oct 8, 2009 12:46 PM

    IHi,
    Thanks for your help..i will give good feedback to you all.
    Just to let you know in pro forma invoices we have got Unit Price in GBP (example: 7.4000 GBP )  but Total line, Total Before Discount, Total (document) are in Euro.We have already changed that to 88->87 and 91->93 so those fields are correct apart Unit Price?
    Any advice please ?

  • Discount Group and Special Prices

    Hello Everyone
    I have a scenario where by the discount given in both Discount Group and Special Prices needs to work in conjunction.Now at the moment if i give it in both discount group and Special Prices for BP,only Special Price discount is being picked up ie its given precedence over Discount Group.Is there any setting that i need to change to make this work.I have to show the difference in discount elsewhere,so only i need to map this in both discount group and special prices.
    Thanks and regards
    Raghu

    hi raghu ram,
    Check the wiki page in this link
    How is the default item unit price determined in marketing documents?
    https://www.sdn.sap.com/irj/scn/wiki?path=/pages/viewpage.action&pageid=29524391
    Hope it will solve problem.
    Jeyakanthan

  • 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

  • Absolute value discount in Special Prices

    I have a customer that has special prices with a value discount, not a percentage one.
    I thought about adding a UDF to the Special Prices table and do a formatted search against it, but later I found that I cannot add an UDF to the Special Prices table...
    All the discount functionality in SBO is percentage based...how should I implement an absolute value discount?
    Any ideas will be much appreciated...

    Hi.
    This is sample code in C++ to add UDF.
    _bstr_t TableName = L"TableUID";
    _bstr_t FieldName;
    HRESULT hr;
    SAPbobsCOM::IUserFieldsMDPtr m_pUserFieldsMD = m_Cmp->GetBusinessObject( SAPbobsCOM::oUserFields );
    m_pUserFieldsMD->PutTableName(TableName);
    FieldName = L"FieldUID";   'without U_'
    m_pUserFieldsMD->PutType(SAPbobsCOM::db_Alpha);
    m_pUserFieldsMD->PutName( FieldName );
    m_pUserFieldsMD->PutDescription( L"desc");          
    m_pUserFieldsMD->PutSize(20);
    m_pUserFieldsMD->PutEditSize(20);
    if ( m_pUserFieldsMD == NULL )
    return -1;
    m_Cmp->StartTransaction();
    hr = m_pUserFieldsMD->Add();
    if (hr!=S_OK)
    'error'
    if ( m_Cmp->InTransaction )
    m_Cmp->EndTransaction( SAPbobsCOM::wf_Commit );
    Hope it helps.
    Kamil Wydra

  • Special Prices for BP Period Discounts

    Hi all
    Is it possible to mass import Special Prices for BP Period Discounts for all Customers and Items?
    Kedalene Chong

    Hi,
    How many records you want import?
    If more than thousand records, you need to split the records into 1000 records to import correctly.
    Check SAP notes:
    928625
    - DTW_How to import/update Special Prices via DTW
    Thanks & Regards,
    Nagarajan

  • Import Special Price for Groups OSPG Table.

    Dear all
    I need to import Special Price for Groups (table OSPG) but there is no template in DTW.
    How can I do.
    Tanks and Regards
    Graziano Di Risio

    Dear Graziano Di Risio,
    As you know, DTW is based on DI API.  Since this table is not exposed to DI API, you will have no option to DTW it.  That is all.  You have to do it manually.
    Thanks,
    Gordon

  • 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

    Hi All,
    I need some assistance with a query to simulate how B1 would choose Prices for a specific customer for a UDF.
    It would need to check special prices for BP's, period and volume discounts, and if nothing, then return the value to the default price list assigned to the BP.
    Thanks in advance.
    Regards,
    Kiran

    Hi,
    SELECT O0.DOCDATE , N1.SERIESNAME + LTRIM(STR(O0.DOCNUM)) AS DOCNUM , O0.CARDNAME , P0.ListName ,
    I0.ITEMNAME , O1.QUANTITY , O1.PRICE AS [SPECIAL PRICE] , I1.Price AS [SALE PRICE]
    FROM ORDR O0 INNER JOIN RDR1 O1 ON O0.DocEntry = O1.DocEntry
    INNER JOIN NNM1 N1 ON N1.Series = O0.Series
    INNER JOIN OITM I0 ON I0.ItemCode = O1.ItemCode
    INNER JOIN ITM1 I1 ON I0.ItemCode = I1.ItemCode
    INNER JOIN OCRD C0 ON C0.CardCode = O0.CardCode
    INNER JOIN OPLN P0 ON P0.ListNum = C0.ListNum AND I1.PriceList = C0.ListNum
    WHERE O0.DocDate >= '01/OCT/2011' AND O0.DocDate <= '31/OCT/2011'AND O1.SHIPDATE >= '01/OCT/2011' AND O1.SHIPDATE <= '31/OCT/2011'
    AND I1.PRICE <>  O1.PRICE AND I0.QryGroup64 = 'Y'
    AND C0.GroupCode IN (102, 104, 105)
    ORDER BY O0.DocDate
    We have framed this query only for a specific group of customers.
    If you want to run this for all your customers then alter the criteria for groupcode.
    Thanks
    Malhaar

  • 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,

  • 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 and special price

    Hello
    My question is about special price and depending on the last price a discount applies
    Example discount 10%
    Customer A no special price for article B 100 so with discount it'll be 90
    Customer B special price for article B 70 so with discount it'll be 63
    Thanks

    You can use the Special Price for BP's

  • Special Price Management

    Forum,
    I would like some advice on the best way to handle special prices in "Period and volume discount" currently we have a couple of thousand items in this aera, but only a couple of hundred that are needed. i would like my colleagues (who enter the special prices) to manage this better i.e. when an item is not on special offer (or is not a bulk buy item) for them to remove from this list.  can you let me know what other companys do to manage this area. and if there is an easy way to manage this better.
    Regards,
    Juan

    Would anyone on the forum be able to assist?
    Regards,
    Juan

Maybe you are looking for