Price/discount journal names in AX 2012

I might be the only person who doesn’t know this – but you can use a Price/Discount journal name to default a Price type.

In Dynamics AX we setup sales prices, purchase prices and discounts in the same Trade agreement table – all the records in the Trade agreement table have a type, the ‘Relation’ field.

In earlier versions of Dynamics AX you could update the Trade agreement table directly, but in Dynamics AX 2012 you create Price/discount journal.

There are two menu options, Sales and marketing > Journals > Price/discount agreement journals, and Procurement and sourcing > Journals > Price/discount agreement journals. You’ll quickly realise that these two menus actually open the same form:

Enter a name and the system sets the default Description from the Name. You’ll probably want to update that default description to something more meaningful (for instance “Spring 2015 parts sales price list”).

Rather disconcertingly, the Price/discount journal number isn’t filled in immediately, but it is filled when you save the record, or click on the Lines button:

And now you can see that you can create a Price/discount journal for Purchase prices or discounts, and Sales prices and discounts, (and a Postage discount – that’ll have to be another post, right now I have no idea what one of those is).

I always put up with the fact that the system defaulted the Relation to ‘Price (purch).’ – but no longer.

Price/discount agreement journal names are setup at Sales and marketing > Setup > Price/discount > Trade agreement journal names, and Procurement and sourcing > Setup > Price/discount > Trade agreement journal names, again both menu items lead to the same form:

Here is where you setup the default Relation. Let’s update the setup a bit and create one journal for Purchase prices, and one for Sales prices:

Now back on our Price/discount agreement journal form select one of our new names, and new lines are created with our default Relation:

That’s a nice little time saver.

Supplementary sales items in AX 2012 R3

In a sales workshop the other day the Subject matter expert said “Buy 25 and get a free beanie”. (For those of you not familiar with New Zealand, a beanie is a knitted cap that’ll keep your head toastie-warm).

The obvious solution to this “Buy one get one free” scenario is Supplementary sales items. Let’s not linger too long on the acronym BOGOF, and set some up. Probably easiest to start from the item master (Released products) form. You setup Supplementary sales items per item or group of items, so let’s start by assigning an item to our ‘Supplementary item group’:

Then click on the ‘Supplementary sales items’ button on the Sell action tab. The system opens the Supplementary items form:

I’ll choose the Item code ‘Group’ and click New, and then select whether this supplementary item applies to a specific customer (Table), or a group of customers, or all customers:

The fields on this form are pretty self-explanatory. You’re defining a quantity that the customer has to order before this supplementary item applies. You’re setting the quantity for the supplementary item; from/to dates; and whether the item’s Free of charge. If the item is not a Free of charge item then you are using this form to support up-selling (for instance a supplementary item could be an optional accessory or spare part).

Incidentally, the Account code group here refers to the Customer’s Supplementary item group:


Create a sales order for the customer and enter a sales order line for one of the items in the supplementary item group, then click Sales order line > Calculate > Supplementary items. The system displays the Calculated supplementary items form, split according to whether the supplementary items are mandatory or optional:

Click ‘Include’ on the optional items you want to add to the sales order (the mandatory items are already selected to include) and click OK.

The system adds a new sales order line for you:


I’m trying to give up customisations – but that’s harder than giving up smoking, and there a couple of features about this function that I’d like to tidy up. There’s no indication to the user that there are supplementary items setup – and perhaps the Calculated supplementary items form ought to pop-up automatically when the user confirms the sales order. Also, although you setup the supplementary items per supplementary item group, the calculation applies to each sales order line independently rather than the sales order as a whole. Finally, the Free of charge flag sets the sales price to zero – maybe a 100% discount is a better option. But with those customisation in place the whole process is “sweet as”.

And since you’re still with me, go to

Guy’s found a new option in the latest version of AX 2012 which will cancel or delete the supplementary items, if the main item is cancelled or deleted.

He’s also done a superb job of documenting how to achieve the same result using the more sophisticated pricing options that are available in the Retail module:

Sales agreements in AX 2012 R3

Many distribution companies operate a “list-less” pricing model where an item has a ‘List’ price (sometimes called a Trade price – or it may even be a Recommended Retail Price, RRP). The sales price is calculated by applying a discount to the List price.

Obviously, this is well supported in Microsoft Dynamics AX – perhaps too well, because there are several ways of assigning a customer discount. Let me count the ways – but first ….

There are actually three types of discount on a sales order:

  • Line discounts
  • Multi-line discounts
  • Total discount

