PHPackages                             agoradesign/commerce\_product\_set - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. agoradesign/commerce\_product\_set

ActiveDrupal-module[Utility &amp; Helpers](/categories/utility)

agoradesign/commerce\_product\_set
==================================

Extends Drupal Commerce with a product set (bundle) functionality.

1.0.0-beta17(1mo ago)51.2k[3 issues](https://github.com/agoradesign/commerce_product_set/issues)GPL-2.0-or-laterPHP

Since Feb 21Pushed 1mo ago3 watchersCompare

[ Source](https://github.com/agoradesign/commerce_product_set)[ Packagist](https://packagist.org/packages/agoradesign/commerce_product_set)[ Docs](https://github.com/agoradesign/commerce_product_set)[ RSS](/packages/agoradesign-commerce-product-set/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (18)Used By (0)

Commerce Product Set
====================

[](#commerce-product-set)

This module extends Drupal Commerce by allowing the store owner to define product sets consisting of already existing product variations. A product set is a purchasable entity on its own and has got its own SKU as well as its own price. The referenced variations are stored rather for informational purposes.

Adding a product set to the cart results in one single order item referencing the product set. The order item stores information about the single parts (variations) in an own custom field, persisting the data at the time of placing the order.

Comparison to Commerce Product Bundle
-------------------------------------

[](#comparison-to-commerce-product-bundle)

Yes indeed, this module offers a very similar functionality as [Commerce Product Bundle](https://www.drupal.org/project/commerce_product_bundle)already does. Unfortunately, commerce\_product\_bundle is still not in a mature state, especially there is an ongoing discussion about the data model, especially regarding if and how to persist the information about the involved products and variations at the time of placing the order.

Being under time pressure for enabling product sets (or bundles - however you would like to call them) in a customer project forced me towards the inevitable decision to rather create a custom module for that, rather than being able to help improving commerce\_product\_bundle instead.

That's also the reason, why I'm reluctant whether to publish this module on drupal.org, or if I should rather offer the maintainer of CPB to have a look at this module in order to adopt the one or another thing from this module.

Besides the differences in the stored order data, I took a simpler approach to the product set/bundle data model itself. I have went without having a dedicated entity type for the single parts a product set consists of. A product set is a purchasable entity on its own and directly references existing product variations (using the extended reference field from entity\_reference\_quantity module).

In the meantime, the module will be hosted on Github exclusively: [Githup repo](https://github.com/agoradesign/commerce_product_set)

### Update

[](#update)

After having a chat with bojanz on Slack, we decided to not publish it on d.o, as the module is too close to CPB. The project will stay on Github though and is available via Packagist under agoradesign/commerce\_product\_set.

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance77

Regular maintenance activity

Popularity22

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~184 days

Recently: every ~221 days

Total

17

Last Release

54d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f07c8726206b78940f618dd722dfbd1a7bff4a1a0d92a061f492d08cd830b530?d=identicon)[agoradesign](/maintainers/agoradesign)

---

Top Contributors

[![agoradesign](https://avatars.githubusercontent.com/u/5078744?v=4)](https://github.com/agoradesign "agoradesign (9 commits)")

### Embed Badge

![Health badge](/badges/agoradesign-commerce-product-set/health.svg)

```
[![Health](https://phpackages.com/badges/agoradesign-commerce-product-set/health.svg)](https://phpackages.com/packages/agoradesign-commerce-product-set)
```

###  Alternatives

[apigee/devportal-kickstart-project

Composer project template for the Apigee Developer Portal Drupal distribution.

1124.7k](/packages/apigee-devportal-kickstart-project)[juststeveking/laravel-business-process

Laravel Business Process is a simple and clean way to run business process using a Laravel Pipeline, in a structured and type-safe way.

663.5k](/packages/juststeveking-laravel-business-process)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
