Quick Answer
If you need mandatory fees that must apply automatically across all sales channels, including the online store, draft orders, and POS, Magical Fees is the stronger choice. If you need optional add-ons like warranties or shipping insurance that customers can select themselves, Upcharge may be a better option for you.
How the Two Apps Compare
Shopify merchants often need to charge extra fees such as bottle deposits, eco-fees, tariffs, payment-method surcharges, or even optional add-ons. Since Shopify does not support adding such fees natively, apps help fill the gap.
Two of the best apps for this are Magical Fees and Upcharge.
Both apps help you add extra fees that Shopify doesn’t support by default, and they each cover the basics well. The main difference is what they are designed to prioritize.
Magical Fees is stronger for mandatory fees that need to work across all sales channels, including POS and draft orders.
Upcharge is the better fit if you need optional add-ons that customers can select themselves, such as shipping insurance or warranties.
Both apps work well for Shopify merchants overall, and each one has strengths depending on the type of fee you need to charge.
To write this comparison, I installed both apps on a test Shopify store and recreated the same fee types in each one. This allowed me to compare their setup experience, fee-creation tools, and front-end behavior under the same conditions.
Setup Process
Magical Fees is simple to set up. When you install the app, you are guided through a short setup screen that explains everything you need to do before fees can be applied to your store. The steps are laid out clearly so you always know what is still left to complete.
Magical Apps uses a three-step onboarding flow:
- Create a fee. This is where you set up your first rule. You can choose between fixed or percentage-based fees and apply them to the products or orders you want.
- Activate the app embed. This one-click step connects Magical Fees to your theme so fee information can appear on your product and cart pages automatically without any coding.
- Disable dynamic checkout. Magical Fees recommends turning off dynamic checkout buttons on product pages. These buttons let customers skip the cart and go straight to checkout. If a customer uses one of these buttons, the fee will not be added to the order. The app includes a link to instructions if you are not sure how to turn it off. You can learn more about how these buttons work in Shopify’s documentation on dynamic checkout buttons.
Overall, the setup is quick, clear, and supported by help links inside the app if you need them.

Upcharge is also straightforward to set up. When you install the app, you land on a welcome screen that walks you through three simple steps. Everything is laid out visually, so it is clear what to do next.
Upcharge’s setup flow includes:
- Activate the app. This turns on the app embed in your theme so your fees can appear on product pages and in the cart.
- Create your first fee. You can choose between product fees or cart fees and set fixed or percentage-based charges.
- Publish the fee in your store. Once the fee is created, you click Publish so the fee is live on your store.
The setup guide is easy to follow and gives you a good sense of how the app works before you move into more advanced options.

Upcharge recommends keeping dynamic checkout buttons in the cart or checkout only. When these buttons appear on product pages, they allow customers to skip the cart, which prevents Upcharge from adding the surcharge.
Dynamic checkout works correctly for Shopify Plus stores since fees can be added at checkout.
Fee Creation
Magical Fees
Creating a fee in Magical Fees is very straightforward. The fee builder is clean, uncluttered, and makes it easy to control exactly how and when a fee should apply. Everything is grouped in clear sections so you can move through the setup without guessing what something does.
Here is what you can configure when creating a fee:
Title and details
You start by giving the fee a name and adding a short description that explains what it is for. This text will be visible to customers.
Type of fee
You choose whether the fee applies to a product or to the entire order.
Customer consent
If a fee requires customer approval, such as a credit card surcharge or a non-mandated fee, you can turn on a consent step. This adds a confirmation checkbox for the customer before the fee is applied.
Calculation options
You can set the fee as a fixed amount or as a percentage.
Conditions and rules
Magical Fees gives you a wide range of conditions so you can target the fee exactly where you want it. These include:
- For order fees, you can access subtotal conditions, such as applying the fee only when the order subtotal is less than, equal to, or greater than a specific amount. If you’re on Shopify Plus, you can also apply the same conditions to order total.
- For product fees, you can access product conditions, such as applying fees to all products, specific products, specific collections, or you can set custom conditions, such as product type, product vendor, product tags, option name, or option value.
- Quantity rules, where the fee can change depending on how many units of a product are in the cart.
Sales channels
Fees can be turned on or off for any combination of online store, Shopify POS, and draft orders.
Location rules
You can set the fee to apply only in specific countries, provinces, or states.
Payment method rules
The app can detect credit card payments and apply a surcharge automatically. If you are on Shopify Plus, it can also detect PayPal at checkout. Shopify outlines how payment methods behave at checkout in their guide to checkout payment settings.
Overall, the fee builder gives you strong control without feeling complicated. Each section is easy to understand, and you can use as many or as few conditions as you want.

