> 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/universal-import/universalimport_en_us/step-by-step-guide/markdown.md).

# Import process

## Import process

The import process describes the individual steps required to successfully transfer data into the system. During this process the data is read from a file, validated and then transferred to the selected target table.

The following sections guide you step by step through the entire process. From selecting the file and configuring the mapping to finally executing the import. This ensures that the data is processed correctly and imported completely.

{% stepper %}
{% step %}
[**Standard import**](#id-1.-standard-import)
{% endstep %}

{% step %}
[**Quick import**](#id-2.-quick-import)
{% endstep %}

{% step %}
[**Import preview**](#id-3.-import-preview)
{% endstep %}

{% step %}
[**Import Log**](#id-4.-import-log)
{% endstep %}
{% endstepper %}

### 1. Standard import

You can access the central **Universal Import** import page via the Business Central search.

This is where you perform the complete import process:

* Select a mapping
* Upload the file
* Check the columns
* Optionally display the preview and run the import.

<div align="left" data-with-frame="true"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/Jg4lEm02Hx9Qwf0TiubM/Bildschirmfoto%202026-03-31%20um%2011.43.37.png" alt="" width="563"><figcaption></figcaption></figure></div>

#### 1.1 Step-by-step process

{% stepper %}
{% step %}
**Select mapping:** Select the desired import mapping (template) from the dropdown.

<div align="left" data-with-frame="true"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/fiW05U6rBQbK2h4YbOfv/Bildschirmfoto%202026-03-31%20um%2011.51.03.png" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**Upload file:** Click Upload file and select your file. The file type must match the mapping type, for example, Excel mapping → Excel file.

<div align="left" data-with-frame="true"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/xLLFLIjHIojG3cwxNSZw/Bildschirmfoto%202026-03-31%20um%2011.53.33.png" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**Check column mapping:** Review and adjust the column mapping in the interactive list.

<div align="left" data-with-frame="true"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/0QQoJs7oFuvc9l7EMUPt/Bildschirmfoto%202026-03-31%20um%2012.00.29.png" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**Optional preview:** Click **Preview** to see what would happen during the import.

<div align="left" data-with-frame="true"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/4VXS5ZkuzthH642OYqBk/Bildschirmfoto%202026-03-31%20um%2011.55.49.png" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**Start import:** Click **Import Data** to execute the import.

<div align="left" data-with-frame="true"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/IVKIheT9FBCu3LReTDg1/Bildschirmfoto%202026-03-31%20um%2011.56.54.png" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**Check log:** The import log shows the results of the run.

<div align="left" data-with-frame="true"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/tFlkE9sTkHnyjNBsp65a/Bildschirmfoto%202026-03-31%20um%2011.58.26.png" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

#### 1.2 „Import statistics“ FactBox

{% columns %}
{% column %}
The import statistics are displayed in the sidebar:

* Mapping details
* File type
* Target table
* Number of records in the file
* mapped fields
* Date of the last import
  {% endcolumn %}

{% column %}

<figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/bEOqHeDu8GyZPyhS5RN7/Bildschirmfoto%202026-03-31%20um%2011.47.19.png" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

### 2. Quick import

**Quick Import** automatically detects the matching template: You upload a file and the system searches for the corresponding import mapping by comparing the column headings in your file with the saved mappings.

#### 2.1 Two ways to use quick import

{% stepper %}
{% step %}
**Standalone „Quick import“ page** (via BC-search):

Select file <i class="fa-right">:right:</i> automatic detection <i class="fa-right">:right:</i> confirmation <i class="fa-right">:right:</i> immediate import

<div align="left"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/UQo9fkGXtdzuOlq9A1uL/Bildschirmfoto%202026-04-02%20um%2009.08.41.png" alt="" width="375"><figcaption></figcaption></figure> <figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/z62ANj9gZjuMo1782O08/Bildschirmfoto%202026-04-02%20um%2009.14.55.png" alt="" width="188"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**"Quick Import" button** on the **Universal Import** pag&#x65;**:**

Select file <i class="fa-right">:right:</i> automatic detection <i class="fa-right">:right:</i> template and file are loaded, allowing you to review everything before importing.

<div align="left"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/lnX42Gd6G1GHIzu26SgS/Bildschirmfoto%202026-04-02%20um%2009.13.33.png" alt="" width="375"><figcaption></figcaption></figure> <figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/4l6EftIRzCsZTj9LoD6J/Bildschirmfoto%202026-04-02%20um%2009.14.55.png" alt="" width="188"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

#### 2.2 How the mapping is found

<table data-view="cards"><thead><tr><th></th></tr></thead><tbody><tr><td>The system compares the column headings in your file with <strong>all</strong> saved mappings of the <strong>same file type</strong>.</td></tr><tr><td>A mapping is considered a <strong>match</strong> if at least <strong>50%</strong> of its mapped columns are present in the file.</td></tr><tr><td>If exactly one mapping achieves a <strong>100%</strong> match, it is selected automatically.</td></tr><tr><td>If multiple mappings match, select one from a list.</td></tr><tr><td>If <strong>no match</strong> is found, you are taken to the standard import.</td></tr></tbody></table>

#### 2.3 Confirmation dialog

{% columns %}
{% column %}
The dialog shows, among other things:
{% endcolumn %}

{% column %}

* which template was detected;
* how many of the template's mapped columns were found in the file (for example, "8 of 10 mapped columns found")
* which mapped columns are **missing** from the file;
* which columns in the file are **new** (meaning they are not included in the template).
  {% endcolumn %}
  {% endcolumns %}

{% hint style="info" %}
Columns can be added, removed or reordered between file versions. Detection is based on **fuzzy matching** by column name, not on a fixed position. This means the matching often remains stable even if the file changes slightly.
{% endhint %}

### 3. Import preview

{% columns %}
{% column %}
Before any data is written, you can carefully check what would happen. To do this, click the following on the import page:

*"Process"* <i class="fa-right">:right:</i> "*Import Preview*"\_.
{% endcolumn %}

{% column %}

<div align="left" data-with-frame="true"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/ECjFBM4OWkQIgrIVMmbn/Bildschirmfoto%202026-04-02%20um%2009.38.35.png" alt="" width="375"><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

#### 3.1 Overview per row

For each row, the preview shows:

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><p><strong>Status</strong> with color-coded indicators</p><ul><li><strong>Insert</strong></li><li><strong>Update</strong></li><li><strong>Skip</strong></li><li><strong>Error</strong></li></ul></td><td></td></tr><tr><td>the <strong>primary key</strong> value for unique identification.</td><td></td></tr><tr><td><p>At the top of the screenshot, you can see <strong>summary figures</strong>:</p><ul><li>The number of inserts</li><li>Updates</li><li>Skipped records</li><li>Errors</li></ul></td><td></td></tr></tbody></table>

<div align="left" data-with-frame="true"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/m55mP4zzPJLweAJXrAYG/Bildschirmfoto%202026-04-02%20um%2009.31.00.png" alt="" width="563"><figcaption></figcaption></figure></div>

#### 3.2 Row details

Click a row to open the detailed view. There, **all** mapped field values are displayed in a card-like layout:

<table data-view="cards"><thead><tr><th align="center"></th></tr></thead><tbody><tr><td align="center">Field names and value</td></tr><tr><td align="center">values from <strong>virtual columns</strong> marked as such</td></tr><tr><td align="center">row status with a colored badge</td></tr><tr><td align="center">primary key highlighted</td></tr></tbody></table>

<div align="left" data-with-frame="true"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/q8fthVCM0NOMjOnalMGV/Bildschirmfoto%202026-04-02%20um%2010.28.13.png" alt="" width="563"><figcaption></figcaption></figure></div>

#### 3.3 Additional functions

{% columns %}
{% column %}

#### Filters

* **Show problems only:** only rows with an error or "Skip".
* **Show all:** the complete list.
  {% endcolumn %}

{% column %}

#### Actions

* **Continue Import:** runs the import as calculated in the preview.
* **Cancel Import:** returns without importing.
  {% endcolumn %}
  {% endcolumns %}

<div align="center"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/Nw8ye7PIGeTyqnIhqSJq/Bildschirmfoto%202026-04-02%20um%2010.31.31.png" alt="" width="375"><figcaption></figcaption></figure> <figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/22Vu9HlEeZp4onrU6A3R/Bildschirmfoto%202026-04-02%20um%2010.32.35.png" alt="" width="313"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Use the preview for the **first** import with a **new** mapping. This allows you to detect mapping errors before they change your master data.
{% endhint %}

{% hint style="info" %}
**T**he preview uses the same logic as the actual import, but operates in read-only mode. For **very large** files, the preview may therefore take longer.
{% endhint %}

### 4. Import log

Every completed import is logged automatically. This ensures full traceability of the imported data and supports audits and checks. In addition, logging enables targeted error analysis, allowing potential issues in the import process to be identified and resolved quickly.

#### 4.1 Two access options

{% stepper %}
{% step %}

#### Business Central Search

Search for *"Import"* or *"Import Log"* in Business Central.

<div align="left" data-with-frame="true"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/yMgq3bylaUVcEuihk3kt/Bildschirmfoto%202026-04-02%20um%2010.43.00.png" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### Universal Import page

On the Import page, click *"Overview"* <i class="fa-right">:right:</i> *"Show import log"* (or the corresponding link in the success message after the import).

<div align="left" data-with-frame="true"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/P1mMnjIUV8mzJPBfskW3/Bildschirmfoto%202026-04-02%20um%2010.43.40.png" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

#### 4.2 Contents of a log entry

<table data-view="cards"><thead><tr><th></th></tr></thead><tbody><tr><td><strong>Row number</strong> from the source file</td></tr><tr><td><strong>record identifier</strong> (for example item number)</td></tr><tr><td><strong>Status:</strong> Success,error or skipped</td></tr><tr><td><strong>Action:</strong> Inserted or modified</td></tr><tr><td><strong>Detailed message</strong> (including error details and notes on skipped fields)</td></tr><tr><td><strong>Timestamp</strong></td></tr><tr><td><strong>User</strong> who performed the import</td></tr><tr><td><strong>FactBox notes</strong> for additional context, if used</td></tr></tbody></table>

<div align="left" data-with-frame="true"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/hs28Vk2TIjbwHlrh1LFf/Bildschirmfoto%202026-04-02%20um%2010.43.12.png" alt=""><figcaption></figcaption></figure></div>

#### 4.3 Additional functions

{% columns %}
{% column %}

#### Filters

You can use the *"Filter"* actions to display only errors or only successful entries, for example.
{% endcolumn %}

{% column %}

#### Export

Use *"Report"* <i class="fa-right">:right:</i> *"Export to Excel"* to download the complete log as an Excel file. This is ideal for analysis and reporting.
{% endcolumn %}
{% endcolumns %}

<div align="left"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/V24OM38TxbG8c2kUf7RV/Bildschirmfoto%202026-04-02%20um%2010.53.44.png" alt=""><figcaption></figcaption></figure> <figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/aEVK90QRuGYxlwr3aOvR/Bildschirmfoto%202026-04-02%20um%2011.07.37.png" alt=""><figcaption></figcaption></figure></div>

{% columns %}
{% column %}

#### Cleanup

* **"Delete log"**: removes **all** entries after confirmation.
* **Delete old entries**: removes entries older than 30 days after confirmation.
  {% endcolumn %}

{% column %}

{% endcolumn %}
{% endcolumns %}

<div align="left" data-with-frame="true"><figure><img src="https://content.gitbook.com/content/QnKDhTKr7wRrsfjyv1Ev/blobs/5aXwh2r4XGngANfYLiBW/Bildschirmfoto%202026-04-02%20um%2011.14.44.png" alt="" width="375"><figcaption></figcaption></figure></div>

{% hint style="success" %}
Export the log to Excel after important imports, especially during the **implementation phase** when you are still refining mappings. This helps you maintain a documented history.
{% 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/universal-import/universalimport_en_us/step-by-step-guide/markdown.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.
