USPS
Priority Mail Intl
10–15 days$7.40
$1.90 of duties & taxes already inside the number
all-in · one ledger line per label
Batching turns shipping from a per-order interruption into one sitting: collect every open order into a single list, validate addresses before paying, buy the batch, print in pick order, and pack against the printed stack. The sequencing matters — errors caught before packing are still cheap to void.
Every parcel in the run gets its own USPS, UPS, FedEx, and DHL comparison — a batch is not a reason to default to one carrier for the day.
Top the prepaid wallet up before the batch — card, Apple Pay, Google Pay, ACH, or crypto — so fifty purchases never stall on a payment prompt.
Shipping one order at a time feels responsive, but it prices every parcel at its worst. Each order interrupts something else, restarts the same setup — find the scale, find the right box, open the tool, re-check the address — and ends before any of that setup pays for itself. Batching moves all of those fixed costs to the front of a single run, and the longer the run, the less each parcel carries. The trade-off is dispatch delay, which is why the cadence is not a preference but a calculation: take the shortest handling time you have promised on any channel, and batch as rarely as that promise allows. A shop that promises three business days everywhere can ship twice a week. A shop that promises next-day dispatch on one channel batches every morning, because the strictest promise sets the clock for the whole operation.
The signal that you are ready for batch days is not a volume milestone, it is a feeling: shipping has become the thing that fragments the rest of your work. If you touch the tape gun more than a couple of times a day, the interruptions are already costing more than the parcels. And a deliberate cadence has a second, quieter benefit — buyers get consistent dispatch behaviour instead of a lottery, which shows up in fewer where-is-my-order messages than daily-but-erratic shipping produces.
A batch day starts with a single list of every open order, and the list is only trustworthy if nothing has to be remembered onto it. Orders arrive three ways here. Synced storefronts are the easy case: Shopify, Etsy, WooCommerce, and TikTok Shop connect directly, and their open orders land in the To Ship queue on their own. Channels without a connector arrive as files — a marketplace export, a spreadsheet from a wholesale buyer — and the CSV import mechanic turns a file into validated, quotable rows with a saved column mapping. The third stream is the one every seller forgets to count: the DM sale, the market-stall follow-up, the buyer who texted an address. Those get pasted or screenshotted in, and Billy drafts them into the same queue as everything else.
The point of consolidation is not tidiness, it is that the batch is only a batch if it is complete. An order that lives outside the list does not get validated with the others, does not get quoted with the others, and surfaces at the worst possible time — after the boxes are sealed and the drop-off is done. If you run more than two or three storefronts, the channel-by-channel intake picture is its own subject, covered on the multiple-stores page; this page assumes the orders have arrived and cares about what order you do things in next.
The run sheet below is the whole argument of this page. Each step exists to catch a specific class of error at the point where it is still cheap, and the ordering is what does the work — the same five activities in a different order catch the same errors after they have already cost money.
| Step | What happens | What it catches, and why here |
|---|---|---|
| 1. Gather | Every open order into one list: synced stores land automatically, exports come in as a file, DM orders get pasted in. | Orders that never made it into any system — the ones that become apology emails. |
| 2. Validate | Every address checked before any money moves, with a residential or commercial classification badge per destination. | The missing apartment line, the ZIP that does not match the city — while fixing them costs a message, not a reship. |
| 3. Buy | Each parcel quoted across USPS, UPS, FedEx, and DHL and bought from one prepaid balance, in one sitting. | The habit carrier. A batch is the one time comparing four prices per parcel costs no extra effort. |
| 4. Print in pick order | Labels printed in the order you will walk the shelves, not the order the sales came in. | Backtracking. The printer stack becomes the pick list. |
| 5. Pack against the stack | Top label pairs with the first item pulled. Seal, apply, next. | Swaps. A label that does not match the item in your hand is visible now, invisible after sealing. |
Two orderings matter more than the rest. Validation goes before buying because an address error found before money moves costs a message to the buyer, while the same error found after purchase costs a void and a rebuy, and found after dispatch costs a returned parcel. And printing goes in pick order — the order you will physically walk your shelves or bins — because it converts the label stack into the pick list. Pack against the stack and every parcel is a self-checking pair: the label on top must match the item you just pulled, so a swap is caught by the next pair being wrong, not by two buyers a week later opening each other's orders. When the run ends, everything goes to the carrier drop-off in one trip; the day is planned around that trip, not around waiting for anyone to arrive.
Every batch throws exceptions: an address the validator flags, an item that is not on the shelf where it should be, a buyer message that arrives mid-run asking to combine two orders. The rule that protects the day is simple — the batch does not stop. Exceptions get parked in a physical and digital holding lane, the run continues, and the parked items are worked as their own small batch at the end. Stopping a fifty-parcel run to chase one problem trades fifty parcels of momentum for one parcel of resolution, and the interruption is where mispacks breed: the stack and the pile lose their pairing the moment you start shuffling either one.
Caught mistakes are cheaper here than they feel. A label bought for a parcel that then changes — heavier than expected once packed, or merged with another order — can usually be voided with the credit going back to the wallet, and the void page covers how each carrier decides that. What matters operationally is the sequencing again: a mistake found at the packing bench, before sealing and before drop-off, is a two-minute fix from the same prepaid balance. The batch day exists to make sure that is where mistakes get found.
The pipeline below is the run sheet in motion: the merged queue takes orders from synced stores, imported files, and pasted messages; validation runs before any money moves; and what comes out is a printed stack in pick order, ready to pack against.
Two DM sales from Saturday — paste the threads and Billy drafts both into the queue with the rest.
A batch is only a batch if it is complete — the DM order that stays in the inbox becomes next week's apology.
Pack against the stack and a swap announces itself as a mismatched pair at the bench — not as two confused buyers next week.
Shopify, Etsy, WooCommerce, and TikTok Shop sync their open orders into the To Ship queue on their own, and tracking pushes back when you print. Channels without a connector arrive as exported files, and the DM sale gets pasted in. Step one of the run sheet is gathering all three streams into one list — because the order that stays outside it is the one that surfaces after the boxes are sealed.
Via AItiles: paste a DM or a screenshot — the stray order every seller forgets to count still makes it into the run.
Five things stop a fifty-parcel sitting from stalling: a funded balance, a way in for the orders no export contains, honest per-parcel pricing, four carriers competing on every box, and an API when the batch outgrows the bench.
Top the prepaid wallet up once — card, Apple Pay, Google Pay, ACH, or crypto — and the whole batch buys against balance with no payment prompt between labels. A voided mistake credits straight back, spendable before the run is even over.
Every batch has strays: the Instagram sale, the repeat buyer who texted, the market follow-up. Paste the thread or drop a screenshot and Billy drafts the label into the same queue, so the batch is actually complete when you press buy.
Each label is one all-in number locked at quote, and that exact amount leaves the balance — so the cost of the whole run is known before the printer starts, not reconstructed from a statement afterwards.
A batch tempts you to pick one carrier and stop thinking. Here every parcel in the run is quoted against USPS, UPS, FedEx, and DHL individually, so the heavy box and the light envelope each go with whoever actually wins them.
The same gather-validate-buy sequence runs over REST with idempotency keys and signed webhooks, unlimited calls on every plan — so the morning batch can become a scheduled job without changing the workflow.


