B2B manufacturers often ship products that don't fit in a parcel box. Palletized goods, heavy equipment, oversized items, and bulk orders require freight shipping rather than standard parcel carriers. Your checkout needs to handle these shipments appropriately, whether that means showing freight rates, offering will-call pickup, or providing quote requests for large orders.
Shopify doesn't have a dedicated "LTL freight" toggle, but you can configure freight shipping using flat rates, carrier-calculated rates, or a combination of both. This guide covers how to set up freight and LTL options for B2B stores.
Shopify's Native Shipping Capabilities
Understanding what Shopify offers out of the box helps you plan your setup.
What You Can Configure
- Flat rates: Fixed prices or prices based on weight/order value
- Carrier-calculated rates: Live rates from carriers (when supported)
- Shipping profiles: Different rates for different products
- Shipping zones: Geographic regions with different pricing
- Free shipping thresholds: Waive shipping above certain order values
What Shopify Doesn't Include Natively
- No built-in LTL carrier integrations (you need apps for live freight quotes)
- No automatic freight class calculation
- No native accessorial handling (liftgate, inside delivery, residential)
For full freight functionality, you'll likely combine Shopify's native features with apps or manual processes.
Option 1: Flat Rates for Freight (Most Common for B2B)
Flat rates work well when you want predictable freight pricing or when live quotes aren't practical.
When Flat Rates Make Sense
- You've negotiated fixed freight costs with carriers
- Freight pricing is built into your product margins
- You ship to defined regions with consistent costs
- You want simple, predictable checkout
Setting Up Flat Freight Rates
- In your Shopify admin, go to Settings > Shipping and delivery
- In Shipping, click the shipping profile you want to edit
- Next to the relevant shipping zone, click Add rate
- Choose Set up your own rates
- Name the rate clearly (e.g., "LTL Freight" or "Freight - Dock Delivery")
- Enter the price
- Optional: Add weight-based or price-based conditions
- Click Done, then Save
Naming Your Freight Options
Clear names help B2B buyers understand what they're selecting:
- LTL Freight - Tailgate Delivery: Standard freight to commercial dock
- LTL Freight - Liftgate Required: For locations without loading dock
- Freight - Inside Delivery: Carrier brings product inside
- Will Call - Customer Pickup: No shipping charge, pickup at your facility
- Freight Quote Required: For oversized or complex shipments
Weight-Based Conditions
Use weight thresholds to separate parcel from freight:
- Under 150 lbs: Offer standard parcel shipping
- 150+ lbs: Show only freight options
This requires accurate product weights in your catalog.
Price-Based Conditions
Alternatively, use order value as a proxy:
- Orders under $500: Standard shipping rates
- Orders $500+: Freight rates or free freight
Option 2: Carrier-Calculated Rates
If you want live freight quotes at checkout, you need carrier integration.
How Carrier-Calculated Rates Work
The system calculates rates based on:
- Shipment weight and dimensions
- Origin and destination
- Service level selected
- Carrier-specific factors
Rates display at checkout, giving customers real pricing.
Setting Up Carrier-Calculated Rates
- In your Shopify admin, go to Settings > Shipping and delivery
- Click the shipping profile you want to edit
- Next to the shipping zone, click Add rate
- Select Use carrier or app to calculate rates
- Choose the carrier/service
- Select which services to display
- Optional: Add a handling fee
- Click Done, then Save
Native Carrier Support
Shopify natively supports calculated rates from major parcel carriers (UPS, USPS, FedEx, DHL). For LTL freight carriers, you typically need third-party apps.
Freight Rate Apps
Apps that provide LTL rates at checkout include:
- ShipperHQ: Supports multiple LTL carriers with dimensional rules
- FreightClub: Aggregates LTL carrier rates
- Easyship: Multi-carrier including freight options
- Bettershipping: Custom rate logic and carrier integration
These apps connect to freight carriers and return rates based on shipment details.
Creating a Freight-Only Shipping Profile
If only some products require freight (oversized or pallet-only items), use a separate shipping profile.
Why Separate Profiles
- Freight items have different rate structures than parcel items
- You can offer different delivery options per product type
- Mixed carts can show appropriate rates for each item type
- Easier to manage freight zones independently
Setting Up a Freight Profile
- In your Shopify admin, go to Settings > Shipping and delivery
- In Shipping, click Create new profile
- Name it (e.g., "Freight/LTL" or "Pallet Shipping")
- In Products, click Add products
- Select your freight-only items
- Create zones and add your freight rates
- Click Save
Assigning Products to the Profile
Products in this profile will only show freight rates at checkout. All other products use your general shipping profile.
Consider which products belong in the freight profile:
- Items over 150 lbs
- Products that ship on pallets
- Oversized items that can't ship parcel
- Bulk quantities that require freight
Configuring Shipping Zones for Freight
Freight pricing often varies by distance. Set up zones that match your cost structure.
Common Zone Strategies
Distance-based zones:
- Local (within 100 miles)
- Regional (within 500 miles)
- National (continental US)
State-based zones:
- Group states by freight cost similarity
- Create zones for high-cost regions (remote areas, islands)
Simple zones:
- Domestic
- International (if you ship freight internationally)
Adding Zones to Your Profile
- In your shipping profile, scroll to Shipping zones
- Click Create zone
- Name the zone and select the regions it covers
- Add rates for that zone
- Repeat for each zone
Zone-Specific Rates
Each zone can have different freight rates:
- Local zone: Lower flat rate or free freight
- Regional zone: Moderate flat rate
- National zone: Higher flat rate or calculated
Handling Common Freight Scenarios
Liftgate and Residential Delivery
Many B2B shipments go to commercial addresses with loading docks. But some don't.
Options for handling accessorials:
- Create separate rates: "Freight - Commercial" vs "Freight - Residential/Liftgate"
- Add a note field at checkout asking about dock availability
- Use apps that calculate accessorial charges automatically
- Include liftgate in your base freight rate (simpler but higher cost)
Mixed Carts (Parcel + Freight Items)
When customers order both parcel and freight items:
- Shopify shows rates from each applicable profile
- Customer pays for both shipping methods
- Or, offer free parcel shipping when freight is required
Will-Call / Customer Pickup
Many B2B customers prefer pickup:
- Create a "Local Pickup" rate with $0 cost
- Limit to a local zone if needed
- Communicate pickup location and hours in the rate name or description
For pickup configuration, see How to Offer In-Store Pickup for B2B Customers on Shopify.
Quote-Based Freight
For very large or complex shipments where you can't provide a rate at checkout:
- Create a rate called "Freight Quote Required" or "Call for Shipping Quote"
- Set a nominal price ($0 or a placeholder amount)
- Note that actual freight will be invoiced separately
- Follow up with customers to provide actual freight cost
This works for unusual shipments but adds friction to checkout.
Product Data Requirements
Accurate product data makes freight calculations work.
Weight
- Enter accurate weights for every product
- Include packaging weight, not just product weight
- For variants, set weight per variant if they differ
Weight-based conditions and carrier calculations depend on this data.
Dimensions
If using calculated rates:
- Enter length, width, height for products
- Use consistent units (inches or centimeters)
- Account for packaging dimensions
Dimensional weight affects freight pricing.
Freight Class (If Applicable)
Some freight apps use NMFC freight class:
- Determine the correct class for your products
- Store in metafields if your app supports it
- Affects carrier-calculated LTL rates
Free Freight Thresholds
Offering free freight above a certain order value encourages larger orders.
Setting Up Free Freight
- In your shipping profile, add a rate
- Name it "Free Freight" or "Free Shipping on Orders Over $X"
- Set price to $0
- Add a price-based condition (e.g., minimum cart value of $1,000)
- Save
Threshold Considerations
Choose a threshold that:
- Encourages larger orders
- Covers your typical freight cost at that order size
- Aligns with your B2B pricing strategy
Common B2B thresholds: $500, $1,000, $2,500 depending on product value and margins.
B2B-Specific Considerations
Payment Terms and Freight
When B2B customers order on Net 30 terms, freight is part of the invoiced amount. Ensure your rates work with your invoicing process.
Company Locations
B2B companies may have multiple ship-to locations:
- Some locations have docks (cheaper freight)
- Some don't (liftgate required)
- Consider whether to handle this with multiple rates or address-level logic
Volume Discounts on Freight
Some manufacturers offer freight discounts for volume:
- Free freight above a threshold
- Reduced freight rates for frequent buyers
- Negotiated rates for key accounts
Catalogs and customer-specific pricing can help implement this.
For B2B pricing strategies, see Customer-Specific Pricing on Shopify for B2B.
Testing Your Freight Setup
Before going live, verify your configuration.
Test Scenarios
- Small order (should show parcel rates)
- Large order (should show freight rates)
- Order with freight-profile products only
- Order with mixed products
- Order to different zones
- Order above free freight threshold
Checkout Verification
Place test orders and confirm:
- Correct rates display
- Rate names are clear
- Conditions trigger properly
- Total shipping cost is accurate
Common Issues and Solutions
Freight Rates Not Showing
Check:
- Products are in the correct shipping profile
- Shipping zone covers the destination
- Weight/price conditions are met
- Carrier app is connected (for calculated rates)
Wrong Rates Displaying
Check:
- Product weights are accurate
- Zone assignments are correct
- Conditions don't overlap unexpectedly
- Handling fees are set correctly
Calculated Rates Too High or Low
Check:
- Product dimensions are accurate
- Freight class is correct (if applicable)
- Carrier account is configured properly
- Handling fees aren't doubling charges
Integration with Operations
Order Fulfillment
When freight orders come in:
- Verify shipping method selected
- Confirm delivery requirements (dock, liftgate)
- Book freight with carrier
- Communicate tracking to customer
Carrier Management
For LTL shipping:
- Maintain relationships with freight carriers
- Negotiate rates based on volume
- Review carrier performance regularly
- Update app/rate settings when rates change
For order routing considerations, see Order Routing Logic in Shopify.
Recommended Setup for Most B2B Stores
Simple Approach
- Create a freight shipping profile for heavy/oversized items
- Use flat rates named clearly (LTL Freight, Will Call, etc.)
- Set up 2-3 zones (Local, Regional, National)
- Add weight conditions to separate parcel from freight
- Offer free freight above a threshold
Advanced Approach
- Install a freight rate app for live LTL quotes
- Configure carrier accounts and accessorial handling
- Set up dimensional rules for accurate quoting
- Use shipping profiles to route products to appropriate carriers
Start simple and add complexity as needed based on order volume and customer feedback.
For a broader look at B2B features, see Essential Shopify Features for B2B.
Freight shipping doesn't have to be complicated on Shopify. Flat rates work for many B2B scenarios, and apps fill the gap when you need live LTL quotes. The key is matching your checkout options to how you actually ship, with clear rate names so customers know what to expect.