Skip to content

Introduction to Available to Promise (ATP)

Release Date - 6/12/17

What is ATP?

ATP (Available to Promise) is an Elliott database that merges all future transactions like sales orders, purchase orders and production orders. It expands the simple quantity allocated and quantity on order information and projects the inventory quantity on hand balance at a future given time.   Below is an example of Available to Promise Inquiry:

You can access this inquiry screen from I/M -> Inquiry -> Available to Promise.  You can drill down to  this screen from many other areas in Elliott, including I/M Stock Status Inquiry.

In the above example, the data was captured as of 2/21/2017.  it shows we currently have 240 pieces on hand for this item "0 100 000 0031."  On 2/22/17, we need to ship 240 per sales order 108585.  As a result, the quantity on hand balance on 2/22/17 will become zero.  Then on 2/24/17, we will produce 240 pieces and that will bring the on hand balance to 240.  Then on 2/27/17, we need to ship 240 again, and so on and so forth.

The requirements (sales order) quantity is present as a negative quantity because it will reduce the quantity on hand balance.  The replenishment (product order) quantity is present as a positive quantity because it will increase the balance.  Above is an example of ATP Inquiry.  We have various ATP reports, or reports that can include ATP data, to allow your planners to manage your needed purchase or production quantities. 

In the manufacturing process, this is called MRP (Material Requirement Planning). In Elliott Business Software, ATP is the equivalent of MRP and more.  ATP merges the following common types of orders:
  • Sales Orders (but not credit memos or quotes)
  • Purchase Orders
  • BOMP Production Orders
  • Forecast Orders (COP -> Maintenance -> Forecast)
  • Plan Orders (I/M -> Util-Setup -> ATP Regen and Process -> Regen -> answer "Y" to Create Plan Order)
ATP also supports the following less common transactions:
  • SFC Shop Orders (parent item only, no components support)
  • I/M Hold Trx
  • Feature/Options (SO Opposite Side)
  • PO Requisition Trx
  • PO Receiving Trx
  • I/M Transfer Trx
  • COP Transfer Orders
For a complete list of ATP types, you can press F5=Legend at the ATP Inquiry screen.  See following sample screen:

ATP can be used by manufacturers to plan material purchasing and work order production.  It can be used by importers, where customers usually give sufficient lead time to plan the purchasing. It can be used by distributors as long as the customers are willing to accept back orders.  if your customer is not willing to accept a back order, then it is important for you to forecast -- a function which is supported by ATP as well.

ATP Regen

Most data in the ATP database is updated in real time. For example, if you add a sales order, the sales order requirement shows up in ATP right away as soon as the line item is added, changed or deleted.  There are some exceptions to this real-time rule. For example, the plan and forecast orders require the regen process to create.  Even if you do not use plan and forecast orders, we still recommend that you regen ATP weekly to ensure the ATP database is always accurate.  For plan orders, we suggest that you regen either daily or on as-needed basis.  You can automate the ATP regen process through Deferred Processing.

To regen ATP data, go to I/M -> Util-Setup ->  ATP Regen and Process -> Regen.  If you do use plan order, then answer "Y" to the "Create Plan Order" question. See the following sample screen:

Plan Orders

Plan Orders are created by the computer during the ATP regen process.  During ATP regen, the system will evaluate whether or not extra inventory is needed and create plan orders at the proper time. Generally speaking, Elliott Plan Orders are created based on JIT (Just in Time) inventory. A few setup flags can affect this. 

ATP Global Setup

In Global Setup -> System -> Available to Promise, there are many flags that will determine how ATP will function.  See sample screen below:

