USPS
Ground Advantage
2 to 5 days$11.40
all-in · no surprises
A parcel from the US to Germany is taxed under EU import rules, so the paperwork depends on whether VAT was collected at your checkout through an IOSS number or is collected from the buyer at the door, and every label needs a customs form either way.
USPS hands to Deutsche Post for the final mile; UPS, FedEx, and DHL carry the parcel end to end and clear it through their own brokers.
Description, declared value, country of origin, and your IOSS number if you have one travel with the label. Top up with card, Apple Pay, Google Pay, ACH, or crypto and spend it label by label.
Updated
A parcel from the US to Germany is taxed under EU import rules, so the paperwork depends on whether VAT was collected at your checkout through an IOSS number or is collected from the buyer at the door, and every label needs a customs form either way. Germany applies the same three routes as the rest of the EU; what is specific to this lane is who delivers and how the border step is handled.
| Decision | VAT collected at checkout (IOSS) | VAT collected at the door |
|---|---|---|
| Who collected the tax | A marketplace's IOSS number if it collected for you, or your own IOSS registration if you sell direct and registered. | Nobody yet. The delivering carrier assesses it on arrival and collects from the buyer, usually with a handling fee of its own. |
| What goes on the label | The IOSS number, transmitted with the customs data so the parcel is not taxed twice. Send it on the wrong route and the buyer pays again. | No IOSS number. The customs form's description and value are what the carrier assesses on. |
| What the buyer experiences | The price they paid is the price. The parcel is delivered without a bill. | A request to pay before delivery, sometimes days after the parcel landed. Say so at checkout or expect refusals. |
| Postal or express | Either. USPS hands to Deutsche Post; UPS, FedEx, and DHL clear through their own brokers. The route is about tax, the service is about speed. | Either, but express carriers contact the buyer directly and tend to resolve it faster than the postal stream. |
| Best for | Marketplace sellers, and direct sellers with enough EU volume to register. | Occasional direct sales where registering is not worth it, and higher-value goods outside the IOSS scheme. |
| What GoatLabels does | Carries the IOSS number with the customs data, generates the form with the label, and debits the all-in rate from your wallet. | Same customs form, same four-carrier quote, same wallet; the label simply carries no IOSS number. |
VAT thresholds, the IOSS scheme, and carrier handling fees are set by the EU, the German tax authority, and the carriers, and change without notice. The routes above describe mechanics, not figures; the EU-wide version of this decision is on the shipping to the EU page.
German buyers expect delivery to be uneventful, and a parcel that arrives with a bill or sits at a Deutsche Post branch waiting for one is the opposite. Each failure below starts on the label.
If a marketplace collected VAT at checkout, its IOSS number must travel with the customs data or the buyer is taxed a second time at the door. If nobody collected, no number belongs on the label. Sort every German order by which route it is on before the label prints.
Merchandise, gift, and sample are not descriptions. Name the item in plain words, with the value you actually charged and where it was made. GoatLabels generates the customs form from the label details, so what you type once is what prints.
Deutsche Post's domestic network is dense and reliable, so the postal stream is a reasonable default for light, low-value parcels. Express earns its price on urgent or high-value orders. Quoting USPS beside UPS, FedEx, and DHL on the same screen makes the premium a number instead of a guess.
Connect a store and Germany-bound orders land in the same To Ship queue as everything else, or bulk-import them from a CSV. Paste the order from a message or drop in a screenshot and Billy drafts the recipient, the parcel, and the plain-word customs description for you to confirm. Quote USPS, UPS and FedEx side by side, with DHL joining on this international lane, pick the service, and the label prints with the customs form generated from the same details, IOSS number included when the order carries one. The all-in rate you accepted is the exact amount that leaves your prepaid wallet.
Hallo! 2x hoodies (M) 1x tee (L). Ship to: Maya R., Torstrasse 12, 10119 Berlin
Thirteen storefront connectors, bulk CSV import, DMs, and screenshots — one To Ship queue.
Billy AI
No monthly fee on Free, up to 50 shipments a month. The customs form is generated with every international label, and tracking is pushed back to the store when it prints.
Shopify, WooCommerce, Amazon, eBay, TikTok Shop, Etsy, Walmart, BigCommerce, Squarespace, Wix, Square, Magento, and Temu sync into To Ship and get tracking pushed back when you print. Marketplace orders arrive with the marketplace's VAT route already decided; direct orders that came in by DM go into the same queue by paste, screenshot, or CSV.
Cross-border labels are the ones most tools put behind a plan tier. Here the customs form, the all-in quote, and the wallet are the same for a Berlin parcel as for a domestic one.
Card, Apple Pay, Google Pay, ACH bank transfer, and crypto all top up the same balance, and every method buys identical rates, carriers, and features. Void a shipment and, after the carrier accepts the void, the credit lands back in the wallet, not on a statement three weeks out.
A DM from a buyer in Hamburg is not a structured order. Billy reads the message, the screenshot, or your spoken description and drafts the whole label from it, customs description included, for you to confirm.
Billy
LIVE
Fund the wallet, pay the carrier's all-in rate per label, and pay nothing in a month when nobody in Germany orders. Free has no subscription and no minimum for up to 50 shipments a month.
USPS, UPS, FedEx, and DHL quoted side by side into Germany, and the number on screen is the exact amount that leaves your balance. The postal option and the express options sit in the same list so the premium is visible before you commit.
REST and JSON, one Bearer header, idempotency keys so a retry cannot double-buy a label, and signed webhooks for tracking and label events instead of polling. The dashboard and the API spend the same balance.
Label ready
CL-1038 · 10119 Berlin
When a buyer in Berlin messages you a street with the house number after it and a five-digit postal code, you become the integration. GoatLabels takes the message itself, on the phone next to the tape gun, and drafts the customs form with it.
Packing a parcel for Germany is a two-hands job. Hold the mic, say who it is going to and what is inside, and Billy drafts the recipient, the customs description, and the parcel, rate-shops USPS, UPS and FedEx with DHL joining on this international lane, and queues the label against your prepaid balance. Afterwards it answers when the buyer asks whether the parcel has cleared.
Listening
"Where's Maya's package?"
Cleared customs
CL-1039 · Munich · out for delivery
Plain English in — names, addresses, weights, carriers, services · nothing to import and nothing to map · reads the all-in rate back before a cent leaves the wallet · phone or browser.
The carriers on the same parcel, each an all-in number that is the exact amount leaving your prepaid balance. No platform fee is added on the way to Germany. If a carrier later re-weighs the parcel, the adjustment posts as its own dated ledger entry, and an accepted void credits the wallet rather than a card statement weeks later. Illustrative parcel, not a live quote.
Ground Advantage
2 to 5 days$11.40
all-in · no surprises
Ground
1 to 5 days$9.85
all-in · no surprises
Ground
1 to 5 days$11.20
all-in · no surprises
If your store already knows which orders are going to Germany and which VAT route they are on, let it buy the labels. REST, JSON, one Bearer header, customs items on the shipment, real idempotency keys so a retried request cannot buy two labels, and signed webhooks for tracking and label events instead of polling.
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"
}
Most stores meet Germany as a trickle rather than a market: a handful of orders a month alongside the domestic volume. Nothing here charges extra for the border. Customs forms, four-carrier quotes, and the connectors are all there from the first label, and on Free the wallet only moves when a label is bought. Free covers 50 shipments a month; past that, Pro is one flat $40 monthly plan.
Rate by plan
illustrativePro: one flat monthly plan, unlimited shipments
$0 / forever
A few German orders a month, with no subscription to keep open for them.
The assistant that turns a pasted order into a customs description the border can classify runs in the web app on every plan.
GET /api/v1/shipments
200 OK · plan: free
The dashboard and the API spend the same prepaid balance.
Put a real parcel through and compare the side-by-side rate against what that label costs you on
ShippoPirate ShipShipStationLabel prices are quoted live from USPS, UPS and FedEx (plus DHL on international lanes) and shown as one all-in number — the same number that leaves your wallet. What German customs assesses and what a carrier charges to present it are theirs to set, not ours. Full pricing details
These are the sellers for whom the side-by-side quote, the generated customs form, and the pay-per-label wallet make the Germany lane simple. The ones who should keep a carrier contract are named on this page too.
A few orders a month, not a market
Volume that arrives a few parcels at a time fits a prepaid wallet better than a cross-border plan. Fund it, quote the four carriers when a German order lands, and pay nothing in the months when none do.
Amazon, eBay, Etsy, and the rest
Connect the storefronts that have connectors and handle the German order in the same queue as the domestic ones. The marketplace's IOSS number travels with the customs data instead of being typed into a second system.
One queue, connector or not
Order #1024 · pasted from a comment thread
A street and a postal code in a message
REST and the dashboard, one balance
1
wallet behind the API and the dashboard
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
The EU-wide version of this decision is on shipping to the EU. Also see shipping to the UK and the customs forms guide.
Fund a wallet with card, Apple Pay, Google Pay, ACH, or crypto, put through the next Germany order you would have shipped anyway, and compare the all-in rates from USPS, UPS and FedEx, and from DHL on international lanes, against what that label costs you today.
No card required. No monthly fee on Free, up to 50 shipments a month.
Updated