Why does the SELL price of an item change from the Sales order when it is invoiced?
Overview
Sometimes, when creating a Sales invoice from a Sales order, you may notice that the Sell price of one or more items has changed. This can cause problems if you are invoicing a customer after they have accepted a Sales quotation with a different total.
What causes the price change?
If this price change is occurring, this means that the item/s are using a Discount structure with a price calculation of Mark up on cost price also known as “Cost+”. Any items using such a discount structure will appear as below on your forms:
How do Cost+ Discount Structures work?
A Cost+ discount structure means that the Sell price of an item is calculated using the Cost price of the item when it was dispatched, plus a specified markup percentage. They are set up in the Discount Structure form as follows:
This means that if a Sales order is created, and goods were received at a different Cost before the order was dispatched, the figures on the invoice will be different to those on the Sales order. Here’s an example of this:
- A Sales order is created with a discount structure that calculates the price as Cost + 15%.
- One item is added with a Cost price of $90, which means that the Sales order total is $103.50.
- A Receive is completed for the same item, with a new Cost price of $100.
- The Sales order is then dispatched.
- A Sales invoice is now created for the order, and the Cost + 15% discount structure recalculates the total based on the most recent Cost, meaning that the Sales invoice total is $115.
When should Cost+ Discount Structures be used?
Commonly, Cost+ discount structures are used when you want to know exactly how much the sale of an item will cost you. In particular, this is necessary when you buy or manufacture your items after you create a Sales order. In this case, the Sales order functions as an “estimated” price, because you don’t actually have the items to sell yet, so you can’t guarantee what they will cost you. Therefore, if an item ends up costing you more than it previously did, you aren’t taking a loss on the sale because the totals will re-calculate.
For example, sales between two branches of the one company might use a Cost+ discount structure, such as Cost + 0%, which means that no profit is made, and the sale will result in complete cost parity.
Of course, when you create Sales orders or Quotes for customers, it is often required to produce an Invoice that matches the agreed-upon price.
How can I ensure that Sales invoices match Sales orders?

The most common solution is to use a different discount structure. For example, if you use a “Discount off list price” discount structure, the Sell price of an item will be based on its List price – which is often based on its Cost price. You can then use a generous discount to provide a buffer to achieve the markup you desire.
This will mean that the totals of a Sales invoice will not recalculate and differ from those on the corresponding Sales order.

However, if you wish to keep your discount structures as they are, you can turn on the following System preference: Preserve Sales order prices on Sales invoice when derived from a Mark up on cost discount.
This option will mean that, even if the cost of an item has since changed, Sales invoices generated from Sales orders using a Cost+ discount structure will reflect the same totals.
NOTE: It is important to note that if you turn this preference on, you cannot guarantee that Cost+ 0% sales will accurately represent the cost of the item. If you use a Cost+ 0% discount structure to achieve cost parity between two branches of your company, for example, you should not activate this system preference as it will risk unbalancing your accounts. If this is the case, it is better to change the discount structure type that is used for your customers.
Did you find this article helpful?
If this article is missing information, ambiguous or didn’t give you clear instructions, let us know and we will make it better! Please email us and quote the KB# in the top left of this article to let us know why it didn’t help you out and we will point you in the direction of additional information.
Last edit 28/02/24