The following are brief explanations of each setup flag:
  1. Year End at Which Month (Turnover Ratio): In certain areas, the system provides turnover ratio based on ATP data.  In order to provide a meaningful future turnover ratio, the system needs to know at which month your year ends. The default is 12, which means you are using a calendar year.
  2. Update Substitute Item In Add. To Orig Itm: Y or N. If an item has a substitute item defined, then it will be updated to the ATP database when you enter an order. If you do not need this functionality, answer "N."
  3. Use Which Date in COP to Merge into ATP: R=By Request Date, C=By Promise Date (default). In some situations, you may define the promise date as the cancel date.  In that case, you may consider using request date instead.
  4. Default Source In ATP Inquiry: Select a default source to be merged into the ATP open item file. Default is Space=All, S=Sales Orders, P=Purchase Orders, B=BOMP Orders, F=Shop Orders, H=Hold Trx. The purpose of this flag is to allow you to control what sources to merge from.  For example, some companies may only be interested in future ATP entered through Production Orders in BOMP, where as others may need to know what will be available on a future date based on open purchase orders only.  Since many different ATP reports can filter the ATP sources, it is suggested that you use the default value Space, which means "all" for this field.
  5. Show Vessel No In ATP Inquiry: If an "R" (Receiving) type of ATP record is displayed and there's a vessel associated with it, this flag determines whether to show the vessel info or vendor info (default) in ATP Inquiry or Reports.
  6. Keep O/S COP Line Item in ATP as Zero Qty: When a sales order line item is flagged as "Out of Stock," by default there will be no ATP record created for that line item.  If this flag is set to "Y," the system will show zero quantity instead of not showing it at all.
  7. Cutoff Date Option For ATP Report: D=By Cut-Off Date, N=By No of Days (default), L=By Item lead Time+Planning Period. This flag is applicable to ATP reports when prompted for cut-off date. The value entered here will serve as the default value for those ATP reports.
  8. Def No. Of Days For ATP Report Cutoff Date: If the previous flag is set D or N, then this flag will determine the default number of days to cutoff in ATP Reports printing.
  9. Deduct Safety Stock From ATP Qty OH? By default, ATP is a just-in-time system. But if you like to keep extra inventory on hand for emergency purposes, then you can answer "Y" to this flag.  Then the item safety stock is deducted from current quantity on hand before the future inventory quantity on hand is projected.
  10. Use Central Planning Purchase Location? When ATP regen creates the plan purchase order, it creates the replenish plan order for the same location as it is required.  In many cases, a company may have only one physical location and multiple logical locations for various purposes. The purchasing may need to take place at a certain logical location regardless of where the requirement comes from.  If that is the case, answer "C" = Central.  The default is "D" = Distribution.
  11. Central Planning Purchase Location? If the previous flag is set to "C," then specify the central planning purchase location.
  12. Use Central Planning Manufacture Loc? Similar to flag 10, this field determines whether or not you wish to use a central location for production. If yes, answer "C."  Default value is "D."
  13. Central Planning Manufacture Location? If the previous flag is set to "C," then specify the central production location.
  14. Planning Period (i.e. 7=Weekly 30=Monthly): How often does the planner review the ATP data to plan purchases and production?  Weekly or biweekly? For example, if the planner reviews the ATP data every 2 weeks, then enter 14 into this flag.  This is important for the ATP system  to determine the "current period."  Current period is defined as from the item lead time to the item lead time + planning period.  Planners should purchase or schedule production for any plan orders in the "current period." Anything after the item lead time + planning period is called the "future period."  Planners should avoid confirming plan orders in the future period since things can still change (i.e., the customer may cancel the order).  So planners may not want to purchase something too early.
  15. Purchase Planning Buffer Days (0=JIT): By default, ATP plans the purchase order to arrive on the same day as the inventory is needed (just-in-time inventory).  But on the other hand, we should recognize that the promise date is just a best estimated date subject to various factors with shipping.  Therefore, it might be better to give ourselves some buffers. You may, for example, enter something like 7, which means a week in this field.
  16. Manufacture Planning Buffer Days (0=JIT): Similar to flag 15, you may want to give yourself some buffers if the item need to be produced.  Since we have better control with in-house production when it comes to purchasing, you may want to enter a smaller buffer in this field.  For example, you may enter 1 in this field, which means you will finish the production one day before you need it.
  17. Print "Planning Lead Time" Line on ATP? This is the line that starts the current period.
  18. Print Lead Time + Planning Prd on ATP Rpt? This is the line that ends the current period.
  19. Print Today's Date on ATP Report? ATP is designed to project future inventory balance.  Therefore, if you have any orders that are scheduled to take place in the past (before today's date), they are considered "garbage." This "garbage" can happen because when a sales order fails to ship on time, nobody updates that sales order's promise date to a more reasonable future date.  In that same manner, when a purchase order is scheduled to arrive in the past but did not happen, someone failed to follow up with the vendor for a revised date.  If you print today's date on the ATP report, then any ATP transaction before today's date will show up clearly as an indication that someone failed to do their job, and management can use this as an example when asking personnel to do a better job. 
  20. Default Forecast Time Fence: In Elliott Forecast Maintenance, there's a value for "Time Fence." It means the forecast is for the future. If the forecast is too close to the present day, then it's possible that Elliott should not consider that forecast quantity anymore.  For example, you may set the forecast time fence as 7.  This means that Elliott will not consider the forecast sales order if it is within 7 days from today.
  21. Display Job No on ATP Inquiry? This flag determines whether we should display the Job Number on ATP Inquiry.
  22. Create Plan BF LT+Plan Perd Time Fence If Qty Is + Then? (Replaced by Item MRP Time Fence): This flag is no longer applicable.
  23. Display "Planning Lead Time" Line on ATP Inq? This flag determines whether to draw the line on ATP Inquiry to indicate the beginning of the current period. Refer to the explanation of flags 14, 17 and 18 for more detail.
  24. Display Lead Time + Planning prd on ATP Inq? This flag determines whether to draw the line on ATP Inquiry to indicate the ending of the current period. Refer to the explanations of flags 14, 17 and 18 for more detail.
  25. Display Today's Date on ATP Inquiry? This flag determines whether today's date line will be drawn on the ATP Inquiry screen.  See flag 19 for more information.
  26. Sales Forecast Default Export Path & Filename: This is the default file name and path for the forecast order export.  We encourage you to manage your forecast in Excel. Therefore, you can export the current forecast data in Elliott to a CSV file and use Excel for data entry to help determine the proper forecast quantity for a given item.
  27. Sales Forecast Default Import Path & Filename: This is the default file name and path for the forecast order import. See above explanation on editing forecast in Excel.
  28. ATP Qty Days (For Component DD AtpQty(99)): In Stock Status Inquiry, users can drill down to the Component Availability screen. In this screen, we provide a value of ATPQty99, where 99 is the value you enter here. It is intended to show users near-future ATP qty balances without the need to drill down to ATP detail.  For example, you may enter "7" into this field, which instructs the system to show ATPQty07 in the component drill down window to display the inventory balance 7 days from now.  This can be useful information in addition to the quantity on hand.
  29. Display "Vendor Ship Time" Line on ATP Inq? If this flag is set to "Y," then in ATP Inquiry the system will draw a line based on an item's primary vendor, and vendor shipping lead time. This line can be valuable when your vendor is overseas. Generally speaking, when your vendor has shipped the item to you, you can expect its exact arrival time in several of weeks. You can use the PO receiving to pre-receive the shipment without posting.  That will change the ATP type from P (PO) to R (Receiving).  If you do this consistently, then any ATP type of P that's before this "Vendor Ship Time" line signals trouble because the shipment will not arrive on time. It is a signal that you need to follow up with your vendor for an update of their schedule.
  30. Print "Vendor Ship Time" Line on ATP Rpt? Similar to flag 29, but this flag is applicable to ATP reports instead.
  31. Number Of Decimals In Forecast Maintenance? This flag controls the number of decimals in the quantity field of Forecast File Maintenance (COP -> Maintenance -> Forecast Maintenance).
  32. Cutoff Date Option For ATP Regen: D=ByCut-Off Date, N=By No of Days, L=By item Lead Time+Planning Period. Similar to flag 7, but this flag is applicable to ATP Regen only.
  33. Def No. Of Days For ATP Regen Cutoff Date: Similar to flag 8, but this flag is applicable to ATP Regen only.
  34. Default For Consolidate Plan Order Qty? This flag provides the default value for "2. Consolidate Plan Order Qty?" flag during ATP Regen. By default, a plan order is created on a lot-to-lot basis consolidated by date.  That is to say, if the system determines that we need to create a plan order of 10 for item A sales order 123456, and a plan order of 20 for item A on sales order 123457, then if both sales orders need to be shipped on the same day, we will consolidate and create a plan order of 30.  However, sometimes this consolidated quantity may not be large enough to meet the vendor's requirement of: (a) Order Multiple; (b) Economic Order Qty.  If you set this flag to "Y," then the system will consolidate enough quantity through multiple days to create the plan order.  See the following Knowledge Base article on ATP regen and consolidation:
  35. Consolidate Plan Order Qty by Order Mult? When choosing to consolidate in the previous flag, should the system consider Item Order Multiple?  The possible values are "Y"=Yes, "N"=No or "A"=Always. The difference between "Y" or "A" will affect the last consolidated plan order.  "A" will ensure the consolidated quantity is a multiple of the item order multiple even if there are not as many items needed.  "Y" will perform consolidation as well, but it will not over plan so the the last consolidated plan ATP record may not be a multiple of the item order multiple.
  36. Consolidate Plan Order Qty by Econ Ord Qty? When choosing to consolidate the ATP plan record, should the system consider Item Economic Order Quantity? The possible values are "Y"=Yes, "N"=No or "A"=Always.  Refer to the above explanation of the difference between "Y" or and "A."

