Skip to main content


Sales Prices

Pricing Customer and Pricing Date

In Business Central, sales prices get calculated based on the Bill-to Customer using the Order Date as the pricing date. Some organisations require flexibility on both the customer and the date used. It is common for organisations to factor freight costs into their pricing. In such a case, if you have a customer with several branches nationwide, you need to specify different prices for these branches. Some organisations also agree with their customers on which date you will calculate pricing.

You can configure the following per customer:

  • Whether to calculate prices using the Sell-to Customer or the Bill-to Customer.
  • Whether to calculate prices using the Order Date or the Requested Delivery Date.

You configure these options on the Customer Card:

Customer Card

Apply Prices FromSpecifies the customer from which the price calculation should apply. You only need to update this field for customers with a different Bill-to Customer. A typical scenario where this is required is if pricing is different per region.
Pricing Date SourceSpecifies whether the prices must get calculated using the Order Date or the Requested Delivery Date (default). If you have specified Sell-to Customer for Apply Prices From, then the value of this field is taken from the sell-to customer. Else, the value from the bill-to-customer gets used.
  • The pricing customer and pricing date features are supported for both the old pricing experience and the new sales pricing experience in Business Central.
  • Sales Quotes and Orders will use either the Order Date or Requested Delivery Date from the header to determine the price.
  • Sales Blanket Orders will use the Shipment Date on the line to determine the price when the customer is configured to use the Requested Delivery Date. If the customer is configured to use Order Date then the Order Date from the header gets used.
  • Other sales documents will use the Document Date to determine the price.

Sales Price Unit of Measure

Occasionally you will agree pricing with your customers in different units of measure to how you sell and ship your items. In Business Central, the sales pricing uses the sales line unit of measure. With Advanced Sales you can specify which unit of measure to use for pricing per customer.


This feature is only supported with the new pricing experience in Business Central.

Gross Margin on Sales Documents

The app includes a field containing the Gross Margin % on item sales document lines. If you want to show this field on the sales documents, you can specify this in the Advanced Sales Setup.

You can also use this field on workflows to require approval on margin irregularities - this is possible even if you don't want to show this field.


The Gross Margin % gets calculated when you enter the sales line. Since the cost can change, the app checks the margin before you release the document or send it for approval. You can also manually recalculate the margin using the Refresh Gross Margin action on the sales document pages.


The app adds the following fields to the shipping tab of the Customer card:

Customer Shipping Tab

Requested Delivery Date CalculationSpecifies how to calculate a default requested delivery date for this customer. This overrides the default setting from the Advanced Sales Setup.
Warehouse Pick GroupSpecifies the warehouse picking group that you allocate to this customer for picking. You can group customers based on regions, timeslots, etc. This is helpful to assist with optimising your picking process.
  • The Warehouse Group will only display on the Customer card if you have created records in the warehouse pick group.
  • You can update the caption of the warehouse picking group to reflect how you group your customers on the Advanced Sales Setup

Minimum Order Values, Volumes or Weights

Occasionally you will agree with your customers that you only want to ship orders that meet a minimum value, volume or weight to make it economically viable for you. If this applies to you, you can enable this feature and specify default minimums on the Advanced Sales Setup. You can also specify minimums per customer to override the defaults on the Advanced Sales Setup.

Shipment CriteriaSpecifies whether to check the minimum order criteria on Value, Volume or Weight. If you do not specify this, the app will use the minimum order value default from setup.
Minimum Order ValueSpecifies the Minimum Order Value to ensure you only pick and ship shipments for a sell-to customer if the total or combined order value exceeds a threshold sales value.
Minimum Order WeightSpecifies the value of the Minimum Order Weight to ensure we only pick and ship shipments for a sell-to customer if the total or combined weight exceeds a threshold.
Minimum Order VolumeSpecifies the value of the Minimum Order Volume to ensure we only pick and ship shipments for a sell-to customer if the total or combined volume exceeds a threshold.
  • The above fields will only display on the customer card if you enable Minimum Order Values on the Advanced Sales Setup.
  • You only specify minimum values on the customer card when you want to specify a value different from the default on Advanced Sales Setup.

Sales Changes

Features relating to all types of sales documents

