Available to promise (ATP): the formula, a worked example and how capable to promise differs

Available to promise (ATP) is the stock you can still commit to a new order on a given date.

Four loading dock doors with blue roll-up doors, black dock seals and yellow and black safety markings above a concrete apron with red painted lines

What available to promise means

Wikipedia describes available-to-promise as the business function that answers a customer’s order inquiry from the resources available, with a quantity and a delivery date. ERP vendors define it the same way. Oracle’s JD Edwards documentation calls ATP the uncommitted portion of inventory or planned acquisitions, used to promise customer orders. Microsoft’s Dynamics 365 documentation calls it the quantity you can promise a customer on a specific date.

The key word is uncommitted. Stock on the shelf that an earlier order already claims is not available to promise, even though a stock count shows it. Supply that is scheduled but not yet in, such as a production order or a purchase order, does count, on the date it is due.

ERPs call the whole step order promising. Business Central has an Order Promising Lines page, Dynamics 365 describes order promising through delivery date control, and Oracle sells Global Order Promising. The term means the same thing in supply chain and logistics. For a manufacturer or distributor, ATP is the number behind the promise date on each sales order line and each quote.

The available to promise formula

The formulas

ATP in the first period = on hand − safety stock + scheduled receipts − committed orders

ATP in each later period = scheduled receipts − committed orders

Cumulative ATP = the running total of the period figures

ATP with look-ahead in a week = the lowest projected balance from that week to the end of the horizon

The first two lines are the formulas in Oracle’s JD Edwards guide, in shorter words. Its receipts are work orders, purchase orders and planned orders. It subtracts sales orders, component demand from work orders, interplant demand and expired lots. It never includes forecast, because ATP counts actual customer orders. Safety stock comes off in the first period, and inventory optimization covers how to set it.

What counts as a receipt is a setting, not a law. SAP defines which stocks, receipts and requirements count in its scope of check. Two plants on the same ERP with different settings can get different answers for the same item.

A later period goes negative when its orders exceed its receipts. JD Edwards then shows zero for that period and lowers cumulative ATP by the shortfall. The look-ahead version also holds back stock from earlier periods to cover the later shortfall. Dynamics 365 calculates ATP this way and calls it cumulative ATP with look-ahead. Its ATP counts issues until cumulative receipts exceed cumulative issues, and it never shows a negative quantity.

How to calculate available to promise: a worked example

A plant keeps a standard steel electrical enclosure in stock. The numbers are made up to show the method. At the start of week 1 it has 45 in stock. Production orders bring 50 in week 3 and 50 in week 6, and customers have orders in every week.

WeekScheduled receiptsCommitted ordersProjected on handATP with look-ahead
Week 1015305
Week 2020105
Week 35010505
Week 4025255
Week 502055
Week 650104525
Week 70153025
Week 8052525

Read week 3. The projected balance says 50 enclosures will be on the shelf, but only 5 of them are free. Weeks 3 to 5 hold orders for 55, five more than the week 3 production order brings. Five of the 10 units left from the opening stock must be held for those orders.

Worked receipt by receipt, the arithmetic is short. The opening 45 covers the 35 ordered in weeks 1 and 2, leaving 10. The week 3 receipt of 50 falls 5 short of the 55 ordered in weeks 3 to 5, so it borrows 5 of those 10. The week 6 receipt covers the 30 ordered in weeks 6 to 8 and leaves 20. ATP is 5 until week 6, then 5 plus 20, or 25.

Promising a new order

A customer asks for 20 enclosures in week 4. The projected balance for week 4 is 25, so a desk working from that number says yes. The order takes week 5 below zero: the balance drops to −15, and the customer already promised 20 in week 5 is short by 15.

ATP gives a different answer. Only 5 are free in week 4, and ATP first covers 20 in week 6, when it reaches 25. The promise date is week 6. A split works too: 5 in week 4 and 15 in week 6, with the 15 tracked as a backorder until then.

