Solved/Documented: Mixed UPS + Freight Products From the Same Location Can Cause “Shipping Not Available”

Hi everyone,

I wanted to share an update from a fairly extensive shipping-architecture project we’ve been working through on our Shopify store. Hopefully this saves another merchant some time if they sell a combination of parcel-shippable products and oversized/freight products from the same fulfillment location.

We manufacture handcrafted furniture, outdoor products, garden products, décor, and other items. Some products can ship through UPS, while larger products may require local delivery or individually quoted freight.

Our goal was straightforward: make as much of our catalog nationally purchasable as possible while still using the correct shipping method for each product.

Our starting architecture

We first spent considerable time cleaning up our product assignments and shipping profiles. 83hrs to be exact.

Products capable of normal parcel shipping were moved into a dedicated National Parcel Shipping profile using carrier-calculated UPS rates.

Oversized/non-UPS products were kept in a Local Delivery/Pickup/No UPS profile.

We also have existing B2B/customer-company logic and regional delivery rules layered over the available shipping methods.

After normalizing the catalog, we identified a customer-experience problem:

A customer outside our local/regional delivery area could select an oversized product that we were perfectly willing to freight to them, but Shopify would simply return:

“Shipping not available.”

From the customer’s perspective, that looks like we won’t sell or ship the product to them. In reality, we simply need to obtain a freight quote.

The proposed solution

We created a new shipping profile called Quoted Freight Shipping.

The concept was:

Parcel-capable product → UPS

Eligible regional customer → appropriate local/regional delivery

Outside those automatic delivery areas → $149.99 Freight Deposit — Final Shipping Cost Billed Separately

We intentionally tested this with one product variant before migrating the larger catalog.

That pilot worked extremely well when the freight product was purchased by itself.

Our actual guest-checkout tests were:

Tier 1 ZIP 30240 → Shopify Local Delivery — PASS

Tier 2 ZIP 30230 → Extended Delivery $99.99 — PASS

Tier 3 ZIP 30220 → Regional Delivery $149.99 — PASS

Outside-tier ZIP 30318 → $149.99 Freight Deposit — PASS

Company/B2B-specific shipping methods also remained hidden from guest customers as intended.

At that point, the architecture appeared ready to scale.

Then we tested a mixed cart

This is where we found the important limitation.

At ZIP 30318:

Tapered Planter Boxes by itself
→ National Parcel Shipping
→ UPS Ground returned correctly at $74.50

5’ Rollback Garden Bench by itself
→ Quoted Freight Shipping
→ Freight Deposit returned correctly at $149.99

Both products in the same cart
Shipping not available

We stopped the migration immediately and investigated rather than attempting to fix the problem by changing rates or rules.

What Shopify Support confirmed

After working through the scenario with Shopify Support, we received some very useful clarification.

The problem was not inventory, product availability, fulfillment location configuration, B2B rules, or our shipping-customization rules.

The issue is the interaction between different shipping profiles using incompatible shipping methods from the same fulfillment location.

Shopify confirmed that when both products are fulfilled from the same location, Shopify attempts to combine the applicable shipping rates.

In our situation, one profile is returning a carrier-calculated UPS rate, while the other is returning a manual Freight Deposit rate.

Shopify cannot natively present those as two independent selectable shipping charges from the same fulfillment location.

Shopify Support also confirmed:

1. Enabling Split Shipping does not solve this particular problem.

Split-shipping presentation does not correct a rate-combination failure.

2. Different shipping profiles do not automatically create separate delivery groups when the products originate from the same fulfillment location.

3. There is no native configuration that will display our UPS carrier-calculated charge and manual freight charge as two separate shipment charges from that one location.

4. Shopify combines rates across shipping profiles.

Rate-name compatibility and available rates affect how Shopify constructs the resulting shipping option, but our carrier-calculated UPS rate could not produce a valid result for the combined cart.

5. Shopify’s documented native way to force separate delivery groups is using separate fulfillment locations.

That was not an attractive solution for us because creating an artificial second location could affect inventory allocation, order routing, fulfillment workflows, Local Delivery, Store Pickup, and other existing operations.

Our decision

We decided not to redesign our fulfillment architecture around an artificial second location.

More importantly, we discovered this during a one-variant pilot, before moving the approximately 1,799 active retail variants we had identified as potential freight-eligible products.

We rolled the pilot product back to its original profile and preserved the working shipping architecture.

For now, oversized/non-parcel products will remain protected from automatic UPS checkout. We will instead work on a customer-facing Request a Freight Quote pathway for products that can be shipped nationally but cannot receive an automatic Shopify shipping calculation.

Shopify Support confirmed that Shopify does not currently provide a native pre-checkout warning, incompatible-cart restriction, or automatic redirect to a freight-quote form for this scenario.

One native option is customizing the “Shipping not available” checkout message so the customer understands that special shipping arrangements may still be available.

Shopify also advised that third-party cart-validation solutions can potentially provide a more sophisticated pre-checkout workflow.

Feature request submitted to Shopify

I also asked Shopify Support to submit this situation as a merchant feature request.

I believe there is a significant opportunity here for Shopify.

Imagine a merchant selling:

Product A → UPS carrier-calculated shipping

Product B → individually quoted freight

Both → physically fulfilled from the same warehouse/workshop

Both products are nationally shippable. Yet putting them together in the cart can result in “Shipping not available.”

Ideally, Shopify would recognize the incompatible shipping requirements and allow the products to remain in separate delivery groups even though they originate from the same physical fulfillment location.

That could benefit merchants selling furniture, outdoor furniture, machinery, building materials, agricultural products, large décor, wholesale merchandise, and many other mixed parcel/freight catalogs.

Biggest lesson from the project

Pilot major shipping changes with ONE product before performing a bulk migration.

Our individual checkout tests looked perfect. Had we stopped there, we could have migrated nearly 1,800 variants and discovered the mixed-cart limitation afterward.

Instead, we tested:

Single parcel product → PASS

Single freight product → PASS

Local/regional delivery → PASS

Outside-area freight → PASS

Guest/customer-specific method visibility → PASS

Mixed parcel + freight cart → FAIL

That final test prevented a very large cleanup project.

For our business, the philosophy remains “Handmade to the Nation.” An oversized product not qualifying for UPS doesn’t necessarily mean we won’t ship it—it may simply mean we need to arrange and quote the freight separately.

Hopefully this helps another Shopify merchant working through a similar parcel + freight shipping architecture. And if anyone has successfully implemented a mixed carrier-calculated parcel + quoted freight workflow from a single physical fulfillment location without creating artificial inventory locations, I’d be very interested to hear how you approached it.

Hey @sywoodworking.com, the mechanism is rate combining: when a cart holds items from two shipping profiles, Shopify needs a matching rate in every profile represented, then adds them together into one checkout rate. Miss one and the entire cart comes back “shipping not available”, even though the parcel half priced fine. Your Quoted Freight profile almost certainly has a weight or price condition that the heavy items fall past. I’d add a catch-all manual rate in that profile over the same zone with no weight or price condition, $0, named something like “Freight quoted after order”, then use Show rates in Settings > Shipping and delivery with a mixed cart going to an address outside your delivery area and check both halves price.