Advanced Sales On the Advanced Sales Setup, you can configure the following features:

  • Copy dimensions and/or salesperson from the sell-to customer instead of the Business Central standard of copying these values from the bill-to customer.
  • Support pricing with a Unit of Measure to the sales line. This feature is discussed here in more detail.
  • Specify if editing of sales discounts is allowed. If you choose to restrict this, you can still define Line Discounts in your pricing structure, you will just not be allowed to change this on a sales document.
  • Show Unit Cost and Margin on the sales documents
  • Warn about duplicate external document numbers to prevent duplicate order entries.
  • Specify a default Requested Delivery Date calculation to default the Requested Delivery Date from the order date. You can also override this default on the customer.

The app also provides the following features:

  • Pricing Customer and Pricing Date, which is discussed here in more detail.
  • Restricted Items, which allows you to limit order quantities on items that are in short supply.

Available to Promise (ATP)

The Available to Promise feature allows you to implement order promising without imposing hard reservations on inventory. This feature is available for Sales Orders and Transfer Orders. You configure the Available to Promise settings on the Advanced Sales Setup.

When entering an order the app will calculate the Promised Delivery Date if the Request Delivery Date is withing the planning horizon specified on Advanced Sales Setup. The app only updates the Promised Delivery Date when there is sufficient inventory available based on the inventory availability projection.

Inventory Availability Projection

The Advanced Sales Setup allows you how to specify how to project the inventory availability. The following settings are of importance:

  • Consider Inventory Only - when enabled, the projection will not include scheduled receipts and only include items that are on inventory. You would

Sales Order

ATP Automatic Update

The ATP Batch job allows you to update sales and transfer orders that do not have a promised date. The orders get updated with a promised date as soon as sufficient inventory is available. You can run this job manually or schedule it to run regularly in the background using a job queue. You schedule this batch job in the job queue by creating a new Job Queue Entry to run Report 58211 ATP Automatic Update.

ATP Automatic Update

No. of Transfer CyclesSpecifies the number of levels of distribution you have in respect of transfers. You only need to increase this field if you transfer from a main warehouse to a spoke and then from that spoke to another spoke and so on.
Only Consider InventoryUse this option to specify whether to include Inventory and All Planned Receipts, Inventory and Inbound Transfers or Inventory only.
Apply Customer PrioritySelect this option to apply the priorities assigned to orders. Orders that have a higher priority will be assigned inventory first. Note: 1 is a higher priority than 2. The priority of an order details from the customer card (if specified) or the Advanced Sales Setup (if not specified on the customer).
Only Included ItemsAll items are included in ATP by default. If you select this option, then the app only includes items that are enabled for the ATP Automatic Update.

Running this batch job too frequently could cause performance issues. It would help if you aimed to run this batch job once per day. We do not recommend running this batch job more than once per hour.

Reschedule Available to Promise

Use this function to update an order's requested delivery date or reschedule the promised delivery dates when you know that the inventory availability project has changed.

This action is available on the sales order page from the Process ribbon:

Reschedule ATP

On this page, you will notice three actions:

  • Recalculate ATP will clear the Promised Delivery Dates and then recalculate them based on the inventory availability projection. You use this action if you know you cannot achieve the existing Promised Delivery Dates.
  • Change Requested Delivery Date will update the Requested Delivery Date on the order and then recalculate the Promised Delivery Date based on the inventory availability projection. You can use this action if the customer requests a different delivery date.
  • Clear ATP will clear the Promised Delivery Dates on the order.

Selecting the option Update all Lines with the maximum Promised Delivery Date will update all the lines to the highest Promised Delivery Date.

Here is an example where we use this action to change the requested delivery date after our customer requested we delay the shipment:

Sales Order - ATP Reschedule

Sales Back Order Management

Some of your customers may prescribe different rules on how you should deal with sales back orders. In Business Central, you need to handle this manually but with Advanced Sales you can configure rules that govern how sales back orders get managed. You can also use different rules for different customers.

Sales Back Order Codes

On this page, you configure the different back order rules you wish to apply.

Sales Back Order Codes

