# Channel Configuration — Line Item Fields

This guide describes how, under **Channel Configuration → Document Processing → Line Item Fields**, you define which fields Workist extracts **per line item** (e.g. per order line) from your documents, and how those fields are validated, matched, and passed to your target system.

While the **header fields** apply document-wide (order number, order date, delivery address, …), the **line item field** configuration is applied to **each individual line** of your order, invoice, order confirmation, or price request. The most important field here is usually the **article number** — it is the key Workist uses to link your Master Data (article lookup) with the data from the document.

:::note Relationship to the header fields
The layout and operation are identical — the left column lists the configured fields, and the right column shows the options of the selected field. However, there are additional line-item-specific options (article matching, quantities, units, delivery date per line item).
:::

## Prerequisites

- A Workbench account with access to the configuration of the relevant channel.
- **For article matching:** an **Article Lookup ID** is set in the **Master Data** section of the same channel and the article list is imported. **Perform lookups** is active on the article number by default. If there is no article master data, **Allow invalid IDs** decides whether the article number from the document is kept (see Step 2.3). How to configure Master Data is described in the [Document Processing overview](/en/docs/channel-configuration/document-processing.md) and in the [transformer configuration](/en/docs/master-data/transformer-configuration.md).
- For changes that affect the data format in the output file (data label name, data type), coordinate with your contact at Workist before saving — these fields are part of a mapping to the target system.

## Step 1 — Layout of the page

In the channel navigation, open the **Document Processing** section and select the **Line Item Fields** tab. The page is divided into two columns:

- **Left — "Configured fields":** The fields currently extracted per line item for this channel. Each entry shows a short note below its name (**Required** or **Optional**). Using the **+** symbol at the top right of this column, you can add more fields.
- **Right — "Configuration options for …":** The options of the field currently selected in the left column. Which options appear depends on the **field** (see Step 3).

Fields can be sorted by drag and drop. The order determines the sequence in which the fields appear in the assistance view.

:::note Required versus optional
The note below each field name (*Required* / *Optional*) is derived from the **Required** toggle in the options on the right. A required field blocks automation when it is empty or its confidence is below the threshold. An optional field only blocks when it contains a value with too low a confidence.
:::

## Step 2 — Select a field and adjust its options

In the left column, click the field you want to edit, e.g. **Article number**. The right column now shows **"Configuration options for Article number"** with all the options available for this field.

The options below are sorted into thematic blocks. Keep in mind: **not all options appear for every field** (see Step 3).

### 2.1 — General properties

You will find these options on nearly all fields.

| Option | Meaning |
| --- | --- |
| **Required** | When active, the value **must** be present in every line item and reach the confidence threshold. Otherwise the document goes into assistance. |
| **Field should not block automation when below threshold** | When active, Workist does not check this field's confidence. A value recognized with low confidence then does not send the document into assistance. A required field that is empty still sends it into assistance. |
| **Display name** | Changes how the field is labeled in assistance. Empty: default label. |

