Dropship orders reference
This page is for retailers who send orders through their supplier's Customer Portal. If you run SKU.io yourself and want one of your own suppliers to ship an order for you, see Create a dropship request.
This page is for retailers who send dropship orders on the portal, and for the suppliers who support them. You are the retailer, your supplier is the business that runs the portal and ships your orders, and your customer is the shopper who bought from your store. You send dropship orders in one of three ways, and your supplier can add a fourth:
- at checkout: see Place a dropship order at checkout;
- by CSV upload: see Upload dropship orders from a CSV;
- by API: see Connect your store with the dropship API and feed;
- by EDI, when your supplier receives your purchase orders through SPS Commerce: see Ship SPS dropship purchase orders blind.
Every route applies the same rules, so a rule appears once below, with its message.
CSV template columns
Click Download template on the Upload tab for a file with these 16 columns. Each row is one item; rows with the same order number make one order. Column headers aren't case-sensitive, extra columns are ignored, and the columns can be in any order.
| Column | Required? | What to put in it | Message when it's wrong |
|---|---|---|---|
order_number | Required | Your own order number, such as your store's order number. It's how you and your supplier find the order. Up to 128 characters. | Add your order number in the order_number column. |
sku | Required | Your supplier's SKU, as shown in the portal catalog. Not case-sensitive. | Add a SKU. |
quantity | Required | A whole number of 1 or more. 2 and 2.0 are both fine. | Quantity must be a whole number of at least 1 (got "x"). |
ship_name | Required, unless ship_company is filled | Your customer's name. | Ship-to is missing a recipient name. |
ship_company | Optional | Your customer's company. | |
ship_address1 | Required | Street address. | Ship-to is missing a street address. |
ship_address2 | Optional | Apartment, suite or unit. | |
ship_city | Required | City. | Ship-to is missing a city. |
ship_state | Required | State or province, as a code (OR) or a full name (Oregon). | Ship-to is missing a state. |
ship_zip | Required | ZIP or postal code. | Ship-to is missing a ZIP code. |
ship_country | Optional | A 2-letter code (US), a 3-letter code (USA) or a country name (United States). Leave it blank for your supplier's home country. | We don't recognise the country "X". Use its name or 2-letter code, such as US or DE. |
ship_phone | Optional; required for an order to another country | Your customer's phone number, for the carrier. | International dropship orders need the recipient's phone number for the carrier. |
ship_email | Optional | Your customer's email. If your supplier sends your customer a shipped email, it goes here; without it, no email is sent. | |
service | Optional | The shipping service. Leave it blank for your default service, or enter a service's name, part of its name (ground), or its number. Spaces and punctuation are ignored. | "x" is not one of your dropship shipping services. |
gift_message | Optional | A message to print on the packing slip, up to 500 characters. | Gift messages can be up to 500 characters. |
notes | Optional | A note to your supplier. It doesn't print on the slip. |
Shopify order export
You can upload a Shopify Export orders CSV as it is. The portal recognises it by its Name, Lineitem sku, Lineitem quantity and Shipping Address1 columns, and reads these columns:
| Shopify column | Used as |
|---|---|
| Name | Your order number. The leading # is removed, so #1048 becomes 1048. |
| Lineitem sku | SKU |
| Lineitem quantity | Quantity |
| Shipping Name, Shipping Company | Your customer's name and company |
| Shipping Address1, Shipping Address2, Shipping City | Street address and city |
| Shipping Province | State |
| Shipping Zip | ZIP code. The apostrophe Shopify adds to keep a leading zero is removed. |
| Shipping Country, Shipping Phone | Country and phone |
| Your customer's email | |
| Shipping Method | Shipping service. When it isn't one of your dropship services (Shopify exports usually say something like "Standard Shipping"), the order uses your default service and gets a warning instead of an error. |
| Notes | A note to your supplier |
Every other column is ignored, and a Shopify export has no gift message column. Filter the export in Shopify to unfulfilled orders before you download it, so you don't send orders you've already shipped.
File limits
| Rule | Message |
|---|---|
The file is a .csv or .txt file, comma separated. Save spreadsheets (Excel, Numbers) as CSV first. | Upload a CSV file. Save spreadsheets (Excel, Numbers) as CSV first. |
| The file is 5 MB or smaller. | The file is larger than 5 MB. Split it into smaller files. |
| The file has 2,000 rows or fewer, not counting blank rows. | This file has more than 2,000 rows. Split it into smaller files and upload each one. |
| The file is readable as UTF-8 text. | We couldn't read this file. Save it as CSV (comma separated, UTF-8) and upload it again. |
The file has the template's order_number, sku and quantity columns, or is a Shopify order export. | The file needs the columns order_number, sku and quantity (download the template), or a Shopify order export. |
| The file has at least one order under its header row. | The file has a header row but no orders. |
Row numbers in messages count the header as row 1, so the first order is on row 2.
How rows become orders
- Rows with the same order number are one order. Order numbers aren't case-sensitive.
- An order's rows must be next to each other. If the same number turns up again further down, you get Order 1048 appears in more than one place in the file (rows 2, 9). Keep each order's rows together, or give the second order its own number.
- The ship-to address comes from the order's first row. Later rows can repeat it or leave it blank, but can't change it: Rows for #1048 have different ship-to addresses.
service,gift_messageandnotescome from the first row that fills them in.- The same SKU on several rows of one order is added up into one line.
Rules every dropship order must pass
These rules apply at checkout, in a CSV, through the API and over EDI. An order that breaks one is refused, and nothing is created.
Dropship and the route must be turned on
| When | Message |
|---|---|
| Your supplier hasn't turned on dropship for your account | Dropship is not enabled for your account. Contact us to set it up. On the Dropship pages and the API: Dropship is not enabled for your account. Contact your account manager to set it up. |
| Dropship is on, but not for checkout | Dropship at checkout isn't turned on for your account — ask your supplier. |
| Dropship is on, but not for CSV upload | CSV upload isn't turned on for your account — ask your supplier. |
| Dropship is on, but not for the API | The dropship API isn't turned on for your account — ask your supplier. |
| Dropship is on, but not for EDI | EDI dropship orders aren't turned on for this account — ask your supplier. |
| Your account is still in preview | Your account is in preview — pricing and stock are live; ordering opens after approval. |
| Your account is pending or suspended | This account is not active, so it cannot place orders. Contact us to reactivate it. |
A route that's turned off is also hidden: no dropship switch at checkout, no Upload tab, no API keys. Your account's standing is checked again when a CSV batch or an EDI order is processed, so if dropship is turned off part-way through a large CSV, the orders already created stay and the rest fail.
Your order number
- Every order needs your order number: Enter your order number. It can be up to 128 characters: Your order number can be at most 128 characters.
- You can use a number only once while its order is open, whichever route sent it. Orders that have shipped, or are waiting for approval inside your company, still count. Once an order is cancelled, its number is free again. Another retailer using the same number doesn't matter.
- Sending a number again never edits the first order or creates a second one:
- At checkout, the order number field says Already used on and the earlier order's number, and your cart is kept.
- In a CSV, the order shows You already sent order 1048 (SO-…). in the preview, and Already sent in the results.
- Through the API, you get the first order back, marked as a duplicate.
- To change an order you've sent, cancel it and send it again, or ask your supplier.
Products, prices and stock
Every line is checked, and every problem is reported at once.
| Rule | Message |
|---|---|
| The SKU is in your portal catalog. In a CSV, a close match is suggested. | SKU X was not found. In a CSV: SKU X was not found. Did you mean Y? |
| Your supplier lets you dropship the product. | X can't be dropshipped. |
| The product has a price for your account. | X has no price for your account — contact us. |
| There's enough stock, unless the product can be backordered. | X now has N available. |
| The order has at least one item. | Add at least one item to the order. In a CSV: This order has no items. |
A product that can be backordered is accepted when stock is short and ships when stock arrives; a CSV shows a warning for it. Minimum order quantities and case packs don't apply to dropship orders.
Your customer's address
An address that's missing a part is refused: The ship-to address is missing a recipient name, a street address, a city, a state, a ZIP code or a country. A name or a company is enough for the recipient. A state name is turned into its code.
These problems give a warning only. The order still goes through, and the warning is noted on it so your supplier sees it too:
| Warning | When |
|---|---|
| US ZIP codes are 5 or 9 digits. | And the same check for Canada (Canadian postal codes look like A1A 1A1.), the UK, Australia, New Zealand, Germany, France and Mexico |
| "XX" isn't a state or province we recognise for US. | The state code isn't a real one for the country. |
| Most carriers can't deliver to PO Boxes. Use a street address or ship with USPS. | The address is a PO Box and the service isn't USPS. When the service names a carrier, the warning names it too. |
| We couldn't check this address right now — you can still place the order. | The address check itself failed. |
Checking an address never saves it to your address book. A dropship order always ships to your customer's address, whatever your account's ship-to setting says. See Control where buyers can ship.
Orders to another country
Dropship orders ship within your supplier's home country unless your supplier allows international dropship for your account. Otherwise the order is refused: Dropship orders ship within US only. Ask your supplier to allow international dropship to send this order to DE. When international dropship is allowed, the order needs your customer's phone number for the carrier: International dropship orders need the recipient's phone number for the carrier.
Shipping service and gift message
- The service must be one of the services your supplier allows for your dropship orders: That shipping service is not offered for dropship orders. Choose one of the allowed services.
- A gift message can be up to 500 characters on every route. At checkout: The gift message can be at most 500 characters.
Minimum order, credit and approval
- A minimum order value applies unless your supplier exempts your dropship orders from it: Your order subtotal is below the minimum of … Add … more to check out.
- Your credit limit always applies: This order would exceed your available credit of … or, when your account is on credit hold, Your account is on credit hold. Please contact us to place orders. A credit problem when you send the order refuses it. A credit hold placed later on an order that already exists puts it On hold instead (see below).
- If your company makes bigger orders wait for approval, dropship orders sent at checkout, by CSV and through the API wait too. The ship-by date starts when the order is approved. EDI orders don't wait. See Require approval for portal orders.
CSV upload messages
After you upload a file, each order in the preview is Ready, Warning (it will be placed, but look at it) or Error (it won't be sent).
Errors (the order is not sent):
- Your order number is missing, already used, split across the file, or its rows have different ship-to addresses.
- The ship-to is missing a part, or its country isn't recognised.
- The order goes to another country your supplier doesn't allow, or to an allowed country without a phone number.
- The service isn't one of your dropship services (template files only).
- The gift message is over 500 characters.
- A line has no SKU, a bad quantity, an unknown SKU, a product you can't dropship, no price, or not enough stock.
- The order has no items.
The exact messages are in the tables above.
Warnings (the order is sent):
- Any of the address warnings above.
- X is short by N — it will be backordered and ship when stock arrives.
- "Standard Shipping" is not one of your dropship shipping services, so this order uses … (Shopify exports only).
Checked again only when you submit. Stock and prices can change between the preview and Submit, so every order is checked again then. These checks happen only at submit, so an order marked Ready can still fail: an order number longer than 128 characters, the minimum order value, and your credit limit.
Results. After submitting, each order shows Created, Already sent or Failed with its reason. The Error rows CSV has every row that wasn't created, in the template's columns plus an error column, with each row's own address. Fix the rows and upload the file again.
Order statuses
Your dropship orders show one of these statuses on the Dropship → Orders tab. The tracking file you download and the API use the code in the last column.
| Status | Means | Code |
|---|---|---|
| Received | Your supplier has the order, and its warehouse hasn't started on it. You can still cancel it. | received |
| Processing | The warehouse has started: a shipment exists, the order went to a warehouse or 3PL, or its packing slip was printed. From here you can't cancel it on the portal; ask your supplier. An order that has shipped in part stays Processing. | processing |
| Shipped | Everything has shipped, with tracking. An order that shipped in part and had the rest cancelled ends Shipped. | shipped |
| Cancelled | The order was cancelled, by you or your supplier. | cancelled |
| On hold | Your supplier has paused the order. The reason is shown on the status and in the order's details (see below). | on_hold |
| Delivered | Reserved for carrier delivery updates, which aren't reported yet. A delivered order still shows Shipped. | delivered |
When more than one applies, the first one in this order wins: Cancelled, Shipped, On hold, Processing, Received. Each shipment of an order sends its own tracking, so a partly shipped order already has tracking for the part that left.
Why an order is On hold
| Reason shown | Code | What it means |
|---|---|---|
| Credit hold — your account is over its credit limit or has overdue invoices. | credit | Pay down open invoices, or ask your supplier. |
| Awaiting payment. | payment | Your supplier ships it once the order is paid. |
| On hold — waiting for stock at a warehouse that can ship it. | stock | The stock isn't yet at a warehouse that can ship it with your branding. Your supplier releases it. |
| Held for review by your supplier. | review | Your supplier is checking the order. |
| Billing hold — your supplier is checking the charges. | billing | Your supplier is checking the price, fee or shipping. |
| Scheduled to release on a date | scheduled | The order waits until that date. |
Your supplier releases holds from its side. For the stock hold, see Work dropship orders.
What Viewers and your supplier's staff can do
| Who | Can | Can't |
|---|---|---|
| Viewer (portal role) | See dropship orders, batches, the feed link and API keys, and download the tracking file. | Place, cancel or upload orders, submit batches, or manage the feed link or API keys. The buttons are greyed out; hover over one to see why. At checkout: Your portal role (Viewer) can browse the catalog but cannot place orders. Ask your company admin or your supplier to change your role to Buyer. |
| Buyer | Everything on the Dropship pages. | Edit packing-slip branding. |
| Company Admin | Everything, including packing-slip branding when your supplier allows it. | |
| Your supplier's staff using View portal as buyer | See your Dropship pages as you do. | Change anything: the view is read-only. |