Bulk-upload shipments from a CSV
For days when you're shipping more than ~10 orders at once.
The template
Download at Dashboard → Ship → Bulk upload → Download template.
| Column | Required | Example |
|---|---|---|
external_order_id | optional | SHOP-1234 |
to_name | yes | Jane Doe |
to_street1 | yes | 100 Main St |
to_city | yes | Brooklyn |
to_state | yes (US/CA) | NY |
to_postal_code | yes | 11201 |
to_country | yes | US |
weight_lb | yes | 2.5 |
length_in | yes | 12 |
width_in | yes | 9 |
height_in | yes | 4 |
service_preference | optional | cheapest / fastest / ups_ground |
insurance_value | optional | 120.00 |
signature_required | optional | true |
The flow
- Upload — we parse and validate every row, flagging errors
- Review — fix errors or proceed with valid rows only
- Rate-shop — all rows rated in parallel
- Buy — one click buys labels for every successful row
- Download result CSV with tracking + label URL per row
Error handling
If 50 of 500 rows fail, the other 450 still ship. Failed rows download as failed_rows.csv.
International
Add three more columns: hs_code, country_of_origin, customs_value. We auto-generate the commercial invoice.