USPS
Priority Mail Intl
10–15 days$7.40
$1.90 of duties and taxes prepaid, not billed to your buyer
all-in · comparable to your old invoice line
Switching is a sequence, not a leap: export open orders and history, reconnect the stores GoatLabels syncs — Shopify, Etsy, WooCommerce, TikTok Shop — and move everything else through CSV import or Billy's paste-to-draft. Fund the wallet, rate-shop the first batch, and close the Easyship plan only after the last open shipment delivers.
USPS, UPS, FedEx, and DHL rate-shopped on every parcel — the first batch you route here is the real comparison.
Card, Apple Pay, Google Pay, ACH, or crypto top up one prepaid balance — the parallel-running week costs only the labels you print.
Cutover week has exactly one deliverable: a real batch of real orders, priced and printed here while the old account finishes what it already started. This is that batch. Reconnected storefronts refill the queue on their own; everything else arrives as the export file you took in step one, mapped once and saved as a preset.
one-off from a channel that didn't carry over — shipping to Lisbon
Four storefronts reconnect and sync; every other channel arrives through this file or by paste. Saving the mapping as a preset is what makes only the first file cost any attention.
Rate-shop this batch properly and let the all-in numbers argue against your own old invoices. Then cancel — but only once the last open shipment on the other side reads delivered and no claim is still running.
Shopify, Etsy, WooCommerce, and TikTok Shop reconnect and start syncing into the To Ship queue, with tracking pushed back when you print — for those four, migrating is re-authorising. Every other channel your old account connected for you arrives as a CSV row or a pasted order instead, and this page would rather say so now than let you find out in week two.
Via AItiles: no connector and no per-channel setup — paste the order or drop a screenshot and Billy drafts the label.
The order of operations in any platform exit is: copy everything out while you still can, and cancel last. From Easyship that means four exports. First, open and unshipped orders — this file becomes your first import batch on the other side, so it earns the most care. Second, shipment history with tracking numbers: six months from now a buyer will ask about a parcel you sent through the old account, and the answer should not live behind a login you closed. Third, saved product and customs data, which seeds the template rebuild covered below. Fourth, invoices, because your bookkeeper's questions outlive every subscription.
Do the exports before touching anything else, and stash them somewhere that is not the platform you are leaving. Nothing about exporting commits you to a timeline — it simply converts the migration from a leap into a sequence, because every later step in this page assumes the data is already safely yours.
Here is the honest split. GoatLabels syncs four storefronts — Shopify, Etsy, WooCommerce, and TikTok Shop — and for those the migration is a re-authorisation: connect the store, orders flow into the To Ship queue, and tracking is pushed back when you print. Every other channel Easyship connected for you does not carry over as a connection. Those orders move on one of two rails instead: the exported file goes through CSV import — map the columns once, save the preset, validate every row before paying, a mechanic covered end to end on bulk shipping labels from CSV — or one-off orders are pasted in and Billy drafts the label, the workflow that lives on AI shipping labels.
The table below is the part most switch guides skip: which columns in an Easyship order export feed which GoatLabels import fields. You perform this pairing once in the import mapper and save it as a preset, so only the first file costs any attention.
| Easyship export column | GoatLabels import field | Migration note |
|---|---|---|
| Receiver name / company | Recipient name | Map both if you ship B2B — the mapper accepts a second column for the company line. |
| Address line 1 and 2 | Street address | Two export columns, two import fields. Every row is address-validated before any money moves. |
| City / state / postal code / country | City, state, ZIP, country | Country must be the two-letter code; the validator flags rows where it is spelled out. |
| Phone and email | Recipient contact | Optional domestically, load-bearing for international labels — keep both mapped. |
| Total weight and dimensions | Parcel weight and dimensions | Check the units your export used against the units you map to — the classic silent migration bug. |
| Item description / declared value / HS code | Customs item fields | Carries your customs data into each row. You supply the HS code; Billy drafts descriptions only. |
Column groupings above were checked against the order and shipment export files Easyship's dashboard produced on 2026-08-15. Easyship can rename or reorder export columns at any time, so treat your own freshly exported header row as the source of truth and this table as the map of where each field lands. The import mapper reads your file's actual headers, which is what makes a renamed column a ten-second fix rather than a broken migration. Easyship is a trademark of its owner and is not affiliated with GoatLabels.
International sellers accumulate customs state without noticing: item descriptions that clear without questions, declared values, countries of origin, and the HS codes attached to each product. None of that transfers between platforms automatically, and pretending otherwise is how a migration strands a border parcel. The rebuild here is deliberate but short: each repeat SKU becomes a saved customs template — description, declared value, origin country, and the HS code you supply — created once and attached to every future shipment of that product.
Two things shorten the job. If your Easyship export carried customs columns, the CSV mapping above brings the same data in row by row, so the templates can be built from your own file rather than from memory. And Billy drafts customs descriptions from a plain-language account of what you sell — though the HS code remains yours to supply, because classification is the seller's legal responsibility and no software should pretend to own it. What goes on the form itself, and when, is covered on customs forms for small parcels.
Shipping migrations fail in one specific way: the old tool goes dark before the new one has printed anything real, and a day's orders sit in a box while someone reads documentation. The fix is a deliberate overlap. Fund the wallet with a modest top-up, reconnect the synced stores, and route the week's new orders through GoatLabels while everything already in flight finishes on Easyship. Rate-shop the first batch properly — four carriers on every parcel — and let the all-in numbers argue against your old invoices rather than against a comparison page.
The overlap is deliberately cheap to hold. There is no subscription on this side, so the parallel period costs exactly the labels you buy through it; the pressure to finish comes only from the Easyship plan still billing on its own clock. A week is usually enough to prove the workflow on real parcels — including one void, one international label, and one CSV batch, the three things worth testing before you trust any platform with a season. What a month costs after the switch is on the pricing page; how this same week played out for Shippo leavers is on switch from Shippo.
Cancel last, and cancel on a checklist rather than a feeling. The labels Easyship already sold you remain valid with the carriers — cancellation cannot un-ship a parcel — but closing the account closes your window into those shipments: tracking views, support escalation, any claim or dispute still in progress. So the trigger for cancellation is not the day the new workflow feels comfortable; it is the day the last open Easyship shipment shows delivered and no claim remains open. Until then the plan is doing one final job, and it is worth one more billing cycle to let it finish.
Before you press the button: confirm the exports from step one actually open and contain what you think, note the plan's billing date so the cancellation lands before the next charge rather than the day after, and keep the confirmation email. Then the sequence is complete — orders arrive through synced stores, CSV, or paste; every parcel is rate-shopped across four carriers; and the only thing you left behind is the monthly plan-sizing decision.
The habit — weigh, quote, print — survives the move untouched. What changes is the machinery around it: no plan to size, four carriers bidding on every parcel, and orders arriving however your buyers actually send them.
Card, Apple Pay, Google Pay, ACH, and crypto fund one prepaid balance that is spent label by label. The monthly what-tier-are-we question you are migrating away from simply has no equivalent here — a quiet month leaves the balance untouched.
The channels that do not carry over as connections still carry over as orders: paste the text, drop a screenshot, or say the address, and Billy drafts the label for you to confirm. The unglamorous truth of migrations is that the long tail moves by hand — this is the hand.
No subscription means running both platforms in parallel is free on this side — the only spend is labels you chose to buy. Cut over at the pace your open shipments dictate, not the pace a billing date forces.
USPS, UPS, FedEx, and DHL are quoted at all-in prices on every parcel from day one. The first real batch you rate-shop is the moment the migration proves itself or doesn't — and it is checkable on your own boxes, not ours.
REST, JSON, signed webhooks, idempotency keys, unlimited calls on every account. If part of your Easyship workflow was automated, the same three calls — create, rate, buy — rebuild it here without a platform fee attached.


