> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ycloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Shipping Import

> This article explains how to use a CSV file in Shop to bulk import or update shipping information for existing orders (carrier, tracking number, tracking URL).

# Shipping Import

## What you can do

* This feature applies only to **existing orders** in your shop and is used to update their shipment status and logistics information. **It does not create new orders for the shop!**
* You can update: shipment status, carrier, tracking number, and tracking URL.
* For **physical product** orders: upon successful import, orders will be marked as **Shipped**, and logistics information will be visible to customers.
* For **virtual/digital product** orders: orders are simply marked as **Shipped** without requiring tracking number or tracking link.

***

## Before you start

To ensure a smooth fulfillment process, complete the following setup first:

* Create your shop, add products, set up shipping templates and payment methods (COD / PayPal).
* It’s recommended to familiarize yourself with the **Orders → Fulfillment / Mark as Paid (COD) / Refunds & Returns** workflow. [Review the order workflow](/en/documentation/shop/orders/index).

***

## Download template

On the **Shop → Orders** page, click **Import Shipping Info** to open the modal, then click **Template**.

<Frame caption="Select Import Shipping Info on the Orders page. The demo shop shown has no orders.">
  <img src="https://mintcdn.com/lchnan/gXEJIQXV2JH2VUQJ/product-assets/english-help-2026-09-22/shop-orders-import-entry-annotated.svg?fit=max&auto=format&n=gXEJIQXV2JH2VUQJ&q=85&s=ad2beb5c8a3520b83d431432801b79d0" alt="Shop Orders page with Import Shipping Info highlighted." width="3024" height="1656" data-path="product-assets/english-help-2026-09-22/shop-orders-import-entry-annotated.svg" />
</Frame>

<Frame caption="Download the CSV template before filling in shipping information for existing orders.">
  <img src="https://mintcdn.com/lchnan/gXEJIQXV2JH2VUQJ/product-assets/english-help-2026-09-22/shop-shipping-import-dialog-annotated.svg?fit=max&auto=format&n=gXEJIQXV2JH2VUQJ&q=85&s=7af210f242490ff42d20fc5ae0b8323d" alt="Import Shipping Info dialog with the Template download button highlighted." width="3024" height="1656" data-path="product-assets/english-help-2026-09-22/shop-shipping-import-dialog-annotated.svg" />
</Frame>

**Template filling notes:**

* Only CSV format is supported.
* Maximum file size: **15 MB**, maximum **1,000 rows**.
* Only **one file per upload** is allowed.

***

## Fields in shipping-import template

