How to Import Orders via CSV and Buy Shipping Labels in Bulk

CSV shipping import lets you upload a spreadsheet of orders directly into Shippo to purchase shipping labels in bulk, with no store integration required. You prepare a CSV file with your order data, map the columns to Shippo's fields once, and buy labels for every order in the batch.
In this article
- Who Should Use CSV Shipping?
- What CSV Shipping Actually Saves You
- What You Need Before You Upload
- How to Import Orders via CSV in Shippo
- How to Format Your CSV File (and Avoid Common Errors)
- How to Buy Labels in Bulk After Importing
- Industries That Run on CSV Shipping
- Frequently Asked Questions
Who Should Use CSV Shipping?
CSV shipping is the right tool whenever orders don't flow automatically into your shipping software.
You ship from an unsupported platform. If your e-commerce platform doesn't have a direct integration with Shippo, CSV is your bridge. Export your orders from your platform, upload the file to Shippo, and buy labels in bulk. It's the same result as a native integration, without any setup.
You already use a platform, and it exports CSV. Nearly every major e-commerce platform, marketplace, and order management system lets you export order data as a CSV file. Shopify, WooCommerce, BigCommerce, Etsy, eBay, QuickBooks, NetSuite: they all do it. If you prefer more control over which orders get labeled, want to batch-process a specific subset of orders, or just find the direct integration clunky, a CSV export and re-import into Shippo gives you a clean, predictable workflow.
You don't have an e-commerce store at all. About 74 percent of small businesses in the United States have no online store, and plenty of them ship physical goods regularly. Dental labs ship impression cases to clinics, pharmacies send medication kits to patients, print shops fulfill direct-mail campaigns, and wholesale distributors ship to retailers from a daily order export. None of these businesses sell on Shopify, but all of them can use CSV to buy labels in bulk through Shippo.
You take orders manually. Phone orders, email orders, in-person orders at a trade show. Any time you're tracking orders in a spreadsheet rather than pulling them from a connected store, CSV import turns that spreadsheet into a batch of ready-to-print labels.
CSV vs. Store Integration: Which Is Right for You?
| Situation | Best approach |
|---|---|
| Shopify, WooCommerce, Etsy, or other supported platform | Direct integration — orders pull automatically |
| Unsupported platform, but it exports CSV | CSV import — export from platform, upload to Shippo |
| Supported platform, but you want manual control over batches | CSV import — export the orders you want, upload as a batch |
| No e-commerce store (wholesale, healthcare, print, B2B) | CSV import — build your order list in a spreadsheet |
| Manual orders (phone, email, in-person) | CSV import — log orders in a spreadsheet, upload when ready |
| One-time or occasional bulk shipment | CSV import — no integration setup required |
What CSV Shipping Actually Saves You
The practical difference between buying labels one at a time and using CSV import is real, and it compounds the more often you ship.
You stop doing data entry twice. When you manually create a label, you're re-entering information that already exists somewhere else: in your order system, your spreadsheet, your ERP. CSV import eliminates that step entirely. Your data goes in once, in the file that already has it, and Shippo uses it to generate every label in the batch. That means no copying addresses by hand, no pasting between windows, and no typos from retyping data you already have.
Your whole batch ships at the same time. Creating labels one at a time means every order is its own task: click, fill, review, buy, repeat. With CSV import, 50 orders take roughly the same amount of time as one. Upload the file, review the batch, buy labels in one transaction, and download a single PDF to print. The whole thing takes about as long as creating a single label by hand.
Fewer errors reach your carriers. Manual data entry has a well-documented error rate, and in shipping, mistakes are expensive: a wrong ZIP code means a returned package and a refund request; a misspelled street means a delay and a customer service ticket. When your order data feeds directly from your source system into Shippo via CSV, the only errors that get through are the ones that were already in the source, and Shippo's upload validation flags many of those before you buy a single label.
You can rate-shop across 40+ carriers before committing. After importing your CSV, Shippo shows you rate options across USPS, UPS, FedEx, and other carriers for each order. You're not locked into one carrier because that's what your carrier account defaults to. For businesses shipping a mix of package sizes, weights, and destinations, comparing rates across the full carrier network before committing can cut your shipping costs.
The workflow gets faster every time you use it. The first upload takes a few minutes to map your columns to Shippo's fields. After that, you save the mapping as a template and every upload after that is automatic. Your file structure stays the same, Shippo applies the saved mapping, and you go straight to buying labels in about two minutes instead of ten.
What You Need Before You Upload
You need a Shippo account (free to start) and your order data in a spreadsheet. Before uploading, confirm your file has all eight required fields. Missing any one will cause the upload to fail.
Required Fields
| Field | Notes |
|---|---|
| Order number | Your own reference ID — can be any string |
| Recipient name | First and last name, or full business name |
| Street address (line 1) | Street number and name; include suite/unit here or in line 2 |
| City | Full city name |
| State | Two-letter abbreviation (e.g., CA, NY, TX) |
| ZIP / postal code | Five-digit ZIP for US; see formatting note below for other countries |
| Country | Two-character ISO code (e.g., US, CA, GB) |
| Recipient email | Use your own email if the customer's isn't available — placeholder values like "N/A" can cause a validation error |
Recommended Optional Fields
These aren't required, but including them saves significant time during label creation:
| Field | Why it helps |
|---|---|
| Weight per item + weight unit | Pre-fills the weight field on every label — no manual entry |
| Package dimensions (L x W x H) | Required for accurate DIM weight pricing on UPS and FedEx |
| Item description + declared value | Required for international shipments and insurance |
| Service level | Pre-selects the carrier service for each order; skip if you want to rate-shop after import |
Start with Shippo's CSV template. It includes all column headers and a sample row so you can see the exact format expected. Download it from the Orders tab in your Shippo account before building your own file. It's faster than starting from scratch.
How to Import Orders via CSV in Shippo
- Prepare your CSV file. Export orders from your platform or build your spreadsheet. Make sure all eight required fields are present and correctly formatted (see the formatting section below).
- Log in to Shippo and go to the Orders tab.
- Click Upload CSV in the upper-right corner of the page.
- Drag your file onto the upload area, or click Select File to browse for it.
- Map your columns to Shippo fields. Shippo shows you each column in your file and asks you to match it to the correct field (recipient name, street address, weight, etc.). This takes a few minutes the first time.
- Save the mapping as a template. After you've matched your columns, save the mapping with a name. Every future upload from a file with the same column structure will auto-apply the mapping, so there's no re-mapping needed. If you're uploading CSVs on any kind of recurring schedule, this one step saves the most time.
- Click Upload.
- Check your email. Shippo sends a confirmation with a count of successfully and unsuccessfully imported orders, plus specific error messages for any rows that failed. If some rows fail, fix those rows and re-upload just the corrected file.
How to Format Your CSV File (and Avoid Common Errors)
Formatting errors are the most common reason CSV uploads fail, and most of them are easy to prevent.
Address Formatting
- State: Two-letter USPS abbreviation only. "California" fails. "CA" works.
- Country: Two-character ISO code only. "United States" fails. "US" works.
- ZIP codes: Excel strips leading zeros from ZIP codes in states like Massachusetts, Connecticut, and New Jersey. Format the ZIP column as text before entering data, or prefix entries with an apostrophe to force text treatment.
- Countries without postal codes (e.g., Hong Kong, Ireland): Use "00000" as a placeholder — leaving the field blank causes an error.
- Military addresses (APO/FPO/DPO): City should be APO, FPO, or DPO. State should be AA, AE, or AP. A ZIP code is required.
Weight Units
Shippo accepts oz, g, lb, and kg (spelled exactly that way, lowercase). The unit must be consistent with the value: a 16 oz package and a 16 lb package are very different labels. Lock your weight unit column to a single unit across the entire file, and double-check that your source system exports in the unit you expect.
Common Upload Errors and How to Fix Them
| Error | Cause | Fix |
|---|---|---|
| Entire file fails to upload | Trailing space in a column header (e.g., "Name " instead of "Name") | Trim all header cells — no spaces after the text |
| Tracking numbers appear in scientific notation on export | Excel reformats long numbers | Open exported file in Google Sheets instead of Excel |
| "Recipient email invalid" error | Placeholder text (e.g., "N/A") entered in the email field | Use a real email address — your own if the customer's isn't available |
| Orders import but weight is blank | Weight unit column missing or mismatched | Add both a weight column and a weight_unit column |
| ZIP code errors for New England states | Excel stripped the leading zero | Reformat ZIP column as text; re-enter affected ZIP codes |
| File fails on a specific row | Blank row or special character (apostrophe, ampersand) in that row | Delete blank rows; strip special characters from address fields |
Test with a small batch first. Before uploading a 500-row file, upload five rows. If the mapping is off or a column is formatted incorrectly, you'll catch it on row one instead of troubleshooting hundreds of failed records.
How to Buy Labels in Bulk After Importing
Select the orders you want to ship using the checkboxes on the left, up to 100 at a time, then click Buy Labels to open the batch purchase panel, where you can set a ship date, add signature confirmation or insurance, and apply a service level across the whole batch.
If you want to rate-shop before buying (comparing USPS, UPS, FedEx, and other carriers across your orders), you can review rate options for each order before committing. Shippo shows discounted rates across 40+ carriers, which are lower than retail rates at the post office or a carrier's counter.
Once you confirm, Shippo generates all labels at once and downloads them as a single PDF you can print in batches. If you're running high volume, print in the same order as your packing list to avoid mismatched labels and packages.
Industries That Run on CSV Shipping
The businesses that use CSV shipping most heavily have one thing in common: their orders originate outside a connected storefront.
Dental and orthodontic labs. Dental labs ship impression cases, crowns, aligners, and appliances back to the clinics that ordered them, often daily, to a consistent set of addresses that doesn't change much week to week. A saved CSV template with the lab's regular recipients, pre-populated with standard package weights, turns a morning's worth of manual label creation into a two-minute upload.
Pharmacies and medical suppliers. Mail-order pharmacies and home health equipment providers ship to patients from internal dispensing systems, not Shopify stores. Their systems export patient shipment data as a file that goes into Shippo, and the pharmacy doesn't need to re-enter a single address by hand.
Print shops and direct mail. A print shop fulfilling a client's direct-mail campaign already has the mailing list in a spreadsheet, because that list is the campaign. The same file that defines who gets the mailing becomes the CSV that generates the labels, with no separate data entry step.
Wholesale distributors. B2B distributors receive orders through email, EDI, or their ERP system, not a consumer storefront. At the end of each day, they export that day's orders, upload the file to Shippo, and buy all the labels in one batch. The process takes a few minutes instead of a full afternoon of one-at-a-time label creation.
Frequently Asked Questions
Can I save my column mapping for future CSV uploads?
Yes. After you map your columns to Shippo fields during the first upload, you can save the mapping as a named template. On every subsequent upload from a file with the same column structure, Shippo applies the saved mapping automatically, so there's no manual re-mapping needed.
What happens if some orders fail to import?
Shippo sends an email after every upload with a count of successful and failed rows, plus a specific error message for each failed row. Fix the errors in your file and re-upload just the corrected rows. You don't need to re-upload the entire batch.
Is there a limit to how many orders I can import at once?
You can import a large number of orders per CSV file. For very large lists, consider splitting into smaller batches to keep uploads manageable. For buying labels, you can select and purchase up to 100 orders at a time from the Orders page.
Do I need a store integration to use Shippo?
No. CSV import is a standalone feature. You don't need to connect a store to use Shippo. Sign up, upload a CSV, and start buying discounted labels without any integration setup.
Can I compare carrier rates for orders imported via CSV?
Yes. After importing, you can review rate options across Shippo's carrier network before purchasing. This lets you choose the most cost-effective service level for each order or apply a consistent service level across the whole batch.
My platform has a Shippo integration — should I still use CSV?
If the integration is working well and you want orders to flow automatically, keep using it. But CSV is a useful fallback when you want to batch-process a specific subset of orders, the integration is delayed, or you're handling a one-time bulk shipment outside your normal workflow. Since your platform already exports CSV, the extra step is minimal.
A consistent file structure and a saved column mapping turn what used to be an afternoon of data entry into a few minutes of work, on any recurring schedule.
If you're shipping physical goods and managing orders in a spreadsheet, Shippo's multi-carrier discounts and batch label tools are built for exactly this workflow.
Looking for a multi-carrier shipping platform?
With Shippo, shipping is as easy as it should be.
- Pre-built integrations into shopping carts like Magento, Shopify, Amazon, eBay, and others.
- Support for dozens of carriers including USPS, FedEx, UPS, and DHL.
- Speed through your shipping with automations, bulk label purchase, and more.
- Shipping Insurance: Insure your packages at an affordable cost.
- Shipping API for building your own shipping solution.
Stay in touch with the latest insights
Be the first to get the latest product releases, expert tips, and industry news to help you save time and money on shipping.







