# Upload an Order

{% hint style="info" %}
**Quick Answer:** To upload an order in Moselle, go to **Orders**, click **+ Create Order**, select **Upload Purchase Orders**, upload your CSV or XLSX, map the columns to Moselle fields, and click **Import**. Your purchase orders will appear on the Orders page immediately.
{% endhint %}

**Time Required:** 5 minutes

### Required Data Fields

Your file must include these columns for a successful upload:

| Column Header         | Description                                                  | Format / Notes                                   |
| --------------------- | ------------------------------------------------------------ | ------------------------------------------------ |
| SKU                   | The unique product identifier or stock keeping unit          | Must exactly match a SKU in your Moselle catalog |
| Product Name          | The name of the product being ordered                        | Text                                             |
| Unit Cost             | The cost per individual unit                                 | Number (e.g. `12.50`) — no currency symbols      |
| Total Cost            | The total cost for the line item (Unit Cost × Item Quantity) | Number (e.g. `125.00`) — no currency symbols     |
| Purchase Order Number | The unique identifier for this purchase order                | Text or number                                   |
| Item Quantity         | The number of units being ordered                            | Whole number                                     |
| Target Delivery Date  | The expected delivery date for this order                    | `YYYY-MM-DD` (e.g. `2025-06-30`)                 |
| Supplier              | The supplier fulfilling this order                           | Must exactly match a supplier name in Moselle    |

### Steps

1. **Navigate to Orders** → Click "+ Create Order" → Select "Upload Purchase Orders"
2. **Upload your file**
   1. Select a CSV or XLSX file containing headers that match Moselle fields
   2. Ensure all required fields listed above are included
3. **Map your columns**
   1. Match your file's column headers to Moselle data fields using the dropdown selectors
   2. Use "Custom Field" for columns without matching fields
4. **Import**
   1. Click "Import"
   2. Refresh the Orders page to see your new purchase orders

### Troubleshooting Upload Errors

| Error Message                                         | Common Cause                                                        | Solution                                                                                                                   |
| ----------------------------------------------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| SKU not found                                         | The SKU in your CSV doesn't match any item in Moselle.              | Check for typos, extra spaces, or case sensitivity in your CSV.                                                            |
| Supplier not found                                    | The supplier name doesn't match any supplier in Moselle.            | Go to **Operations → Suppliers** and add the supplier first, then re-upload.                                               |
| The file contains rows with more columns than headers | Unescaped commas in data, causing rows to split into extra columns. | Wrap any fields containing commas (e.g. `"1,000"` or multi-word names with commas) in double quotes, or remove the commas. |
| Invalid date format                                   | Dates are not in the required `YYYY-MM-DD` format.                  | Reformat your date column to `YYYY-MM-DD` (e.g. `2025-06-30`) before uploading.                                            |

## Related Guides

{% content-ref url="/pages/RjoikPkwhOLfvtx8j6VZ" %}
[Create an Order](/planning-and-execution/orders/create-an-order.md)
{% endcontent-ref %}

{% content-ref url="/pages/WU5tXVfWs5RgoFKK72Pr" %}
[Receive a Purchase Order](/planning-and-execution/orders/receive-a-purchase-order.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.moselle.io/planning-and-execution/orders/upload-an-order.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
