In the previous blog post (Tips and Tricks You Should Know Before Using Price/Discount Journals) I discussed setting up pre-requisites for using the price/discount journals in Dynamics AX. Before moving forward, I have to mention that while the price engine in AX is very sophisticated - you can also say it is complex. Very complex. And as anything complex, it will enable a lot of different scenarios but at the same time it will require a lot of knowledge and attention to detail.
The price/discount journals are available in both the procurement and sourcing and the Sales and marketing modules. I will introduce them using a sales price and discount example but don’t forget the option of setting prices/discounts up from your vendor in a similar manner.
Please note that this blog post only talks about the price type journals and not the different discount types. Some of the information might be relevant for setting up discount type journals but it does not detail the specifics of the different discount types.
About the Journals
The first thing you have to know is that the journal header is just a vehicle to carry all information. Make sure you group your prices/discounts into journals in a manner that is logical and will allow you to search for these journals quickly and easily - also make sure you give these journals a good description.
Once you’ve created the journal, select the appropriate relation type on each line to indicate what are you setting up. Hint: if you have set up your journal names properly, it should automatically select the right line type for you.
Every field on the journal line works as a differentiating factor. That means you are able to specify a different price for each situation where at least one of these values differ. For example, you are able to set up a price for a customer for a product from warehouse A and a different price from warehouse B.
If all your information is the same and only the price differs, the system will give you a warning at validation. This would mean that the system would have no way of knowing which price to apply as all the factors are the same. It is very important that you validate because this will not prevent the journal from being posted. If this happens, the price line posted first will be applied in any situation.
The following information can be used as differentiating factors between prices / discounts in a price/discount journal line:
- Customer relation
- Item relation
- Storage dimensions - if the storage dimension group is set up appropriately for the item(s)
- Tracking dimensions - if the tracking dimension group is set up appropriately for the item(s)
- Product dimensions - if the product dimension group is set up appropriately for the item(s)
- Quantity or Quantity ranges
- Date range (from and to dates)
Item and customer relations
The table-group-all concept that is found all over the system is the basis of the price/discount journals as well. Prices/discounts are available to be set up for a particular customer, a previously defined group of customers (in which case the groups have to be assigned to the appropriate customer accounts on the customer master file) or all customers. The same concept applies to the item relation on the price discount journal.
A very important thing to know here is that the AX price engine will look for the most specific match to the information on the sales order line created and will apply the one it finds. Looking at a logic of loosening the criteria one step at a time, it will search until it finds the closest match, applying a fall back logic.
For example, the first thing it will look for when a sales order line is created, whether there is a price journal for that particular customer as a table relation, for that item as a table relation for that particular warehouse (if applicable) in that currency (must be a match) with a particular quantity range the sales order line quantity falls into and with a specified date range it falls into. The sequence of the logic for the fall back process will be applied as follows:
Tips and Tricks About the Fields on the Price Journal
When using quantity ranges to set up volume based pricing, be sure to use the quantity that the previous line used as the ‘To’ to be your ‘From’ on the next line. If you are using the next number as your from, the system will consider the partial quantities in between the two numbers as uncovered area and will give you an error message indicating that there is quantities not priced. The quantity used as your ‘To’ and ‘From’ on the next line will be priced from the line where it is the ‘To’ quantity. Example:
The currency is an often forgotten factor. Make sure to note the currency on the price journal and if you are dealing with the customer in a different currency as well. The system considers any information on the journal line as an exact match and if the sales order is set up in a different currency, no prices will be found (from price discount journals; please note that there is other aspects of the pricing engine in AX that might still find a price).
When using date ranges, you may leave the ‘From date’ and ‘To date’ empty. This means the journal is valid from the time of posting until it is modified or ended. When using seasonal pricing, it is possible to have one journal with no ‘From date’ and ‘To date’ information set up and then another one with specified dates. semantic database Because one is for a more specific criteria, than the other, during those dates the limited time journal will be used and when that date range passes, it will automatically fall back to the general one.
Notes from the author
Because this functionality used to be called Trade agreements until the 2012 version of Dynamics AX, you might still find references in the system as well as in the Microsoft issued training materials calling the Price/discount journals still Trade agreements. The Journal lines form does not have a New and a Delete button, so make sure you are aware of the hot key combinations:
- To create a new line press Ctrl + N or the down arrow when your cursor is on an existing line
- To delete a line, highlight the line and press Alt + F9
- To save the information on the form, press Ctrl + S