Line discount is an Amount (2) or Percentage (3) applied to the item’s ‘Unit price’ (1) which is multiplied by the sales order line quantity to give the line ‘Net amount (4).

I’m going to ignore the Multi-line discount amount (5), the Multiline discount percentage (6) and the Total discount percentage (7) and concentrate on the Line discount.

You’ll notice that this is screen-shot from the demo Hyper-V image, and I’ve hidden the catch weight and potency fields to simplify the screen a bit.

I’ve rarely seen discount amount used in practice, and I usually hide it – just so that I don’t accidentally enter the discount amount when I mean to enter the discount percentage.

The Unit price (List or Trade price) comes from a sales price trade agreement (or the sales price field on the item master), and our line discount comes from the sales line discount trade agreement. All sales (and purchase) price and discount trade agreements are stored in the same table, and use the familiar ‘Table/Group/All’ hierarchy.

In the sales order above, my customer is in the sales price group 01, and the customer line discount group 01, and the item is in the item line discount group 01.

There are 9 combinations of customer and item price and line discounts, and the system searches them in sequence from the most specific (customer + item) to the most general (all + all):

Specific item Group of items All items
Specific customer




Group of customers




All customers




The ‘Find next’ flag on the sales price/discount trade agreement specifies whether the system will stop its search when it finds a match, or whether it’ll continue searching. If there’s more than one price/discount found the system gives the customer the lowest price / maximum discount that it finds.

Just a note on the sales discount trade agreement: you can set up 2 discounts:

In this case you do not get a 15% percent discount. The system applies Discount percentage 1 first, then Discount percentage 2 to the remainder (giving 14.5%), and that’s how it’s shown on the sales order line:

You’ll know that the sales price/discount trade agreements can be bounded by From/To date; From/To quantity; Unit of measure; and optionally Product and Storage dimensions so probably provide all the pricing models you need – but there are a couple of other options for setting a discount percentage.

Sales agreements

A sales agreement records a contract that commits a customer to buy a product in a certain quantity or amount over time in exchange for special prices and discounts. The prices and discounts in the sales agreement overrule the sales prices or discounts in the sales price/discount trade agreements.

You create a Sales agreement for a specific customer; for a from/to date range

Sales and marketing > Common > Sales orders > Sales agreements:

The ‘Default commitment’ type controls whether you’ll add item numbers or sales categories to the Sales agreement line, and whether you can specify a Net amount, Unit price or Discount percentage. I want to enter a Discount percentage so I used ‘Product category value commitment’

The sales agreement has to be set to Status = Effective before it’ll be used by the system.

Now let’s enter a sales order for the customer. If I select the customer, and click New > Sales order the system displays a pop-up that lets me select the sales agreement:

I select the agreement and click ‘Use agreement’ and when I enter the sales order I get the line discount percentages defined by the Sales agreement:

Alternatively, I can create a ‘Release order’ from the Sales agreement itself.

But note, if I use the Sales order form to create the sales order (or enter the order through the AIF), I do not get prompted for the Sales agreement, and the Sales agreement discount isn’t applied.

The most important feature of the Sales agreement is that is tracks the sales orders (release orders) using the Sales agreement, and provides a simple mechanism to review that the objectives of the sales agreement (which are normally to increase sales) have been met:

Trade allowance agreements

Trade allowance agreements offer a third way of applying a discount to a sales order line.

A Trade allowance agreement is setup for one or more customers for one or more items.

Trade allowance management > Common > Trade allowance agreements:

There are three types of Merchandising events: “Off invoice”, “Bill back’, and “Lump sum”.

“Off Invoice” applies the trade allowance (discount) to the sales order line. The actual discount percentage (or amount or rate) is defined on the Amounts tab:

Here I can define multiple discount percentages, or I could have multiple merchandising event lines.

The Trade allowance agreement has to be ‘Confirmed’ before it is applied to a sales order – but then it is applied when the sales order is created:

The details of the trade agreement allowance (and of the sales price/discount trade allowance; and the sales agreements) can be seen on the Sales order line > View > Price details form:

Note. This form is only visible if the Accounts receivable > Setup > Accounts receivable parameters > Prices ‘Enable price details’ parameter is enabled:

Sales quotations

A Sales quotation offers another way of defining a sales price and discount – although the sales quotation uses the sales price/trade agreement to default the sales quotation sales price, the price and discount can be over-written on the quotation. When a sales quotation is converted to a sales order the sales order inherits the price and discount from the quotation, regardless of the sales price/discount trade agreements; sales agreements; or trade allowance agreement that might be in effect for that customer/item combination.