> 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/overview/features.md).

# Feature Overview

## Import

<table><thead><tr><th width="270">Feature</th><th>Description</th></tr></thead><tbody><tr><td><strong>DATANORM 4 and 5</strong></td><td>Both versions are read; the version is detected from the header record.</td></tr><tr><td><strong>Manual import</strong></td><td>Upload the file, pick the vendor, read it in.</td></tr><tr><td><strong>SFTP import</strong></td><td>Files are collected from an SFTP server, processed and archived – on a schedule through the job queue.</td></tr><tr><td><strong>Record type filter</strong></td><td>Each record type can be switched on or off. See <a href="/pages/cm9slUvoW38LFiwIcEeb">Record Type Reference</a>.</td></tr><tr><td><strong>Background processing</strong></td><td>Large files are processed in the background above a configurable line count.</td></tr></tbody></table>

## Review and validation

<table><thead><tr><th width="270">Feature</th><th>Description</th></tr></thead><tbody><tr><td><strong>Staging</strong></td><td>All data lands in intermediate tables and is only applied after approval.</td></tr><tr><td><strong>Duplicate detection</strong></td><td>Matching on article number, EAN/GTIN or vendor item number, optionally scoped per vendor.</td></tr><tr><td><strong>Import log</strong></td><td>Every session records counts, status and error messages.</td></tr><tr><td><strong>Built-in tests</strong></td><td>Verify the record types of both DATANORM versions against the specification.</td></tr></tbody></table>

## Prices

<table><thead><tr><th width="270">Feature</th><th>Description</th></tr></thead><tbody><tr><td><strong>Purchase price lists</strong></td><td>Prices are written as price list lines for the delivering vendor, so standard purchase price calculation applies.</td></tr><tr><td><strong>Selectable price source</strong></td><td>Net price, list price, or net price with the list price as fallback.</td></tr><tr><td><strong>Discount groups</strong></td><td>Discounts from the DATANORM discount group can be applied to the list price.</td></tr><tr><td><strong>Scale prices</strong></td><td>Z records become additional price lines with a minimum quantity.</td></tr><tr><td><strong>Sales prices</strong></td><td>Optionally the list price is also written to a sales price list.</td></tr></tbody></table>

## Part lists

<table><thead><tr><th width="270">Feature</th><th>Description</th></tr></thead><tbody><tr><td><strong>Assembly BOMs</strong></td><td>J records become assembly BOMs on the set item.</td></tr><tr><td><strong>Nested sets</strong></td><td>If a line points at another set, that set's item is resolved.</td></tr><tr><td><strong>Optional lines</strong></td><td>Optional lines are included on request.</td></tr><tr><td><strong>Replenishment system</strong></td><td>Set items can be switched to <em>Assembly</em> automatically.</td></tr></tbody></table>

## Master data and export

<table><thead><tr><th width="270">Feature</th><th>Description</th></tr></thead><tbody><tr><td><strong>Unit mapping</strong></td><td>DATANORM units are mapped to BC units of measure, pre-populated for ISO codes and common German abbreviations.</td></tr><tr><td><strong>Product groups</strong></td><td>S records are kept as product groups.</td></tr><tr><td><strong>Discount groups</strong></td><td>R records are kept as discount groups with their discount rate.</td></tr><tr><td><strong>Export</strong></td><td>Full article export or price change export as DATANORM 4 or 5.</td></tr></tbody></table>

{% hint style="info" %}
What the app deliberately does **not** do is listed under [Limitations](/datanorm-item-import/datanorm_en_us/importing-datanorm-files/limitations.md).
{% endhint %}


---

# 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/overview/features.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.
