Works with

Live shipping rates at your Shopify or SuiteCommerce checkout.

Your shoppers see the real price, quoted live from your own Descartes Pacejet account, for the exact cart and delivery address. Freight, parcel, or both.

If you ship pallets, furniture, equipment or anything that rates as LTL, a standard storefront cannot price it. Your Pacejet account already can. This integration connects the two.

Shipping method
Standard Ground5 to 7 business days
$42.60
FreightWith estimated delivery date
$418.73
Live Pacejet rate

The Descartes Pacejet integration sends each cart and delivery address to your Pacejet account, which rates the shipment against your own carrier contracts and packing rules, then returns the price to your storefront as a standard checkout shipping option. It runs on Shopify and on SuiteCommerce, handles LTL freight and parcel, and falls back to a backup price if a carrier is slow.

Your platform

Descartes Pacejet on Shopify and on SuiteCommerce

The rating engine, the packing logic, the fallback behavior and the settings are the same on both platforms. What differs is how the rate reaches your checkout.

SuiteCommerce

Descartes Pacejet SuiteCommerce Integration

If NetSuite is your system of record and SuiteCommerce is your storefront, the integration sits between SuiteCommerce and Pacejet and returns live rates into the standard shipping step, so your B2B and B2C buyers see a real freight price instead of a placeholder or a "contact us" message.

  • Runs on SuiteCommerce, quoting live from your Pacejet account
  • Works alongside your existing NetSuite shipping setup rather than replacing it
  • Item data and dimensions stay where they already live
  • Freight and parcel rates both return into the standard checkout shipping step
Talk to a SuiteCommerce specialist
Shopify & Shopify Plus

Descartes Pacejet Shopify Integration

If your storefront runs on Shopify, the integration connects through Shopify's carrier-calculated shipping API. Pacejet rates appear at checkout alongside your native Shopify shipping rates rather than replacing them, so you can run both during a transition and turn the native rates off when you are ready.

  • Connects through Shopify's carrier-calculated shipping API
  • Rates appear alongside native Shopify rates, not instead of them
  • One settings page in your Shopify admin: labels, margin, packing, origin, fallback
  • Deployed as a private custom app: your own instance and database, not an App Store install
Talk to a Shopify specialist

On a different cart or storefront platform? The rating logic is not tied to either one. Tell us what you are running and we will tell you straight away whether it is a fit.

Ideal fit

Is this right for your store?

These apply on either platform.

  • You already run Pacejet, and your carriers are activated and quoting today
  • You ship products that rate as freight: furniture, building materials, equipment, machinery, appliances, fixtures, anything palletized
  • Your products have weights loaded in your storefront, and your SKUs exist in Pacejet's product master with dimensions and freight class
  • You ship from a single origin warehouse
  • You are selling domestically in the US
  • Your storefront runs on SuiteCommerce or Shopify

What we check on the first call.Two things can block a project before it starts. Your Shopify plan: third-party carrier-calculated shipping is available on Shopify Advanced and Shopify Plus, and Shopify Grow stores can add it for a monthly fee or by moving to annual billing. And your Pacejet subscription: this connection needs an API license. Neither is part of the integration itself, but both are blockers if they are not in place.

NetSuite is not a hard requirement, but it is where we add the most. We are an Oracle NetSuite Alliance Partner and a Shopify Plus Partner, which means the shipping conversation and the ERP conversation happen with the same team.

The problem

Why your storefront cannot price freight

Freight is not a shipping rate. It is a calculation that depends on weight, density, freight class, lane, accessorials and which carrier is cheapest on that lane today.

Native shipping tools, on Shopify and on SuiteCommerce alike, were built for boxes going out by parcel. They were not built for a 400-pound pallet going from Ohio to a residential address in Montana. So merchants shipping heavy or oversized goods end up with one of three bad options.

Flat-rate shipping

Simple, and wrong in both directions. You overcharge the customer 90 miles away and lose margin on every long-haul order. Over a year that is real money moving the wrong way, and you cannot see it in the order data.

"Call us for a shipping quote"

This works during business hours, for motivated buyers, on desktop. It does not work at 9pm on a Sunday, and it does not work when the buyer is comparing you against two other suppliers in other tabs. Every quote request is a checkout the shopper did not complete.

Static weight tables

Better than flat rate, still wrong. Weight tables ignore density, ignore lane, and go stale the moment a carrier updates pricing. Maintaining them is somebody's recurring manual job.

Here is the part most merchants miss: if you already run Pacejet, you already own the right answer. Your negotiated rates, freight classes and packing rules are sitting in Pacejet right now. They just never reach your storefront.

How it works

One request out, one real price back

The mechanism is identical on Shopify and on SuiteCommerce. Only the storefront connection differs.

