New Module: Magento 2 Surcharge

Every online order has its associated processing costs. The item has to be picked from a warehouse, packed accordingly, and shipped to the shopper. Depending on the product, these associated costs may vary vastly.

For example, customers usually expect free shipping if a purchase exceeds a certain base amount. However, shipping a fridge, for example, costs much more than shipping a dress, even though the price of both items may be the same.

As more and more people shop online, store owners focus on capturing the sale by showing customers alluring prices at the expense of the profit margin. But maintaining profit margins in retail is just as important as the number of sales. The Surcharge extension by Mirasvit is a tool that helps Magento stores retain their high-profit margin while keeping low prices. This module transparently passes order processing costs to the customer.

  1. Why your Magento store needs a surcharge module
  2. What you get with Mirasvit Magento 2 Surcharge extension
  3. Summary

Why a store needs a surcharge module

Every online store has unavoidable expenses on every order. These are commissions for payment and shipping carriers, region-depending taxes, product-specific packaging, etc.

Hiking product prices to cover these order processing expenses leads to an increase in cart abandonment and lower sales.

Using a surcharge module, a Magento store can pass processing expenses on each order individually. Customers get lower base prices, and the store keeps its profitability rate.

A practical example of when a surcharge fee is needed

Let's consider a shop selling a mobile phone for $300 to a nearby customer. The store buys this phone from a manufacturer for $250.

Since the mobile phone is a compact and lightweight device, it is stored in the distribution center, and not in a distant warehouse, making internal transport expenses $0. It can also be shipped by regular mail, which costs $5. The packing and delivery to the shipping provider cost $10.

In total, the sale of a $300 mobile phone costs the store $250+$0+$5+$10=$265, bringing in $35 profit.

Now, this shop sells a washing machine for $300 to a customer from a distant town. The shop buys these machines for $250 from the manufacturer.

To process the order, a store worker has to move a washing machine weighing several tens of kilograms from a warehouse to a distribution center. Considering the worker's salary, petrol, and depreciation of the transport van, the associated costs of this internal transporting are estimated at $10.

Then another worker will pack the washing machine and transfer it to the delivery service. That is another $15 related expense.

The delivery service also costs money, but the buyer usually expects free shipping on orders of several hundred dollars. Shipping a heavy washing machine to a distant town is expensive, so the store pays $25 for it since the customer expects free shipping.

In total, selling a $300 washing machine to a customer from a distant town cost the store $250+$10+$15+$25=$300. The store earns nothing from this sale.

Thus, in some cases, the associated operating costs may consume or even overcome profits generated by the order. For these cases, the store should have a system that adds the associated costs to the total amount of the order.

What you get with Mirasvit Magento 2 Surcharge extension

Surcharge extension by Mirasvit allows you to transparently pass the cost of order processing onto the customer. A store can develop a system of surcharge fees to preserve lower prices for most of the shoppers while allowing a store to be profitable with every order.

The module allows you to put such charges as payment or delivery provider fees, country or region fees into the order total. Fees can be set depending on the weight of the order, or subtotal, product attributes, etc.

The extension is designed to work automatically, selecting the surcharge fee accordingly to the set of rules and their conditions.

Make a system of surcharge fees

Create a set of rules for the Surcharge extension to select from. Each rule has its individual priority level, so rules with a higher priority will be executed first.

You can set the rule to be executed exclusively; other rules will be skipped even if their execution conditions are met.

Surcharge rules executed by flexible conditions

You can pinpoint surcharge to orders with specific attributes. Choose from product attribute combination, product subselection, and cart attributes.

When using cart attributes as a condition, you can select such attributes as subtotal (excluding or including tax), total items quantity, total weight, payment method, shipping method, shipping postcode, shipping region/state, or province/country.

By combining several conditions in one rule, you can define the exact order parameters for applying the surcharge fee.

Surcharges for store view and customer group

Target surcharges at specific store views and customer groups by simply selecting the appropriate options in Magento admin.

Use these options to make your surcharge system even more flexible. For example, different customer groups can have individual surcharge rates even if surcharge applying conditions are identical.

Flexible surcharge rates with thresholds

The Surcharge module gives you the flexibility to choose how the fee is calculated. Choose a fixed rate per order, rate per product, per unit weight, or a percentage of the product price.

You can set a minimum threshold to ensure that the surcharge fee always covers the order processing expenses. It will be applied if the automatically calculated value is lower than this threshold.

Set a maximum surcharge threshold to limit the fee for the customer.

Full transparency for shoppers

Customers will see the surcharge on their order before they even place their order. The surcharge fee is displayed in the shopping cart.

Additionally, the surcharge fee is displayed on the checkout page when the customer places the order.

Shoppers can see the surcharge for their past orders on the order details page in their accounts.


Each order has an individual handling cost depending on the items purchased. Packaging and shipping heavy or bulky items require much more effort than compact and lightweight products.

Simply including average order processing expenses into the product's price may lead to a situation when a store earns nothing on order. Also, customers may purchase less because of higher prices.

Use the Surcharge module for your Magento to create a flexible surcharge system and transparently pass the order processing expenses to the customer. This extension helps you to keep the profitability rate and display lower prices.

Check the Surcharge Magento extension by yourself.

Eugen Barilyuk


Eugen, a tech-savvy writer at an IT company. He spends his days simplifying complicated tech stuff into easy-to-read blog posts and documentation. Eugen loves blending his love for tech with storytelling, making complex topics not only understandable but interesting. Beyond work, he enjoys exploring the creative side of technology and innovation.