Magento 2 Shipping Methods Not Showing at Checkout? Fix Guide

By | August 11, 2026
Spread the love

Magento 2 Shipping Methods Not Showing at Checkout? Complete Troubleshooting Guide

Shipping methods suddenly disappearing from Magento 2 checkout can directly affect sales. A customer may add products to the cart, enter a valid shipping address and still see no available shipping options.

The problem can be caused by something simple, such as an incorrect configuration, or something more complicated, including carrier API authentication failures, outdated integrations, incorrect product data or a custom extension conflict.

In this guide, we’ll go through the most common reasons Magento 2 shipping methods do not appear at checkout and explain how to troubleshoot them.

Common Symptoms

You may be experiencing a Magento shipping problem if:

  • No shipping methods appear during checkout.
  • Magento displays “Sorry, no quotes are available for this order.”
  • UPS, FedEx, USPS or another carrier suddenly disappears.
  • Flat Rate works but real-time carrier rates do not.
  • Shipping works for some ZIP codes but not others.
  • Shipping works for some products but not others.
  • Rates appear in the shopping cart but disappear during checkout.
  • Shipping works on the frontend but not while creating an order from Magento Admin.
  • A carrier stopped working after a Magento upgrade.
  • A shipping integration stopped working after a carrier API change.

Let’s troubleshoot these problems one at a time.

1. Check Whether the Shipping Method Is Enabled

Start with the simplest configuration.

In Magento Admin, navigate to:

Stores → Configuration → Sales → Delivery Methods

Select the shipping carrier that is not appearing.

Depending on the carrier or extension, check settings such as:

  • Enabled
  • Enabled for Checkout
  • Active
  • Allowed Countries
  • Specific Countries
  • Minimum Order Amount
  • Maximum Order Amount
  • Minimum Weight
  • Maximum Weight

Also make sure you are checking the correct Website / Store View scope.

A carrier may be enabled under Default Config but have a different value configured at the website level.

After changing the configuration, clear the Magento cache and test checkout again.

2. Check the Magento Shipping Origin

Real-time carrier APIs normally need both an origin and destination before they can calculate shipping rates.

Check:

Stores → Configuration → Sales → Shipping Settings

Verify the Origin information:

  • Country
  • State/Region
  • ZIP/Postal Code
  • City
  • Street Address

An incorrect warehouse ZIP code or country can cause the carrier API to return no available services.

This is particularly important after copying a production database to a staging or development environment.

3. Verify the Customer Shipping Address

The customer’s destination address is another common reason for missing shipping rates.

Check:

  • Country
  • State/Region
  • ZIP/Postal Code
  • City
  • Residential/commercial status when applicable

Try testing with a known valid address.

For example, if your warehouse and carrier account are based in the United States, first test a normal US commercial address.

If that works but another address does not, the issue may be related to the destination rather than Magento itself.

4. Check Allowed Countries

Magento shipping methods can be restricted by country.

Inside the carrier configuration, look for settings similar to:

Ship to Applicable Countries

or

Ship to Specific Countries

If the carrier is configured only for the United States, it will not appear when the customer enters a Canadian address.

This can sometimes look like an API problem when it is simply a Magento configuration restriction.

5. Check Product Weight

Real-time shipping carriers typically require shipment weight.

Open one of the products in the cart and verify its weight.

Check:

Catalog → Products → Product → Weight

Pay particular attention to:

  • Products with zero weight
  • Incorrect weight units
  • Configurable products
  • Bundle products
  • Virtual products
  • Products imported through CSV
  • Products synchronized from an ERP/PIM

If shipping works for Product A but not Product B, comparing their weight and shipping-related attributes is a good troubleshooting step.

6. Test Magento’s Basic Shipping Method

This is one of the fastest ways to isolate the problem.

Temporarily enable Magento’s Flat Rate shipping method.

Then test the same cart and address again.

If Flat Rate Appears

Magento checkout itself is probably capable of displaying shipping methods.

The problem is more likely related to:

  • Carrier configuration
  • API credentials
  • Carrier API response
  • Custom shipping extension
  • Product restrictions
  • Shipping rules

If Flat Rate Also Does Not Appear

Investigate Magento checkout, address data, quote data, custom checkout modules and JavaScript/API errors.

This simple test can save considerable debugging time.

7. Verify Carrier API Credentials

UPS, FedEx, USPS and LTL carriers rely on external APIs to calculate live rates.

Check whether your carrier credentials are still valid.

Depending on the integration, this may include:

  • Account Number
  • API Key
  • API Secret
  • Client ID
  • Client Secret
  • Username
  • Password
  • Access Token

