# Quotes

Master data for validating quote numbers. Workist can recognise quote numbers and validate them against the provided master data. Workist uses quotes for orders: it matches orders against the referenced quote, takes over the customer from the quote, and prefills orders without line items from the quote. [Matching with order and quote data](/en/docs/channel-configuration/document-processing/matching.md) describes how this works in detail.

## Column Description

> **Required:** Workist cannot use the record without this column. **Recommended:** significantly improves recognition. The import itself does not check columns: if a column is missing, the field stays empty.

### Header Level

| # | Field Name | Status | Description |
|---|----------|--------|--------------|
| 1 | `partition_id` | <span class="status-recommended">Strongly recommended</span> | `client_id1` of the customer. Not mandatory, but very strongly recommended so that only this customer's quotes can be selected. |
| 2 | `offer_number` | <span class="status-required">Required</span> | Quote number |
| 3 | `valid_from` | <span class="status-optional">Optional</span> | Valid from. Not checked during matching. |
| 4 | `valid_until` | <span class="status-optional">Optional</span> | Valid until. Not checked during matching: expired quotes are found as well. |

### Line Item Level

Workist can also match quotes at line item level. For this purpose, the header fields must be repeated for each line item.

| # | Field Name | Status | Description |
|---|----------|--------|--------------|
| 1 | `position_number` | <span class="status-recommended">Recommended</span> | Line item number in the quote |
| 2 | `article_id1` | <span class="status-recommended">Recommended</span> | Article number |
| 3 | `article_id2` | <span class="status-optional">Optional</span> | Alternative article number 2 |
| 4 | `article_id3` | <span class="status-optional">Optional</span> | Alternative article number 3 |
| 5 | `article_description` | <span class="status-recommended">Recommended</span> | Article description |
| 6 | `quantity` | <span class="status-recommended">Recommended</span> | Quantity |
| 7 | `unit` | <span class="status-recommended">Recommended</span> | Unit |
| 8 | `extra_data` | <span class="status-optional">Optional</span> | Additional information as a JSON object. Only importable if your file already uses the Workist column names and the import configuration has no column mapping. Workist uses the `higher_level_position` entry to recognise set components. |

:::note Expired quotes
Since Workist does not check validity during matching, only deliver quotes that are still valid. Remove expired quotes from your export; with the next full import they disappear from Workist.
:::

Workist stores quantities with at most two decimal places; further digits are rounded.

## Format

> Columns that are not needed can be omitted from the data export.

Example file name: `offer_list.csv`

```csv
partition_id;offer_number;valid_from;valid_until;position_number;article_id1;article_description;quantity;unit
K001;ANG-2024-001;2024-01-01;2024-12-31;1;ART001;Schrauben M8x20 100er Pack;500;Packung
K001;ANG-2024-001;2024-01-01;2024-12-31;2;ART002;Dübel 8mm 50er Pack;200;Packung
K002;ANG-2024-002;2024-01-01;2024-06-30;1;ART003;Bohrmaschine XL Pro;10;Stück
```

The example uses `;` as delimiter. Set the delimiter in the [import configuration](/en/docs/master-data/transformer-configuration.md); without a setting, Workist expects a comma.

Write dates as `YYYY-MM-DD` or with the day first (`31.12.2024`), see [How Workist normalises values during the import](/en/docs/master-data.md#werte-vereinheitlichen).

Via the API you send the same columns as a CSV file or as JSON. Endpoint: [Swagger](https://api.workist.com/v1/swagger/#/Master%20Data/offer_matching_imports_create), basics: [Using the Master Data API](/en/docs/api-documentation/master-data-api.md).
