GoatLabels GoatLabels
Sync what syncs. Import the rest.

One queue, one balance, one ledger across every store


However each channel gets its orders to you.

Multi-store shipping breaks when each channel has its own label tool, balance, and history. Consolidation means one order queue, one funding balance, and one ledger — synced stores flow in automatically, everything else arrives by file — with tracking returned to each channel under its own rules.

Four stores sync, every other channel imports

Shopify, Etsy, WooCommerce, and TikTok Shop flow in on their own. eBay, Amazon, Faire, and the site builders arrive as a file; DM sales arrive as a paste.

UPSFedExDHLUSPS one queue
Connected stores Orders arrive on their own.
Exported files Any channel with an export.
Pasted orders DMs and screenshots count.

One balance funds every channel's labels

Card, Apple Pay, Google Pay, ACH, or crypto top up one prepaid wallet — no per-store float, no per-tool balance to reconcile.

VisaMastercardAmerican ExpressApple PayGoogle PayBitcoinEthereumTether (USDT)
One wallet Not one per storefront.
One ledger Every label, every channel.
Tracking back out Under each channel's rules.

The fragmentation tax: what running three label tools actually costs

Nobody plans a fragmented shipping stack. It accretes: the Etsy shop came first and used Etsy's labels, the Shopify store arrived with its own shipping screen, and the eBay account still prints from whatever was installed the year it opened. Each tool was the path of least resistance on the day that channel launched, and each one made sense alone. The cost only shows up in aggregate, and it lands in three places that never appear on any invoice.

The first is money parked in the wrong places. Three tools means three balances or three payment methods on file, and float sitting in a label tool for a slow channel is float you cannot spend shipping a busy one. The second is the packing session itself: every extra tab is a context switch, and a batch that should be one pick-pack-print run becomes three smaller runs with three login screens between them. The third is the quietest and the most expensive — no single view of what delivery actually costs. When each channel prices its labels in its own silo, nobody ever sees that one channel has been paying retail-shaped rates for a year, because no report puts the channels side by side. Consolidation is not a feature preference; it is the only way the comparison ever gets made.

The intake map: synced stores, exported files, and pasted orders

The honest version of multi-store shipping starts with an unglamorous admission: most channels do not sync, and a tool that implies otherwise is selling you a connector it does not have. There are exactly four connectors here — Shopify, Etsy, WooCommerce, and TikTok Shop — and everything else arrives through one of two doors. Channels with an export, which is nearly all of them, arrive as a file; the column mapping, saved presets, per-row address validation, and row-by-row purchase that make a file safe to buy against are the bulk CSV page's subject, not this one's. Channels with no export at all — a sale closed in an Instagram DM, a Facebook message with an address in it — arrive as a paste or a screenshot that Billy reads into a draft, which is the no-connector workflow's page. The matrix below is the map: for each common channel, how orders get in, how tracking gets back, and what the marketplace holds you to.

Channel How orders arrive How tracking gets back What the channel expects of you
Shopify Syncs. Sold orders drop into the To Ship queue on their own. Pushed back to the order when the label prints. The order marked fulfilled with a tracking number, which the sync does for you.
Etsy Syncs into the same queue alongside the other connected stores. Pushed back to the Etsy order on print. Orders marked shipped with tracking; buyers get Etsy's own notifications from that.
WooCommerce Syncs. Your own store, so orders arrive like any connected channel. Pushed back to the order when you print. Whatever your own store's policy is — you set the rules on this one.
TikTok Shop Syncs, with one carve-out: orders shipping USPS still go through TikTok Shipping. Pushed back to the store for the labels you buy yourself. Valid tracking inside TikTok's shipping window, per its seller policy.
eBay No connector. Export the awaiting-shipment file and import it. You paste tracking onto the eBay order yourself. Tracking uploaded before the stated handling time runs out — it feeds your seller metrics.
Amazon No connector. Orders arrive by report export, imported as a file. You confirm shipment with carrier and tracking on Amazon itself. A confirmed shipment with valid tracking; Amazon grades sellers on it.
Faire No connector. Wholesale orders come across as an export or are entered per carton. You enter a tracking number against the Faire order for every carton shipped. Tracking per carton — a multi-box order with one number entered is incomplete.
Squarespace / Wix / Big Cartel No connector. Every major site builder exports orders to a file. You mark the order shipped in the builder's own dashboard. Whatever notification flow the builder runs when an order is marked shipped.
Instagram / Facebook DMs No export exists at all. The order is a message — paste it or screenshot it and Billy drafts the label. You send the buyer their tracking in the same thread the sale happened in. Nothing formal. The buyer expects a reply; the thread is the order record.

