Skip to main content

Notifications

FAQ (Episode#1): MSDyn365F&SCM – A dead simple ATP calculation (Part1)

In the FAQ series, I will be answering questions that I am getting regarding MSDyn365F&SCM.

In this blogpost the question is “What is the difference between APT and CTP?” .

In order to answer this question, you will need to review both methods as thoroughly as you could. And we will start with ATP.

ATP (Available to Promise) is an important concept in supply chain management, meaning to determine an available quantity and a delivery date for an order from a customer.

In other words, it’s a projected quantity of an item that will be available on a specific date and can be promised to a customer. The ATP calculation does not require MRP (but does not exclude it); it  includes uncommitted inventory, lead times, planned receipts, and known issue demands. The system uses a time fence, to see how many receipts are available for the order you enter.

If you look at ATP from business perspective, you will notice the following:

Delivery date control optionBusiness strategyBusiness strategy definition
ATPStocked End Product
Make to Stock (MTS)
Stocked End Product: the end item that is available as inventory and allows consumers to purchase them right away
MTS: When company produces products and stock them as inventory until a customer buys them. However, this system may be prone to wastage and obsolescence, as inventory sits on shelves awaiting purchase.

Basically it’s all about finished goods that you don’t need to produce. Most common usage of this method is within the Distribution industry.

Available to promise is a calculation that depends on a number of factors such as the amount of inventory you currently have, the amount of sales orders you have, and whether a purchase order is coming in or not. Available to promise is the projected amount of inventory you have left available to sell, not including allocated inventory. The rules for calculating available to promise inventory are pretty simple. 

Now, let’s deep dive into calculation for this method. We will start with the simplistic settings and then will go deeper and deeper.

I have an item with the following configuration:

When you add this item to the Sales order line, the predicted date when you can promise the item to your customer will be calculated and Requested delivery date will be populated. To view the details, use Simulate delivery dates feature (Sales order line > Delivery tab > Simulate delivery dates link).

First thing that is taken into account is Lead time. Below you may find how it’s calculated:

Lead time calculation:

If there is a promise date from an inbound order , then Lead time is the days difference between the order date and the promise date

Lead time = Promise date – Sales Order date

If there is no promise date from an inbound order , then Lead time is the ATP time fence (starting following day)

Lead time = ATP time fence + 1

For our scenario, we have the following:

  • The Product item has a five-day lead time.
  • The inventory for the Product item is 0 (zero).
  • On January 2, you get a sales order for a quantity of 10 of the Product item.

MSDyn365F&SCM sets a Requested delivery date = January 8, as January 2 (Order date) + 5 days (ATP time fence) + 1 day , since there is no inventory coming down the line.  

Promise date first of all takes into account Receipts.

Receipts are calculated by the following criteria:

  • The system searches for all inventory transactions where :
    • Qty > 0
    • Status Receipt = Ordered
    • Status Receipt = Arrived
    • Status Issue = None
    • If transaction is Purchase, than only purchase line Delivery type = Drop ship will be considered
      Note: The list of considered transactions can be found in the view SalesATPReceiptInventTrans
  • The system excludes transfer inventory transactions if a corresponding counterpart issue transaction exist with same grouping inventory dimensions
  • Ignore this condition, we will review it in details later on. The system includes only the records that are within the timeframe from Supply Start date and ATP end date will be considered.
    ATP end date = Today + ATP time fence
    Supply Start date calculation:
    If (today +ATP delayed supply offset time) > ATP end date, then Supply Start date = today //Because in this case delayed supply orders are considered as actual orders not within the ATP time fence, it makes no sense to process them because their quantities do not affect ATP calculation process
    If (today +ATP delayed supply offset time) <= ATP end date, then Supply Start date = today – ATP backward supply time fence

    Back to our example.
  • The Product item has a five-day lead time.
  • The inventory for the Product item is 0 (zero).
  • On January 2, you get a sales order for a quantity of 10 of the Product item.
  • On January 11, you get a purchase order for a quantity of 10 of the Product item.

MSDyn365F&SCM sets a Requested delivery date = January 8, as January 2 (Order date) + 5 days (ATP time fence) + 1 day , since there is insufficient supply coming down the line within our timeframe to satisfy the required quantity.   

If you get a purchase order for a quantity of 10 of the Product item On January 6, the system will consider existing purchase order and adjust Requested delivery date

Lead time = January 6 – January 2 = 4 days and MSDyn365F&SCM sets a Requested delivery date = January 6 as January 6 + 4 days

Past-due supply orders are also included in the ATP calculation for the Receipts. And there are 2 parameters that control that.

ATP backward supply time fence determines how far into the past the system can reach to pick up past-due quantities and include them in the ATP calculation. 

ATP delayed supply offset time determines on which future date these found past-due quantities should be considered. With an offset = 0, they will be considered today. With an offset of 1 day, they will considered tomorrow.

Let’s back to the Receipts condition that I have highlighted to ignore. Now it’s time to review it in details.

If (today +ATP delayed supply offset time) > ATP end date, it means that all past due purchase orders will be delivered far away in the future and we should ignore them.
If (today +ATP delayed supply offset time) > ATP end date, it means that all past due purchase orders will be delivered within our timeframe.
Check two examples below:
In first scenario ATP delayed supply offset time = 8 days

As you can see from the illustration, even if we have any past due supply orders, they will not be delivered soon.

In second scenario ATP delayed supply offset time = 2 days

As you can see from the illustration, if we have any past due supply orders, they will be within our timeframe.

Since we consider past due supply orders, how far into the past the system should search for past-due quantities. And here ATP backward supply time fence is taken into consideration.

Back to our example.

  • The Product item has a five-day lead time.
  • The Product item has a two-day ATP backward supply time fence.
  • The Product item has a three-day ATP delayed supply offset time.
  • The inventory for the Product item is 0 (zero).
  • On January 2, you get a sales order for a quantity of 10 of the Product item.
  • On January 1, you have past due purchase order for a quantity of 10 of the Product item.

We figured out the inbound part. Now, let’s make a start with outbound part.

ATP calculation is taking into consideration issues.

Issues are calculated by the following criteria:

  • The system searches for all inventory transactions where:
    • Qty < 0
    • Status Issue = On Order
    • Status Issue = Reserved ordered
    • Status Issue = Reserved physically
    • Status Receipt= None
    • If transaction is Sales, than only sales line Delivery type = Drop ship will be considered
      Note: The list of considered transactions can be found in the view SalesATPIssueInventTrans
  • The system excludes transfer inventory transactions if a corresponding counterpart receipt transaction exist with same grouping inventory dimensions
  • The system includes only the records that are within the timeframe from Demand Start date and ATP end date will be considered.
    ATP end date = Today + ATP time fence
    Demand Start date calculation:
    If (today +ATP delayed demand offset time) > ATP end date, then Demand Start date = today //Because in this case delayed demand orders are considered as actual orders not within the ATP time fence, it makes no sense to process them because their quantities do not affect ATP calculation process
    If (today +ATP delayed demand offset time) <= ATP end date, then Demand Start date = today – ATP delayed demand offset time

Logic is pretty the same as for Receipts.

ATP backward demand time fence and ATP delayed demand offset time behave exactly the same as for supply. 

If you open ATP information form (Sales order line > Product and supply), you will see the following information:

Receipts (Qty) are calculated based on the query provided earlier.

Issues (Qty) are calculated based on the query provided earlier (excluding current sales order line).

On hand is calculated by the following criteria:

On hand = On hand + Receipt – Issues

where On hand is taken form the Physical inventory of the item

ATP (Qty) keeps track of how many “un-promised” supply still exists. In other word it’s a projected on hand.

ATP calculation is taking into account Planned orders if ATP incl.planned orders is activated.

The system will calculate Planned demand and Planned supply

Planned demand is calculated by the following criteria:

  • The system searches for all Net requirements (ReqTrans) where:
    • Qty < 0
    • Reference Type = {
      BOMPlannedOrder (Planned production orders)
      PmfFormulaLine (Formula line)
      PmfPlannedProdBatch (Planned batch order)
      ItemPlannedOrder (Planned purchase orders)
      TransferPlannedOrder (Planned transfer)
      TransferDemand (Transfer requirement)
      BOMLine (BOM line)
      PlannedKanban (Planned Kanban)
      PlannedKanbanLine (Planned Kanban line)
    • It is not forecasted purchase
      Note: All records that are within the timeframe from Planned Start date and ATP end date will be considered.
      ATP end date = Today + ATP time fence
      Planned Start date calculation:
      If (today +ATP delayed demand offset time) > ATP end date, then Planned Start date = today //Because in this case delayed planned demand orders are considered as actual orders not within the ATP time fence, it makes no sense to process them because their quantities do not affect ATP calculation process
      If (today +ATP delayed demand offset time) <= ATP end date, then Planned Start date = today – ATP backward demand time fence

Planned supply is calculated by the following criteria:

  • The system searches for all Planned orders (ReqTrans) where:
    • Qty > 0
    • Reference Type = {
      BOMPlannedOrder (Planned production orders)
      PmfFormulaLine (Formula line)
      PmfPlannedProdBatch (Planned batch order)
      ItemPlannedOrder (Planned purchase orders)
      TransferPlannedOrder (Planned transfer)
      TransferDemand (Transfer requirement)
      BOMLine (BOM line)
      PlannedKanban (Planned Kanban)
      PlannedKanbanLine (Planned Kanban line)
    • It is not forecasted purchase
      Note: All records that are within the timeframe from Planned Start date and ATP end date will be considered.
      ATP end date = Today + ATP time fence
      Planned Start date calculation:
      If (today +ATP delayed supply offset time) > ATP end date, then Planned Start date = today //Because in this case delayed planned supply orders are considered as actual orders not within the ATP time fence, it makes no sense to process them because their quantities do not affect ATP calculation process
      If (today +ATP delayed supply offset time) <= ATP end date, then Planned Start date = today – ATP backward supply time fence

Other considerations:

Only primary stockings are considered in the ATP calculation

Of course, there are other basic rules that are taken into consideration like

Order entry deadlines
Calendar for mode of delivery
Transportation time to customer
Calendar for the customer receiving point
Calendar for the ship-from warehouse

To be continued….

Comments

*This post is locked for comments