# Import a sale from a spreadsheet

> Turn a list of product codes and quantities into one sale: the CSV's shape, the sale's details, the preview and Submit.

*Section: Selling · Updated: 2026-10-19*

When an order arrives as a list, from a customer's email or another system, you can turn the list into a sale without typing each line. By the end you will have imported one sale from a CSV file of product codes and quantities.

## Prepare the file

The file is a CSV with two columns, separated by semicolons (;), and a header line:

```
productcode;qty
DEMO-GRO-023;10
DEMO-GRO-005;6
```

- **productcode** is each product's code, as in **Products › All Products**.
- **qty** is how many.
- **Download example** on the page gives you a file in this shape.

One file makes one sale.

## Import it

1. **Open [Sales › Import Sales](/app/sales/import_sales).**
2. **Fill the sale's details.** **Date**, **Customer** and **Warehouse** are required, and **Status** starts on **completed**. **Sales Agent**, **Order Tax**, **Discount**, **Shipping** and **Note** are optional.
3. **Add the file.** Click the **CSV IMPORT** box or drop the file on it. Only .csv files are taken.
4. **Check the preview.** Each line shows the code, the product's name, the quantity, its price and subtotal, with the total below. **Remove** takes the file away to choose another.
5. **Click Submit.** You land on **All Sales**, with the new sale at the top.

![Import Sales: the sale's details with Date, Customer Bright Future School, Warehouse Default Warehouse, Sales Agent, Status completed, Order Tax, Discount, Shipping and Note.](https://armpos.online/storage/help/16b8c85764-import-sales-1-details.webp)
*The sale's details first: who, where, and its status.*

![The CSV IMPORT box holding import-sale-school.csv, and its preview: Rice 10, Cooking Oil 6 and Tissue Paper Box 12, each with price and subtotal, a total of 119.72 and the Submit button.](https://armpos.online/storage/help/d80770df51-import-sales-2-preview.webp)
*Check the preview: these are the lines the sale will have.*

The prices are each product's own selling price. The sale is saved unpaid: take the money with **Create Payment** in its menu (see [Take payments and print receipts](/app/help/take-payments-and-print-receipts)).

> **Warning:** A completed sale takes its stock out. If the warehouse doesn't hold enough of a product, the import is refused with "Insufficient stock for one or more products", naming them, and nothing is saved.

## What's next

[The sales list](/app/help/the-sales-list).