Item Setup

In order for the plan order to generate properly, there are certain fields in the Item Master that need to be set up accordingly:
  • Field # 47 to set up Order Minimum per vendor request.
  • Field # 48 to set up Order Multiple per packaging requirement.
  • Field # 59 to set up Safety Stock. This is optional per Global Setup flag #9 above.
  • Field # 65 to set up Economic Ord Qty. This is optional per Global Setup flag #36 above.
  • Field # 73 to set up Master Sch Item = "Y."  Only items set up with a "Y" in this flag will cause ATP regen to create plan records.  Setting this flag to "N" means you will manually plan the replenishment for this item without computer assistance.
  • Field # 84 Planning Lead Time. This is the field ATP uses to determine lead time -- not the lead time in field # 45.  On the other hand, when you update Planning Lead Time or Lead Time in Item Master maintenance, the system will prompt you to also update the other lead time.  Generally speaking, we suggest you keep these two fields identical.

ATP Reports

The following are ATP reports that can give you valuable information of the ATP database.

Available To Promise by Items 

IM -> Reports -> Available to Promise Reports -> Available To Promise by Items
This report by by item sequence.  It present similar information to the ATP Inquiry screen, but includes more. You can use this report to print a list of items and look at the Qty Balance column.  Anything showing up as negative quantity on the Qty Balance means the planner needs to do something about it.