Channel policy reference — verified against each marketplace's own seller documentation on 2026-08-15. Marketplace shipping policies move without notice: handling-time windows, tracking-upload rules, and which orders a platform insists on labelling itself all change on the platform's schedule, not ours. No deadline figures are printed in the matrix for exactly that reason — check the channel's own seller help centre for the current window before you rely on one. Re-checked every 6 months by the named marketing owner recorded with this page.

Tracking back out: what each channel requires of you

Getting orders in is half the loop. The half that protects your seller account is getting tracking back out, and here the channels genuinely differ — not in spirit, since every marketplace wants proof the parcel moved, but in mechanics and in consequences. For the four synced stores the loop closes itself: print the label and tracking pushes back to the connected store, which marks the order fulfilled and fires the platform's own buyer notifications. For everything that came in by file or by paste, the write-back is yours to do, and it is worth doing in the same sitting as the print run. Marketplaces score sellers on whether tracking appeared inside the handling window, and a marketplace that never saw your tracking treats a delivered parcel as an unshipped order.

The practical discipline is a two-column habit: when a batch finishes, the labels you bought are sitting in one purchase history in the order you bought them, so pasting tracking back into eBay or Amazon is a top-to-bottom copy job rather than a hunt across three tools. Sellers who fragment this step are the ones who find a defect on their account weeks later — not because a parcel was late, but because the number that proved it shipped never made it back to the channel that was keeping score.

One ledger: seeing cost per channel instead of per tool

The consolidation payoff that survives longest is the ledger. Every label bought here — synced, imported, or pasted — is a ledger entry against one prepaid balance, carrying its cost, its carrier, and the order it belonged to. That turns a question three tools cannot answer into a filter: what did delivery cost per channel last month, which channel's parcels keep triggering the expensive services, and is the channel you think of as your best actually your best after postage. A wholesale channel that ships cartons and a DM channel that ships mailers should not be priced by the same habit, and the only way to see that is on one ledger where they sit in adjacent rows.

One balance also ends the float problem. A single wallet funded by card, Apple Pay, Google Pay, ACH, or crypto pays for every channel's labels, so a busy week on one store spends the money a quiet week on another store left alone. A voided label credits straight back to that same balance — the mechanics of that are covered on the void page — and nothing charges a monthly minimum to print, so consolidating three tools into one does not mean trading three small fees for one big one. If your channel mix leans on Etsy or TikTok Shop specifically, the Etsy page and the TikTok Shop page cover each connector's own quirks in depth.

Three intakes, one queue

Every channel lands in the same list.

A multi-store morning is not one workflow, it is three arriving at once: connected stores have already filled the queue overnight, the eBay and Amazon exports come in as files, and the DM sales come in as screenshots. All of it converges on one To Ship list, gets labelled from one wallet, and sends tracking back out under each channel's own rules.

1
Orders from everywhere
Synced, exported, and pasted, all in one morning
dm_sale_0412

Instagram buyer sent their address in the thread — screenshot pasted straight into the queue.

Shopify and Etsy
Synced overnight — already in the queue
eBay export
Awaiting-shipment file, imported
The morning queue
Synced stores
already in
Imported file
validated per row
Pasted DMs
drafted by Billy
Balance
one wallet for all of it
Drop the export file or paste the DM

Sync is Shopify, Etsy, WooCommerce, and TikTok Shop only. Every other channel arrives by file or by paste — honestly labelled as such, here and in the product.

2 One queue

Merged, validated, and priced together.

Billy AI
  • Synced orders arrive carrying their store, so per-channel cost is filterable later
  • Imported rows are address-validated before any money moves
  • Pasted DMs become drafts with the buyer, address, and parcel read out of the message
  • Every parcel is quoted across USPS, UPS, FedEx, and DHL, whatever channel it came from
One list. One print run.
3
Labels out, tracking back
Each channel closed its own way
One wallet debited
Every channel's labels, one ledger
$12.47
USPS
Tracking returned
Pushed to synced stores, pasted to the rest
$12.47

Connected stores get tracking pushed back on print. For file and paste channels, the purchase history holds the tracking numbers in batch order, so the write-back is a copy job, not a hunt.

The honest connector map

Four stores sync. The rest are welcome anyway..

Shopify, Etsy, WooCommerce, and TikTok Shop connect once and flow into the To Ship queue with tracking pushed back on print. That is the whole connector list — and it is exactly why the file and paste intakes exist, so eBay, Amazon, Faire, the site builders, and the sales that close in a DM run through the same queue and the same wallet instead of a second tool.

Via AItiles: no connector needed — paste the order or the screenshot and it joins the same queue as the synced stores.

Shopify logo Shopify
Etsy logo Etsy
WooCommerce logo WooCommerce
TikTok Shop logo TikTok Shop
eBay logo eBay
Amazon logo Amazon
Squarespace logo Squarespace
Wix logo Wix
Show 4 more Show less
Walmart logo Walmart
Instagram logo Instagram
Facebook logo Facebook
Square logo Square
What consolidation is actually made of