Checkout Shopify or SuiteCommerce Integration filter, margin, fallback Pacejet AutoPack + rate shopping Your carriers LTL and parcel, your contracts cart + address rate request rate shop carrier prices best price shipping option no answer in time: backup price the checkout never dead-ends quoting only, no labels
Quotes normally return in a few seconds. The integration applies your display rules and margin on the way back, and the dashed path is what runs when Pacejet does not answer in time.

If Pacejet is slow or unreachable, the sale still closes

When a quote does not come back inside your configured timeout, the shopper sees a backup price you set in advance and completes the order. Without a fallback, the checkout would show no shipping option at all and dead-end.

That backup price has to be high enough that you do not lose money on the shipment and low enough that you do not lose the sale. It is a business decision, not a technical setting, so we ship it unset and walk you through choosing a real number before go-live. Every time it is used, it is recorded in the log, so you can see how often it happens.

Capabilities

What the integration does

Live quotes at checkout

Real prices for the exact cart and address, not an estimate from a table.

CheckoutCarrier RatesReal Time

Your own carrier contracts

Prices come from your Pacejet rate shopping: your carriers, your negotiated discounts, your freight classes. Not a generic rate card.

LTLParcelNegotiated Rates

Freight and parcel in one checkout

Whatever Pacejet returns flows through the same way. A small box and a pallet both get the right price from the same integration.

LTLParcelMixed Cart

Real packing logic

Cart line items go to Pacejet so AutoPack builds the boxes using the packing rules you already maintain for your warehouse.

AutoPackCartonizationDimensions

A backup price that protects the sale

Configurable fallback price and timeout so a slow carrier never kills a checkout.

ResilienceFallbackUptime

Settings you control yourself

Show one best price or every carrier service. Add a handling margin. Set labels, warehouse and backup price. Run a test quote and read a log of recent quotes with prices and response times. No developer needed after go-live.

Rate DisplayMarginTest QuotesLogs

Compare

Live Descartes Pacejet rates vs. the alternatives

Here is the honest trade-off across the ways merchants price freight today.

Criteria Flat rate Call for quote Static weight table Live Pacejet rates
Accuracy on short lanesOverchargesAccurateApproximateAccurate
Margin on long lanesErodesProtectedAt riskProtected
Checkout completes 24/7YesNoYesYes
Uses your negotiated carrier ratesNoYes, manuallyNoYes
Accounts for density and freight classNoYes, manuallyNoYes
Ongoing manual maintenanceLowHighMediumLow
Handles mixed parcel and LTL cartsPoorlyManuallyPoorlyYes
Requires an existing Pacejet accountNoNoNoYes
Setup effortMinutesNoneDaysOne implementation project

This is a table, not a sales argument. If your catalog is all parcel-sized and your carrier rates are already close to your platform's native rates, native shipping is the right answer and we will tell you so.

Why UnlockCommerce

The team that understands the ERP behind the checkout

We design commerce around the ERP, not against it

Freight rating is an ERP-adjacent problem. The rate depends on the product master, the packing rules and the carrier setup, and those live outside your storefront. Most agencies treat that as someone else's system. We are an Oracle NetSuite Alliance Partner and an Oracle NetSuite SDN Partner, so we work on both sides of the connection.

We founded SuiteCommerce

Our team is the original force behind the SuiteCommerce platform, built in Uruguay in 2005 and later acquired by NetSuite. When the integration has to sit inside SuiteCommerce and behave correctly at checkout, that history is the difference between a clean build and a fragile one.

Built for B2B complexity

Wholesale distributors, parts suppliers and equipment sellers are who we build for. Customer-specific pricing, account catalogs, negotiated terms and freight-heavy carts are the normal case in our work, not the exception.

Verified against live carrier rates, not a mockup

The integration has been tested end to end against a live Pacejet environment, returning real LTL carrier rates into a real checkout. Every failure path degrades to a sellable backup price, and every quote, outcome and response time is visible in a log.

The UnlockCommerce team reviewing an eCommerce storefront together in a working session

Not sure whether your setup qualifies?

Tell us your platform and your Pacejet setup. We will tell you on the first call whether this is worth scoping, and what would need to be true on your side first.

Book a Demo

Engagement

What setup looks like, and what happens after

A new implementation is configuration, deployment and testing, not a rebuild. The codebase already exists on both platforms. Timelines move based on the items on your side, so we are direct about them from the first call.

We handle

  • Deploying and connecting the integration on your platform
  • Connecting your Pacejet credentials, sandbox and production
  • Configuring rate display, packing mode, margin, timeout and fallback
  • End-to-end testing against live carrier rates
  • Documentation and admin handover