Available To Promise Edit List

IM -> Reports -> Available to Promise Reports -> Available To Promise Edit List 
This report prints by the primary key sequence of ATP records, which is ATP Type (Sales Order, Purchase Order, BOMP Work Orders...etc), then the primary key of the associated records.  You can use it if you only want to see certain types of ATP records. Below is an example of ATP Edit List parameters screen:

The ATP Edit List can also be exported to CSV. The following is an example of the exported CSV file for the ATP Edit List:

Available To Promise Period Summary

IM -> Reports -> Available to Promise Reports -> Available To Promise Period Summary
This report prints by item sequence.  It is different from the ATP by Items report in the sense that this report will only print one line per item.  but ATP by Items will print one ATP record per line.  Therefore, you can consider the ATP by Items report as the detailed ATP report and this report as a summary.

The summary will print up to 12 columns of future periods, either weekly or monthly.  Each column represents the quantity balance of this item at the end of the period.  You will focus on those periods that have the negative value, which means there's a shortage in that period and the planner needs to do something about it.  See below for an example of ATP Summary Report parameters:

The ATP Summary Report can also be exported to a spreadsheet. When you export to a spreadsheet, you can choose up to 52 periods.  Below is an example of the exported ATP Summary Report in CSV format:

Available To Promise Pegging Report