CodeSpecifies the code that identifies the sales back order code.
DescriptionSpecifies the description of the sales back order code.
TypeSpecifies the type of the sales back order code. You can either define the rule based on a percentage or based on the quantity in the sales unit of measure.
DefaultSpecifies that this rule is the default for most scenarios. You override the default using Customer Back Order Setup or Customer Sales Preferences.
ToleranceIf the type is Short Delivery - %, then this represents the minimum percentage required for a line to remain as a back order. If the type is Short Delivery - Quantity, this represents the minimum quantity to consider as a back order.
Quantity TypeApplies to Short Delivery - Quantity and must be selected. Specifies which quantity type to use to determine if you should fulfil the back order.
Rounding Precision - BaseSpecifies the rounding precision applied to the base quantity.
Adjust after each ShipmentApplies to Short Delivery - Quantity - specifies that the outstanding quantity will get rounded after each shipment based on the tolerance. If you do not specify this, the tolerance will only be applied when the outstanding order quantity drops below the tolerance.

Sales Back Order Types

Short Delivery %This type looks at the outstanding quantity as a percentage of the original order. The line remains on back order if the percentage is greater than the tolerance specified.
Short Delivery QuantityThis type looks at the quantity shipped to determine if it is within tolerance. A common usage of this scenario is that you might ship partial quantities (e.g. 0.9 packs) and want to count this as shipping a full unit.
Partial Shipment - LineSpecifies that you don't want to allow a back order for a line. This means that partially shipping a specific line will take the sales order off back order.
Partial Shipment - OrderSpecify that you don't want to allow a back order for the sales order at all. This means that the app will remove the entire order from back order as soon as you ship anything on a sales order.

When you use sales back order codes, the orders get updated to adjust the outstanding quantities. We highly recommend you enable order archiving to keep an accurate record of the original sales orders.

Customer Back Order Setup

On this page, you can specify defaults per customer or customer group.

Customer Back Order Setup


You only need to configure rules for customers that use a different back order rule than the default Sales Back Order Code.

Customer Back Order Setup - Per Item

When you have different back order rules for different items on a customer, you can use the Customer Sales Preferences to override the defaults for the customer. Considering the setup above and the one below, we have specified that the default sales back order code for customer 10000 is QTY-PARTUNITS, but for item 1000, it is QTY-10PERCENT.

Customer Sales Preferences BackOrders

Sales Back Orders and ATP

When you use the Available to Promise feature together with Sales Back Orders, it is important to note how the Back Order Types Partial Shipment - Line and Partial Shipment - Order impact ATP.

ATP will by default split sales lines when you have partial inventory available for a line. However for the two methods above, it will not suggest a promised date at all. You must handle this by changing the quantity yourself.

Create Corrective Credit Memo - Value Only

Creating a credit memo in Business Central is easy when you use the Copy Document, Cancel or Create Corrective Credit Memo actions. These actions copy all the lines from the original document to the credit memo. However, suppose you have sold inventory and only want to create a partial credit (e.g., price variance), or you don't want to return the stock to inventory (shipped but did not arrive). In that case, standard Business Central requires you to handle this manually. The recommended way to do this is using charge items because this correctly updates your margins, but this can be cumbersome as you also need to assign the charges.

The Create Corrective Credit Memo - Value Only feature will copy the original document to a credit memo, change the lines to Item Charge and then automatically assign the item charges. If the amount should be a partial credit (price variance), then you can update the amounts.

Create Corrective Credit Memo - Value Only

Adjustment CodeSpecifies the type of value-only adjustment you want to process. The code selected here determines the Item Charge for this value-only credit memo and, therefore, where Business Central will post the expense. This maps to the Sales Credit Memo Value Adjustment Setup.
Customer ReferenceSpecifies a customer's reference, such as a claim number.
Reason CodeSpecifies a reason code for the credit memo.
Use Original Posting DateSpecifies that the invoice's original posting date will default. If this is not specified, then the app uses the work date.
Remove Zero LinesSpecifies that the app will not copy lines with a quantity of zero over to the credit note. Comment lines are still included.

Auto-Block Customers

Some organisations enforce strict controls when their customers' accounts are not up to date and want to prevent taking orders and processing shipments for customers that have overdue balances. The Auto-Block Customers feature allows you to schedule a job that:

  • Auto-Blocks customers with overdue balances (with the ability to specify a grace period).
  • Removes the Auto-Block as soon as payment is received.

The feature also allows you to exclude some customers that should never get auto-blocked.

See Also