GoatLabels GoatLabels
A sequence, not a leap.

Switching from Easyship without breaking shipments


Export, reconnect, cut over, then close.

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.

Four carriers waiting on the other side

USPS, UPS, FedEx, and DHL rate-shopped on every parcel — the first batch you route here is the real comparison.

UPSFedExDHLUSPS all quoted
Rate-shopped Every label, four bids.
No plan Nothing to size first.
API included If your flow is code.

Fund the wallet, not a subscription

Card, Apple Pay, Google Pay, ACH, or crypto top up one prepaid balance — the parallel-running week costs only the labels you print.

VisaMastercardAmerican ExpressApple PayGoogle PayBitcoinEthereumTether (USDT)
Prepaid Spent label by label.
No minimum Overlap is free to hold.
Voids credited Back to the balance.
The first batch you route through the new tool

Export it, map it once, and the migration proves itself.

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.

1
This week's orders, both rails
Reconnected stores plus the export file
the long tail

one-off from a channel that didn't carry over — shipping to Lisbon

Shopify
Reconnected — syncing again
TikTok Shop
Reconnected — syncing again
Mapping the export, once
Receiver name
Company line maps too, if you ship B2B
Address 1 and 2
Two export columns, two import fields
Weight and dimensions
Check the units before you save the preset
Description, value, HS code
Carries your customs data in per row
Drop the Easyship order export, or paste a one-off

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.

2 Billy AI

The long tail moves by hand. This is the hand.

Billy AI
  • Drafts a label from a pasted order or a screenshot for the channels that lost their sync
  • Validates every destination before a single row is paid for
  • Drafts customs descriptions from plain language — the HS code stays yours to supply
  • Included on every plan, so the parallel week costs only the labels you print
Mapped. Validated. Four quotes per row.
3
The batch, bought here
While the old account finishes its own
Debited from the prepaid wallet
Card, Apple Pay, Google Pay, ACH, or crypto
all-in
USPS
Labels bought, customs attached
Saved template per repeat SKU
all-in

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.

The honest split, tile by tile

Four reconnect. The rest become a file..

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.

Shopify logo Shopify
Etsy logo Etsy
WooCommerce logo WooCommerce
TikTok Shop logo TikTok Shop
Instagram logo Instagram AI Facebook logo Facebook AI
Amazon logo Amazon
eBay logo eBay
Show 15 more Show less
Squarespace logo Squarespace
Wix logo Wix
Walmart logo Walmart
Shopify Plus logo Shopify Plus Soon
Square logo Square
BigCommerce logo BigCommerce
Magento logo Magento
Zapier logo Zapier Soon
NetSuite logo NetSuite Soon
Ecwid logo Ecwid Soon
Temu logo Temu
Shein logo Shein Soon
ChannelAdvisor logo ChannelAdvisor Soon
SkuVault logo SkuVault Soon
Zoho Inventory logo Zoho Inventory Soon

What to export before you cancel anything

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.

Which store connections carry over, and which become CSV

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.

Moving saved customs data

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.

The cutover week: running both

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.

Closing the plan without stranding a shipment

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.

What the other side looks like

What you keep, what you gain,
what you stop doing.

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.

One wallet replaces
the plan decision

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.

Wallet balance
$1,247.36 USD
AI

Billy absorbs the
channels that lost their sync

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.

Billy LIVE
Where's the package to Maya?
It's in transit via UPS. Expected Friday, Aug 7.
UPS
1Z8923A6B05G4123456
In transit
Austin, TX → Dallas, TX
Ask Billy anything...

The overlap week
costs nothing to hold

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.

Shipment summary
UPS Ground $12.49
Insurance $0.75
Fuel surcharge $0.32
Total $13.56

Four carriers on the
first batch you route here

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.

Compare rates
UPS UPS $12.48
FedEx FedEx $13.22
DHL DHL $14.10
USPS USPS $11.79
Duties & taxes paid

An API, if your
flow is automated

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.

POST /v1/shipments
{
"to": { "name": "Maya" },
"from": { "name": "Alex" },
"service": "ups_ground",
"label_format": "pdf"
}
Webhook delivered
GoatLabels mobile queue showing this week's migrated orders at all-in prices
Billy drafting a label from a pasted order on mobile

Cutover batch printed

Old account still finishing its own

Cutover week, away from the desk

Prove it on real parcels, not on a comparison page.

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.

Buy a label, void it, and watch the credit land back in the balance.
Send one international parcel end to end with a customs template attached.
Import a mapped batch and read the rows that failed, not the ones that passed.
Compare the all-in quote against the old invoice while the parcel is still in your hand.
One-tap print to your share sheet or a thermal printer over Wi-Fi.
Billy during the overlap

Two tools open, one place to ask.

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.