| Column | Description | Physical Example | Virtual Example |
| - | - | - | - |
| `Order_ID` | System-generated unique order identifier. **Required** | 100001250814000155 | 100001250814000153 |
| `Shipping_Carrier` | Carrier name such as SF, J\&T, DHL, etc. Required for physical orders; leave blank for virtual orders | FedEx | (leave blank) |
| `Tracking_Number` | Tracking number. Required for physical orders; ignore for virtual orders | 1234 5678 9012 | (leave blank) |
| `Tracking_Url` | Tracking link customers click to view logistics. Required for physical orders; leave blank for virtual | [https://www.fedex.com/wtrk/track/?trknbr=123456789012](https://www.fedex.com/wtrk/track/?trknbr=123456789012) | (leave blank) |

***

## Upload & processing

**1. Prepare to upload**

Click **Upload**, which opens a file selector.

<Frame caption="Select Upload after preparing your CSV. No file has been uploaded in this example.">
  <img src="https://mintcdn.com/lchnan/gXEJIQXV2JH2VUQJ/product-assets/english-help-2026-09-22/shop-shipping-import-upload-annotated.svg?fit=max&auto=format&n=gXEJIQXV2JH2VUQJ&q=85&s=7925cc75da781ced1886554e7db26282" alt="Import Shipping Info dialog with Upload highlighted." width="3024" height="1656" data-path="product-assets/english-help-2026-09-22/shop-shipping-import-upload-annotated.svg" />
</Frame>

Please note the requirements on the upload modal:

* CSV format
* Up to **15 MB** and **1,000 rows**
* Only **one file per upload**

***

**2. Select file, start upload**

Choose a CSV file and click **Open**.

<Frame>
  <img src="https://mintcdn.com/lchnan/AlSk34JesCiO_ZYy/product-assets/ed0a81d5b7-shipping-info-filepicker.webp?fit=max&auto=format&n=AlSk34JesCiO_ZYy&q=85&s=8664bb427acb1a42a9b6e93791afcce9" alt="File picker for selecting a CSV file" width={760} data-path="product-assets/ed0a81d5b7-shipping-info-filepicker.webp" />
</Frame>

Once the template passes validation, data import begins automatically and the result display appears (see step 4). If validation fails, an error message will appear and import will not proceed.

***

**3. File validation fails**

If the CSV doesn’t meet import requirements, no data will be imported.\
You’ll receive a clear error message and need to correct the file.

<Frame>
  <img src="https://mintcdn.com/lchnan/7IqVC2giQEcOq6-5/product-assets/25c9cd53e9-shipping-info-error-csv.webp?fit=max&auto=format&n=7IqVC2giQEcOq6-5&q=85&s=5a7f17fed2a17a0bf7ea2e3fde0fa6ae" alt="CSV validation error alert" width={760} data-path="product-assets/25c9cd53e9-shipping-info-error-csv.webp" />
</Frame>

Refer to the **file-level validation rules** below. If checks pass, data import begins (may take longer for large files—please wait).

<Frame>
  <img src="https://mintcdn.com/lchnan/6CxA7mK2t7klNAOL/product-assets/a936a5d2d4-shipping-info-file-uploading.webp?fit=max&auto=format&n=6CxA7mK2t7klNAOL&q=85&s=13fb57d6561f28a1ee0121e665e44cc9" alt="CSV import processing status" width={760} data-path="product-assets/a936a5d2d4-shipping-info-file-uploading.webp" />
</Frame>

***

**4. File imported successfully**

After import completes, the system displays:

* Number of success rows
* Number of failed rows

Click **Download Error Report** to get a CSV of only the failed rows, including error reasons.

***

## Field descriptions (template columns)

| Column | Description |
| - | - |
| `Order_ID` | System-generated unique order identifier, used to match existing orders. |
| `Shipping_Carrier` | Carrier name such as SF, J\&T, DHL, etc. |
| `Tracking_Number` | Tracking number. Required for physical product orders; ignored for digital. |
| `Tracking_Url` | Tracking link customers click on to view logistics. |
| `import status` | `failed` (default) means this row was not imported. |
| `error message` | Provides specific reason for import failure—for example, “Order ID not found.” |

***

## Validation & error report

The system performs both file-level and row-level validations:

**File-level validation**

* Missing or mismatched header → `Invalid template header`
* Non-CSV type → `Unsupported file type`
* File is empty or has no valid rows → `No valid entries found`
* File exceeds size or row limits → `Maximum allowed size is 15 MB and 1,000 rows`
* Uploading multiple files at once → `Please upload only one file at a time`

**Row-level validation**

* Empty, not found, or mismatched `Order_ID` → `Order not found`
* Duplicate `Order_ID` in the file → `Duplicate Order ID; skipped`
* Missing or malformed `Tracking_Number` for physical items → `Invalid Tracking Number`
* For digital orders, logistics fields are skipped and the order is marked as shipped

**Example failure report (CSV):**

```csv theme={"theme":{"light":"github-light","dark":"github-dark"}}
Order_ID,Shipping_Carrier,Tracking_Number,Tracking_Url,Result,Reason
412341234,,,,Failed,"Missing shipping data"
634563456354635,,,,Failed,"Order not found"
```

> If network or system errors occur, the system may show a generic error message—please retry a few minutes later.

***

## Frequently Asked Questions

<Accordion title="Can I import again after an order is already marked as Shipped?">
  Yes. You can upload the order again in a later import to update its logistics information.
</Accordion>

<Accordion title="Do virtual or digital products require tracking fields?">
  No. These orders are marked as shipped, and the logistics fields are ignored.
</Accordion>

<Accordion title="Which payment methods are currently supported?">
  Shop supports **Cash on Delivery (COD)** and **PayPal Wallet**.
</Accordion>

<Accordion title="Excel converted a long Order_ID into scientific notation, such as 1.23E+17. How do I avoid that?">
  Set the `Order_ID` column to **Text**, or prepend an apostrophe (`'`) in Excel to preserve the value correctly.
</Accordion>

<Accordion title="What happens to rows with errors during import?">
  These rows are skipped, and a failure report is generated with specific error reasons. Correct the rows and upload them again.
</Accordion>

<Accordion title="What happens if the same Order_ID appears more than once in one file?">
  Duplicate rows are skipped. Keep one row per `Order_ID`. To update logistics information for an order that is already marked as **Shipped**, upload it again in a later import using a single row.
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.