web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Microsoft Dynamics AX (Archived)

Problem with pricing and price lists in Dynamics AX 2009

(0) ShareShare
ReportReport
Posted on by 290

I work for a distribution company, and we have used Microsoft Axapta since 2004. We are currently using Dynamics AX 2009.

Our salesguys have complained about prices and rebates that change each time we change quantity on a salesorder. According to our sales guys, their routine is to talk price first, and quantity second (as long as they aren't talking very substantial quantities, which is not the norm). A lot of mistakes are made, when AX always changes back pricing to the original that is defined in our price-lists, when our sales guys changes quantity on a line item in a sales order.

Is there any way to set up AX so that it gives the price from our price list when we choose a product to a salesorder, but does not change the price when we change quantity? Our Microsoft Partner could not help us on this, but is there someone at the community who could?

Thanks in advance!

*This post is locked for comments

I have the same question (0)
  • Verified answer
    Community Member Profile Picture
    on at

    Prices and discounts are dependent on the quantity on the sales line. When you change the quantity, the price is fetched from the trade agreements because the changed quantity might cause the line to come into a different discount bracket. This has been true for AX 4.0 and AX 2009, and most likely also for AX 3.0

    If you do not use trade agreements stored in AX I can see how this might hinder daily operation. This is not something you can enable/disable in standard AX as far as I know.

    To disable this functionality you would need to make modifications to the standard. One place where you can do this is for example:

    Table: SalesLine

    Method: modifySalesQty

  • Pontus StrÃ¥hlman Profile Picture
    290 on at

    Thanks Floris - that was what I was afraid of! It was true already for AX 3.0, I was hoping that it would not be true any longer.

  • Suggested answer
    Community Member Profile Picture
    on at

    Here's the best way I've found for dealing with it if you're looking at a modification (changes highlighted yellow).  Add an optional boolean parameter to the map SalesPurchLine.setPriceAgreement method, and a local boolean variable.  Pass that parameter as an optional parameter into the priceDisc.findPrice() method, and store the return value in your local boolean.  Test the result and only call this.initFromPriceDisc(priceDisc); only if a price was found. 

    server void  setPriceAgreement(InventDim inventDim, boolean useItemPrice = true)
    {
        PriceDisc   priceDisc;
        boolean     priceFound;
        ;

        priceDisc = PriceDisc::newFromSalesPurchLine(this, inventDim);

        //priceDisc.findPrice(this.PriceGroupId());
        priceFound = priceDisc.findPrice(this.priceGroupId(), useItemPrice);

        if (priceFound)
        {
            this.initFromPriceDisc(priceDisc);
        }
        ...

    }

    This modification alone will not make the system do anything different than it normally would, by virtue of the default value of the optional parameter useItemPrice being the same as the optional parameter in the priceDisc.findPrice call.  If you override the call to this method in the salesLine.setPriceDisc() method to pass in a  false value into that new optional parameter, it will only update your sales price if it finds a trade agreement, and won't update the line back to the item master price if no trade agreement was found.

    Hope this helps,

    -Justin

  • Pontus StrÃ¥hlman Profile Picture
    290 on at

    Hi Justin!

    Thanks for a good idea, but unfortunately I think that it is too complex for my needs. All I basically need, is to get a price on a sales line one time, in order for our sales guys to know what the list price is. If they go and adjust the sales price, which they unfortunately very often need to do, the system would not need to look up a price any more. So is there basically a way of stopping AX 2009 from updating the price on a sales line?

    We use trade agreements, but we do not define customers in them. In Justins example i suppose the line item would still change back if our sales guy would change the quantity back to 1 (as we have in our trade agreements). This will probably be very unusual, but still it makes me think that there should be a simpler solution to my problem.

    So thanks for your answers, but I guess I'm still looking for a solution...

    Cheers!

    -Pontus

  • Stacie Goheen2 Profile Picture
    85 on at

    Do not put a quantity in your trade agreements.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > 🔒一 Microsoft Dynamics AX (Archived)

#1
Martin Dráb Profile Picture

Martin Dráb 4 Most Valuable Professional

#1
Priya_K Profile Picture

Priya_K 4

#3
MyDynamicsNAV Profile Picture

MyDynamicsNAV 2

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans