Available-to-promise (ATP) is the uncommitted portion of a company's inventory and planned production that a salesperson can still promise to a new customer order. In its simplest form, ATP for a period equals on-hand inventory plus scheduled receipts minus the orders already committed against that supply.
ATP is the difference between a delivery date you can keep and one you are guessing at. When a customer asks "can I have 500 units by the 14th?", ATP is the number that answers honestly, because it counts only the supply that is not already spoken for. This post defines ATP, walks the calculation against on-hand plus scheduled receipts minus commitments, explains discrete versus cumulative ATP, and shows why the answer is only as good as the data feeding it. It is educational, names no products, and links to the planning topics it touches.
What is available-to-promise?
Available-to-promise is the uncommitted balance of inventory and scheduled production that remains free to sell against new demand. The Association for Supply Chain Management (ASCM/APICS) body of knowledge defines it as the uncommitted portion of a company's inventory and planned production, maintained in the master schedule to support customer-order promising. The key word is uncommitted. Total inventory tells you what exists; ATP tells you what is still yours to give away.
Every unit of supply sits in one of two states. It is either already promised to an order, a forecast consumption, or a downstream requirement, or it is free. ATP counts only the free portion, time-phased into the periods when the supply actually lands. That time-phasing matters: 500 units arriving next Friday cannot be promised to a customer who needs delivery on Wednesday. ATP respects the calendar, which is why it produces dates a plant can keep rather than dates a hopeful salesperson invented.
ATP lives on top of the master production schedule. The master schedule says what will be built and when; ATP reads that schedule and reports how much of each period's output is still sellable. Get the master schedule wrong and ATP inherits the error, which is why order-promising discipline starts upstream of the promise itself.
How do you calculate ATP?
The base calculation is on-hand inventory plus scheduled receipts for the period, minus the customer orders committed against that period's supply. Scheduled receipts are the confirmed inbound supply: open purchase orders from suppliers, released production jobs, and inter-facility transfers due to arrive. Committed orders are firm sales orders and any inventory already reserved. Note what is deliberately excluded: the forecast. ATP promises against real, confirmed supply and real, confirmed demand, not against what marketing hopes will sell.
A worked example makes it concrete. Suppose a work center starts the week with 200 units on hand, has a production job of 300 units scheduled to finish Thursday, and already has firm orders for 350 units. The naive on-hand number, 200, looks short. But ATP across the week is 200 + 300 - 350 = 150 units still available to promise, provided the customer can accept delivery after Thursday's job completes. The receipt timing is what turns "we are out" into "we have 150, available Friday."
What is the difference between discrete and cumulative ATP?
Discrete ATP calculates each period in isolation; cumulative ATP carries unused availability forward across periods. The distinction changes the promise date, so it is worth getting right.
Discrete ATP looks at a single bucket: on-hand plus that period's receipts minus that period's commitments. A negative result in one period signals an over-commitment that has to be resolved, but discrete ATP does not automatically borrow from a later, healthier period. Cumulative ATP (sometimes "cumulative ATP with look-ahead") rolls the leftover forward, so surplus in an early week is available to cover a promise in a later week. Cumulative-without-look-ahead simply accumulates; cumulative-with-look-ahead also reaches ahead to net future receipts against a current shortfall. Which one your system uses determines whether a promise made today quietly consumes availability a future order was counting on.
How does ATP differ from capable-to-promise?
ATP promises against supply that already exists or is already scheduled; capable-to-promise (CTP) goes further and checks whether unplanned production could still make the date. When ATP comes back with nothing, a CTP check asks the harder question: given free capacity, available materials, and lead times, could we build the order in time even though it is not on the schedule yet? CTP therefore needs a finite-capacity model of the plant, which is exactly what advanced planning and scheduling systems provide. ATP is a lookup against the plan; CTP is a feasibility check against the plant's real constraints. Most order-promising conversations start with ATP and escalate to CTP only when ATP says no.
What do the standards and data say?
Context from primary sources and standards bodies:
- ATP is formally defined as the uncommitted portion of inventory and planned production, kept in the master schedule for customer-order promising, in the supply-chain body of knowledge maintained by the Association for Supply Chain Management (ASCM/APICS).
- The standard time-phased formula, on-hand plus scheduled receipts minus committed demand, is the same logic implemented in mainstream MRP engines; see the reference implementation documented by Oracle's MRP available-to-promise documentation.
- Manufacturing is a large base of order-promising activity: the U.S. Bureau of Labor Statistics reports roughly 13 million manufacturing jobs spread across plants that each promise dates off their own master schedules.
The practical takeaway: ATP is a defined, standardized calculation, not a house rule, and its reliability depends entirely on the master schedule and inventory records underneath it.
How does ATP drive reliable delivery dates?
ATP turns order promising from a negotiation into a lookup. Instead of a salesperson calling the plant, waiting, and relaying a guess, the order-entry screen reads the time-phased ATP and returns the earliest date it can actually support. Done well, this shrinks the promise-to-reality gap: fewer orders promised into thin air, fewer expedites, fewer apologetic phone calls when the date slips. It also protects the schedule, because a promise that respects ATP does not silently over-commit a period that other orders were counting on.
Here is a disciplined order-promising sequence built on ATP:
- Read the request. Capture the quantity and the date the customer actually needs.
- Check discrete ATP for the need date. Look at on-hand plus that period's scheduled receipts minus what is already committed.
- Roll cumulative ATP forward if the period is short. See whether surplus from earlier periods, or a look-ahead to a future receipt, can cover the gap.
- Escalate to a capable-to-promise check when ATP is exhausted. Ask whether free capacity and materials could build the order in time.
- Commit against ATP, not against the forecast. Reserve the supply so the promise consumes real availability and updates every downstream ATP.
- Re-net when supply changes. When a receipt slips or a job scraps, recompute ATP so the promise stays honest instead of becoming a stale claim.
That last step is where most ATP systems quietly fail, and it is a data problem more than a math problem.
Where does ATP go wrong?
ATP breaks when the numbers behind it are stale or scattered. The formula is trivial; feeding it current on-hand balances, real receipt dates, and every commitment as it happens is the hard part. If a supplier's delivery slipped two days and nobody updated the receipt, ATP will keep promising against supply that will not arrive. If cycle counting is weak and on-hand is off by 8%, every ATP number carries that error. If commitments live in a spreadsheet the master schedule cannot see, ATP double-promises the same units. Reliable ATP is really a reliable-data problem wearing a formula's clothes, and it is why disciplined safety stock and accurate inventory records matter as much as the algorithm.
Where Harmony fits
An ATP number is only as trustworthy as the on-hand balances, receipt dates, and commitments underneath it, and in most plants those live in different systems, spreadsheets, and paperwork that never quite agree. Harmony is an AI-native layer that connects machines, software, and paperwork into one operational layer with no rip-and-replace, so the signals ATP depends on, current stock, confirmed receipts, released jobs, firm commitments, become one live record instead of several stale ones. AI search returns cited answers across those records, so a planner promising a date can ask what is actually available in week three, or why a receipt slipped, and get a real answer rather than a guess. It is the same paper-to-digital move Harmony makes elsewhere on the floor (see the CLS case study), and it pairs with Harmony's digital workflows and the broader shift to a manufacturing operating system that keeps promising tied to what the plant can truly do. A dependable promise starts with dependable data, the same discipline behind good production scheduling.