Available-to-Promise: Stop Overcommitting on Sales Orders

The overcommitment problem
Sales teams sell. That's what they do. But without real-time visibility into what production can actually deliver, they overcommit. The result: missed delivery dates, emergency production changes, disappointed customers, and margin erosion from expediting.
How ATP works in MakeSheet
When a sales rep adds a line item to a sales order in CashSheet, they can click "Check Availability." This fires a query to the MakeSheet daemon, which injects a Z-variable into the LP and re-solves. The answer comes back in under 200ms:
- Feasible — The LP can produce the requested quantity by the requested date without violating any constraint.
- Partial — Some quantity is available but not all. The response includes the feasible amount.
- Infeasible — Cannot be produced given current orders, capacity, and inventory.
The marginal price
Along with feasibility, the LP returns the marginal cost of honoring the line item — what it costs in displaced production to commit to this order. Sales teams can use this to make informed pricing decisions before sending the quote.
Audit trail
Every ATP response is persisted on the sales order line item with a timestamp. When a customer asks "why was my order confirmed?" or "why was it rejected?" — the answer is in the data, not in someone's memory.


