- Home
- Blog
- EDGEBIC Platform
- Available to Promise in EDGEBIC: The Calculation B…
Available to Promise in EDGEBIC: The Calculation Behind a Safe Answer
The available to promise calculation answers one question: how much can I still sell without breaking a promise I have already made? It is not the same as stock on hand and it is not the same as projected balance. EDGEBIC by User Solutions computes it as two figures per time bucket, discrete and cumulative, and understanding the difference between them is what separates a defensible promise from an optimistic guess.
Available-to-promise is a standard term in the planning body of knowledge maintained by ASCM, and the generic definition is covered in our ATP glossary entry. This post is the mechanism: how EDGEBIC computes it, what its two columns mean, and why negative values are shown rather than suppressed.
Why On-Hand Is the Wrong Number To Quote
A salesperson asks what is available. The tempting answer is the on-hand figure, and it is almost always wrong in one of two directions.
It is too high when existing orders are already claiming stock that has not shipped yet. You have 500 on the shelf and 460 of them belong to three customers who are waiting. Quoting 500 sells the same units twice.
It is too low when supply is arriving. You have 40 on the shelf and a build order for 600 lands next Tuesday. Quoting 40 declines an order you could easily have taken.
Available-to-promise fixes both by asking a different question. Not "how much is there" but "how much of what is there, or is coming, is not already spoken for".
The Two Ingredients
Two inputs drive the calculation and nothing else does.
Supply points. A supply point is a moment when new supply becomes available. The first supply point is the start of the forward horizon, carrying current physical on-hand. Every bucket after that with a scheduled receipt is another supply point. Buckets with no receipt are not supply points; they inherit their position from the last one.
Firm demand. Committed demand only. Forecast plays no part in the ATP calculation, which is correct: you cannot oversell against a prediction, only against a commitment. Firm demand comes from open make-to-order orders or, in the more rigorous configuration, from confirmed sales order lines using open balance. That sourcing is covered in how sales orders drive demand.
The Calculation, Step by Step
For each supply point in turn:
- Supply at this point is the scheduled receipts arriving in that bucket. At the first supply point, add current physical on-hand.
- Committed between here and the next supply point is the sum of firm demand from this bucket up to (but not including) the next supply point.
- Discrete ATP at this point is supply minus that committed demand. It can be negative.
- Cumulative ATP adds this point's discrete value to the running total.
- Buckets between supply points carry the cumulative figure forward unchanged.
The step-two window is the part people get wrong when they try to reproduce it by hand. Demand is not summed to the end of the horizon and it is not summed within the bucket only. It is summed to the next supply point, because supply arriving later will cover demand arriving later. That is what makes the calculation time-phased rather than a single subtraction.
A Worked Example With No Incoming Supply
Take a product with 180 units of physical on-hand, no open build orders, and firm demand of 40 in week one, 70 in week two and nothing in week three.
There is only one supply point: the start of the horizon, carrying the 180. The next supply point does not exist, so the demand window runs to the end.
| Bucket | Supply at point | Firm demand to next point | Discrete ATP | Cumulative ATP |
|---|---|---|---|---|
| Week 1 | 180 | 40 + 70 + 0 = 110 | 70 | 70 |
| Week 2 | none | none | 0 | 70 |
| Week 3 | none | none | 0 | 70 |
The answer to "what can I sell" is 70, on top of the 110 already committed. The cumulative column holds that 70 flat across the horizon because nothing else arrives.
Notice the discrete column reads zero in weeks two and three. That is not "no availability". It is "no new supply arrived here", which is a different statement, and it is exactly why you quote from cumulative rather than discrete.
A Worked Example With a Receipt Mid-Horizon
Now take a product with 120 units of physical on-hand and one open build-to-stock order for 150 completing in week two. Firm demand is 50 in week one, 20 in week two, nothing in week three.
Two supply points exist: week one (carrying the 120) and week two (the 150 receipt).
| Supply point | Supply | Demand to next point | Discrete ATP | Cumulative ATP |
|---|---|---|---|---|
| Week 1 | 120 | 50 (week 1 only, next point is week 2) | 70 | 70 |
| Week 2 | 150 | 20 (week 2 to end) | 130 | 200 |
| Bucket | ATP discrete | ATP cumulative |
|---|---|---|
| Week 1 | 70 | 70 |
| Week 2 | 130 | 200 |
| Week 3 | 0 | 200 (carried) |
The story the two columns tell together: 70 units are promisable right now, and a further 130 open up when the build lands in week two, for a total of 200 across the horizon.
That is the shape of a real promising conversation. A customer wanting 60 immediately can be told yes. A customer wanting 150 can be told yes from week two, and a good salesperson will say exactly that rather than "about three weeks".
Why It Starts From Physical On-Hand
The projection's roll-forward starts from an opening balance, meaning the ledger sum for entries dated before the window starts. ATP starts from on-hand now, meaning the sum of the entire ledger.
When the window starts today the two are identical. When a planner sets the horizon start to a past date so they can review history, they diverge, and the divergence is deliberate. The roll-forward needs a historical anchor to reconstruct what the balance was on that date. Promising needs today's reality, because a customer is asking about now.
History buckets show a discrete ATP of zero for the same reason: you cannot promise into the past. The calculation begins at the first bucket that is not history.
Negative ATP Is a Feature
Both ATP figures are allowed to go negative, and neither is blocked or clamped.
A negative discrete value means firm demand between two supply points exceeds the supply arriving at the first one. Concretely: 220 units on hand against 250 of firm demand before the next receipt gives a discrete ATP of minus 30. Thirty units are promised that current supply cannot cover, and a receipt after that window may well rescue them, which is why the cumulative column can stay positive while a discrete value is negative.
A negative cumulative value is more serious. It means the total position across the horizon is underwater: you have promised more than everything you have and everything you expect will cover.
Two responses exist, and the calendar shows you which bucket to act in. Add supply (firm a replenishment, expedite a late build order) or reduce demand (move or cancel a commitment). Suppressing the negative would remove the only signal that either is needed, which is why it is shown plainly.
The Boundary Worth Being Honest About
ATP is a materials answer. It says uncommitted units exist or are scheduled to arrive. It says nothing about whether the shop can actually produce them on the date implied.
The capacity side of a promise is a different calculation, run against the finite capacity schedule with real work centers, shifts, setups and constraints. In EDGEBIC that is quote simulation: you run a prospective order through the scheduling engine and see the dates it produces, including what-if scenarios like adding a shift or routing through an alternate work center. That is covered in the quoting guide.
A promise worth making uses both. ATP for the material position, quote simulation for the timing. When they disagree, the disagreement is the answer: material availability without capacity is a date you cannot hit, and capacity without material is a job that will stall waiting for parts.
ATP and Projected Balance Answer Different Questions
The two figures sit on the same row and are routinely confused, so it is worth stating the difference in one table.
| Projected available balance | Available to promise | |
|---|---|---|
| Question answered | How much will I have on this date? | How much can I still sell by this date? |
| Starting point | Opening balance at the window start | Physical on-hand now |
| Demand counted | Gross requirements, so forecast and firm | Firm demand only |
| Reacts to forecast | Yes, for a make-to-stock product | No |
| Triggers a suggestion | Yes, when below the reorder trigger | No |
| Negative means | Committed demand exceeds projected supply | You have oversold |
The practical consequence is that the two can point in different directions quite legitimately. A product can show healthy available-to-promise while its projected balance heads negative, because the balance is reacting to forecast demand that has not turned into orders yet. That is not a contradiction. It is two honest answers to two different questions, and both are worth asking before a promise and a build decision.
Reading ATP in the Two Screens
On the calendar, the discrete and cumulative columns sit alongside the projected balance so you can see the material position and the promise position together for one product.
On the matrix, switch the lens to ATP and every cell shows cumulative available-to-promise for that product and date, with negative cells in red. Scanning that view before a sales meeting takes about thirty seconds and prevents most overselling. Double-click any cell for the full breakdown behind it. Both screens are covered in how to read the projection.
Four Rules for Using It
Quote cumulative, never discrete. Discrete answers "how much capacity did this supply point create". Cumulative answers "how much can I promise by this date", which is the customer's question.
Check whether the supply is real. A comfortable cumulative figure resting on a receipt from an overdue build order is not comfortable. Overdue open orders are rolled into the current bucket to keep them visible, so a large first-bucket receipt deserves a look at the order list before you promise against it.
Remember that forecast is excluded. ATP counts committed demand only, which is why a product can show healthy ATP while its projected balance is heading negative on forecast demand. Those are different questions and both are worth asking.
Confirm capacity separately. Material availability is necessary and not sufficient.
The specific misreadings that cost people money, including quoting from the wrong column and misjudging the first bucket, are collected in projection and ATP mistakes. The balance calculation that runs alongside ATP is in projected available balance explained, and the ledger that both stand on is in the inventory ledger explained.
For the whole planning layer and how it hands off to capacity, see the inventory and planning guide and the complete guide to EDGEBIC. To see ATP computed against your own commitments and receipts, bring a demand export to a demo and ask User Solutions to run it on your data.
Expert Q&A: Deep Dive
Q: Sales wants to promise 150 units in three weeks. Which number do I look at, and what do I say?
A: Find the earliest bucket whose cumulative available-to-promise reaches 150, and answer with that bucket's date. If cumulative ATP reads 70 in week one and 200 in week two after a build order lands, then 150 units are promisable from week two onward and not before, so the honest answer is week two rather than three weeks. If no bucket in the horizon reaches 150, the answer is not a date yet: it is a decision about whether to add supply, and the projection tells you exactly how much is missing. Never quote from the discrete column, which shows only the capacity created at one supply point and will understate what you can commit.
Q: Our ATP looks healthy but the shop says we cannot ship. How can both be true?
A: Because ATP is a materials answer and shipping is a capacity answer, and they fail independently. Available-to-promise says uncommitted units exist or are scheduled to arrive; it says nothing about whether a machine is free to run the job, whether the operator with the right certification is rostered, or whether a bottleneck is already three weeks deep. That is why a promise worth making comes from both sides: the ATP figure for the material position and a quote simulation against the finite capacity schedule for the timing. Run both before you commit a date, and treat any disagreement between them as the real answer.
Frequently Asked Questions
Ready to Transform Your Production Scheduling?
User Solutions has been helping manufacturers optimize their production schedules for over 35 years. One-time license, 5-day implementation.

User Solutions Team
Manufacturing Software Experts
User Solutions has been developing production planning and scheduling software for manufacturers since 1991. Our team combines 35+ years of manufacturing software expertise with deep industry knowledge to help factories optimize their operations.
Share this article
Related Articles
How an Open EDGEBIC Screen Notices Someone Else's Edit
On a shared database, a change made on one workstation reaches every other open screen within a few seconds, without anybody pressing anything. How the change signal works and why your selection survives it.
What Changes When EDGEBIC Moves to a Shared Database
Moving EDGEBIC from one workstation to a shared SQL Server changes three assumptions at once: who may overwrite whom, how an open screen stays current, and who may run the scheduler.
What the EDGEBIC Refresh Button Actually Does
The refresh button forces a full re-read from the database, which is not the same as closing a screen and reopening it. Why the distinction matters on a shared database, and when to press it.
