B2B Rate Shopping Rules That Hold Up at Volume
How to write rate shopping rules for B2B parcels: cheapest within a delivery window, carton thresholds, and exceptions your pack station can follow.
Rate shopping rules hold up at volume when they are few, written down, and based on facts the order already carries: the promised delivery date, the carton's weight and dimensions, and the destination type. The rule that does most of the work is "cheapest service that arrives inside the delivery window." Carton thresholds and a short list of named exceptions handle the rest. Anything that depends on a packer's memory may drift over time.
What does "cheapest within days" actually mean?
It means you filter rates by a delivery deadline first and only then sort by price. The order of those two steps is the whole rule. Sorting by price first and checking transit time afterward is how a pallet-side packer ends up choosing a slow service for a customer who was promised Thursday.
To make the rule usable, every order needs a number of allowed transit days. You may be able to derive it from data you already have:
- A customer-level default, such as "standard accounts get up to 5 business days."
- An order-level override, such as a requested delivery date on the PO.
- A product-level override, for items that are always urgent (replacement parts for a down machine, for example).
Write the result into one field on the order export, as an integer. If the field is blank, the default applies. A rule that reads a single integer is easy to audit later.
Two details matter at volume. First, count business days from the ship date, not the order date, and decide what happens to orders released after your carrier pickup cutoff. Second, decide how to treat estimated versus guaranteed transit times. Carrier transit estimates are estimates, so if a customer contract carries a penalty for late delivery, give those orders a tighter window instead of trusting the edge of the estimate.
Which carton thresholds belong in the rules?
The thresholds that belong in your rules are the ones where a carrier changes how it prices the package. Below a threshold, rate shopping is a simple comparison. Above it, a surcharge or a different weight basis can change which carrier wins, so the rule should force a check or a repack.
Carriers publish these triggers, and they are not the same across carriers. Two examples from carrier pages:
- Per UPS, Additional Handling criteria include a "longest side exceeding 48 inches or second-longest side exceeding 30 inches," and for packages with an actual weight of more than 50 pounds, Additional Handling "will be applied automatically." UPS lists these on its page about avoiding additional shipping fees, and notes that further criteria sit in its terms and conditions.
- Per USPS, dimensional weight rates on Priority Mail apply to large, lightweight packages "larger than 1 cubic foot (1,728 cubic inches)," as stated on the USPS Priority Mail page.
Those two facts already suggest three thresholds worth encoding: 50 pounds actual weight, 48 inches on the longest side, and 1 cubic foot of volume. Read each carrier's current service guide for the others you use, since other carriers set their own triggers and they change.
A practical way to hold thresholds is a small table that the pack station and the import script both follow:
| Carton fact | Rule | Why |
|---|---|---|
| Actual weight over 50 lb | Split into two cartons if the product allows, then rate each | UPS applies Additional Handling automatically above 50 lb |
| Longest side over 48 in | Flag for review before buying a label | A UPS Additional Handling criterion |
| Second-longest side over 30 in | Flag for review before buying a label | A UPS Additional Handling criterion |
| Volume over 1,728 cubic inches | Enter real dimensions, never a default box size | USPS applies dimensional weight to Priority Mail above 1 cubic foot |
| Everything else | Cheapest service inside the delivery window | No special pricing trigger expected |
The fourth row is the one you may be tempted to skip. If the export sends a default box size for every line, the quoted rate is a guess for any carton above the dimensional weight line, and the adjustment arrives later as a re-weigh charge.
How should multi-carton orders be rated?
Each carton should be rated on its own, with the order's delivery window applied to all of them. A B2B order of six cartons is not one rating problem. A 9 lb carton of fittings and a 46 lb carton of castings on the same PO can reasonably go by different services, as long as both arrive inside the window and both carry the same reference.
The rule to write down is whether the customer needs the cartons to arrive together. If a receiving dock rejects partial deliveries, add a "ship complete, single carrier" flag to that customer's record and let it override the per-carton choice. Without that flag, per-carton rating may be the lower-cost default. The related mechanics of splitting and referencing cartons are covered on the multi-carrier shipping software page.
What exceptions are worth writing down?
The exceptions worth writing down are the ones that override price for a reason someone outside the warehouse would accept. Keep the list short enough to fit on one printed page at the pack station. A workable starting set:
- Customer-mandated carrier. Some customers require a specific carrier or service in their vendor terms. The rule is: if the customer record names a carrier, use it and skip rate shopping.
- Residential destinations. Carriers price residential delivery differently. UPS, for example, lists a "Residential Surcharge" among its additional fees. B2B shippers still send to home offices and job sites, so make sure the rate you compare is the all-in rate for that address type.
- High-value cartons. Above a dollar value you choose, require a signature or declared value and compare rates with that option included.
- Ship complete. As above, one carrier for all cartons when the customer's dock requires it.
- Manual hold. Any carton that trips a size or weight threshold goes to a named person, not to whoever is closest.
Every exception should have an owner and a review date. An exception with no owner becomes a habit, and a habit is how one carrier ends up with all the volume regardless of price.
What does this look like with numbers?
Here is a worked example. All figures are hypothetical and exist only to show the logic; they are not quotes from any carrier.
A distributor ships a PO with a 4 business day window. It contains two cartons: Carton A at 12 lb, 14 x 12 x 8 in, and Carton B at 54 lb, 20 x 16 x 14 in.
- Carton A: three services arrive inside 4 days at hypothetical prices of $11.20, $12.05, and $13.40. A fourth costs $9.80 but is estimated at 6 days, so it is filtered out before sorting. The rule picks $11.20.
- Carton B: at 54 lb it trips the 50 lb threshold. The hypothetical all-in rates inside the window are $48.00 and $51.50, each including a handling surcharge. The product can be split, so the packer repacks into two 27 lb cartons that rate at a hypothetical $17.90 each, or $35.80 total.
In this example the repack lowers the cost of Carton B by $12.20, and the threshold rule is what prompted it. Without the rule, the label would have been bought at the first quoted price. Note that the split is not always the lower-cost choice: two cartons mean two minimum charges, so the rule says "rate both ways," not "always split."
How do you keep the rules honest over time?
You keep rules honest by exporting what was bought and checking it against what the rule would have chosen. Once a month, pull the shipment ledger and look for three things: labels bought on a service that was not the lowest price inside the window, re-weigh adjustments clustered on one product or one packer, and exception codes used more often than expected.
Re-read carrier fee pages when rates change, and keep a "last checked" date on the rule table.
If rates are bought by an integration instead of a person, the same rules live in the script that builds the import file or calls the API. The ERP shipping integration page describes where that logic usually sits.
Where GoatLabels fits
GoatLabels rate-shops USPS, UPS, FedEx, and DHL on every parcel from one account and shows one all-in number per carrier, which makes the "filter by window, then sort by price" step quick to apply. A multi-carton order can produce several labels, each a ledger line with the same reference, so per-carton rating does not break cost allocation. Orders arrive through 13 store connectors, a CSV import of up to 500 rows per file, or the REST API, and re-weigh adjustments post to the same dated ledger you would use for the monthly check. The shipping rate shopping software page has more detail, and B2B shipping software covers the wider account setup.
The limits are real. There are no native ERP, WMS, or EDI connectors, so customer-level rules such as a mandated carrier or a ship-complete flag have to be applied in your export, your API script, or by the person buying the label. You cannot bring your own carrier accounts or negotiated rates, so the comparison is among GoatLabels rates only. LTL and freight are not offered, which means a carton too large for parcel has to go elsewhere. Plans are Free at $0 per month for 50 shipments and Pro at a flat $40 per month with unlimited shipments; see pricing.