A software system is provided for managing available to promise (ATP) and
making promises to fulfill customer requests. The software system
includes a plurality of generic product models (600) each representing a
generic product. Each generic product model (600) specifies one component
of a plurality of possible components. A plurality of specific product
models (602) each represent a specific product and each specify all
components of the specific product. Each component specified by each
specific product model (602) is specified by one of the generic product
models (600) such that each specific product model (602) is related to a
subset of the generic product models (600). A customer request matching a
specific product then can be fulfilled by available-to-promise of the
specific product or by available-to-promise of all related generic
products. In addition, an organization in a seller hierarchy can retain
product and designate first-come-first-served product. The organization
also can define an ATP horizon to specify when forecasted product is
actually available. Further, the organization can use an automatic
allocation policy to allocate to members, and some forecast entries can
be designated zero-ATP entries.