IM -> Reports -> Available to Promise Reports -> Available To Promise Pegging Report  
Pegging information shows the source of requirements for the replenishment.  For example, the computer may suggest that you plan a production of 20 for item A on a certain day.  You wonder where that requirement came from.  Then you can look at the pegging information, which may show you that it is due to certain sales orders...etc. Pegging information is generated during ATP regen. Therefore, to have accurate pegging information on this report, it is important that you run the ATP regen prior to running this report.

Reordering Advice User Defined CSV Export

IM -> Reports -> Reordering Advice Reports -> Print -> User Defined CSV Export
This is not a canned report because you need to tell the system what you want.  It is similar to the Elliott Export Processor, where you need to define your CSV file and specify what columns you want. To define your own CSV export layout, go to IM -> Reports -> Reordering Advice Reports -> Maintenance -> User Defined CSV Layout. This makes it very flexible and we consider Reordering Advice User Defined CSV Export as an "Inventory Report Writer."  The difference is that the Elliott Export Processor is a generic report writer based on database values.  This "Inventory Report Writer" focuses on inventory data exclusively.  Many of the columns supported in "Inventory Report Writer" are calculated numbers and are very difficult to retrieve through any generic report writer like Export Processor or Crystal Reports.

The type of data supported in this "Inventory Report Writer" includes:
  • Fields in the item master
  • Quantity on hand, allocated, on order, back orders in both Item Master and inventory location tables
  • Sales History data in IMLOCHST table
  • Available to Promise Data
  • Attribute data that's attached to the Item Master
  • Linkage date that's attached to the Item Master
As you can see, you are not limited to using this "Inventory Report Writer" for ATP purposes.  But there are many successful implementations of using this function to replace the other ATP reports above. The great benefits come from the fact that the columns here are user-definable and you can create your own ATP reports to suit your needs.

ATP Processing

IM -> Util-Setup -> ATP Regen and Process -> ATP Processing
You may interact with Elliott ATP data from none, inquiry, planning to automatically creating POs and work orders.  The ATP processing helps planners to create POs and work orders.  It is the highest level of ATP functionality we have to offer to the planner. If you are using ATP Processing, then you are taking full advantage of Elliott ATP functionality.

Generally speaking, you will use ATP regen first to let the system create plan orders.  A plan order is just a "plan" and is not an actual order.  The ATP Processing helps the planner to convert the plan orders into the actual PO (if the item is "P" - purchase type of item) or a work order (if the item is "M" - manufacture type of item).

In Elliott AP Processing, we first prompt you for parameters to bring up a list of items that are "planned."  Generally speaking, you should process your "P" (Purchase) type of records first. For a manufacturer, they normally will purchase materials or components before they produce.  If the materials or components can't be purchased and arrive in time, then there's no point to plan for the production for M (Manufacture) type of items.  The following is a sample of the ATP Processing Parameters screen:

