> For the complete documentation index, see [llms.txt](https://docs.solutioo.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.solutioo.de/datanorm-item-import/datanorm_en_us/part-lists-sets/datanorm-sets.md).

# Understanding DATANORM Sets

## What a set is

Many suppliers sell bundles: a shower tray with a waste fitting and a support frame, a heating set with a pump, valves and fittings. In DATANORM the **J record** describes such sets.

A set consists of a **set item**, delivered like any other article in an A record, and its **lines** from J records.

## Values in a J record

<table><thead><tr><th width="270">Value</th><th>Meaning</th></tr></thead><tbody><tr><td><strong>Set number</strong></td><td>Article number of the set item the line belongs to.</td></tr><tr><td><strong>Line number</strong></td><td>Order within the set.</td></tr><tr><td><strong>Component article no.</strong></td><td>The article that goes into the set.</td></tr><tr><td><strong>Component set no.</strong></td><td>Filled when the line is itself a set – a nested set.</td></tr><tr><td><strong>Quantity</strong></td><td>Quantity of the component in the set. 0 means the user decides the amount.</td></tr><tr><td><strong>Calling flag</strong></td><td>Controls whether the line is included automatically or is an optional line.</td></tr><tr><td><strong>Line text</strong></td><td>Additional text for the line.</td></tr></tbody></table>

## The calling flag

<table><thead><tr><th width="150">Value</th><th width="230">Meaning</th><th>Behaviour of the app</th></tr></thead><tbody><tr><td><strong>1, 3</strong></td><td>Line is inserted automatically</td><td>always taken</td></tr><tr><td><strong>2, 4</strong></td><td>Optional line, selected by the user</td><td>only with <strong>Include Optional Set Lines</strong> enabled</td></tr></tbody></table>

See [Nested and Optional Lines](/datanorm-item-import/datanorm_en_us/part-lists-sets/nested-and-optional-lines.md).

## Sets in staging

The **DATANORM Part Lists** page shows all imported set lines with set number, line, component, quantity and status.

<table><thead><tr><th width="230">Status</th><th>Meaning</th></tr></thead><tbody><tr><td><strong>New</strong></td><td>Imported, not yet turned into a BOM.</td></tr><tr><td><strong>Synced</strong></td><td>Created as a BOM component.</td></tr><tr><td><strong>Skipped</strong></td><td>Not applied – for example because the item is missing or the line is an optional line that was not included.</td></tr><tr><td><strong>Error</strong></td><td>Applying it failed; the cause is on the record.</td></tr></tbody></table>

## Import order

{% hint style="warning" %}
A BOM component needs an **existing item**. So synchronise article staging first and build the part lists afterwards. Otherwise lines are logged as *Skipped*.
{% endhint %}

{% stepper %}
{% step %}

#### Synchronise the articles

Set item and components must exist as items.
{% endstep %}

{% step %}

#### Build the part lists

Run **Build Part Lists** on the import session.
{% endstep %}

{% step %}

#### Check the result

Open **Show Part Lists** and review the status of the lines.
{% endstep %}
{% endstepper %}

How this becomes an assembly BOM is described under [Building Assembly BOMs](/datanorm-item-import/datanorm_en_us/part-lists-sets/building-assembly-boms.md).


---

# 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://docs.solutioo.de/datanorm-item-import/datanorm_en_us/part-lists-sets/datanorm-sets.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.
