Skip to main content Skip to search Skip to main navigation
Diese Seite ist auch auf Deutsch verfügbar.
Markus Michalski

Variant Price Surcharge

Rating: no rating ( write a review )
Downloads: <10

Description

Highlights

  • - Percentage + fixed surcharge combinable — one formula for all pricing scenarios
  • - Field-specific inheritance — configure centrally on parent or individually per variant
  • - Cart integration — correct prices throughout the entire checkout process incl. tax recalculation
  • - Configurable rounding — 4 rounding modes for precise price display
  • - Storefront-optimized — no admin performance overhead, active only in the frontend

Features

  • - Percentage-based pricing from parent product price (0–1000%)
  • - Fixed price surcharges in EUR (positive or negative)
  • - Combined mode: percentage and surcharge used simultaneously
  • - Per-variant activation via custom fields
  • - Field-specific inheritance: inherit values from parent product
  • - Full cart and checkout integration with tax recalculation
  • - Configurable rounding mode (HALF_UP, HALF_DOWN, HALF_EVEN, HALF_ODD)
  • - Adjustable decimal places for rounded prices
  • - Multi-currency support with automatic currency fallback
  • - NaN/INF protection: prices never go negative
  • - Storefront-optimized: no admin overhead
  • - Request-level caching for parent product lookups (N+1 prevention)
  • - PHPStan level 8 verified, CI/CD pipeline with tests

About the Extension

Problem: Maintaining variant prices manually?

If you sell variants with size-dependent or option-based pricing, you know the issue: every time the parent price changes, all variants need manual adjustment. This plugin solves it with a simple formula:

Variant Price = (Parent Price + Fixed Surcharge) × (Percentage / 100)


Core Features

  • Percentage calculation: Variant price as a fraction of the parent price (0–1000%)
  • Fixed surcharges: Add or subtract absolute EUR amounts
  • Combined mode: Use both percentage AND surcharge simultaneously
  • Per-variant activation: Controlled individually via custom fields
  • Field-specific inheritance: Values not set on the variant are automatically inherited from the parent
  • Cart & checkout: Correct prices throughout the checkout process incl. tax recalculation
  • 4 rounding modes: HALF_UP, HALF_DOWN, HALF_EVEN, HALF_ODD — configurable mode and decimal places
  • Multi-currency: Currency-specific parent price resolution with fallback
  • NaN/INF protection: Robust validation — calculated prices never go negative


How it works

After installation, three custom fields are available at product level: Enable surcharge, Percentage, and Fixed surcharge. Simply configure them on the desired variant (or centrally on the parent product) — the price is automatically calculated in the storefront and cart.

The admin continues to show the original price to maintain performance.


Use Cases

  • Size variants: S = 80%, M = 100%, L = 120%, XL = 140% of the base price
  • Software licenses: 1 User = 50%, 5 Users = 100%, 10 Users = 150%
  • Product options: Base product + zipper (+3 EUR) + size XL (+5 EUR)
  • Volume discounts: 3-pack (-5 EUR), 5-pack (-8 EUR) via negative surcharges
  • Combination: Size surcharge (120%) + option surcharge (+8 EUR) in one variant


Important Notes

The variant's own price is ignored — only the parent product price with surcharge and percentage is used. The admin intentionally shows the original price to avoid impacting admin performance.


Documentation

Comprehensive documentation with practical examples and troubleshooting is available at faq.markus-michalski.net.

Details

  • Available: English, German
  • Latest update: 16 June 2026
  • Publication date: 17 June 2026
  • Version: 1.1.2
  • Category: Product Configuration

Resources

Reviews (0)

Write a review

If you downloaded this extension you can write a review in the Shopware Account.

Write a review

About the Extension Partner

Markus Michalski

Markus Michalski

Partner Status

  • Shopware Extension Partner Shopware
    Extension Partner

Details

  • Partner since: 2026
  • Extensions: 6

Support

  • Based in: Germany
  • Speaks: German, English
  • Response time: Very quickly