One queue is the feature.
Everything else supports it.

Consolidating channels only works if the one tool holds the whole loop: money in one place, every intake honestly handled, one all-in price per parcel, and a ledger that can answer per-channel questions.

One balance,
not one per tool

Card, Apple Pay, Google Pay, ACH, and crypto all fund a single prepaid wallet that pays for every channel's labels. No float stranded in the slow channel's tool while the busy channel waits, and a voided label credits straight back to the same balance.

Wallet balance
$1,247.36 USD
AI

The channels
with no export at all

A sale that closes in an Instagram or Facebook thread has no file to import. Paste the message or the screenshot and Billy reads the buyer, the address, and the parcel into a draft — the DM channel joins the queue instead of living in your camera roll.

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

One all-in price,
whatever the channel

Every parcel gets one number that already includes the fees, and that exact amount leaves the wallet. When every channel's labels price the same way, per-channel cost stops being a reconciliation project and starts being a filter on one ledger.

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

Four carriers
on every channel's parcels

USPS, UPS, FedEx, and DHL are quoted on each parcel regardless of where the order came from. The wholesale channel's cartons and the DM channel's mailers have different winners, and a consolidated queue is the only place that comparison happens per order.

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

Automate the loop
when volume says so

A REST API with unlimited calls on every plan, signed webhooks for label and tracking events, and idempotency keys so a retried job never buys twice. When the multi-channel queue outgrows tapping, the same lifecycle runs from a script.

POST /v1/shipments
{
"to": { "name": "Maya" },
"from": { "name": "Alex" },
"service": "ups_ground",
"label_format": "pdf"
}
Webhook delivered
GoatLabels mobile queue mixing synced, imported, and pasted orders with all-in prices
Billy drafting a label from a pasted DM sale on mobile

Batch printed

Three channels · one balance · one purchase history

One print run, not three

Three channels, one pass with your thumb.

The fragmentation tax is mostly paid in context switches. Three tools turn what should be a single pick-pack-print pass into three smaller ones with a login screen between each, and the switches are the part that never appears on an invoice. One queue collapses them back into one pass — and it fits on the phone, standing at the table where the parcels already are.

Synced orders, imported rows, and pasted DMs all sit in the same list, in the order you will pack them.
USPS, UPS, FedEx, and DHL quoted on each parcel regardless of which channel sold it.
Every label debits one prepaid balance — no per-store float to top up separately.
One-tap print to the share sheet or a thermal printer, top to bottom.
Tracking numbers land in the purchase history in batch order, ready for the write-back.
Ask once, whichever store it was

Find the parcel without remembering which channel sold it.

Buyers ask in whatever channel they bought in, and the seller's first problem is working out which tool the label was bought from. When every channel's labels live in one history, that step disappears: say the question out loud and Billy finds the shipment and reads its status back. Included on every plan. This is the real product, not a render.

goatlabels.io/dashboard/shipments — Billy
Billy reading a shipment's delivery status back over the purchased labels list

Listening

"Where's the order for Dana?"

Out for delivery

One history · the store is on the ledger entry

Speaks plain English · one purchase history behind every channel · included on every plan, on Telegram with Pro.

All-in quotes

The winner changes with the parcel, not the channel.

Wholesale cartons and DM mailers do not have the same cheapest carrier, so a channel that has always printed from one tool has been quietly defaulting for years — that is the fragmentation tax in miniature. Every parcel in the queue is quoted four ways whatever channel it came from, and the column you pick is the exact amount that leaves the wallet. The sample parcel below is an illustration.

US → DE 2.6 lbs 12×8×4 in
USPS

USPS

Priority Mail Intl

10–15 days

$7.40

$1.90 of taxes & duties included

all-in · the same figure on every ledger row

Cheapest for this parcel
FedEx

FedEx

Intl Connect Plus

3–5 days

$8.90

$2.20 of taxes & duties included

all-in · the same figure on every ledger row

DHL

DHL

Express Worldwide

1–2 days

$9.80

$2.50 of taxes & duties included

all-in · the same figure on every ledger row

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

Close the write-back loop for the channels that don't sync.

Connected stores take their tracking number back on their own. For everything that arrived as a file or a paste, that number has to travel back by hand — unless a script already has it. Signed webhooks hand you the label and tracking events the moment a label is bought, which is what turns the manual half of a multi-channel loop into code.

Signed webhooks deliver tracking as it happens, so a script can push it to the channel
Quote and buy in two calls, against the same prepaid balance the dashboard spends
Real idempotency keys — a retried job never buys a second label for the same order
REST, JSON, OpenAPI 3.1, and 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"
}
Priced per label, never per store

One account, no per-store fee anywhere in it.

