How to use delivery surcharges


Our Delivery Surcharge feature allows us to add a surcharge for the delivery or pickup cost for certain days. This feature will automatically add a product selected as a delivery surcharge to the cart depending on the selected day. We opted for this solution as it can easily be used in parallel with other, more complex, shipping rate apps.


  1. Create delivery surcharge product

First, you need to create a normal product in your shop within Shopify's admin. For example, you could create a product called "Saturday delivery" for $2.

Make sure it's active, published and has unlimited stock.

Note - you can either create multiple products or create a single product with multiple options. For example:

  1. Assign a product to a day of the week or a specific date

In Buunto's admin area, navigate to the Delivery surcharges section.

Click on Create a new delivery surcharge.

Select the day when you want the delivery surcharge product to be applied, then select the product.

Click save at the top of the screen.

Note 1 - you can make a more complex set up. Here is an example:

Note 2 - if you offer the choice between delivery, shipping, and store pickup, it's possible to set up different charges.


  1. You're all set up!

When your customer chooses a date where a charge product was assigned, that product will be automatically added to the cart. And if your customer then changes the date for another day, that product will be removed from the cart.



  1. Change the Surcharge cost placeholder default value (optional)

By default, the surcharge cost placeholder value will display a dash. However, if you want to display a different value or simply leave it blank, you can edit it in the app’s Settings > Text and Languages; you will find this field labeled as "Surcharge cost placeholder". 



  1. Apply the surcharge for a limited period of time

This is especially useful if you want to offer your customers an "Express Delivery" option. You could for example, have the following set up:

This means that if the customer chooses a delivery for the same day or the next day, an extra $10 will be added to their order.

For example, this is what the customer sees when making an order on January 23:

This feature allows combining multiple charges. For example, we could define the following:

  • Express delivery for $10
  • Standard weekday delivery for $6
  • Express Saturday delivery for $12
  • Standard Saturday delivery for $8

There is also an option to add a "+" sign before the surcharge cost, so the customers can better understand that the surcharge price is an extra cost they have to pay:

The cutoff time parameter allows the surcharge to be pushed by one day when ordering after the cutoff time. For example, if the express delivery is set to "2 days" and the cutoff time is "18:00" then:

  • when the customer makes an order before 6 PM for a selected date 2 days away from now there won't be an express delivery charge
  • when choosing the same date after 6 PM, the express delivery charge applies.

If you want to implement the opposite setup, you can use the "Surcharge starts after a number of days" option. This will add a surcharge after the set number of days. This will come in handy when you don't want to charge your customers for orders that will be delivered the same day or the day after but charge the other orders after the second day.

This is what your customers will see if they try to place an order on September 15, 2024:

The Cutoff time rule will work the same way, pushing forward one day after the cutoff is reached.


  1. How to hide the delivery surcharge product from the store

Your customers may discover the delivery surcharge product on your online store through the search bar. To prevent this, you can hide it using a product metafield.

From your store admin, follow the steps below:

  • Go to Settings > Custom data > Products
  • Click "Add Definition"
  • Name: "Hide from search engines"
  • Namespace and key: "seo.hidden"
  • Click "Select type" and choose "Integer"
  • Click "Save"

Then go to the surcharge product's Edit page, scroll down, and set "Hide from search engines" to "1".


  1. Limitations

There are a few known issues.

  • In cart mode, after selecting the date, if the customer clicks the Checkout button and returns to the cart page, the delivery charge item will be shown in the cart. However, when refreshing the page it will go away.  This is the expected behaviour as no date was selected. This shouldn't cause any real issues as the user will have to select a date again before going to the checkout pages again.
  • In product mode, the customer chooses a date before adding the product to the cart, which means that the delivery charge will be added straight away to the cart. Then when navigating to the cart, the delivery charge item will already be showing as a line item. The issue is that, at that point, the user will be able to remove the delivery surcharge item manually if they wanted to. They then will be able to proceed to the checkout without paying the charge. Unfortunately, there isn't a simple way to prevent an item from being removed from the cart. A good workaround for this issue could be to modify the template of your theme to hide the "remove" button and hide the quantity update field. However, there isn't one way to do this as every theme is different... This will require coding knowledge.
  • In product mode, if the option "Date appears deselected at first" in Widget settings is unchecked, the delivery charge might get added automatically to the cart if the first available date has a shipping charge defined. After navigating to the next page, that charge will get cleared from the cart. However, if the next page was the cart, the delivery surcharge would remain visible in the cart but would be gone after navigating to the checkout. To mitigate this issue, we recommend checking the option "Date appears deselected at first".
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.