Upcharge
Upcharge gives you a flexible fee builder that supports both mandatory and optional fees. The layout is clear, and most of the options are grouped in simple sections.
Here is what you can configure when creating a fee:
Fee type
You can choose between a product fee that applies to specific items in the cart or a cart fee that applies to the entire order based on the subtotal.
Fee title and input type
Each fee has a title and an input type. You can choose from checkbox, dropdown, or radio button. There is also an option for regulatory fees. Input types control how the customer selects the fee if it is optional.
Fee amount
You can set the fee as a fixed amount or as a percentage. If you use a percentage, you can add minimum or maximum limits. For example, you can make sure the fee is always at least three dollars even if the order value is low.
Conditions and rules
Upcharge includes a long list of conditions you can use to target when a fee should appear. These include:
- Product title
- Product type
- Product vendor
- Product price
- Product tags
- Product SKU
- Product
- Product variant
- Collections
- Customer tags
- Markets
- Item weight
- Quantity rules
- Item price in cart
- Item quantity in the cart
This makes it possible to create very specific fee rules when needed.
Required fees
You can make a fee required by choosing a checkbox input and turning on “Fee is required” under Fee Settings. The customer must check the box before they can continue. If dynamic checkout buttons are active on product pages, they may still allow customers to skip the fee.
When I tested this, I was specifically looking for a consent option, but it wasn’t immediately clear where that setting was located. The required option is tucked inside the Fee Settings panel, so it took a moment to find. Until I enabled “Fee is required,” customers could bypass the fee using certain buttons. Once that setting was turned on, the consent flow worked as expected.
Advanced options
You can upload an image to the fee or convert an existing product into a fee and reuse its image.
Overall, the fee builder in Upcharge offers strong flexibility, especially for optional add-ons. The interface is clean and the built-in preview helps you see how the fee will look on the cart page.

Front End Display
Both apps show fees clearly on the product page, in the cart, and at checkout. The major difference between the two apps is how they capture customer consent and how they display fees at checkout.
Magical Fees Consent
You can also turn on customer consent, which shows a popup before the fee is applied. This is useful for fees that require user approval, such as credit card surcharges or service fees.

Upcharge Consent
UpCharge displays fees directly in the cart. If the fee is optional, customers can choose it by using a checkbox or dropdown. If the fee is required, the customer must select the option before continuing.
This works well for gift wrap, rush handling, or other add-on style fees.

Checkout Display
At checkout, both apps show the fee in a similar way. The fee appears separately, with the name and amount clearly listed.
Magical gives you two display choices:
- Bundled with the product: The fee appears under the item so customers can see exactly what they are being charged for.
- Shown separately as its own line item: This keeps the fee distinct. It works well for things like bottle deposits or credit card surcharges.

Quick Feature Snapshot
| Feature | Magical Fees | Upcharge |
| Fixed & %-based fees | ✔All plans | ✔ All plans |
| Location-based fees | ✔All plans | ✔All plans |
| Payment-method fees for non-Plus | ✔ | ✘ (Plus only) |
| POS support | ✔ | ✘ |
| Draft order support | ✔ | ✘ |
| Optional fees / add-ons | ✘ | ✔ |
| Conditions & rules (products, order subtotal, etc.) | ✔ | ✔ |
| Price | From $9.99/mo / $19.99 (for Plus stores) | From $9.99/mo / $29.99 (for Plus stores) |
Magical Fees is stronger for supporting multiple sales channels, such as draft orders and POS, across all store types.
Upcharge is the better option if you need optional add-on fees, but it doesn’t support draft orders or POS which can be a dealbreaker for stores who have workflows that depend on these sales channels.
Pricing & Value
Both apps start at $9.99/month, but Magical’s Starter plan includes most core features, such as location- and payment-based fees, plus support for POS and draft orders.
Upcharge requires the $29.99/month Plus plan to unlock checkout-level and payment/shipping-based fees. Magical also offers a Plus-store plan at $19.99/month with advanced checkout features.
Verdict: Magical Fees delivers more value for most merchants by offering more essential features on the lower-cost plan. Upcharge is worth considering mainly for Plus stores that need checkout-level optional fees.
Support & Reliability
Both apps have strong reviews.
Magical Fees: 4.8★, praised for responsive support and dependable performance for compliance-related fees.
Upcharge: 4.7★, praised for flexible add-ons, but some users mention its lack of POS and draft-order support.
Recommendations
Pick Magical Fees if:
- You need reliable mandatory fees (eco-fees, tariffs, bottle deposits).
- You want POS and draft-order support.
- You want payment-method fees without upgrading to Plus.
- You want simple, no-code setup.
Pick Upcharge if:
- You rely on customer-selected add-ons (optional fees)
- You’re on Shopify Plus and need checkout-level shipping fees.
If you want a deeper explanation of when fees are needed and how different fee types work, read our Benefits of Using an App for Shopify Fees guide.
Ready to try it? Install Magical Fees
About the author
Kyle Godon is the Customer Lead at Magical Apps. He works with Shopify merchants every day to help them set up fees, troubleshoot configurations, and offer advice based on their use cases.
Read Kyle’s full profile.
Magical Fees
The Magical Fees app is a fast and easy way to build, customize, and attach fees to products or entire orders.
