Drupal is a registered trademark of Dries Buytaert

This module provides commerce product (variation) availability field & functionality

Features

This module provides a new "Product Availability" field type. This field is a multi-value field consisting of the following values:

  • "Orderable": Whether the product is orderable. This setting alone defines, whether a product is purchasable or not.
  • "Availability Status" : The availability status of the product (e.g. "out_of_stock", "in_stock", etc. note, that these options are alterable through a provided hook)
  • "Available from" : Defining when the product becomes available.
  • "Min / Max Delivery Period": The minimum / maximum time it takes to deliver the product

The module provides a custom field formatter to display these values. Because the formatter is using a custom twig render element, the output can be adjusted as desired.

There is also an optional field setting to alter the "Add to Cart" button behavior, based on the "Orderable" and "Availability Status" field values.

At last, this module implements its own commerce "Availability Checker", which stops a user to add unavailable (orderable: false) products to their cart, and a "OrderProcessor", which removes an unavailable item from the cart.

Commerce Product Availability Webform Request (Submodule)

This Submodule creates an "Order request" button beside the Add to Cart button on product displays, which links the user to a desired webform (e.g. for sending an order request).
This button only appears on product variations, which have a "Product Availability" field set and "Webform Request" enabled in the field settings.
Note, that the button is rendered through a Twig template, which can be adjusted as desired.

Furthermore, you have the following customization options in the field settings:

  • Select the webform to use for order requests.
  • Select how the webform request link should be displayed (regular link, modal or open in new tab).
  • Add additional link classes.
  • Override Button label.

Post-Installation

After installation, go to the product variation, you desire to add the "Product Availability" field on (/admin/commerce/config/product-variation-types/MY_VARIATION/edit/fields/add-field). The new field type will be displayed under the "Commerce" section.
Next, you can adjust the field settings as desired and create the "Product Availability" on your variation.
Afterwards, you can choose the Widget to your liking ("Product Availability Default" or "Product Availability Simple").
Finally, you can adjust the formatter settings to your liking, and you are all set!

Additional Requirements

Commerce Core is required for this module to work.

This module requires the Webform module to be installed.

Similar projects

Commerce Stock
Commerce Simple Stock
Commerce Availability (Drupal 7 only)

Supporting this module

Support DROWL's ♥ FOSS work on this module on OpenCollective!

Drupal and this module are FOSS. However, it takes dedicated people to develop and maintain. And they need YOU to give back!

We're committed to building and maintaining Drupal modules that benefit the entire community.

Supporting us on OpenCollective helps us continue to improve, innovate and contribute to Drupal's future. Every pledge makes a difference!

If this module has helped you, we would be very grateful for your donation to support its further development and maintenance.

Support our FOSS development ♥️

You can also speed up the development of features or bugfixes you'd love to see, by sponsoring and giving back!

Sponsor a feature or bugfix 🚀

Let's make Drupal even better, together!

Development proudly sponsored by German Drupal Friends & Companies:

webks: websolutions kept simple (https://www.webks.de)
and
DROWL: Drupalbasierte Lösungen aus Ostwestfalen-Lippe (OWL), Germany (https://www.drowl.de)

Activity

Total releases
6
First release
Oct 2025
Latest release
1 month ago
Release cadence
18 days
Stability
100% stable

Release Timeline

Releases

Version Type Release date
1.0.22 Stable Jan 27, 2026
1.0.21 Stable Jan 27, 2026
1.0.20 Stable Jan 27, 2026
1.0.19 Stable Jan 27, 2026
1.0.18 Stable Jan 12, 2026
1.0.17 Stable Oct 28, 2025