D365 Finance & Operations and Dynamics AX Forum

Expand all | Collapse all

Sales trade agreement setup

  • 1.  Sales trade agreement setup

    GOLD CONTRIBUTOR
    Posted Jul 02, 2020 11:23 AM
    Hello dear AXUG members,

    We're starting D365FO and I have big challenges with the trade agreement setup.

    In my company, historically, each item gets one and only one price (called "gross price"), but then different types of customers get different "discount percentage" which are used to calculate their selling price (called "net prices").

    The nice thing, is that to make a price change for all customers, we only need to change one price.
    The bad thing, is that this is not compliant with D365FO.

    Are some of you having the same business requirements, to define a gross price and then discount percentages to end up with customer net prices?  If yes, did you manage to set that up in the system?  Or did you have to adjus the pricing process to D365FO?

    Thank you by advance, very much, for any kind of experience sharing.

    Regards,

    Alexandra
    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 2.  RE: Sales trade agreement setup

    Posted Jul 06, 2020 12:27 PM
    Hi Alexandra,

    I'm sure this is available in D365FO. I'm not 100% sure what the config is (I'm finance not supply chain) but I think it is this (at least one option).

    Set up a trade agreement for the sales price of the item - All customers for the specific item(s).
    Set up a separate trade agreement for line discount - Each line would be for the customer and All items (assuming all items for the customer get the same discount) and add the discount % on that line. Then when you have a change in the sales price, only the original trade agreement would need to be updated.

    Please test this in your scenario. For any other supply chain experts, please correct me if I'm incorrect.

    Thanks.


    ------------------------------
    Steve Carter
    PCS Senior Consultant
    Blue Horseshoe
    Carmel IN
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 3.  RE: Sales trade agreement setup

    SILVER CONTRIBUTOR
    Posted Jul 07, 2020 08:59 AM
    Steve Carter's recommendation is exactly what I would try doing if we had this requirement.

    ------------------------------
    Barclay Hershey
    Financial Analyst
    Sugar Creek Packing Co
    Cincinnati OH
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 4.  RE: Sales trade agreement setup

    GOLD CONTRIBUTOR
    Posted Jul 08, 2020 04:09 AM
    Hi Steve and Barclay,

    Thanks for your answer.

    Actually we tried to use line discount, but it doesn't give satisfaction.  I had not stated that clearly in my post, but the %tage used to calculate the customer net price is an internal information only.  It can not be displayed on orders, invoices.

    If we use line discount, it doesn't calculate a "discounted unit price", it applies a discount %tage on the line amount.

    If we create a custom "discounted net price" field, based on the item price and line discount percentage, we end up with rounding issues.

    This is more clear with an example:

    AX calculation of the total amount:

    Unit price

    Quantity

    Amount

    Line Discount

    Discounted amount

    Rounded up amount

    133,24

    8

    1065,92

    53%

    500,9824

    500,98

    Amount « 500,98 » is invoiced to the customer

    But if we hide the line discount and use a custom field "discounted unit price":

    Unit price

    Line Discount

    Discounted unit price

    Discounted unit price (rounded up)

    Quantité

    Amount

    133,24

    53%

    62,6228

    62,62

    8

    500,96

     

    In this case, since 62,62*8 <> 500,98 we're in trouble.


    That's what we did in our old system (AX2009) but we had huge issues when it comes to EDI invoicing for instance.

    Now we're starting with D365FO and I'm after something different.

    Many thanks.  Topic is still open :)

    ------------------------------
    Alexandra Cadet
    Camfil
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 5.  RE: Sales trade agreement setup

    SILVER CONTRIBUTOR
    Posted Jul 08, 2020 10:23 AM
    HI Alexandra,

    Where are you creating the custom fields?  If I was doing this, I would not modify the AX tables and forms.  I would have your developer modify the SSRS reports for the sales order report and the invoice report to only show the fields that you want to send to the customer.  This way your PDFs would be correct.

    You mentioned EDI invoicing for the customer and for that you will have probably have to work with your EDI partner for get the right data.

    Thanks,
    Barclay

    ------------------------------
    Barclay Hershey
    Financial Analyst
    Sugar Creek Packing Co
    Cincinnati OH
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 6.  RE: Sales trade agreement setup

    GOLD CONTRIBUTOR
    Posted Jul 09, 2020 10:24 AM
    ​​Hello Barclay,

    Thanks for your answer.

    We not only need to hide the discount %tage.  We also need to display a unit price.  But there is no such thing as a discounted unit price.
    Whether we create it in the interface or calculate it on the printout leads to the same result: we have to round it up, and it's not compliant with the system standard calculation.

    It's a complex topic, but I don't know how to explain it better than in my above example...

    I've investigated A LOT and my conclusion is that there is no technical solution.  My wish is more to make a process adjustment, and have the business reviewing the way they maintain prices in the system.  Well, if there is a technical solution, I'm still in!

    But I'd also like to know what functionality do my peers usually use, out of all the possibilities offered by the standard, when it comes to activate price / discounts.
    Any testimony?

    Thanks!

    Hello Barclay,

    Thanks for your answer.

    We not only need to hide the discount %tage.  We also need to display a unit price.  But there is no such thing as a discounted unit price.
    Whether we create it in the interface or calculate it on the printout leads to the same result: we have to round it up, and it's not compliant with the system standard calculation.

    It's a complex topic, but I don't know how to explain it better than in my above example...

    I've investigated A LOT and my conclusion is that there is no technical solution.  My wish is more to make a process adjustment, and have the business reviewing the way they maintain prices in the system.  Well, if there is a technical solution, I'm still in!

    But I'd also like to know what functionality do my peers usually use, out of all the possibilities offered by the standard, when it comes to activate price / discounts.


    Any testimony?

    Thanks!

    ​​Hello Barclay,

    Thanks for your answer.

    We not only need to hide the discount %tage.  We also need to display a unit price.  But there is no such thing as a discounted unit price.
    Whether we create it in the interface or calculate it on the printout leads to the same result: we have to round it up, and it's not compliant with the system standard calculation.

    It's a complex topic, but I don't know how to explain it better than in my above example...

    I've investigated A LOT and my conclusion is that there is no technical solution.  My wish is more to make a process adjustment, and have the business reviewing the way they maintain prices in the system.  Well, if there is a technical solution, I'm still in!

    But I'd also like to know what functionality do my peers usually use, out of all the possibilities offered by the standard, when it comes to activate price / discounts.
    Any testimony?

    Thanks!


    ------------------------------
    Alexandra Cadet
    Camfil
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 7.  RE: Sales trade agreement setup

    TOP CONTRIBUTOR
    Posted Jul 10, 2020 01:43 AM
    We've done integrations with several systems where external systems control pricing - or even a 3rd party configurator.
    You definitely need to make a design decision - what system is going to be master of record for pricing.
    Usually, I see the 3rd party website wins the case - or the configurator - which means AX just has to take the price given, and avoid recalculating it.
    If AX were to win, then you have to decide what type of pricing your using - Standard Trade Agreements, or Retail pricing engine.
    In this scenario your probably going to have to build API's for the other system to send a "cart" in and have it priced, and then send the results back. The retail pricing engine is probably best for this - as it handles more complicated pricing scenarios and has support for using a retail store server to offload and distribute the performance impact a popular website could bring.

    Either way - it's a big decision that should be handled in the design phase of a project...

    ------------------------------
    Tony Zeigler
    Senior Consultant
    Strategic Solutions NW
    Beaverton OR
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 8.  RE: Sales trade agreement setup

    GOLD CONTRIBUTOR
    Posted 26 days ago
    Thanks Tony for your interesting inputs.

    We're using standard trade agreements and rather plan to have D365FO as a master (not all our flows go through an external website).

    I have no idea about how retail pricing works, and if we could use it to our benefit...

    Regards,



    ------------------------------
    Alexandra Cadet
    Camfil
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 9.  RE: Sales trade agreement setup

    TOP CONTRIBUTOR
    Posted 26 days ago
    If you want to allow AX to be the "master" for Pricing - and using standard trade agreements - I would suggest: Create APIs that mimic the form PriceDiscActual. (Sales&Marketing>Price/Discounts>Find Prices)


    ------------------------------
    Tony Zeigler
    Senior Consultant
    Strategic Solutions NW
    Beaverton OR
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 10.  RE: Sales trade agreement setup

    Posted Jul 10, 2020 10:41 AM
    Hi Alexandra,

    It seems the problem is not just being able to create the discount as desired. It is also to manage the maintenance of the price. If you create a separate price agreement for each customer, you can set the discounted price as their price which will show up as the unit price on the sales order. However, that would mean maintaining all the customer agreements individually. The simplest way to manage this without any customization is to use an upload to the customer trade agreement. You can update all individual customer costs in a file and then upload this to the respective customer trade agreements at once.

    That is still some manual work and more subject to error so a customization would be helpful. This could take two forms (probably more as well).
       1) Create a custom form/table to manage the discount % for each customer and then have a custom process to create/update the individual trade agreements using that discount table. All that would be maintained manually in this scenario would be the discounts, which you will need to do in any case.
       2) Create line discount trade agreements as mentioned above. Create a customization to compute the discount unit price (based on item price agreement and customer line discount agreement) and set that as the unit price on the sales order.

    Of the two options, my preference would be #1 since it only involves the trade agreements and does not have to modify the sales order process. Both options give you the flexibility you need while still mostly using existing base functionality and structure (tables/fields). If there is a 3rd party integration as Tony mentions, there may be a better way than this. ​My assumption from the information provided was that these were internally generated sales orders.

    Food for thought. There may be other ways to approach this as well depending on the specific details.

    ------------------------------
    Steve Carter
    PCS Senior Consultant
    Blue Horseshoe
    Carmel IN
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 11.  RE: Sales trade agreement setup

    GOLD CONTRIBUTOR
    Posted 26 days ago
    Many thanks Steve,

    Option two is the one we've used in the past (with AX2009) and due to the rounding issue described above, I'd like to keep away from it :)

    Option one could be smart.  I'll try to update this topic if I come to experiment it.

    ------------------------------
    Alexandra Cadet
    Camfil
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 12.  RE: Sales trade agreement setup

    GOLD CONTRIBUTOR
    Posted 24 days ago

    Hello,

    I've looked a bit into using net prices, calculated using an external table dealing with discount percentage per customer.

    We have thousands of items and thousands of customers (not so many are grouped)...  I wonder if there is any reasonnable limit to the number of trade agreement values one D365FO can deal with.  I'd have something like 1 000 000 net prices.

    Is there any performance risk in having over 1 000 000 trade agreement line?

    Thanks for any feedback.



    ------------------------------
    Alexandra Cadet
    Camfil
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 13.  RE: Sales trade agreement setup

    SILVER CONTRIBUTOR
    Posted 24 days ago
    I think you are right to be a bit concerned.  Not only would the active trade agreement table be large for the sales order pricing engine to be reading, but also to get them in there you have to create a Price/Discount journal and post it, which I think would also be stressed to handle 1M rows in the journal.

    ------------------------------
    Lynn Kinsman
    Senior Systems Analyst, AX 2012 and D365 F&O
    Kodak Alaris Inc.
    Rochester NY
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 14.  RE: Sales trade agreement setup

    SILVER CONTRIBUTOR
    Posted Jul 14, 2020 09:20 AM
    Hi Alexandra,
    We also had similar challenges when converting from our legacy ERP to AX 2012.   In the old system we had some countries who had configured their pricing procedure to apply discounts to unit prices and some configured to apply discounts to the net amount after the quantity had been considered.   The countries in the former group had to change their business models when we moved to Dynamics AX 2012 so that we could use the 'out of the box' (and unchangeable) arrangement of applying percentage discounts to the net amount after quantity is figured in.  This was to avoid a customization such as you have done.   That's not to say that we avoided customizations altogether in the pricing area, but we did avoid that one.  As we look at D365, we also are grappling with how to do away with these customizations.

    I agree with all the other comments about maintenance of trade agreements becoming more intense if you can't use the Price trade agreement with percentage line discount to produce a unit price.   When you have a price change, you'd have to maintain every customer's price trade agreements.  The good news is that data management is much easier in D365 than in AX.  In AX, we struggled to get the 'select' and 'copy and revise' buttons to work along with the 'Edit in Excel', but we eventually got security roles changed so our pricing admins could use this.  It's going to be much better with D365 Data Management.  I am just learning about this now.  The other posts that say you can upload the lines of a Price/Disc trade agreement journal are encouraging.  I haven't found a Data Management template out of the box that handles this yet.  Can anyone point it out to me?  I started to create my own data project to do both header and lines for a price/discount journal, but I haven't mastered it yet.

    Ultimately, I agree with the other commenters that you should focus on changing business practice and streamlining the journal maintenance using Excel or a special CDS table, rather than customizing the pricing engine in D365.  Too risky with all the monthly patches and bi-annual upgrades.

    As for the Activate Price/discount configuration, we have enabled all the options for Price and Line Discount just like you have. We have not utilized Multi-Line Discounts or Total Discounts in our operation, so the settings we have are really irrelevant - but currently we have Multi-line discounts for "all items" disabled (all three switches) and the rest enabled.

    ------------------------------
    Lynn Kinsman
    Senior Systems Analyst, Pricing, Rebates, Projects
    Kodak Alaris Inc.
    Rochester NY
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 15.  RE: Sales trade agreement setup

    GOLD CONTRIBUTOR
    Posted 26 days ago
    Many thanks Lynn,

    Sounds like I'm walking the same path you've had :)
    Your answer sounds very sensible to me and give me some sense of confort to get back to the business :)


    ------------------------------
    Alexandra Cadet
    Camfil
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 16.  RE: Sales trade agreement setup

    SILVER CONTRIBUTOR
    Posted Jul 13, 2020 02:20 PM
    Hi Alexandra,

    One option that would work, but sounds odd to implement is instead of having 1 row of quantity 8 if you had 8 rows.  This way each row would have quantity 1 and would round to a price of 62,62.

    Alternately on the Invoice form you could use more than 2 decimals and the math would tie out for the customer PDF.

    62,623 * 8 = 500.98

    AX also lets you set the number of decimals to use for prices.  General Ledger > Setup > Currency > Currencies > Rounding Rules > Prices
    If you change this setting the number of decimals that AX internally stores will change.

    Thanks,
    Barclay

    ------------------------------
    Barclay Hershey
    Financial Analyst
    Sugar Creek Packing Co
    Cincinnati OH
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


  • 17.  RE: Sales trade agreement setup

    GOLD CONTRIBUTOR
    Posted 26 days ago
    Thanks Barclay for this creative solution :)

    ------------------------------
    Alexandra Cadet
    Camfil
    ------------------------------

    The first step toward cloud success. - Migrate from AX to D365 with expert guidance from Microsoft. I'm Ready


If you've found this thread useful, dive deeper into User Group community content by role