Batch bought
Printing in pick order
The bench is where the parcels are, and a run that makes you walk to a computer to buy the next label has already lost the momentum it was designed to protect. The merged queue, the validation flags, the four-carrier quotes and the buy action all live on the phone propped against the tape dispenser.
Mid-run is exactly when the strays turn up: the buyer who texted an address, the market follow-up nobody wrote down. Stopping a fifty-parcel sitting to type one in is how the stack and the pile lose their pairing. Say it out loud instead and Billy drafts it into the same queue, validates the destination, and quotes four carriers on it, so the order joins the batch rather than becoming next week's apology. Included on every plan. This is the real product, not a render.

Listening
"Add one more — two pounds to Priya in Austin."
Added to the run
Validated · quoted · in the queue
Speaks plain English · drafts from voice, paste, or a screenshot · lands in the same merged queue as everything else · included on every plan.
This is step three of the run sheet, and it is the step a batch tempts you to skip — pick one carrier for the day and stop thinking. Every parcel in the run gets its own comparison instead, each column one all-in number locked at quote time, so the cost of the whole sitting is known before the printer starts rather than reconstructed from a statement afterwards. Figures are illustrative.
Priority Mail Intl
10–15 days$7.40
$1.90 of duties & taxes already inside the number
all-in · one ledger line per label
Intl Connect Plus
3–5 days$8.90
$2.20 of duties & taxes already inside the number
all-in · one ledger line per label
Express Worldwide
1–2 days$9.80
$2.50 of duties & taxes already inside the number
all-in · one ledger line per label
The run sheet is a sequence, and a sequence is automatable. The same gather, validate, quote, buy steps run over REST and JSON with one Bearer header, so the sitting that currently starts when you sit down can start on a timer instead — with the printed stack still coming out in pick order at the end. Unlimited calls on every plan.
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"
}
Everything a batch day needs is on the free plan: the merged queue, address validation before purchase, four-carrier quotes per parcel, buying the run in one sitting, and printing. There is no monthly minimum to print, so the quiet week after a big run costs nothing. Pro is a flat monthly plan that lowers per-label pricing at volume — useful when the runs get big, never required to run one.
Volume pricing
illustrativemore volume → lower per-label rates
$0 / forever
Enough for a weekly run, and nothing owed in the week you did not ship.
The assistant that drafts the orders no export contains — the DM sale, the texted address — runs unlimited on Free. It is what makes the list complete, and an incomplete list is the one failure a batch day cannot absorb. Pro adds Billy on Telegram.
GET /api/v1/shipments
200 OK · plan: free
Unlimited calls on Free — still unlimited on Pro.
Bring your invoice — on Pro we work with you to beat the rates you're getting from
ShippoPirateShipShipStationLabel prices are quoted live from USPS, UPS, FedEx, and DHL as one all-in number and that exact amount leaves your prepaid balance, one ledger line per label. An unused label can usually be voided for wallet credit — the carrier-by-carrier detail is on the void page linked above. Full pricing details
The signal is never a volume milestone — it is that shipping has become the thing fragmenting the rest of the work. These are the four shapes of seller where a run sheet buys back the most, and what each one's batch is made of.
Synced stores plus exports plus strays
Shopify, Etsy, WooCommerce, and TikTok Shop land in the queue on their own; everything else arrives as a file or a paste. Completeness is the whole game — an order outside the list is neither validated nor quoted with the others.

Make on the good days, ship on the set ones
A deliberate cadence, set from the strictest handling promise you have made, gives buyers consistent dispatch instead of a lottery — and keeps the tape gun off the bench on the days the work happens.
Cadence, not preference
Batch as rarely as your slowest promise allows
The stray that never made it to any export
The same sequence, on a timer
1
prepaid balance funds the whole sitting, so fifty purchases never stall on a payment prompt
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
Merge every channel into one queue, validate before you pay, buy the batch across four carriers, and print in the order you pick.
Sign up in seconds. No card required. Pay per label, never per month.