Everything in one place
Quote, clear, buy, track, reconcile.
One system from the moment an order arrives to the moment the carrier invoice is checked against the price we quoted you. Each item says how far along it is, because you deserve to know that before you commit.
Before you ship
What it will actually cost, and what the border will ask you for.
Customs, done for you
In buildCommercial invoice generated under your name, HS codes classified once per product and checked on every order, CUSMA origin where the goods qualify, DDP or DDU chosen per order — and a warning before you ship rather than a hold after.
Rate shopping, all-in
BuiltEvery eligible carrier and service compared on the landed total rather than the postage, with the breakdown showing which surcharges, fuel and duties made it up.
Envelope to pallet, one list
In buildParcel, multi-piece and LTL freight quoted side by side, with the crossover shown rather than left for you to discover. Past a carrier’s weight ceiling we stop quoting parcel and start quoting freight.
Buying the label
The part that spends money — and everything that stops it spending twice.
Buying labels safely
BuiltEvery purchase carries an idempotency key, so a timeout or a retry returns the label you already bought instead of buying a second one. You are never charged twice for one order.
Voids and refunds
BuiltAn unused label is money you can get back. We watch the void window, flag labels that were never scanned, ask the carrier, and credit you what they actually returned — not what you paid. A void the carrier never answered gets chased until we know, so a label you can still use is never left unusable.
Nothing is left half-done
BuiltIf a carrier times out mid-purchase, we ask them what really happened rather than guessing — automatically, on a schedule, not when somebody remembers. A charge that never got recorded, or a record that never got charged, is found within minutes instead of at month end.
After it leaves you
What your customer sees, and what happens when a parcel goes wrong.
Tracking that reaches the buyer
BuiltEvery scan pushed to your systems and emailed to your customer under your name. Exceptions surface where somebody can act on them instead of sitting in a carrier portal.
Returns
PlannedPrepaid and scan-based labels, charged only if the customer actually uses them, linked to the original order so a return is not a second guessing game.
Insurance and claims
PlannedDeclared-value coverage per shipment, priced per parcel. When something arrives broken we file the carrier claim, which is the part nobody wants to do.
Getting the orders in
Three ways work reaches us, none of them copy-and-paste.
Store connectors
PlannedShopify first, then the marketplaces our merchants actually sell on. Deliberately few and deep rather than a long list of shallow ones — orders in, tracking back, no copy-and-paste.
Batch import
PlannedDrop in the spreadsheet your store already exports. Map the columns once; kilograms and centimetres welcome. One bad row never costs you the other 499.
An API you can trust with money
BuiltIdempotency keys are required rather than optional, webhook signatures are verified before the payload is read, and every tenant is isolated in the database itself rather than by a remembered filter.
Running the account
Who is allowed to act, whose name is on it, and what it really cost.
Invoice reconciliation
PlannedCarriers rebill after the fact — a reweigh, a surcharge, a corrected address. We hold the quote we gave you, so we can compare it line by line against what they actually billed and tell you what changed. An auditor bought separately cannot do this: it was not there when the price was set.
Your brand, on your domain
PlannedThe tracking page, the delivery email and the commercial invoice all carry your name on your own domain — not a page on ours with your logo dropped into it. Your customer never learns we exist.
Accounts for your team
In buildEach person signs in as themselves rather than sharing one key, so access can be given and taken away one person at a time. Removing somebody takes effect on their next click, not whenever their session happens to lapse.
Built means written and tested against a stubbed carrier. Nothing on this list has run against a live carrier account yet — which is why our first merchants pay nothing while we get it there.
Underneath all of it
The parts you should not have to take on faith.
None of this is a feature you would shop for. It is the floor, and it is worth knowing which bits of it are actually in place before you put your customer list on top of it.
Another merchant cannot read your shipments
BuiltEvery query is scoped to your account by the database itself, not by a filter somebody remembered to write. The rule is enforced one layer below our own code, so a mistake in ours cannot step over it — and a test that tries to read another account’s shipments has to fail before anything ships.
A forged carrier callback cannot move your money
BuiltCarrier notifications arrive as ordinary web requests, so anyone can send one. We check the signature before we read the message, not after, and compare it in a way that does not leak whether a guess was close.
The contract you negotiated stays yours
In buildIf you bring your own carrier account, those credentials are encrypted with a key the database never holds, so a copy of the data is not a copy of your account. The encryption is written and tested; connecting your own carrier account is not built yet, so nothing is relying on it in anger.
Built means written and covered by tests. Nothing on this site has run against a live carrier account yet — the same caveat as the list above, and it applies here too.
Think this fits what you ship?
Tell us what you send, where it goes, and what your current tool gets wrong. That is the whole first conversation.