Operational Analysis

Freight Cost Evaluation

Quantifying the margin leak in Shopify checkout freight pricing and evaluating solutions.

Prepared for DockBlocks by PivotPlanIt
The Core Problem
Shopify checkout freight estimates do not match actual LTL carrier costs, causing chronic underpricing and margin erosion.
ShipStation and similar parcel-first platforms cannot solve this; the fix is accurate LTL rate quoting at checkout.
1

The Freight Margin Leak

Over the last 60 days, 41 orders undercharged freight, costing approximately $4,591 in net lost margin. Shopify checkout freight prices are static estimates that do not reflect actual LTL carrier costs, leaving money on the table with every order.

Undercharged Orders
41
May 17 - Jul 16, 2026
Net Lost Margin
$4,591
After accounting for overcharges
Average Loss per Undercharged Order
$175
Median gap between Shopify and actual
Worst Case
$1,730
Order DB-6016 shortfall

The pattern: Shopify checkout estimates freight at $10-20 while actual LTL carrier quotes are $30-90+. This systematic mismatch is the root cause. Three orders (DB-6016, DB-6045, DB-6087) account for $3,132 of loss alone.

Data source: Zoho Sales Orders (extract_freight_margin.py, May 17 - Jul 16, 2026). Note: 56% of Sales Orders have incomplete freight fields (Estimated_Freight or Actual_Freight blank), so the real margin leak is likely significantly larger than these measured figures.

2

Why Freight Pricing Is Broken

The core issue: Shopify checkout freight is a fixed or simple rule-based estimate. It does not account for real-time LTL carrier rates, which vary by weight, origin, destination, and service level.

Current workflow:

  1. Customer orders a dock or dock kit in Shopify; checkout applies a flat or rule-based freight estimate.
  2. DockBlocks rep may adjust the freight on the Zoho Sales Order or in Shopify post-sale (manual process).
  3. BMS receives the order and quotes actual carrier cost from their network. The quoted cost may be higher or lower than what Shopify charged the customer.
  4. George manually reconciles the BMS ship log into Zoho, recording actual freight cost.
  5. If customer was undercharged, the loss is absorbed; if overcharged, you keep the margin (inconsistent pricing).
3

What ShipStation Will and Won't Do

ShipStation is a label-and-tracking platform. It has real value for what you already asked it to do, but it cannot solve the freight-quote problem.

Capability Your Need ShipStation Status
Generate shipping labels Yes (from BMS shiplog) YES Handles well
Send tracking to customer Yes YES But Shiplog tool already does this via Brevo
Route pick tickets to BMS Yes YES Via webhook or API feed
Quote live LTL freight rates Yes (critical) NO Parcel-first; cannot quote LTL
Integrate with Shopify checkout To show accurate rates pre-purchase NO Not a checkout rate engine

Bottom line: ShipStation is excellent for labels, routing, and tracking. But it is not an LTL freight quoting engine. You cannot plug it into Shopify checkout and expect it to show accurate freight rates for heavy, irregular-shaped items. The freight-quote problem requires a different solution.

4

Fixing It: Three Approaches, Three Builds Each

This is the option space, not a locked plan. The root problem is the same in all three, Shopify checkout underprices LTL freight. There are three approaches, and within each there are three concrete ways to build it. The approach-level trade-offs, the ShipStation note, and our lean are at the bottom.

Approach A: Real-time LTL rate app at checkout

Live carrier rates shown at checkout by weight, dimensions, origin, and destination. Most accurate and fixes the leak at the source.

Three ways to build it:

  1. Turnkey freight app: An LTL-quote Shopify app (Eniture-style) connected to your carrier accounts. Fastest to stand up, runs on a subscription.
  2. Rate-management app: A richer rate engine (ShipperHQ-style) with conditional freight and parcel rules. More control, more configuration.
  3. Custom carrier-API integration: A small in-house app that calls your carrier's rating API directly. Most control and no per-app fee, but the most dev time.

Approach B: Calibrated freight zones from actuals

Surcharge tables built from your historical billed freight. No live carrier API. Fast to stand up and recovers most of the leak.

Three ways to build it:

  1. Shopify native zones: Weight-band and destination-zone freight rates set directly in Shopify settings. No app, the simplest option.
  2. Rate-table app: A conditional-rate app (Intuitive Shipping-style) for richer tables driven by your actuals. Moderate setup.
  3. Per-product freight metafield: Store a freight cost per product or kit (derived from actuals) and add it at checkout via a script. Most tailored, some dev.

Approach C: Quote-based freight for the heavy items

The heaviest or most irregular LTL items get a quote instead of an instant checkout price. Most accurate per order, but adds friction, so best reserved for the hardest items.

Three ways to build it:

  1. Request-a-quote flow: Freight items use a quote-request app; the customer submits and George or the rep prices it from actual carrier rates.
  2. Call-to-order plus invoice: Freight items are marked call-to-order; the rep builds the order with correct freight and sends an invoice. Mostly process, minimal build.
  3. Draft-order workflow: Staff create a Shopify draft order with accurate freight from actuals and send the customer a checkout link. Native Shopify, no app.

A note on ShipStation: it is a label, tracking, and routing platform, not an LTL rating engine. None of these approaches is ShipStation, and it does not quote freight at checkout. Keep it (or the Shiplog tool) for the post-sale workflow only.

  A · Live app B · Zone tables C · Quote-based
AccuracyHighMediumHighest
Setup effortHighLowLow
Buy-flow frictionNoneNoneHigh (per item)
Needs carrier APIYesNoNo

Recommended approach: Approach B at its simplest build (Shopify native zones from your actual billed freight) as the fast fix that recovers most of the roughly $4,591 leak with no app dependency. Layer Approach C (draft-order workflow) on the handful of heaviest, most variable LTL items where a table is too loose. Move to Approach A (a turnkey freight app) if order volume and destination spread justify the setup.

Two things hold across all of them: accurate product weight and dimensions in Shopify, and commission calculated on final billed freight (see the commission note). Confirm the real carrier rates with George and BMS before locking any of them.

5

Expected Outcomes

Accurate freight quoting at checkout stops the margin leak and streamlines operations.

  1. Revenue protection: Stop undercharging on freight. The last 60 days show $4,591 in lost margin from freight underpricing alone. A simple day-count annualization is roughly $28,000/yr; the higher $37,700 figure also grosses up for the 56% of orders with incomplete freight-field data; that gross-up is a rough extrapolation, not a measured number. Treat both as a floor, not a forecast.
  2. Operational clarity: George no longer hand-reconciles freight mismatches. The BMS log becomes a record of actual delivery, not a freight price audit.
  3. Rep accountability: Commission ties to actual final freight, not Shopify estimates. Removes incentive to inflate freight post-sale.
  4. Customer confidence: Customers see accurate, real-time freight before they buy. No sticker shock at shipment. Better NPS.
6

Why Not a Full TMS?

Enterprise Transportation Management Systems (TMS) are built for high-volume carriers and 3PLs with thousands of shipments per day and complex logistics networks. DockBlocks does not need that complexity.

A focused Shopify LTL rate app plus ShipStation is the right fit: simple, fast to implement, solves the real problem (freight accuracy at checkout), and leaves your BMS partnership untouched.

Prepared by: PivotPlanIt RevOps

Date: July 16, 2026

Data sources: Zoho Sales Orders (freight analysis), operations call transcript, email threads (shipping workflow), BMS shiplog documentation.