Cutover batch printed
Old account still finishing its own
The three things worth testing before you trust any platform with a season are one void, one international label, and one CSV batch — and none of them need a laptop. Run all three on the phone during the week you are running both tools.
The awkward part of running both platforms for a week is remembering which parcel went out on which one. Ask out loud and Billy answers for the shipments bought here — status, carrier, what it cost — so the overlap does not become two dashboards and a spreadsheet. Included on every plan. This is the real product, not a render.

Listening
"Which of this week's parcels went out from here?"
Out for delivery
Lisbon, PT · cleared customs this morning
Speaks plain English · answers only for the shipments bought here · phone, browser, or Telegram on Pro.
Migration arguments end when a real box gets priced. The same parcel is quoted against every carrier at once and each column is one all-in number with duties and taxes already inside it — which is what makes a cross-border quote here directly comparable to the line on the invoice you are leaving. Figures are illustrative.
Priority Mail Intl
10–15 days$7.40
$1.90 of duties and taxes prepaid, not billed to your buyer
all-in · comparable to your old invoice line
Intl Connect Plus
3–5 days$8.90
$2.20 of duties and taxes prepaid, not billed to your buyer
all-in · comparable to your old invoice line
Express Worldwide
1–2 days$9.80
$2.50 of duties and taxes prepaid, not billed to your buyer
all-in · comparable to your old invoice line
Migrations stall on the scripts nobody documented. The rebuild here is three calls — create, rate, buy — over REST and JSON behind one Bearer header, with no platform fee attached to running them, so the automated half of your workflow can move in the same week as the manual half.
POST /api/v1/shipments
Authorization: Bearer sk_live_…
Idempotency-Key: ord_8421
{
"to": { "name": "Joyce", "city": "Berlin", "country": "DE" },
"parcel": { "weight": 2.6, "weight_unit": "lb" },
"service": "fedex_intl_priority"
}
The overlap only stays cheap if one side of it is not billing you monthly, and this side is not: no subscription, no monthly minimum to print, and the parallel period costs exactly the labels you route through it. Free covers 50 shipments a month. Pro is a flat plan chosen later, on evidence, once your own batches have priced themselves.
Volume pricing
illustrativemore volume → lower per-label rates
$0 / forever
Fund a modest top-up for cutover week and spend it label by label.
The assistant that absorbs the channels which lost their sync — pasted orders, screenshots, spoken addresses, customs descriptions drafted for you — runs unlimited in the web app on Free. Pro adds Billy on Telegram.
GET /api/v1/shipments
200 OK · plan: free
Unlimited calls on Free — still unlimited on Pro.
On Pro we will work with you to beat the label rates you are already getting from
EasyshipShippoShipStationLabel prices are quoted live from USPS, UPS, FedEx, and DHL as one all-in number with duties inside it, and that exact amount leaves your prepaid balance. Easyship's own plans and export formats are its own to change — your freshly exported header row is the source of truth. Full pricing details
The sequence is the same for everyone — export, reconnect, cut over, close. What differs is which of those four steps is the long one for you.
Descriptions, values, origins, HS codes
Nothing imports a competitor's customs presets, so this is the one part of the move that is genuinely work. If your export carried customs columns, the mapping rebuilds the templates from your own file instead of from memory.

Four sync, the rest go to CSV
The honest cost of switching. Map the export columns once, save the preset, and the long tail becomes a file drop rather than a data-entry session — but it is a file drop, not a connector, and nobody here is pretending otherwise.
Map once, save the preset
A renamed column becomes a ten-second fix
The orders that always moved by hand
Create, rate, buy — rebuilt
3
calls behind most of what an automated shipping workflow was actually doing
Still deciding rather than migrating? Start with the Easyship alternative page and how Easyship pricing actually works.
A video took off and I had 80 TikTok Shop orders by morning. I printed every label from my phone on the bus to the post office.
Early customer · TikTok
TikTok Shop seller
I run my Etsy shop from the kitchen. The AI reads the order, picks the carrier, the label prints. That's the whole workflow now.
Early customer · Etsy
Etsy maker
The API is what every shipping API pretends to be. Idempotency that actually works.
Sasha R.
Staff engineer, marketplace
Fund a wallet with card, Apple Pay, Google Pay, ACH, or crypto, route this week's orders through four-carrier quotes, and close the Easyship plan when the last open shipment delivers.
Sign up in seconds. No card required. No monthly minimum.