> For the complete documentation index, see [llms.txt](https://learn.moselle.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.moselle.io/planning-and-execution/orders/upload-an-order.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
