
Are you stuck at night on a Shopify setting that just won't work? Shipping, taxes, checkout down: here's the practical guide to understanding what to do immediately and when you need to get your hands on the code.
Direct Answer: The most common Shopify checkout blocks have four causes that can be checked in minutes: an inactive market in Settings > Markets even if the shipping rate already exists, exceeding the €10,000 EU VAT threshold without OSS registration, a payment gateway with missing mandatory data (email or phone) or a non-commercial card on Shopify Bill Pay, or residual code from uninstalled apps left in theme.liquid. The guide below details each diagnosis.
Article updated on July 27, 2026.
Why does the checkout get stuck on international shipping?
How to unlock the mystery of inactive markets
In my practice, I often encounter desperate merchants because, despite carefully entering flat rates for a European or non-European country in the shipping panel, foreign customers cannot select it in the checkout dropdown menu. The problem lies in an invisible but fundamental setting: Shopify Markets. For a country to be effectively enabled for purchase, it is not enough for a shipping rate to be associated with it; that country must belong to an active market in your settings. For example, if you have created a rate for France but the European market is deactivated or inactive, the checkout will block instantly. To solve this puzzle yourself, simply access your administrative panel, go to Settings > Markets, activate the corresponding market or add it to an existing one, and only then ensure that the shipping zone is configured with the correct rates. Remember: an active market and a shipping zone must always go hand in hand, otherwise your customers' carts will remain empty.
Avoid the bleeding of accumulated shipping profiles
Another gear that tends to jam concerns custom shipping profiles. By default, your store has a general profile, but if you decide to create custom profiles for certain products, perhaps because they are shipped from an external supplier or require different couriers, you must pay close attention to how Shopify calculates costs. If a customer adds a product from the general profile and one from the custom profile to their cart, Shopify will arithmetically sum the shipping rates of both profiles at checkout. This mechanism is also activated if you use print-on-demand applications or suppliers that manage themselves as separate locations. The result is an exorbitant final rate that will make the customer flee before payment. To avoid this bleeding, my advice is to group products as much as possible or study compensatory rates, avoiding creating unnecessary custom profiles that only complicate your customer's life and undermine your margins.
How to set up local deliveries without errors?
The Swiss syntax of postal codes for local deliveries
If you have a physical store or a small warehouse and want to deliver your products directly to customers in your city, Shopify offers you the local delivery function. But be careful: configuring it requires almost surgical precision. If you decide to delimit the delivery area by manually entering postal codes (CAP), you must follow a very precise syntax: each code must be strictly separated by a comma and a space, without exceeding the total limit of 3,000 characters. Furthermore, Shopify's verification system acts on the entire code or on the initial portion (outward code). For example, if you enter "001", the system will intercept all postal codes that start with those digits, but you need to know these matching rules well to avoid excluding customers who are just a few blocks away from you. Go to Settings > Shipping and delivery, select your location, and fill in the fields with extreme care to avoid missed shipments.
Conditional rates: rewarding local customers without zeroing out margins
The beauty of local deliveries is that you can make them extremely flexible. You can decide to set a delivery radius in kilometers starting from your physical address, even including neighboring regions if necessary. But to avoid losing money, I recommend using conditional rates. Shopify allows you to set up to three additional pricing rules for each local delivery zone. For example, you can decide that delivery costs €5 for orders under €30, becomes €2 for orders up to €50, and is completely free (by simply entering 0 in the price field) for all orders above. In this way, you incentivize your local customers to add an extra product to their cart to zero out shipping costs, while protecting your operating margin and increasing the average receipt.
| Order Threshold | Local Delivery Cost (example) |
|---|---|
| Up to €30 | €5 |
| From €30 to €50 | €2 |
| Over €50 | Free (€0) |
How do VAT and OSS work for European sales on Shopify?
Exceeding the €10,000 threshold and registering for OSS
Taxes are the topic that keeps any small business owner awake at night. If you sell in Europe, there's a golden rule you need to keep in mind: the cross-border threshold of €10,000. As long as your total sales to other European Union countries remain below this figure, you can continue to apply the VAT rate of your country (e.g., 22% in Italy). But the moment you exceed this threshold, you are obliged to charge the VAT of your customer's destination country. To save you the bureaucratic nightmare of opening a VAT number in every single European state, there is the One-Stop Shop (OSS). You register once in your country and declare everything from there. Remember that, as of May 13, 2026, the old and simple "Basic Tax" is no longer available for new European stores, which must configure Shopify Tax or manage taxes manually.
How to configure national and community VAT on your panel
Once you have obtained your tax identifiers from your accountant, you must instruct Shopify to apply the correct rules. In my daily work, I set up this configuration in a few clean steps. Go to Settings > Taxes and duties, select the European Union, and choose how to collect VAT. If you have not exceeded the €10,000 threshold, you will configure registration as a micro-business by entering your national VAT number. If you have joined the OSS regime, you will select the corresponding option and enter your OSS registration number. Shopify will automatically calculate the correct rates for each European country, allowing you to generate compliant invoices and sleep soundly.
Why are VAT rates incorrect at checkout?
Create tax overrides for special products with ad hoc collections
Sometimes the store applies the standard VAT rate even to products that, by law, benefit from a reduced rate, such as food or baby products. In these cases, the solution is not to despair, but to resort to tax overrides. The procedure I apply in my practice is very simple: first, I create a manual collection containing all products that require the special rate. Subsequently, I go to Settings > Taxes and duties, select the reference region, and create an override by associating the collection and setting the correct tax percentage. If you use Shopify Tax, this process is even more streamlined because the system recognizes product tax categories and avoids the manual creation of too many overrides, simplifying store maintenance.
Resolving the 5 most common tax misalignments at checkout
If you notice that the taxes calculated at checkout do not match what you expect, do not blame some phantom system bug. In almost all cases, it is one of these five configuration errors that I regularly solve for my clients:
- You have set the wrong registration type (e.g., you are still configured as a micro-business despite having exceeded €10,000 in foreign sales).
- You have not assigned the correct tax category to the product (essential if you use Shopify Tax).
- There is an obsolete or incorrect tax override that overlaps with the standard rules.
- Your fulfillment location does not match the territories where you have registered for VAT.
- You have not created a specific shipping zone for the European Union, preventing the tax module from activating correctly for that region. Check these points and you will see that your Shopify's tax engine will run like clockwork again.
Why is a payment declined at Shopify checkout?
Using Shopify Payments test mode without risking real transactions
Checkout blocking at the time of payment is every seller's worst nightmare. To understand what's wrong without risking real money movement or unwanted charges, I recommend using Shopify Payments' test mode. Activating it is very simple: go to Settings > Payments, click Manage in the Shopify Payments box, and check the "Enable test mode" box. Just remember to disable automatic fulfillment apps and not purchase shipping labels for test orders, otherwise you will still be charged. At this point, you can simulate successful purchases using fictitious cards (like the classic Visa starting with 4242 followed by fourteen other 42 digits) or test declines for insufficient funds using dedicated error codes to verify how the store responds. Once testing is complete, remember to disable test mode to return to receiving real payments from your customers.
Why Stripe isn't there and what to do if an external gateway jams
Many merchants ask me: "Francesco, why can't I find Stripe among the available payment methods?". Simple: in countries where Shopify Payments is available, Stripe does not appear as an independent gateway because it is the banking partner that powers Shopify Payments itself. If you use external gateways (like Nexi, Axerve, or integrations through external apps like CartDNA), payment blocks almost always stem from problems external to Shopify. This could be a method not yet enabled or approved on your payment provider's control panel, or the lack of mandatory fields at Shopify checkout (like email address or phone number) that the external gateway absolutely requires to process the transaction. If you use Shopify Bill Pay and see rejected payments, check that you are not using personal or prepaid cards: the system only accepts commercial or business cards issued in the United States.
When is it necessary to intervene on the Shopify theme code?
Ghost code hunting: how to eliminate the debris of uninstalled apps
There are times when, no matter how well you configure shipping or payments, the store continues to act up. The cart gets stuck, the buy button mysteriously disappears, or the site slows down drastically. In my experience as an engineer working in e-commerce, the number one suspect is residual code from old uninstalled applications. Many believe that simply clicking "Uninstall" from the panel is enough to clean up the store. Unfortunately, this is not the case: many apps leave orphaned scripts and clutter within the main theme.liquid file or in the theme's JSON files. These scripts constantly try to connect to external servers that no longer exist, creating blocking errors invisible to the user but detected by the browser console. In my working method, I intervene directly on the source code of your standard Shopify theme to sanitize these residues, without installing other heavy apps that would only slow down the site.
Deadly parentheses and commas: correcting errors in Liquid and JSON files
Touching code without knowing what you're doing is like using a hammer to fix a precision clock. Just forgetting a single curly brace } in a Liquid file or accidentally removing a comma , in a JSON template can completely crash the store or make the theme editor inaccessible. If you find your site blocked after trying a DIY modification, don't panic. This is when targeted code intervention is needed. Turning to an independent specialist like me allows you to save significantly compared to a large web agency, which would often offer you expensive monthly support contracts or the installation of additional recurring subscription apps. I intervene directly on the structure of your standard theme, resolve the block cleanly, and explain what happened in a clear and understandable way, protecting the margins of your small business.
If you have a recurring technical block in your store, this is the type of ongoing support I offer in my Shopify maintenance and support.

