PHPackages                             actualizer/free-shipping-bar - 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. actualizer/free-shipping-bar

ActiveShopware-platform-plugin[Utility &amp; Helpers](/categories/utility)

actualizer/free-shipping-bar
============================

Displays a free shipping progress bar in the cart and offcanvas cart.

1.0.5(1w ago)00MITTwigPHP &gt;=8.3

Since May 11Pushed 1w ago1 watchersCompare

[ Source](https://github.com/actualizer/ActFreeShippingBar)[ Packagist](https://packagist.org/packages/actualizer/free-shipping-bar)[ RSS](/packages/actualizer-free-shipping-bar/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (2)Dependencies (4)Versions (3)Used By (0)

ActFreeShippingBar - Shopware Plugin
====================================

[](#actfreeshippingbar---shopware-plugin)

A Shopware 6 plugin that displays a free shipping progress bar in the offcanvas cart and checkout summary, showing customers how much more they need to spend to qualify for free shipping.

Features
--------

[](#features)

- Free shipping progress bar in the offcanvas (mini) cart and checkout summary
- Automatically detects the free shipping threshold from the active shipping method's price configuration
- Calculates remaining amount based on product line items only (excludes surcharges, promotions, and free-delivery items)
- Configurable progress bar visibility
- Optional success message when the free shipping threshold is reached
- Respects currency settings (gross/net) and currency factor
- Hides the bar when all items already have the free-delivery flag
- Multi-language support (German &amp; English)
- Admin configuration to enable/disable the feature
- Compatible with Shopware 6.6.10 - 6.7.x

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

[](#requirements)

- Shopware 6.6.10 or higher (up to 6.7.x)
- PHP 8.3 or higher

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

[](#installation)

### Via Composer (recommended)

[](#via-composer-recommended)

```
composer require actualizer/free-shipping-bar
bin/console plugin:refresh
bin/console plugin:install --activate ActFreeShippingBar
bin/console cache:clear
```

### Manual

[](#manual)

1. Download or clone this plugin into your `custom/plugins/` directory
2. Install and activate the plugin via CLI: ```
    bin/console plugin:refresh
    bin/console plugin:install --activate ActFreeShippingBar
    bin/console cache:clear
    ```

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

[](#configuration)

1. Go to Admin Panel → Settings → System → Plugins
2. Find "Actualize: Free Shipping Progress Bar" and click on the three dots
3. Click "Config" to access plugin settings

### Available Settings

[](#available-settings)

SettingDescriptionDefaultActiveEnable/disable the free shipping barEnabledShow progress barDisplay a visual progress bar below the messageEnabledShow message when free shipping reachedDisplay a success message when the threshold is metEnabledHow it works
------------

[](#how-it-works)

1. **Threshold Detection**: The plugin reads the active shipping method's price matrix and finds the price tier where shipping cost is 0 (calculation by cart price). The `quantityStart` of that tier becomes the free shipping threshold.
2. **Cart Value Calculation**: Only product line items count toward the threshold. Items with the free-delivery flag, surcharges, and promotions are excluded.
3. **Progress Display**: A message shows the remaining amount (e.g. "Only €15.00 left for free shipping!") along with an optional progress bar.
4. **Free Shipping Reached**: When the cart value meets or exceeds the threshold, a success message is displayed (configurable).
5. **Already Free**: If all items in the cart have the free-delivery flag (shipping costs are already zero), the bar is hidden entirely.

Technical Details
-----------------

[](#technical-details)

### Events Used

[](#events-used)

- `CheckoutCartPageLoadedEvent` - Cart page
- `OffcanvasCartPageLoadedEvent` - Offcanvas (mini) cart
- `CheckoutConfirmPageLoadedEvent` - Checkout confirmation page

### Template Extensions

[](#template-extensions)

- `offcanvas-cart-summary.html.twig` - Adds the bar to the offcanvas cart summary
- `summary-shipping.html.twig` - Adds the bar to the checkout shipping summary

### Services

[](#services)

- `FreeShippingCalculator` - Core service that reads shipping method prices, resolves currency-aware thresholds, and calculates progress data

### Page Extension Data

[](#page-extension-data)

The plugin adds an `actFreeShippingBar` extension to the page with the following data:

KeyTypeDescription`freeShippingPossible`boolWhether the shipping method has a free tier`threshold`floatCart value needed for free shipping`currentValue`floatCurrent product cart value`remaining`floatAmount still needed`reached`boolWhether free shipping has been reached`percentage`floatProgress percentage (0-100)`showProgressBar`boolConfig: show the progress bar`showWhenReached`boolConfig: show message when reachedTranslations
------------

[](#translations)

The plugin includes translations for:

- **German (de-DE)**: "Noch X bis zum kostenlosen Versand!" / "Sie erhalten kostenlosen Versand!"
- **English (en-GB)**: "Only X left for free shipping!" / "You qualify for free shipping!"

Development
-----------

[](#development)

### Building/Testing

[](#buildingtesting)

After making changes to templates, translations, or SCSS:

```
bin/console cache:clear
bin/console theme:compile
```

### Debugging

[](#debugging)

The plugin respects Shopware's logging configuration. Check your log files for any shipping calculation errors.

Known Issues &amp; Behavior Notes
---------------------------------

[](#known-issues--behavior-notes)

- **Free-delivery items are excluded from the cart value calculation**: Products with the "free delivery" flag enabled in Shopware do not count toward the free shipping threshold. This mirrors Shopware's own `DeliveryCalculator` behavior — these items are also excluded by Shopware when determining shipping costs. As a result, a customer may have a high cart total but still see a remaining amount on the progress bar if most items are flagged as free-delivery. Example: With a €50 threshold, a cart containing a €40 free-delivery item and a €20 normal item shows the bar as reached (€20 ≥ threshold is not met in this case — only the €20 counts), so the bar would show €30 remaining.
- **Only "calculation by price" shipping methods are supported**: The plugin detects the free shipping threshold by looking for a price tier with €0 shipping cost in the shipping method's price matrix (calculation type: "by cart price"). Shipping methods using other calculation types (by weight, by line item count, etc.) or flat-rate methods without a free tier will simply not show the bar — this is expected behavior.
- **Shipping methods without price configuration**: If a shipping method has no price matrix at all, the bar is correctly hidden (`freeShippingPossible` = false).

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

[](#compatibility)

- **Shopware Version**: 6.6.10 - 6.7.x
- **PHP Version**: 8.3+
- **Template Compatibility**: Uses Shopware 6.6+ template structure

Support
-------

[](#support)

For issues and feature requests, please use the GitHub issue tracker.

License
-------

[](#license)

This plugin is licensed under the MIT License.

Credits
-------

[](#credits)

Developed by Actualize

---

Made with ❤️ for the Shopware Community

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance98

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

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

Total

2

Last Release

9d ago

### Community

Maintainers

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

---

Top Contributors

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

---

Tags

shopware6shopware6-pluginshopware6-pluginssw6sw6-plugin

### Embed Badge

![Health badge](/badges/actualizer-free-shipping-bar/health.svg)

```
[![Health](https://phpackages.com/badges/actualizer-free-shipping-bar/health.svg)](https://phpackages.com/packages/actualizer-free-shipping-bar)
```

###  Alternatives

[shopware/production

177202.8k](/packages/shopware-production)[frosh/tools

Provides some basic things for managing the Shopware Installation

83783.3k2](/packages/frosh-tools)[werkstattl/openblogware

OpenBlogware: A Blog Module for Shopware 6.

437.4k](/packages/werkstattl-openblogware)[adyen/adyen-shopware6

Official Shopware 6 Plugin to connect to Payment Service Provider Adyen

24115.8k](/packages/adyen-adyen-shopware6)[unzerdev/shopware6

Unzer payment integration for Shopware 6

1230.4k](/packages/unzerdev-shopware6)[kiener/mollie-payments-plugin

Mollie Payments

6562.4k](/packages/kiener-mollie-payments-plugin)

PHPackages © 2026

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