Consolidating three tools should not mean swapping three small subscriptions for one large one. There is no per-store charge, no per-seat charge, and no monthly minimum to print — the only thing that costs money is a label. Free covers 50 shipments a month across every channel together, not per store; Pro is an optional flat plan with unlimited shipments and cheaper label pricing.

Pro

Most popular
$40 / month
Unlimited shipments — every channel drawing on one balance
Cheaper label pricing that scales down as the combined volume grows
Billy AI on Telegram — find an order without knowing which channel it came from
API access still free and unlimited

Volume pricing

illustrative
less volume more volume

combined volume → lower per-label rates

Free

$0 / forever

Add the second and third channel without adding a second and third bill.

50 shipments a month across every channel combined — no per-store cap
Shopify, Etsy, WooCommerce, and TikTok Shop sync included on the free plan
USPS, UPS, FedEx, and DHL rate-shopped on every parcel, whatever channel sold it
Billy AI unlimited in the web app for the channels with no export at all
REST API with unlimited calls; one wallet funded by card, Apple Pay, Google Pay, ACH, or crypto

Billy is not an upsell

The assistant that reads a DM sale into a drafted, validated label runs unlimited on Free. The channel with no export is the one most likely to be left out of a consolidation, so it is the one not to charge for.

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.

We'll beat your current rates

Bring your invoice — on Pro we work with you to beat the rates you're getting from

ShippoPirateShipShipStation
No contracts No per-store or per-seat fee No monthly minimum to print
USPS UPS FedEx DHL

Label prices are quoted live from USPS, UPS, FedEx, and DHL as one all-in number, and that exact amount leaves the single prepaid wallet — which is what makes per-channel cost a filter on one ledger rather than a reconciliation across three. Full pricing details

Who runs more than one store

Every channel mix ends up needing one queue.

The mixes differ — marketplace plus own site, wholesale plus DTC, storefronts plus DMs — but the failure mode is identical: three tools, three balances, and no single number for what delivery costs.

Marketplace sellers who added their own site

Etsy or eBay first, Shopify second

Two tools today

The marketplace taught you shipping and the new site came with its own label screen, so the same packing table now runs two workflows. Sync the stores that sync, import the marketplace that does not, and the two channels become one afternoon print run with per-channel cost visible on one ledger.

4 channels sync files for the rest one wallet
goatlabels.io/dashboard/shipments
GoatLabels shipments queue with purchased labels

Brands running wholesale next to DTC

Faire cartons and website mailers

Wholesale cartons and DTC mailers should never be priced by the same habit. One queue quotes both against four carriers, and one ledger finally shows which side of the business delivery is eating.

Per-channel cost, one filter

Wholesale vs DTC · same ledger, adjacent rows

Sellers whose third channel is a DM inbox

The channel with no export

hey! just paid — shipping to the same address as last time
Pasted the thread · label drafted, same queue as the stores

Operators consolidating tools before peak

Fewer tabs before the busy quarter

1

queue, balance, and ledger across every channel

Multi-store shipping, answered

Which stores can sync orders automatically?
Four: Shopify, Etsy, WooCommerce, and TikTok Shop. Connect any of them and sold orders drop into one To Ship queue, with tracking pushed back to the store when the label prints. That is the complete connector list — no channel outside those four syncs, and this page does not pretend otherwise.
How do I handle channels without a connector?
Two intakes. If the channel exports orders — eBay, Amazon, Faire, and most site builders do — you import the file; the mapping, per-row validation, and batch purchase mechanics live on the bulk CSV page at /bulk-shipping-labels-from-csv. If the order is a DM or a screenshot with no export behind it, you paste it and Billy drafts the label — that workflow is covered at /ai-shipping-labels.
Does tracking get back to each store automatically?
For the four synced channels, yes — tracking pushes back to the connected store when you print. For everything else you enter tracking on the marketplace yourself, and each marketplace sets its own rules about where and how fast. The intake matrix on this page lists what each common channel expects.
Can I see shipping cost per channel?
Every label is a ledger entry with its order attached, so the question changes from three tool histories to one ledger you can slice. Synced orders carry their store automatically; imported and pasted orders carry whatever reference you gave them, which is why the reference column in your export file matters.
Do I need a separate account per store?
No. One account holds every connected store, every imported file, and every pasted order, all drawing on one prepaid wallet funded by card, Apple Pay, Google Pay, ACH, or crypto. There is no per-store fee and no monthly minimum to print — see /pricing for the two plans.
Real sellers, real words

Sellers who closed two tabs.

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

Builds on the free API
No per-store fee. No monthly minimum to print.

Close two tabs.
Keep every channel.

Connect the stores that sync, import the channels that export, paste the sales that arrive as messages — and run all of it from one queue, one balance, and one ledger.

Sign up in seconds. No card required. Your channels keep working exactly as they do today.