Do not assume credentials are correct simply because the integration worked previously.

Carriers periodically change their authentication systems and APIs.

8. Check Whether the Carrier Retired an Older API

This has become increasingly important for Magento stores.

Shipping carriers are moving older SOAP, XML and legacy APIs to newer REST APIs and modern authentication systems.

An old Magento shipping extension can therefore remain enabled in Admin while returning no usable rates.

If a shipping method suddenly stopped working without any Magento configuration changes, check whether the carrier has:

  • Retired a legacy API
  • Changed authentication requirements
  • Introduced OAuth
  • Changed API endpoints
  • Changed required request parameters
  • Disabled old credentials

Updating Magento alone does not necessarily update every third-party shipping integration.

9. Enable Debug Logging

Many Magento carrier integrations include a Debug setting.

Temporarily enable debugging for the affected shipping method.

Then reproduce the issue by requesting shipping rates.

Review:

var/log/

Depending on Magento and the extension, useful files may include:

system.log

exception.log

debug.log

or a carrier-specific log file.

Look at both the API request and response when available.

The response often immediately reveals the actual problem.

Examples include:

  • Invalid credentials
  • Authentication failed
  • Invalid postal code
  • Service unavailable
  • Invalid account
  • Missing weight
  • Invalid dimensions
  • No services available
  • Invalid freight class

Important: Disable unnecessary debug logging after troubleshooting a production store.

10. Check Magento Logs

If the carrier-specific log doesn’t explain the issue, inspect Magento’s general logs.

Check:

var/log/system.log

var/log/exception.log

Also check your PHP and web server logs.

For Apache/PHP-FPM environments, inspect the relevant Apache and PHP-FPM error logs.

For Nginx environments, check the Nginx and PHP-FPM logs.

A PHP exception inside a custom carrier module can prevent rate collection even when the API itself is working correctly.

11. Check the Browser Network Requests

Magento checkout requests shipping information dynamically.

Open your browser’s Developer Tools and select the Network tab.

Enter or change the shipping address and watch the Magento REST requests.

Depending on the checkout flow, you may see requests related to estimating shipping methods.

Look for HTTP errors such as:

  • 400 Bad Request
  • 401 Unauthorized
  • 403 Forbidden
  • 404 Not Found
  • 500 Internal Server Error

A 500 response usually means you should investigate the Magento/PHP logs.

A 401 or 403 may indicate authentication, session, security or API access problems.

12. Check Custom Shipping Restrictions

Magento stores frequently have custom shipping rules.

For example:

  • Disable FedEx for certain products
  • Show freight only above a specific weight
  • Restrict UPS to certain states
  • Disable shipping for PO Boxes
  • Offer free shipping above a certain subtotal
  • Use LTL only for oversized products
  • Hide parcel carriers when freight products are present

If shipping disappears only under certain cart conditions, inspect any custom shipping rules or third-party shipping modules.

13. Check Configurable and Bundle Products

Configurable and bundle products deserve special attention.

Suppose a parent product has one weight while its child simple product has another.

The shipping extension may calculate the shipment using:

  • Parent weight
  • Child weight
  • Bundle fixed weight
  • Bundle dynamic weight
  • Total quote item weight

The exact behavior depends on Magento configuration and the shipping extension.

If the problem occurs only with configurable or bundle products, inspect the final cart/quote weight being sent to the carrier.

14. Check LTL Freight Requirements

LTL shipping integrations require considerably more information than ordinary parcel shipping.

Depending on the carrier, rates may require:

  • Total shipment weight
  • Product dimensions
  • Freight class
  • NMFC information
  • Number of pallets
  • Origin ZIP code
  • Destination ZIP code
  • Residential/commercial status
  • Liftgate requirement
  • Inside delivery
  • Limited access location

If any required value is missing or invalid, the freight carrier may return no rates.

This is why an LTL method may work for one product but disappear for another.

15. Check Residential vs Commercial Address Logic

Some UPS, FedEx and LTL configurations return different rates depending on whether the destination is residential or commercial.

If your store uses automatic address classification, verify that the classification API is working correctly.

A failed address-validation request can affect:

  • Residential surcharges
  • Available services
  • LTL accessorial charges
  • Final shipping price

Test both a known commercial and a known residential address.

16. Check Package Dimensions

Some carrier integrations calculate rates using dimensional weight.

Verify:

  • Length
  • Width
  • Height
  • Weight

Also inspect how multiple cart products are packaged.

Incorrect dimensions can result in oversized packages or requests that the carrier refuses to rate.

17. Clear Magento Cache

After changing shipping configuration, clear the cache.

