User Manual
Help Center/User Manual/Rate Shopping Settings: Decide When Orders Compare Carrier Rates

Rate Shopping Settings: Decide When Orders Compare Carrier Rates

Last updated 2026-10-29

Turn rate shopping on or off for everyone, for one customer, or for one customer on one channel — and choose which carrier accounts take part and how the winning rate is picked.

Rate shopping means: when an order ships, Docklify asks several of your carrier accounts for a price and picks one for the label, instead of always using a fixed account. You control that behaviour on one page — Master Data → Rate Shopping (/master-data/rate-shopping). Each row on the page is one setting: it says which orders it covers, whether those orders compare rates, which accounts take part, and how the winning rate is picked. The carrier accounts themselves are kept next door in Master Data → Carrier Accounts (/master-data/carrier-accounts); this page only holds the comparison rules.

The three scopes: the most specific setting wins#

  • Everyone (whole organization) — one setting for every order in your organization. This is the usual starting point.
  • One customer — a setting for the orders of a single customer (Client). Use it when one customer has its own shipping deal, or must never be rate-shopped.
  • One customer + one channel — the finest scope: only that customer’s orders coming through that sales channel. Use it when the same customer ships differently per channel (for example, a marketplace channel with a delivery promise).
  • When several settings could cover an order, only the most specific one applies — customer + channel beats customer, and customer beats everyone. Settings never merge: the winning row decides everything for that order.

Step 1: Create or edit a setting#

  1. Open Master Data → Rate Shopping and click “+ New setting” (or Edit on an existing row).
  2. Pick the scope: Everyone, One customer, or One customer + one channel. For the finer scopes, choose the customer (and the channel) with the search pickers — channels are filtered to the chosen customer.
  3. Turn “Compare rates for these orders” on or off. On means these orders rate-shop; off means they ship in fixed mode with no comparison — use off to pin a customer or channel to fixed shipping even when a broader setting compares.
  4. Choose which accounts take part: “All usable accounts”, or tick specific accounts below. Only accounts that can quote through an interface are listed — directory-only accounts used for local labels cannot join rate shopping. If the list is empty, add an account first in Master Data → Carrier Accounts (/master-data/carrier-accounts).
  5. Pick how the rate is chosen (see the next section), then click Save. Saving the same scope again updates that setting instead of creating a duplicate — there is at most one setting per scope.

How the rate is picked: the two choices#

  • Always the cheapest — the system takes the lowest quoted rate and the operator cannot change it at the packing station. Use it when cost control matters most.
  • Recommend the cheapest, can change — the cheapest rate is pre-selected, but the operator may pick another quoted rate for that shipment (for example when a slightly pricier service is much faster). The change is made from the quoted list only; operators cannot invent a rate.

Step 2: Check what applies with the preview#

  1. At the bottom of the page, find “Check what applies (preview)”. Pick a customer and, if you want, a channel — both can also be left empty to check the organization-wide result.
  2. Click Preview. The result shows the matched setting, the mode (rate shopping on, or fixed mode), how many accounts would take part, and the default way the rate is picked. The preview only looks — it changes nothing.
  3. Use the preview after every change: if an order would still land on the wrong setting, a broader or missing row is usually the reason — add or adjust the finer scope for that customer or channel.
If an order already names a carrier, that order always ships with that carrier and never compares rates — no setting can override it. You can see this in the preview too: type the carrier code into the “carrier code if the order already names one” box and the result switches to the fixed-carrier note. Deleting a setting is just as safe: its orders fall back to the next broader setting, or to fixed mode when there is none.

A note on prices: a rate only reflects a real carrier price once that account is connected to the carrier with real credentials. While an account is not connected yet, the comparison still runs end to end, but the rates it shows are simulated rates and are marked as simulated on screen — use them to learn the flow and check your settings, not as real quotes to promise a customer. As each account gets connected with real credentials, its real rates take over automatically.

Comparison mode: how far an order compares#