Get every order line into your ERP, dates included

Tell Derik how purchase orders reach your desk, which ERP they go into and how the ship date on each line is set today. He will tell you what a four-week order desk build would cover.

Start a conversation

Available to promise vs capable to promise

ATP counts only supply that exists or is already scheduled. Capable to promise asks the next question: if the plant made or bought more, when could it ship? Business Central’s order promising treats CTP as a what-if for the quantity that is neither in inventory nor on scheduled orders. In its example, an order for 10 with 6 available sends the other 4 to CTP.

Microsoft’s Dynamics 365 documentation states the difference plainly: ATP looks at material only and assumes unlimited capacity, while CTP checks both material and capacity. Oracle’s Global Order Promising runs its CTP check through several bill of material levels, down to resource and supplier capacities.

Available to promise (ATP)Capable to promise (CTP)
QuestionHow many can I promise from stock and scheduled supply, and when?When could I deliver the rest if I make or buy more?
What it readsOn hand, scheduled receipts and committed ordersThe same, plus bills of materials, routings, work centre capacity and supplier lead times
CapacityAssumed unlimitedChecked
ResultA confirmed quantity and dateA date, plus new planned supply once someone accepts it
FitsStocked items and distributorsItems made or bought to order

Back to the example. The customer insists on week 4, so CTP looks for the 15 enclosures that ATP cannot cover. Each one takes 1.5 assembly hours, so 15 need 22.5 hours. Doors, hinges and locks ordered in week 1 arrive in week 3, when the assembly cell has 24 free hours. CTP adds 15 to the week 3 run, and all 20 ship in week 4.

In Business Central, accepting a CTP date creates a planning line and a reservation, so the extra supply is planned and held for that order. ATP in the example then drops to zero until week 6, and the next customer gets a week 6 date.

How ERPs run the ATP check

SAP and Business Central run the check along the same path. It works back from the date the customer wants and looks for enough ATP on that date. If there is none, it proposes the next good date.

Step 1Work back from the requested dateThe requested delivery date, less shipping and handling time, gives the date the goods must be ready to ship.
Step 2Check ATP on that dateThe line is compared with cumulative ATP on the availability date, at the plant or warehouse that ships it.
Step 3Confirm, or find the next dateEnough ATP confirms the line and reserves the quantity. Otherwise the system proposes the earliest date with enough ATP.
Step 4Run CTP for the restQuantities with no supply go to capable to promise, which works out when they could be made or bought.
Step 5A person accepts the dateThe order processor accepts or changes the date, and the date goes on the acknowledgement.

SAP’s availability check follows steps 1 to 3 closely. It schedules backward from the requested delivery date to a material availability date, and confirms the item if cumulative ATP covers it on that date. If not, it schedules forward from the next date with enough ATP and proposes a delivery date.

ERPWhere the check runsHow it works
SAP S/4HANAAvailability check on each sales order itemCumulative ATP on the material availability date. Advanced ATP (aATP) adds alternative-based confirmation, which can move the item to another plant or storage location.
Oracle E-Business SuiteGlobal Order Promising, called from Order ManagementATP from collected supply and demand, or ATP and CTP from an Advanced Supply Chain Planning plan. It can check availability during configuration in Oracle Configurator.
Oracle JD EdwardsRequirements planningATP by period and cumulative ATP, from receipts and actual orders, with no forecast.
Business CentralOrder Promising Lines on a sales orderATP from unreserved inventory and planned supply, and CTP that creates requisition lines. Only items marked Critical are included.
Dynamics 365 Supply Chain ManagementDelivery date control on each sales lineSales lead time, ATP, ATP plus issue margin, or CTP. ATP is cumulative with look-ahead.

Sources for the table: SAP Learning, Oracle’s Global Order Promising guide and JD Edwards guide, and Microsoft’s pages for Business Central and Dynamics 365.

Pallets of shrink-wrapped cardboard boxes stacked on tall steel racking under a line of ceiling lights in a warehouse aisle

ATP for configured and engineered products

A plant that builds to order rarely has the finished product on the shelf, so ATP on the end item says little. The date depends on the components and the hours. Oracle’s Global Order Promising lets you mark optional items for an ATP check at any level of an assemble-to-order configuration. Business Central can promise dates for bill-of-material items too.

For an engineer-to-order product, part of the lead time is design. A new size or a special option adds drawing hours before any material is ordered. Those hours compete with other orders for the same engineers. A CTP check that counts only shop hours leaves the drawing office out of the date.

For configured products, the quote is often where the date is first promised. A configurator that knows the bill of materials and routing of each option can run the same check while the quote is built. The guide to product configurator software covers how those rules come out of an Excel builder.

Why quoted lead times drift

A date can be wrong on the day it is promised, or become wrong later. Each cause below has a different fix.

Start with the records you have. Pull last quarter’s order lines with both the promised and the shipped date, and sort the late ones by item and by cause.

Where AI does the work

AI fits ATP where a person reads records today and types a date. A named person approves each date before it reaches a customer.

The approver sees the date, the receipt or hours behind it, and any order it pushes back. Human in the loop covers how to design that review.

How ThriveAI gets each order line into your ERP

ThriveAI’s order desk automation starts with the customer’s purchase order, where the date request begins. Derik sets up one inbox for orders. Each PDF, spreadsheet, scan or email is read into fields, including every line’s requested date. Each line is matched to your items, including the customer’s own part numbers, and checked against that customer’s price. Differences are flagged, and the order is drafted in your ERP’s layout beside the original. A person approves, changes or rejects every draft before anything is entered, so any ATP check in your ERP runs on a line keyed correctly. The first stage runs four weeks on your own workspace. Drafted order acknowledgements can follow in a later stage. The order desk automation offer describes the four weeks.

Questions people ask

What does available to promise mean?
Available to promise (ATP) is the quantity of an item you can still commit to new customer orders on a given date. It counts stock on hand and scheduled receipts, less the orders already promised, and it sets the ship date you can quote.
How is available to promise calculated?
In the first period, ATP is on hand minus safety stock plus scheduled receipts minus committed orders. In each later period, it is that period’s receipts minus its committed orders. Cumulative ATP adds the periods up, and the look-ahead version holds back stock for later shortfalls.
What is the difference between available to promise and capable to promise?
ATP promises from stock and supply that is already scheduled, and it assumes unlimited capacity. Capable to promise (CTP) works out when the plant could make or buy more, checking both materials and capacity. It gives a date for the quantity ATP cannot cover.
What does ATP mean in supply chain and logistics?
It means the same as in an ERP: the uncommitted part of stock and incoming supply, by date. The order desk uses it to say how many units can ship and when, without taking stock already promised to other orders.
What does ATP mean in SAP?
In SAP S/4HANA, the ATP check confirms a sales order item when enough cumulative ATP quantity exists on the material availability date. If not, it proposes a later date. Advanced ATP (aATP) adds alternative-based confirmation, which can switch the item to another plant or storage location.
Does available to promise include forecast?
Not as demand. ATP subtracts actual customer orders, and Oracle’s JD Edwards guide states that forecast is never included in its ATP calculation. Planned orders do count, on the supply side, so production the plant has planned but not yet released can still be promised. Check which receipts your ERP’s settings include before you rely on the number.
Why do promised ship dates slip?
The date came from a fixed lead time or from stock on hand instead of ATP, or a receipt it relied on moved later. Capacity assumed to be unlimited is another cause. Comparing promised and shipped dates on last quarter’s orders shows which cause is behind yours.

Contact

Get every order line into your ERP, dates included

Tell Derik how purchase orders reach your desk, which ERP they go into and how the ship date on each line is set. He will tell you what a four-week order desk build would cover.

Prefer to talk? Book a meeting.

Your message goes to Derik Lawlis, the founder.