goatlabels.io/dashboard/shipments — Billy
Billy reading a migrated shipment's tracking history back over the purchased labels list

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.

The comparison that actually settles it

Your own parcel, against your own invoice.

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.

US → DE 2.6 lbs 12×8×4 in
Cheapest all-in
USPS

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

FedEx

FedEx

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

DHL

DHL

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

No carrier invoice the day after Void → credit straight back to your wallet Multi-currency display while you compare
Public API v1

If part of the old workflow was already automated.

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.

Create, rate, and buy — the three calls most of a migration comes down to
Signed webhooks for tracking events instead of a polling loop to port
Idempotency keys, so a replayed migration batch never double-buys a label
OpenAPI 3.1 spec, unlimited calls on every plan including Free
Read the API docs Get a free API key $0 on every plan
curl https://api.goatlabels.io/api/v1/shipments
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"
}
Pricing for a week of running both

No plan to size on the way in or the way out.

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.

Pro

Most popular
$40 / month
Unlimited shipments — for the season after the migration
Cheaper per-label pricing as your volume grows
Billy AI on Telegram — draft a one-off without opening the dashboard
API access still free and unlimited

Volume pricing

illustrative
less volume more volume

more volume → lower per-label rates

Free

$0 / forever

Fund a modest top-up for cutover week and spend it label by label.

50 shipments a month, no monthly minimum to print
Shopify, Etsy, WooCommerce, and TikTok Shop sync included
CSV import with saved column presets for the channels that did not carry over
Billy AI in the web app, unlimited — the long tail, drafted from a paste
REST API with unlimited calls; fund by card, Apple Pay, Google Pay, ACH, or crypto

Billy is not an upsell

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.

Web — every plan Telegram — Pro

API free on every plan

GET /api/v1/shipments

200 OK · plan: free

Unlimited calls on Free — still unlimited on Pro.

Bring the invoice you are leaving

On Pro we will work with you to beat the label rates you are already getting from

EasyshipShippoShipStation
No contracts No monthly minimum to print Cancel the old plan last
USPS UPS FedEx DHL

Label 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

Which migration you are actually doing

Four shapes of switch, four different week ones.

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.

International sellers rebuilding customs

Descriptions, values, origins, HS codes

The long step

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.

1 template per repeat SKU HS code stays yours descriptions drafted
goatlabels.io/dashboard/shipments
GoatLabels shipments queue showing this week's migrated orders

Multi-channel shops losing connectors

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

Sellers whose one-offs never had a connector

The orders that always moved by hand

can you ship this one to Lisbon?
Drafted with customs · label bought

Teams with a script in the old account

Create, rate, buy — rebuilt

3

calls behind most of what an automated shipping workflow was actually doing

Switching from Easyship — FAQ

What should I export from Easyship before closing the account?
Four things, in order of regret if skipped: open and recent orders (they become your first import batch), full shipment history with tracking numbers (for buyer questions that arrive months later), any saved product and customs information, and your billing invoices for bookkeeping. Export while the account is healthy — data behind a closed account is at the mercy of someone else's retention policy.
Which of my store connections carry over to GoatLabels?
Shopify, Etsy, WooCommerce, and TikTok Shop reconnect directly and start syncing orders into the To Ship queue — for those four, the migration is re-authorising the connection. Any other channel Easyship connected for you moves to the CSV import path or to pasting orders in, which is a real difference this page does not paper over.
What happens to shipments in transit when I cancel Easyship?
The labels are already bought and the carriers will deliver them regardless — cancellation does not claw back postage. What you lose at closure is the window into those shipments: tracking views, support escalation, and any claim in progress. That is why the sequence on this page closes the plan only after the last open shipment has delivered.
Do my saved customs settings transfer?
Not automatically — no shipping platform imports a competitor's customs presets. You rebuild them once as saved customs templates here: description, declared value, country of origin, and the HS code you supply. If your export carried customs columns, the CSV mapping brings the same data in per row, so the rebuild is mostly a paste job rather than research.
Can I run both platforms during the cutover?
Yes, and you should. GoatLabels has no subscription, so the parallel period costs only the labels you buy through it — meanwhile the Easyship plan keeps billing until you close it, which is a reason to keep the cutover week a week rather than a quarter. Route new orders here, let old shipments finish there, and compare real statements before anything is cancelled.

Still deciding rather than migrating? Start with the Easyship alternative page and how Easyship pricing actually works.

Real sellers, real words

Sellers on the other side of the switch.

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.
E

Early customer · TikTok

TikTok Shop seller

TikTok Shop
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.
E

Early customer · Etsy

Etsy maker

Etsy
The API is what every shipping API pretends to be. Idempotency that actually works.
S

Sasha R.

Staff engineer, marketplace

API user
Start with one batch.

Move the queue.
Let the history finish.

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.