:::note No threshold per field
The threshold for line items applies to all line item fields together and is set in the **Document** tab under **Automation** (*Position lines confidence threshold (%)*). The toggle above switches the confidence check off for this specific field. The complete rule is described under [When is a document automated?](/en/docs/channel-configuration/document-processing/validation-checks.md#when-is-a-document-automated).
:::

### 2.2 — Field length

These options exist on all text fields, header fields included.

| Option | Meaning |
| --- | --- |
| **Max field length** | Maximum number of characters the field may contain. Useful for fields with a fixed length in the target system (e.g. article numbers in SAP, which may be only 18 characters long). |
| **Block automation when max field length is exceeded** | **On** (default): a value that is too long stays unchanged; the user must shorten it before completing. **Off:** Workist shortens the value to the maximum length during processing and shows a hint. The document still goes to assistance, but can be completed there without changes. |

### 2.3 — Article-specific options

These options appear on the **article number**. They control the **Master Data matching** against your article list. This is how matching works:

1. With **Perform lookups** (default: on), Workist looks up the article number or description in the article master data and in learned mappings from earlier assistance.
2. If Workist finds an article, it takes over its numbers and data. With **Reset imperfect article matches**, it only takes over exact matches.
3. If Workist finds nothing, the article number stays empty and users must pick an article from the master data in assistance. If **Allow invalid IDs** is active, the number from the document is kept instead, and users may also enter numbers that are not in the master data.

This also applies when the channel has no article master data at all: without **Allow invalid IDs**, Workist then clears every article number it does not know from learned mappings.

**Keep external article number** concerns the **customer-specific article number** (your customer's number for your article). It only appears in the output in addition to your article number if that field is configured as a line item field. All article options and their effect are listed in the table under [2.6 — Field-specific options](#26--field-specific-options).

### 2.4 — Data naming, data type, and instructions

For **custom fields**, the options **Data label name**, **Data type**, **Provide any options, …** (*choices*), **Field label name**, and **Data label instructions** also appear. They define what the field is called in the output file and how the value is validated.

Since these options are in practice almost always used in connection with **Agentic Extraction**, the detailed step-by-step guide — including data type selection, the `choices` list, sensible AI instructions, and inclusion as an output field — is documented there: **[Custom fields as the target of Agentic Extraction](/en/docs/channel-configuration/document-processing/agentic-extraction.md#custom-fields-as-the-target-of-agentic-extraction)**.

The workflow described there applies **identically** to line item fields — you simply work on this page instead of on *Header fields*, and the created field then appears **per line item** instead of once per document.

:::warning "Data label name" is immutable after saving
The name is part of the mapping to the target system (ERP/SAP/…) — if it is changed after go-live, downstream processing breaks.
:::

### 2.5 — Mapping

Some fields additionally offer a **mapping** — a table that maps values from the document to your values. Example **unit**: the texts in the document (`Stk`, `STK`, `St`, `Stück`, …) are mapped to a single unit (`STK`). The same exists for the **price unit**.

The **order** of the entries matters: units listed first are preferred when several valid units are found.

### 2.6 — Field-specific options

The following table lists all field-specific options offered on line item fields. Which ones you see depends on the channel's document type.

<!-- generated by .claude/tasks/docs-audit/scripts/field_options_table.py (en, line) -->
| Field | Option | Effect | Document types |
| --- | --- | --- | --- |
| Commission no. | **Use commission number from header as fallback** | If a line item has no commission number, Workist uses the one from the header. | Order, Order confirmation, Delivery note, RFQ |
| Delivery date | **Autofill empty delivery date** | If Workist finds no delivery date, it fills in the processing date plus this number of business days (confidence 100 %). Empty: no autofill. | Order, Order confirmation |
| Delivery date | **Processing rules** | Rules made of a condition and an expression that adjust the delivery date, e.g. per customer or taking the holiday calendar into account. The first matching rule applies. Set up rules together with Workist. | Order, Order confirmation, RFQ |
| Delivery date | **Replace delivery date range with weekday** | With the delivery date range off: the weekday within the period that is set as delivery date (default: Friday). | Order |
| Delivery date | **Use delivery date range** | On: a delivery period on the document (e.g. a calendar week) is kept as start and end date. Off (default): Workist sets a single date within the period. | Order, Order confirmation |
| Item number | **Allow invalid IDs** | Off (default): if Workist finds the number neither in the master data nor in learned mappings, the field stays empty and users must pick an article from the master data in assistance. On: the number from the document is kept. | Order, Order confirmation, Delivery note, RFQ |
| Item number | **Debitor article when different perfect matches** | If there are several exact matches, the customer-specific article wins. | Order, RFQ |
| Item number | **Keep ambiguous external article numbers** | On: customer-specific article numbers are kept even if the same number leads to different articles within one document. Off (default): they are cleared on all affected line items. | Order, Order confirmation, Delivery note, RFQ |
| Item number | **Keep external article number** | Concerns the customer-specific article number. On: the number from the document is kept even if the master data provides a different one. Off (default): on an exact match it comes from the master data. | Order, Order confirmation, Delivery note, RFQ |
| Item number | **Perform lookups** | Matches the article number against the article master data. Default: on. | all |
| Item number | **Reset imperfect article matches** | On: only exact matches are kept; fuzzy matches are discarded. | Order, Order confirmation, Delivery note, RFQ |
| Item number | **Search article also in referenced offer** | Article numbers are also matched against the articles of the referenced quote, even if they are not in the article master data. | Order |
| Item number | **Use learned article mappings from other clients** | If there is no learned article mapping for the customer, Workist suggests mappings learned for other customers with reduced confidence. Once confirmed in assistance, it is learned for this customer. | Order, Order confirmation, Delivery note, RFQ |
| Price unit | **Mapping** | Maps price units on the document (e.g. “per 100 pieces”) to your values. | Order, Invoice, Order confirmation, Delivery note |
| Quantity | **Allow decimal quantities** | Off: quantities with decimals block completion (check *Decimal quantity*). Default: on. | all |
| Quantity | **Allow zero quantities** | Off: quantity 0 blocks completion (check *Zero quantity*). Default: on. | Order, Invoice, Order confirmation, Delivery note |
| Quantity | **Max value** | Upper limit for the check **Max quantity** (default 999). Only has an effect for orders and RFQs, where this check exists. | Order, Order confirmation, Delivery note, RFQ |
| Unit | **Mapping** | Maps unit notations on the document to your units. Units listed first are preferred. | all |
| Unit price | **Allow overriding unit price with catalog price (via button)** | Together with the check *Unit price / gross price mismatch check*: in assistance, the **Use catalog price** button takes over the price from the master data. | Order |

## Step 3 — Which options appear when?

Which options are shown on the right side depends on the currently selected field. For comparison, click a quantity field in the left column — you will immediately see that the article-specific options are missing.

Rough orientation:

| Field | Typical options |
| --- | --- |
| **Article number** | General properties, field length, **article-specific options** (lookups, invalid IDs, external number, imperfect matches, …). |
| **Quantity** | General properties, **Allow decimal quantities**, **Allow zero quantities**, **Max value**. |
| **Unit**, **Price unit** | General properties, field length, **Mapping**. |
| **Delivery date** (at the line item field) | General properties, **Autofill empty delivery date**, **Use delivery date range**, **Replace delivery date range with weekday**, **Processing rules**. |
| **Custom field** | Required, **Data label name**, **Data type**, **Field label name**, **Data label instructions**. Full guide: [Agentic header extraction → Custom fields](/en/docs/channel-configuration/document-processing/agentic-extraction.md#custom-fields-as-the-target-of-agentic-extraction). |

If an option described in section 2 does **not** appear on a specific field, it means it is not relevant for that field — you do not need to do anything.

## Step 4 — Add a standard field

Click the **+** symbol in the header of the left column ("Configured fields"). A selection opens with all fields offered for this document type that are not yet configured.

The menu is divided into two areas:

- At the very top, **"Custom field"** (set off by a divider) — this is how you create your own field that is not included in the standard catalog. You can find the full workflow under [Custom fields as the target of Agentic Extraction](/en/docs/channel-configuration/document-processing/agentic-extraction.md#custom-fields-as-the-target-of-agentic-extraction).
- Below that, the **standard fields** of the document type that are not yet enabled.

Select a **standard field**. The field appears immediately in the left column and is opened on the right with its preset options.

:::note Order
Newly added fields are inserted at the end of the list. If needed, you can move them to the desired position by drag and drop using the grip symbol to the left of the name.
:::

To remove a field again, click the **×** to the right of the field name in the left column.

## Step 5 — Save

Click **Save** at the bottom right to apply your changes.

Only after saving do the new settings take effect for subsequent document processing. Already processed documents are **not** re-extracted retroactively.

:::warning If saving fails
Common causes are:
- an empty **data label name** on a custom field;
- an identical **data label name** in two fields (must be unique);
- an invalid **Mapping** or **Processing rule**.

Error texts appear directly below the affected field in red.
:::

## Tips on the interplay with Master Data

The line item field configuration unfolds its full potential only together with your Master Data. Three common starting points:

- **You have not uploaded an article list yet.** Switch on **"Allow invalid IDs"** on the article number. Otherwise Workist clears every article number it does not know. Then upload your article list via the [Master Data Hub](/en/docs/master-data/master-data-hub.md) and set it under **Master Data** (see [Document Processing overview](/en/docs/channel-configuration/document-processing.md)).
- **You want to import an existing article list with different column names.** This is where the [transformer configuration](/en/docs/master-data/transformer-configuration.md) helps — it is the lever you use to map columns of your file to the Workist schema.
- **You have fuzzy matches in the article list.** Enable **"Reset imperfect article matches"** if you would rather accept empty fields than incorrect matches — or use **"Allow invalid IDs"** to keep the number from the document when no match is found.

## Frequently Asked Questions

**Why do I not see any lookup options on "Quantity"?**
Lookup options are tied to fields that reference Master Data — typically the article number. For pure numeric fields such as quantity, a lookup makes no sense and the options are hidden.

**What happens if I disable "Required" for a field that may be missing in the document?**
An empty field then no longer blocks automation. If the field contains a value with too low a confidence, the document still goes into assistance. Additionally set **"Field should not block automation when below threshold"** if values extracted with low confidence should also not lead to assistance.

**Can I change the "Data label name" afterwards?**
No. The data label name only exists for custom fields and is immutable after the first save because it is part of the mapping to the target system. If a typo has crept in, contact your contact at Workist.

**What does the `*` next to a field name mean?**
In the right column, `*` marks a **required field** that you must fill in before saving.

**Does the new configuration take effect immediately?**
It takes effect as soon as the next document is processed. Already completed documents are not re-extracted retroactively.

## Help and Support

If you are unsure which options are right for your target system, please have the following information ready for your contact at Workist:

- the **channel name** and the document type (e.g. "Orders, Test"),
- the **field** in question (e.g. "Article number"),
- the **desired effect** in the target system (e.g. "Keep the SAP article number, but additionally output our internal number"),
- if applicable, a **sample document** on which the behavior can be observed.
