> 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/operations-and-troubleshooting/logging.md).

# Logging

## The levels of logging

The app logs on three levels. When something goes wrong, work down from the top.

<table><thead><tr><th width="100">Level</th><th width="240">Location</th><th>Answers the question</th></tr></thead><tbody><tr><td>1</td><td>Import session</td><td>Did the import as a whole complete?</td></tr><tr><td>2</td><td>Staging record</td><td>Which individual record has a problem, and why?</td></tr><tr><td>3</td><td>Action result messages</td><td>What did writing prices or building BOMs actually do?</td></tr></tbody></table>

## Level 1: The import session

Every import session records the course of an import.

<table><thead><tr><th width="290">Field</th><th>Tells you</th></tr></thead><tbody><tr><td><strong>Status</strong></td><td>Pending, Processing, Completed, Completed with Errors, Error, Cancelled.</td></tr><tr><td><strong>File Name</strong></td><td>Which file was processed.</td></tr><tr><td><strong>DATANORM Version</strong></td><td>The version detected from the header record.</td></tr><tr><td><strong>Vendor No.</strong></td><td>The assigned vendor.</td></tr><tr><td><strong>Records Processed</strong></td><td>Number of records read.</td></tr><tr><td><strong>Records with Errors</strong></td><td>Number of lines that could not be read.</td></tr><tr><td><strong>Start Time</strong>, <strong>End Time</strong></td><td>Duration of the import.</td></tr><tr><td><strong>Error Message</strong></td><td>Cause, if the session was aborted.</td></tr></tbody></table>

{% hint style="info" %}
**Completed with Errors** means the file was processed but individual lines could not be read. The import is not worthless – check in staging what is missing.
{% endhint %}

## Level 2: The staging record

Every record carries its own status and its own message.

<table><thead><tr><th width="290">Field</th><th>Tells you</th></tr></thead><tbody><tr><td><strong>Processing Status</strong></td><td>Where the record sits in the flow.</td></tr><tr><td><strong>Is Duplicate</strong>, <strong>Duplicate Reason</strong></td><td>Whether and why a match was detected.</td></tr><tr><td><strong>Matched Item No.</strong></td><td>The existing item the match points to.</td></tr><tr><td><strong>Error Message</strong></td><td>Why synchronisation failed.</td></tr><tr><td><strong>Merged Source Records</strong></td><td>How many file lines the record was built from.</td></tr></tbody></table>

Filter staging on **Processing Status = Error** to see all the problem cases of a session at once.

## Level 3: Result messages

The actions on the import session report what they did once they finish.

<table><thead><tr><th width="290">Action</th><th>Message contains</th></tr></thead><tbody><tr><td><strong>Write Purchase Price List</strong></td><td>Number of purchase lines, sales lines, scale price lines and skipped articles.</td></tr><tr><td><strong>Build Part Lists</strong></td><td>Number of sets built, components created, sets skipped and errors.</td></tr><tr><td><strong>Assign Vendor</strong></td><td>Number of staging records adjusted.</td></tr></tbody></table>

{% hint style="info" %}
Note these figures during a sign-off. They are the quickest evidence that an import ran through completely.
{% endhint %}

## Archived files

With **Archive Imported Files** enabled, the app keeps the original file content on the import session. That makes it possible to reconstruct later what the supplier actually delivered, regardless of whether the file is still available from them.

{% hint style="warning" %}
Leave archiving on. It is often the decisive evidence when clarifying something with a supplier. Very large catalogues use storage accordingly – delete old sessions selectively if needed.
{% endhint %}

## SFTP logging

The SFTP setup carries two fields for diagnostics:

<table><thead><tr><th width="290">Field</th><th>Tells you</th></tr></thead><tbody><tr><td><strong>Last Polling Time</strong></td><td>When the inbound folder was last checked. An old timestamp suggests the job queue is not running.</td></tr><tr><td><strong>Last Polling Status</strong></td><td>Result or error message of the last poll.</td></tr></tbody></table>

In addition, **DATANORM SFTP Files** shows what is in the inbound folder.

## How to approach a problem

{% stepper %}
{% step %}

#### Look at the session

Read the status and error message of the import session. If there is an abort reason, the cause is usually the file itself.
{% endstep %}

{% step %}

#### Filter staging

Filter on status **Error** and read the messages. If the same message repeats, the cause is in the setup, not in the data.
{% endstep %}

{% step %}

#### Fix the cause

Add the missing unit mapping, posting group or number series, see [Common Problems](/datanorm-item-import/datanorm_en_us/operations-and-troubleshooting/common-problems.md).
{% endstep %}

{% step %}

#### Synchronise again

Only synchronise the affected records again. Re-importing the file is almost never necessary.
{% endstep %}
{% endstepper %}

## For a support request

Have these details ready:

* Number and status of the import session
* File name and detected DATANORM version
* Exact wording of the error message
* Number of records processed and failed
* The DATANORM file in question, if you are allowed to share it

Contacts under [Support Contacts](/datanorm-item-import/datanorm_en_us/operations-and-troubleshooting/support.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/operations-and-troubleshooting/logging.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.
