PHPackages                             schrammel-codes/magento2-salesrule - 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. schrammel-codes/magento2-salesrule

ActiveMagento2-module

schrammel-codes/magento2-salesrule
==================================

Adds duplicate functionality and mass actions to Cart Price Rules

1.1.0(3mo ago)1571↓50%1[2 issues](https://github.com/schrammel-codes/magento2-salesrule/issues)1MITPHPPHP ~8.1.0||~8.2.0||~8.3.0

Since Jan 26Pushed 3mo agoCompare

[ Source](https://github.com/schrammel-codes/magento2-salesrule)[ Packagist](https://packagist.org/packages/schrammel-codes/magento2-salesrule)[ RSS](/packages/schrammel-codes-magento2-salesrule/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (2)Versions (6)Used By (1)

SchrammelCodes\_SalesRule
=========================

[](#schrammelcodes_salesrule)

Streamline your promotional rule management with powerful duplication and mass management features for Magento 2 Cart Price Rules.

 [![Supported Magento Versions](https://camo.githubusercontent.com/2113b3a30955562f026a2b7dda3a09fee30d0c49aacbfce67193c5dc7b434617/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d6167656e746f2d322e342d627269676874677265656e2e7376673f6c6f676f3d6d6167656e746f266c6f6e6743616368653d74727565267374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/2113b3a30955562f026a2b7dda3a09fee30d0c49aacbfce67193c5dc7b434617/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d6167656e746f2d322e342d627269676874677265656e2e7376673f6c6f676f3d6d6167656e746f266c6f6e6743616368653d74727565267374796c653d666c61742d737175617265) [![Latest Stable Version](https://camo.githubusercontent.com/45b72ba5c72f64bd1b58a0cab0a89ec56a448618e8da151491009f651adc6432/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73636872616d6d656c2d636f6465732f6d6167656e746f322d73616c657372756c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/schrammel-codes/magento2-salesrule) [![Composer Downloads](https://camo.githubusercontent.com/0a9ee20aa715b9dffc4bf9b5c97c2fdc6b1f99f1afe0b3c01474cb00b63ec217/68747470733a2f2f706f7365722e707567782e6f72672f73636872616d6d656c2d636f6465732f6d6167656e746f322d73616c657372756c652f646f776e6c6f616473)](https://packagist.org/packages/schrammel-codes/magento2-salesrule) [![Maintained - Yes](https://camo.githubusercontent.com/04aba48520e6322ebc6c41b7995626a88ce408bd46ec4eb15ae474936b345276/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d61696e7461696e65642533462d7965732d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](https://github.com/schrammel-codes/magento2-salesrule/graphs/commit-activity) [![License - MIT](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](https://opensource.org/licenses/MIT)

What This Module Does
---------------------

[](#what-this-module-does)

This module extends Magento 2's Cart Price Rules (promotional discounts) with convenient management features that save time and reduce errors when managing multiple similar promotions.

### Key Features

[](#key-features)

**1. Duplicate Cart Price Rules**

Create copies of existing promotional rules with a single click. Perfect for:

- Creating seasonal variations of successful promotions
- Setting up similar rules for different customer segments
- Testing rule variations without risking the original configuration

**2. Mass Actions**

Manage multiple rules at once:

- **Mass Duplicate**: Copy several rules simultaneously
- **Mass Delete**: Remove multiple outdated rules in one action
- **Mass Status Change**: Enable or disable multiple rules at once

### How It Works

[](#how-it-works)

#### Smart Duplication

[](#smart-duplication)

When you duplicate a rule, the module:

- ✅ Copies all rule conditions and actions
- ✅ Copies customer group associations
- ✅ Copies website assignments
- ✅ Copies store-specific labels
- ✅ Adds "(Copy)" suffix to the rule name
- 🔄 Resets coupon code
- 🔄 Resets usage counter to zero
- 🔄 Clears start and end dates (you set new dates for the copy)
- 🔄 Generates a new rule ID automatically

This ensures your duplicated rules are ready to customize without inheriting usage history or active date ranges.

Benefits for Store Administrators
---------------------------------

[](#benefits-for-store-administrators)

### Time Savings

[](#time-savings)

Instead of manually recreating complex promotional rules with dozens of conditions, duplicate existing ones and adjust only what's needed. A task that might take 15-20 minutes now takes seconds.

### Consistency

[](#consistency)

Duplicating rules ensures all settings, conditions, and actions are copied exactly, reducing human error when creating similar promotions.

### Flexibility

[](#flexibility)

Quickly test variations of successful promotions or create region-specific versions of global campaigns without starting from scratch.

### Efficiency

[](#efficiency)

Mass actions let you manage multiple rules at once - perfect for seasonal cleanup, enabling holiday promotions, or deactivating expired campaigns.

Usage Guide
-----------

[](#usage-guide)

### Duplicate a Single Rule

[](#duplicate-a-single-rule)

[![action-dropdown.png](docs/action-dropdown.png)](docs/action-dropdown.png)

1. Navigate to **Marketing &gt; Promotions &gt; Cart Price Rules**
2. Find the rule you want to duplicate
3. Click **Select** in the Actions column
4. Choose **Duplicate**
5. The duplicated rule appears in the grid with "(Copy)" appended to its name

[![duplicated-rule.png](docs/duplicated-rule.png)](docs/duplicated-rule.png)

### Duplicate from Rule Edit Page

[](#duplicate-from-rule-edit-page)

[![duplicate-on-edit.png](docs/duplicate-on-edit.png)](docs/duplicate-on-edit.png)

1. Open any Cart Price Rule for editing
2. Click the **Duplicate Rule** button (next to Save/Delete)
3. You'll be redirected to the edit page of the newly created copy
4. Customize the copy as needed and save

### Mass Duplicate Multiple Rules

[](#mass-duplicate-multiple-rules)

1. In the Cart Price Rules grid, select checkboxes for rules you want to duplicate
2. Open the **Actions** dropdown (top left of grid)
3. Select **Duplicate**
4. Click **Submit**
5. All selected rules are duplicated at once

### Mass Delete Rules

[](#mass-delete-rules)

1. Select rules to delete using checkboxes
2. Choose **Delete** from the Actions dropdown
3. Confirm the deletion
4. Selected rules are permanently removed

### Mass Status Change

[](#mass-status-change)

1. Select rules to enable or disable
2. Choose **Change Status** from the Actions dropdown
3. Select **Enabled** or **Disabled**
4. Click **Submit**
5. All selected rules are updated immediately

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

[](#installation)

```
# Enable the module
bin/magento module:enable SchrammelCodes_SalesRule

# Run setup upgrade
bin/magento setup:upgrade

# Clear cache
bin/magento cache:clean
```

### Permissions

[](#permissions)

The module adds a new ACL resource:

- `SchrammelCodes_SalesRule::quote_duplicate` - Permission to duplicate cart price rules

Grant this permission to admin roles that should be able to duplicate promotional rules.

Compatibility
-------------

[](#compatibility)

- **Magento 2.4.x** (Open Source)
- **PHP 8.1, 8.2, 8.3**

> ### For Magento Commerce installations
>
> [](#for-magento-commerce-installations)
>
> To ensure proper reset of staging preview data, install the companion module **SchrammelCodes\_SalesRuleCommerce**to ensure proper handling of staging fields.

Technical Information
---------------------

[](#technical-information)

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance62

Regular maintenance activity

Popularity21

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity53

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 ~17 days

Total

2

Last Release

95d ago

### Community

Maintainers

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

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/schrammel-codes-magento2-salesrule/health.svg)

```
[![Health](https://phpackages.com/badges/schrammel-codes-magento2-salesrule/health.svg)](https://phpackages.com/packages/schrammel-codes-magento2-salesrule)
```

###  Alternatives

[mollie/magento2

Mollie Payment Module for Magento 2

1121.6M10](/packages/mollie-magento2)[fastly/magento2

Fastly CDN Module for Magento 2.4.x

1564.2M1](/packages/fastly-magento2)[dotdigital/dotdigital-magento2-extension

Dotdigital for Magento 2

50374.2k18](/packages/dotdigital-dotdigital-magento2-extension)[mage-os/module-automatic-translation

Automatic AI content translation for Mage-OS.

277.1k](/packages/mage-os-module-automatic-translation)[zepgram/module-rest

Technical module to industrialize API REST call with dependency injection pattern using Guzzle library

1326.2k](/packages/zepgram-module-rest)[graycore/magento2-graphql-introspection-cache

1015.2k](/packages/graycore-magento2-graphql-introspection-cache)

PHPackages © 2026

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