Glossary
No items found.
Available to Promise (ATP)

Available to Promise (ATP)

Available to Promise (ATP) is the quantity of a product a business can commit to a new customer order without breaking existing commitments. It's calculated from current on-hand inventory, plus expected incoming supply, minus orders already promised to other customers.

What Available to Promise means

ATP answers a single operational question: "If a customer orders this SKU right now, can we ship it on time?" It treats inventory as a flow rather than a static count. On-hand units already allocated to other orders aren't available, even if they're sitting in the warehouse. Units arriving on a confirmed PO next week are available — for orders with a delivery date after that PO lands.

The basic formula:

ATP = On-hand inventory + Scheduled receipts − Existing customer commitments

Why ATP matters

Without ATP, two failure modes show up fast. The first is overpromising: the storefront sells units the warehouse has already reserved for someone else, leading to backorders, support tickets, and refunds. The second is underselling: the storefront refuses orders that could have been fulfilled from incoming PO supply, leaving revenue on the table.

For Shopify merchants in particular, ATP becomes critical when:

  • The same SKU is sold across multiple channels (Shopify, Amazon, wholesale, retail)
  • Lead times are long and POs land on predictable dates
  • Pre-orders or backorders are part of the merchandising mix
  • 3PLs or multiple fulfillment locations are involved

How ATP is calculated in practice

The calculation gets more complex once time is factored in. Two common approaches:

  • Discrete ATP: calculated for a specific time bucket (e.g., this week, next week). Each bucket has its own ATP balance based on receipts arriving and orders due in that window.
  • Cumulative ATP: rolls forward through time, carrying unsold inventory from earlier buckets into later ones.

Most modern ecommerce platforms and ERPs run cumulative ATP behind the scenes. The merchant experience is usually a single "available" number on the product page, but the system underneath is doing the bucket math.

ATP vs. on-hand inventory vs. capable to promise

  • On-hand inventory is the raw count of units in the warehouse. It ignores commitments and incoming supply.
  • Available to Promise (ATP) is on-hand minus committed, plus confirmed incoming supply. It's the realistic answer to "can we ship?"
  • Capable to Promise (CTP) goes a step further: it considers manufacturing capacity, raw materials, and lead times to answer "can we make and ship?" CTP matters most for made-to-order or assemble-to-order products.

Common ATP problems in ecommerce

  • Stale committed counts: orders that were cancelled but never released back to ATP cause artificial stockouts.
  • Multi-channel double-selling: when channels don't share a single source of truth, the same unit gets promised twice.
  • Receipts counted too early: treating a PO as available before it arrives causes shipping delays and missed promise dates.
  • Safety stock buried inside ATP: if reserved buffer stock is included in the ATP number, the storefront can sell into the reserve without anyone noticing.