You and your Pacejet rep handle

  • An active Pacejet account with the access this connection needs
  • Carrier activation and quoting inside Pacejet
  • SKU master data in Pacejet with dimensions and freight class
  • Product weights loaded in your storefront
  • The backup price decision
  • On Shopify: confirming your plan supports third-party carrier rates

Additional scope, quoted separately: international shipping, multi-warehouse routing, per-customer-group rules, carrier-selection UX work and writing shipping data back to your ERP.

After go-live

You run the integration yourself. Labels, margin, backup price, test quotes and the request log are all self-service from the settings page, and nothing routine needs a developer.

When you want ongoing support, monitoring or additional scope, our managed services team picks it up, so you are not looking for a new vendor the first time a carrier changes something. That runs as Shopify Managed Services for Shopify storefronts, and as SuiteCommerce Managed Services for SuiteCommerce.

Credentials

Built on 10+ years in the NetSuite ecosystem

We have delivered 350+ eCommerce projects, built 60+ proprietary extensions, and hold a 95% customer satisfaction score across the NetSuite, SuiteCommerce and Shopify ecosystems.

Shopify Plus Partner
Oracle NetSuite Alliance Partner
Oracle NetSuite SDN Partner

FAQ

Frequently asked questions

Both. The rating engine, packing logic, fallback behavior and configuration are the same on either platform. What differs is only how the rate reaches the checkout: on Shopify through the carrier-calculated shipping API as a private custom app, on SuiteCommerce through the standard checkout shipping step.

Not with native shipping setup alone, which prices by weight and zone and cannot account for freight class, density or lane. Connecting SuiteCommerce to a rating engine like Pacejet returns a live quote from your own carrier contracts into the standard checkout shipping step.

If you already run Pacejet, the fastest path is connecting it to your storefront so buyers see a real quote instead of a flat rate or a manual quote request. The rate comes from your negotiated contracts and your packing rules, so what the buyer sees matches what you actually pay.

Shopify’s native shipping tools price by weight and zone, which cannot account for freight class, density or lane. Connecting Shopify to a rating engine like Pacejet through the carrier-calculated shipping API returns a live quote from your own carrier contracts as a standard checkout shipping option.

Third-party carrier-calculated shipping is available on Shopify Advanced and Shopify Plus. Shopify Grow stores can add it for an additional monthly fee or by switching to annual billing. Confirm your current plan’s entitlement with Shopify before scoping, because this is the most common blocker we find in discovery. This requirement applies to Shopify only.

Almost always a missing SKU. When Pacejet does not recognize a SKU in its product master, it rates the shipment at freight class 400, the most expensive class, and the quote can come back several times higher than it should. Blank or wrong product weights cause the same thing. Fixing the product master fixes the quote.

Usually one of two reasons. Either a handling margin is being applied on top of the quote before the shopper sees it, or the two quotes are not comparing the same shipment: different ship-from origin, different weights, or different packing. Check the margin setting first, then compare the origin address and the cart weights.

A carrier quoting $0.00 with no error usually means its activation is not finished on the Pacejet side. Carrier activation and negotiated rates are managed by your Pacejet (Descartes) representative, not from the integration. Unused carriers that are still being attempted also slow every quote down, so it is worth having them suppressed.

The shopper sees a backup price you configured in advance and completes the order. Without a fallback, the checkout would display no shipping option and dead-end. You choose the backup number, and it is a business decision worth thinking through, since it may not cover the true cost on every lane.

Not today. Configuration is store-wide, so every customer sees the same rate display, handling margin and backup price. Rules that vary by customer type or account are additional scope, and we size that during scoping rather than assuming it.

Yes. You choose between showing a single best price or listing every eligible carrier service returned by Pacejet for the shopper to select. It is a setting you can change at any time without development work.

Both. Any rate Pacejet returns flows through the same path, so LTL and parcel services appear in the same checkout. A merchant with a mixed catalog gets the right price for a single box and for a pallet from one integration.

No. Pacejet rates appear alongside your native rates rather than overriding them. If you want only the live rates shown, you turn the native rates off in your shipping settings. Running both during a transition period is a common approach.

No. The integration quotes rates at checkout only. Label generation, pickups, tracking and fulfillment stay in whatever system runs them today, typically Pacejet itself or your ERP.

The codebase already exists on both platforms, so a new implementation is configuration, deployment and testing rather than a rebuild. The pace is usually set by the items on your side: Pacejet carrier activation and your SKU master data. Both should start before the build does. We scope the timeline on the first call, once we know what is already in place.

See it running on a real checkout

The fastest way to know whether this fits is a 30-minute call. Bring your platform, your Pacejet setup and a sample cart, and we will tell you straight away whether the integration is worth scoping, and what would need to be true on your side first.