From Magento Admin:

System → Cache Management → Flush Magento Cache

Or from the command line:

php bin/magento cache:clean

php bin/magento cache:flush

Then test the checkout again.

18. Check After a Magento Upgrade

If shipping stopped working immediately after upgrading Magento, check the shipping extension’s compatibility.

A custom or third-party module may depend on Magento classes, APIs or checkout behavior that changed between releases.

Check:

  • Magento version
  • PHP version
  • Extension version
  • Composer dependencies
  • Deprecated Magento classes
  • API changes
  • Checkout customizations

Never assume that an extension working on an older Magento version will automatically work correctly after an upgrade.

19. Check for Extension Conflicts

Multiple shipping modules can modify Magento’s rate collection process.

For example, your store may simultaneously use:

  • Carrier extensions
  • Shipping restriction modules
  • Checkout customization modules
  • Address validation modules
  • Multi-warehouse modules
  • ERP integrations
  • Marketplace modules

Temporarily disabling a suspected extension in a staging environment can help identify conflicts.

Avoid testing module disablement directly on a busy production store.

20. Compare API Request and Response

For difficult shipping problems, this is often the most useful step.

Determine exactly what Magento sends to the carrier.

For example:

Magento → Carrier API

The request may contain:

  • Origin
  • Destination
  • Weight
  • Dimensions
  • Packages
  • Account information
  • Service type
  • Freight class
  • Accessorial services

Then inspect:

Carrier API → Magento

If Magento sends incorrect information, fix the Magento configuration or extension.

If Magento sends correct information but the carrier returns an error, investigate the carrier account/API configuration.

If the carrier returns valid rates but Magento doesn’t display them, investigate the extension’s response parsing and Magento rate collection.

A Simple Troubleshooting Flow

Use this order when diagnosing the problem:

Shipping Method Missing

Is the method enabled?

Check Website/Store configuration

Verify origin and customer address

Verify product weight/dimensions

Test Magento Flat Rate

Verify carrier API credentials

Enable Debug Mode

Inspect API request/response

Check Magento/PHP logs

Check browser REST requests

Check extension conflicts

Check carrier API changes

This approach helps separate Magento checkout problems from external carrier API problems.

When Do You Need a Custom Magento Shipping Integration?

Standard Magento shipping functionality works well for many stores, but some businesses have more complex requirements.

A custom shipping solution may be appropriate when you need:

  • Multiple warehouses
  • LTL freight rates
  • Freight class calculations
  • Residential/commercial detection
  • Liftgate charges
  • Inside delivery
  • Limited access fees
  • Dimensional weight calculations
  • Multiple carrier APIs
  • Custom shipping restrictions
  • ERP/WMS integration
  • Carrier-specific negotiated pricing
  • Custom packaging rules

Instead of forcing complex shipping requirements into a basic rate model, these rules can be implemented directly into the Magento shipping workflow.

Need Help With Magento Shipping?

EcomPlugins specializes in Magento 2 and Adobe Commerce shipping integrations.

We work with UPS, USPS, FedEx, LTL freight carriers, address validation services, custom carrier APIs and specialized B2B shipping requirements.

If your Magento shipping methods are missing, returning incorrect rates or failing after an API or Magento upgrade, we can help identify whether the problem is caused by Magento configuration, the carrier API or your shipping extension.

Explore Magento Shipping Integration Services

View Magento 2 Shipping Extensions

Request Magento Development Support

Frequently Asked Questions

Why are no shipping methods showing in Magento 2?

Common causes include disabled shipping methods, incorrect origin or destination addresses, country restrictions, missing product weights, invalid API credentials, carrier API errors and conflicts with third-party extensions.

Why does Flat Rate work but FedEx or UPS does not?

If Magento Flat Rate works, Magento is capable of displaying a shipping method. The problem is more likely related to the carrier configuration, API credentials, account, API response or carrier extension.

Why did my Magento shipping method suddenly stop working?

If no Magento changes were made, check the carrier API first. Carriers periodically retire legacy APIs, change authentication requirements and migrate integrations to newer REST APIs.

Why does Magento shipping work for some products but not others?

Compare product weights, dimensions, product types, freight classes and shipping-related attributes. Also check whether custom shipping rules exclude specific products.

Why does shipping work for some ZIP codes but not others?

The destination may be outside the carrier’s service area, excluded by Magento configuration or rejected by the carrier API. Test the destination directly against the carrier response.

Can EcomPlugins troubleshoot an existing Magento shipping extension?

Yes. EcomPlugins provides Magento shipping integration and development services and can investigate configuration, API communication, custom modules and carrier-related issues.