Every rate shopping setting also picks a comparison mode. The mode works together with the rate shopping groups further down this page: it decides what happens for an order whose internal service has a group — and, just as important, what happens when it has none. Each setting (everyone / one customer / one customer + one channel) picks its own mode. Settings you already have keep behaving exactly as before: they use “Groups first”, the mode that matches the long-standing behaviour.

  • Compare everything — every order under this setting compares all participating accounts and all services. Rate shopping groups do not take part at all. Use it for a scope where you always want the widest possible comparison.
  • Groups first (the standard behaviour) — an order whose service has a group compares inside that group only; an order without a group compares everything. Keep this mode when groups should narrow some services but never switch comparison off for any order.
  • Groups only — an order compares only when its service has a group, and only inside that group. An order whose service has no group does not compare at all: it ships with the carrier and service already on the order. Use it when only the services you picked yourself should ever be shopped — for example, promise services sold on a channel.
  • Careful with virtual services in “Groups only”: a virtual service (like AnyCarrier Next Day) cannot ship on its own — it must land on a real carrier through comparison. If it has no group, orders on it cannot be handled automatically. The packing station explains this on the order itself, and an operator can still compare rates by hand there and pick one. When you choose “Groups only” in the setting dialog, it counts for you how many virtual services currently have no active group.
  • Modes only govern automatic comparison. Comparing by hand at the packing station is never limited by the mode: the operator can always pull up the full list of quotes and pick one (where the setting allows changing the pick).
  • When the order’s service has a rate group, quotes from group members carry a “Group member” tag in the packing station’s quote list, so you can tell at a glance which quotes belong to the group you set up. Orders without a group show no tags.
  • The same applies when you compare rates by hand in the OMS order shipping dialog: quotes from group members carry the “Group member” tag there too, together with a note telling you how many quotes in the list are outside the group and which group services have no quote yet.
  • The preview at the bottom of the page shows the comparison mode of the matched setting — and when you also enter an internal carrier + service, it shows the result for that service under the mode: compares inside the group, compares everything, does not compare, or cannot be handled automatically.

Rate shopping groups: decide which services may take part#

The settings above decide which accounts take part. A rate shopping group goes one step further: for one internal carrier + service on the order, it decides which real carrier services may quote. Example: an order whose internal service promises “next day” delivery should only compare true next-day services — not a cheap ground service that happens to be in a participating account. If the order’s internal carrier + service has a group, only the services in that group are compared. If it has no group, every service of the participating accounts is compared, exactly as before.

  • Ready-made groups: Docklify ships preset groups for AnyCarrier — a “virtual” carrier that sells delivery promises instead of its own trucks: Next Day, 2 Day and Ground, each with the matching UPS, FedEx, USPS and aggregator services already filled in. They work out of the box; find them in the “Rate shopping groups” area on this same page.
  • See who is in a group without opening the editor: click the “N services” count on a group row and the member list expands right in the list — every member with its carrier name, service name and code. Click the count again to collapse it. Platform presets and your own groups expand the same way; to change members, use Edit on the row as before.
  • Your own copy wins: editing a preset group saves it as your own copy, and from then on your copy is the one that counts for your organization. Delete your copy and the preset takes over again. Turning a group off (the Active switch) is the same as having no group for that internal service: everything compares again.
  • One group per internal service: an internal carrier + service can have at most one group of yours. To sell a promise like “next day” on a channel, map the channel service to the virtual carrier in Master Data → Carrier Service Mappings (/master-data/carrier-service-mappings) — AnyCarrier appears in the internal-carrier choices there.
  • Groups belong to virtual services only: the new-group dialog only lists virtual carriers — AnyCarrier, plus any virtual carrier you create yourself. A real carrier’s service can never be a group’s anchor: once a real service is on an order, that carrier is already the choice, so there is nothing for a group to swap. If you want a channel service to compete, first map it to a virtual service in Carrier Service Mappings, then build the group on the virtual service.
  • At the packing station, an order with a group only sees quotes from inside the group; the page notes how many outside quotes were left out. If nobody in the group can quote and your rate shopping setting allows changing the pick, a “See all quotes” button appears so the shipment is never stuck. Changing or deleting a group only affects orders created afterwards — orders already created keep the group they were created with.
  1. To adjust a preset: in the “Rate shopping groups” area, click Edit on the preset row. Saving stores your own copy with your members — tick the services that may quote for that promise, untick the rest.
  2. To build your own group: click “+ New group”, pick the internal carrier and service it belongs to, give it a name if you like, and tick at least one member service from the carrier lists (direct UPS/FedEx services and the EasyPost/Shippo lists). Save — the group applies to new orders from that moment.
  3. Check before you rely on it: the preview at the bottom of the page now also takes an internal carrier + service. Enter the pair and the preview shows which group would apply and its members — and it warns you when a promise-selling (virtual) carrier has no group yet, or when rate shopping is off, so a promise never silently compares against everything.

Docklify features used in this article#

  • Rate shopping settings list (scope, status, accounts, pick method) — Master Data → Rate Shopping (/master-data/rate-shopping)
  • New / edit setting dialog (scope, compare switch, account picker, pick method) — Master Data → Rate Shopping → New setting / Edit
  • What-applies preview (customer, channel, named-carrier check) — Master Data → Rate Shopping → Check what applies (preview)
  • Rate shopping groups (preset groups, your own overrides, member picker) — Master Data → Rate Shopping → Rate shopping groups
  • Map a channel service to AnyCarrier or another internal carrier — Master Data → Carrier Service Mappings (/master-data/carrier-service-mappings)
  • Carrier accounts that can join rate shopping — Master Data → Carrier Accounts (/master-data/carrier-accounts)