PHPackages                             mfbv/module-group-price - 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. [Database &amp; ORM](/categories/database)
4. /
5. mfbv/module-group-price

ActiveMagento2-module[Database &amp; ORM](/categories/database)

mfbv/module-group-price
=======================

Per-customer-group base price override. Group price replaces RegularPrice for matching customers and feeds catalog rules, indexers, and downstream price calculations.

1.0.0(2mo ago)32OSL-3.0PHPPHP ~8.1.0||~8.2.0||~8.3.0||~8.4.0

Since Apr 2Pushed 1mo agoCompare

[ Source](https://github.com/mohammadbharmal/MFBV_GroupPrice)[ Packagist](https://packagist.org/packages/mfbv/module-group-price)[ RSS](/packages/mfbv-module-group-price/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (8)Versions (2)Used By (0)

MFBV Group Price for Magento 2
==============================

[](#mfbv-group-price-for-magento-2)

**Per-customer-group base price override** — set a dedicated base price per customer group and website. That price becomes the effective **regular price** for matching customers, so catalog price rules, the price index, layered navigation, and APIs stay consistent end to end.

**Package**`mfbv/module-group-price`**Module**`MFBV_GroupPrice`**Version**1.0.0**License**[OSL-3.0](LICENSE) (see `composer.json`)**PHP**8.1, 8.2, 8.3, 8.4---

Why this extension
------------------

[](#why-this-extension)

Magento’s native **Group Price** behaves like a discount from the catalog price. **MFBV Group Price** is built for B2B and multi-segment scenarios where a group’s **negotiated price is the new baseline**: catalog rules apply *on top of* that baseline, and the storefront price stack (list vs. special, rules, indexers) treats it as **RegularPrice**, not a parallel tier.

---

Features at a glance
--------------------

[](#features-at-a-glance)

- **Admin Advanced Pricing** — Dynamic rows under **Advanced Pricing** to assign customer group + price per website scope.
- **Global on/off** — **Stores → Configuration → Catalog → Group Price → Enable Group Price** hides admin UI, ignores saves, and restores default catalog behavior when disabled.
- **REST API** — Full CRUD-style access: list, upsert, and delete group prices by SKU (admin token + ACL).
- **Product import** — Native catalog product CSV extended with `_group_price_*` columns; validation and sample file include the new fields.
- **Indexer integration** — Hooks into **catalog product price** and **catalog rule** indexers plus dimensional price paths (simple and grouped), so listings, Elasticsearch/OpenSearch buckets, and cart/checkout match the storefront plugin layer.
- **Performance-minded** — Bulk repository reads for indexer runs; per-request in-memory resolution; optional **Update by Schedule** on price/rule indexers recommended for large catalogs.

---

Notable technical details
-------------------------

[](#notable-technical-details)

These points matter for merchants, agencies, and reviewers:

1. **RegularPrice replacement** — A `RegularPrice` plugin resolves the group-aware amount before catalog rules; unconfigured groups fall back to the normal catalog price.
2. **Catalog rules use the group base** — `CatalogRuleIndexerPlugin` rebases rule output so percentage/fixed rules apply from the group price, not the global list price.
3. **Price index correctness** — `ProductPriceIndexerPlugin` and `DimensionalIndexGroupPricePlugin` align `final_price` / `min_price` / `max_price` per customer group so category pages and search filters are not wrong for logged-in segments.
4. **Declarative schema** — Data lives in `mfbv_group_price` with FKs to product, customer group, and website; unique per `(entity_id, customer_group_id, website_id)`.
5. **Import semantics** — Group prices are processed after product import bunches (aligned with tier price–style workflows); behavior respects module enable flag and import mode.
6. **ACL** — `MFBV_GroupPrice::manage` (REST + admin operations) and `MFBV_GroupPrice::config` (system configuration).
7. **Compatibility awareness** — Third-party **RegularPrice** plugins (e.g. B2B shared catalog, Amasty/Mirasvit pricing) may need `sortOrder` review in `etc/di.xml`; MSI does not conflict.

---

Requirements
------------

[](#requirements)

- Magento **2.4.x** (tested on 2.4.5–2.4.7-class stacks)
- **PHP** 8.1+
- **MySQL 8.0+** or **MariaDB 10.6+**
- Modules: `Magento_Catalog`, `Magento_CatalogImportExport`, `Magento_ImportExport`, `Magento_CatalogRule`, `Magento_Customer` (see `composer.json` for version constraints)

---

Installation
------------

[](#installation)

### Composer (recommended)

[](#composer-recommended)

```
composer require mfbv/module-group-price
bin/magento module:enable MFBV_GroupPrice
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
```

### Manual

[](#manual)

1. Copy the `GroupPrice` package under `app/code/MFBV/GroupPrice/`.
2. Run:

```
bin/magento module:enable MFBV_GroupPrice
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento indexer:reindex
bin/magento cache:flush
```

`setup:upgrade` creates the `mfbv_group_price` table from `etc/db_schema.xml`.

---

Configuration
-------------

[](#configuration)

**Stores → Configuration → Catalog → Group Price → General → Enable Group Price**

When disabled: storefront uses default catalog prices only, admin group price fields are hidden, and saves/imports do not apply group rows.

---

Admin usage
-----------

[](#admin-usage)

1. Edit a product in Admin.
2. Open **Advanced Pricing** (link above the **Price** field).
3. In **Group Prices**, use **Add** to set **Customer Group** and **Price** (per website as shown in the form).
4. Leave a group unset to keep the global catalog price for that segment.
5. Save the product.

Grant roles **Catalog → Manage Customer Group Prices** and **Catalog → Group Price Configuration** as needed under **System → User Roles**.

---

Product import (CSV)
--------------------

[](#product-import-csv)

The catalog product import adds these columns (also present in the downloadable sample when the module is enabled):

ColumnPurpose`_group_price_website`Website code (or `all` where applicable)`_group_price_customer_group`Customer group code or `all``_group_price_price`Group base priceValidation runs with the standard product import validator pipeline.

---

REST API
--------

[](#rest-api)

All routes require an **admin** integration or session with permission `MFBV_GroupPrice::manage`.

MethodEndpoint`GET``/V1/products/:sku/group-prices/:websiteId``POST``/V1/products/:sku/group-prices` (JSON body with `customer_group_id`, `website_id`, `value`)`DELETE``/V1/products/:sku/group-prices/:groupId/:websiteId`See `Api/GroupPriceManagementInterface.php` and `etc/webapi.xml` for the service contract.

---

Price stack (simplified)
------------------------

[](#price-stack-simplified)

```
RegularPrice::getValue()  →  [plugin: group price if configured]
        ↓
Catalog rule price  →  Special price  →  Base / Final price

```

Indexers mirror this so **indexed** prices match **runtime** resolution for each customer group.

---

Indexer and performance
-----------------------

[](#indexer-and-performance)

For high-volume catalogs, set both indexers to **Update by Schedule** to avoid long synchronous reindex on admin saves:

```
bin/magento indexer:set-mode schedule catalog_product_price
bin/magento indexer:set-mode schedule catalogrule_rule
bin/magento indexer:status
```

Typical overhead on full reindex is moderate (single-digit to low teens percent vs. baseline); background mode avoids blocking the admin UI.

**Storefront caching:** Magento already varies by customer group where required; no extra cache keys are introduced by this module for that reason alone.

---

Uninstall
---------

[](#uninstall)

```
bin/magento module:disable MFBV_GroupPrice
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
```

Declarative schema removes `mfbv_group_price` when the module is disabled and `setup:upgrade` runs.

---

Compatibility matrix
--------------------

[](#compatibility-matrix)

AreaNotes**Elasticsearch / OpenSearch**Supported via price indexer plugins.**GraphQL / PWA Studio**RegularPrice resolution applies where core resolves catalog prices.**MSI**No direct interaction.**Magento B2B / other pricing modules**Review plugin `sortOrder` on `RegularPrice` and related types.---

Support and updates
-------------------

[](#support-and-updates)

For **licensed / commercial** deployments, use the support channel provided by **MFBV** (ticket portal, email, or partner agreement). Include Magento version, PHP version, module version (`composer show mfbv/module-group-price`), and steps to reproduce when reporting issues.

---

Changelog
---------

[](#changelog)

### 1.0.0

[](#100)

- Initial release: admin Advanced Pricing UI, `mfbv_group_price` storage, REST API, import columns, price and catalog-rule indexer integration, dimensional index support for grouped products.

---

License
-------

[](#license)

This software is licensed under the **Open Software License 3.0 (OSL-3.0)**. The full text is in [`LICENSE`](LICENSE). SPDX identifier: `OSL-3.0`.

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance87

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 66.7% 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

Unknown

Total

1

Last Release

68d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/06343dd2fbcbd6583861540199d961df02076962412c25b3845d07c6c20e8e77?d=identicon)[mohammadbharmal](/maintainers/mohammadbharmal)

---

Top Contributors

[![magneto-mohammadbharmal](https://avatars.githubusercontent.com/u/256068632?v=4)](https://github.com/magneto-mohammadbharmal "magneto-mohammadbharmal (2 commits)")[![mohammadbharmal](https://avatars.githubusercontent.com/u/73457616?v=4)](https://github.com/mohammadbharmal "mohammadbharmal (1 commits)")

### Embed Badge

![Health badge](/badges/mfbv-module-group-price/health.svg)

```
[![Health](https://phpackages.com/badges/mfbv-module-group-price/health.svg)](https://phpackages.com/packages/mfbv-module-group-price)
```

###  Alternatives

[mollie/magento2

Mollie Payment Module for Magento 2

1131.8M12](/packages/mollie-magento2)[swissup/module-search-mysql-legacy

Legacy mysql search for magento 2.4

10486.4k](/packages/swissup-module-search-mysql-legacy)[run-as-root/magento2-prometheus-exporter

Magento2 Prometheus Exporter

68353.9k](/packages/run-as-root-magento2-prometheus-exporter)[dotdigital/dotdigital-magento2-extension

Dotdigital for Magento 2

50390.4k20](/packages/dotdigital-dotdigital-magento2-extension)[loki/magento2-admin-components

Admin Panel grids and forms created via Loki Components

173.7k7](/packages/loki-magento2-admin-components)[amzn/amazon-pay-magento-2-module

Official Magento2 Plugin to integrate with Amazon Pay

108521.2k1](/packages/amzn-amazon-pay-magento-2-module)

PHPackages © 2026

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