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

# Upload orders from a spreadsheet

> Create multiple orders from an Excel or CSV file in the Sparqle dashboard.

Use a spreadsheet upload when you need to create multiple orders without an API integration. Each row creates one order for the company currently selected in the dashboard.

<Card title="Download the spreadsheet template" icon="file-excel" href="/files/order-upload-template.xlsx">
  Start with the XLSX template containing the supported column headers and an example order.
</Card>

## Before you start

* Sign in to the Sparqle dashboard with your company account.
* Find your pickup location ID (`locationId`) under **Settings → API**.

<Note>
  Every `locationId` in the spreadsheet must belong to your company.
</Note>

## Get labels for uploaded orders

To generate labels during an upload, go to **Settings → Company**. Under **Labels**, enable **Upload labels** and save the setting before uploading your spreadsheet.

Uploads are limited to 1,000 orders while label generation is enabled.

After the upload finishes, Sparqle creates one PDF containing the labels for all successfully created orders. Download it using the **Labels PDF** button in the upload window or under **Recent company uploads**.

The user who submitted the spreadsheet also receives a completion email with a link to the upload in the dashboard. The labels PDF is downloaded from the dashboard and is not attached to the email.

## Prepare the spreadsheet

The uploader accepts `.xlsx`, `.xls`, and `.csv` files. For Excel files, only the first worksheet is imported. Keep the column names exactly as shown below and place one order on each row.

### Required columns

| Column               | Description                 | Example           |
| -------------------- | --------------------------- | ----------------- |
| `orderRef`           | Your unique order reference | `ORDER-1001`      |
| `locationId`         | Sparqle pickup location ID  | `XXXXXXXXX`       |
| `deliveryStreet`     | Recipient street            | `Soerapatistraat` |
| `deliveryNumber`     | Recipient house number      | `100`             |
| `deliveryPostalCode` | Recipient postal code       | `1018PN`          |
| `deliveryCity`       | Recipient city              | `Amsterdam`       |
| `deliveryCountry`    | Two-letter country code     | `NL`              |

### Optional columns

| Column                      | Description                                        |
| --------------------------- | -------------------------------------------------- |
| `name`                      | Parcel or product name                             |
| `description`               | Parcel description                                 |
| `length`, `width`, `height` | Parcel dimensions                                  |
| `weight`                    | Parcel weight                                      |
| `pickupNote`                | Pickup instructions                                |
| `deliveryName`              | Recipient name                                     |
| `deliveryEmail`             | Recipient email address                            |
| `deliveryPhone`             | Recipient phone number                             |
| `deliverySuffix`            | House number suffix                                |
| `deliveryNote`              | Delivery instructions                              |
| `deliveryDate`              | Requested delivery date, formatted as `YYYY-MM-DD` |
| `signature`                 | Whether a signature is required                    |
| `notAtNeighbour`            | Whether delivery to a neighbour is prohibited      |

## Upload the orders

<Steps>
  <Step title="Open the uploader">
    Go to **Orders** in the dashboard and select **Upload orders**.
  </Step>

  <Step title="Choose the spreadsheet">
    Drop the file into the upload area or select it from your device. The dashboard checks the file type, headers, and number of rows before submission.
  </Step>

  <Step title="Confirm the upload">
    Check the detected row count, then select **Upload orders**. The orders are queued and processed in the background.
  </Step>

  <Step title="Follow the progress">
    The uploader shows how many rows are processed, successful, or failed. You can close the window and return later; recent uploads are shared with other users in the same company.
  </Step>
</Steps>

## Review the result

An upload finishes with one of these results:

* **Completed**: every row created an order.
* **Completed with errors**: some rows succeeded and some failed.
* **Failed**: the upload could not finish.

Download the **Report** from the completed upload to review the created orders and any failed rows. The XLSX report contains separate **Successful Orders** and **Failed Orders** worksheets.

When **Upload labels** was enabled before submission, the completed upload also provides the **Labels PDF** described above.

<Warning>
  Reports and label PDFs are available for 30 days. The upload remains visible in company history after its downloads expire.
</Warning>

To correct failed rows, update them in a new spreadsheet and upload that file. Do not include rows that already succeeded, because they would create new orders again.