The above example shows default parameters, with the exception of field "10. Mfg or Purchase." In this example, we use "P" to show a list of purchase items to process first. Something worth mentioning is field "5. Planning Type To Show?" In order to understand the types of ATP records present in the Elliott ATP database, you should be aware that we have four different planning types:
  • A = Actual: These are the ATP records that also update quantity allocated and on order.  For example, sales orders, printed purchase orders, release work orders...etc.
  • F = Firm: These are the quasi-orders. They are not an actual orders yet but will become actual orders soon.  For example, PO requisitions, blanket sales orders or purchase orders, unreleased work orders, and non-printed purchase orders.  These orders do not update quantity allocated or on order. Therefore, they are not part of the "Actual" category.
  • X = Firm Plan: When users mark a computer plan order as firm, then in the future ATP regen, this order will not be recalculated.  
  • P = Plan and Forecast: Plan and Forecast orders are created during ATP regen.  The plan orders are created by the computer. Therefore, each time ATP is regen, the plan order will be wiped out and re-calculated.
The planning type can be roughly considered as the certainty of the ATP record. Actual is certain; Firm is very certain; Firm Plan is somewhat certain; and Plan is not certain yet.

When you choose to show the "A" (Actual) Planning Type, only A planning type records will show.  When you choose to show "F" (Firm) Planning Type, both F and A planning type records will show because it makes no sense to show "F" without showing "A."  For the same reason, if you choose to show "X" (Firm Plan), then X, F and A planning type records will show. Finally, when you choose "P" (Plan), then all planning type records will show.

In the above example, we chose to show "P" (Plan) which means all planning type records will show. The following is a sample screen to show a list of items based on the above parameters.

Here is some important information of each column:

S (Status) - This can be
  • Blank=No Status, 
  • P=Past Due, 
  • C=Current, or 
  • F=Future. 
Look at the Global Setup section of this document, which discusses the lines Planning Lead Time and Planning Lead Time + Planning Period.  Planning records before Planning Lead Time is considered "Past Due."  Planning records after Planning Lead Time + Planning Period is considered "Future."  Anything in between is considered "Current."  

Tp - This will be P=Purchase, M=Manufacturing, MP=Manufacturing, but mostly Purchase (treat it as P) and mostly manufacturing  (MM=Manufacturing and mostly manufacturing).

Action Date - This indicates how many days before we should create the replenish orders; otherwise it will become past due.  A negative value means it is already past due.

BC - The buyer code

Cat - Product category

Item-No - The item number

Item-Description - The item description

Actual/Firm/Firm Plan/Plan Trx - Indicates the quantity of ATP trx under each category

Below is an example of an item that has two plan records in the current period when drilling down from the above item list screen:

This screen looks identical to the ATP Inquiry screen. The difference is that you are allowed to take action here. In the ATP Process detail window, you could use F4=Chg Type to change the plan orders (LP) to requisition (Q).  Keep in mind that we don't directly create the PO at this stage.  Requisition is considered a pre-PO database. Various items for the same vendor can be staged here, so we create one PO per vendor, instead of one PO per item.  To create the PO for the vendor, you simply post the requisition, which is a batch processing function.

In the above example, you need to have quantity 5 arrive on 6/20/17 and quantity 11 arrive on 6/21/17. Notice there's a "*" beside the quantity. It signals that there are some kind of issue with that quantity.  In this case, it is due to the order Multiple is 10.  If you would convert this plan order to a requisition, the system would suggest that the qty 5 should become 10 and the qty 11 should become 20.  That obviously does not make sense. See the following Knowledge Base article for more detail on the "*" sign:

In this case, you should use F2=Consolidate to consolidate these two records. These will make a combined quantity of 16 for 06/20/17.  If you should create the requisition, then the system will suggest that you order 20 instead of 16 because of the order multiple.

Your focus on this screen should be on either past due or current items.  For the past due items, you can coordinate with vendors, customers and internal production to come up with an acceptable solution. Otherwise, the customer orders should be canceled.  For the current items, you should simply go ahead and create the purchase orders or work orders.

Common Questions

One common question with ATP Inquiry screen is when user drill down to ATP from stock status inquiry screen, they do not see all the ATP records like blanket PO, un-printed PO, PO requisition, un-released work order, blanket sales order...etc.  Please refer to the following KB article for more detail:


Feedback and Knowledge Base