Extended Data Import Options¶
PIM users often need to bulk-create a large number of records at once, while the creation of a new product involves, in a single moment, writing to multiple tables containing partial product data (for example, it may be desirable to create the item card at the same time, create a selected set of units of measure, and assign selected vendors and their purchase prices to the item card). For this purpose, the Navertica Smart Imports module was created, which enables importing data into multiple structures based on a simple file.
Smart Imports Setup¶
The basic setup required for performing imports is Smart Imports Setup. This setup includes the basic settings needed for the Smart Imports module to function. The setup is available from the BC menu under the keywords "Smart Imports Setup".

In the setup, the user defines the required default values for the module setup and can also access all related functionalities (setup of template groups, setup of templates, and the Smart Imports themselves).

| Field | Meaning |
|---|---|
| Import Nos. | specifies the number series that should be used to number individual import cards (i.e., cards from which the user can process data or perform checks and corrections) |
Smart Import Template Group Setup¶
The Navertica Smart Imports module was created primarily to simplify imports of data related to products; however, it allows importing data into any data structures available in BC. For this reason, the first required setup is the list of groups into which import templates should be divided. The goal of template groups is to prevent inappropriate use of a template.
The template group setup is available from Smart Imports Setup via the action "Smart Import Template Groups", or from the BC menu under the keywords "Smart Import Template Groups".

In this overview, the user defines the group code, which is then used to group import templates, and the name of the given group.

| Field | Meaning |
|---|---|
| Code | specifies the code assigned to the given group — this code will subsequently be used to assign individual templates to a specific group |
| Name | specifies a more detailed description of the meaning of the given group (e.g., if it is desirable to distinguish multiple different groups that are similar) |
Smart Import Template Setup¶
The Navertica Smart Imports module allows defining one or more templates for processing the relevant type of import. Smart Import Template setup is available to the user from Smart Imports Setup via the action "Smart Import Templates", or from the BC menu under the keywords "Smart Import Templates".

After running this action, the user is shown a list of currently defined templates, from which they can continue to create a new Smart Import Template using the "New" action, or proceed to edit an existing import template.

After opening the Smart Import Template card, the user is presented with the Smart Import Template card, which consists of a header and lines.
On the Smart Import Template header, the user enters basic information for further setup of the template lines: the template code, assignment to an import group, the type of import file for which the setup will apply, and the primary table from which the import will be based.
| Field | Meaning |
|---|---|
| Template Code | specifies the template code under which it will be available for selection — currently, template codes are entered manually by the user, i.e., it is not possible to set up a number series for numbering templates |
| Template Group Code | specifies the Smart Import Template Group to which the given card should be assigned |
| Description | contains basic information about the meaning / expected use of the selected Smart Import Template so that the user has sufficient information to select the correct template |
| Import Type | specifies what import file is expected for processing the import — currently, the only allowed format is "Excel", i.e., input data in XLSX format is expected |
| Primary Import Table | specifies the main table that is the subject of the import; for example, if the user imports products including translations into different languages or different types of item references, the primary table will be the Item table, to which all related data is attached |
| Primary Import Table Name | specifies the name of the primary table, used to verify that the correct table has been selected |
| Status | determines whether the template is currently eligible for use for imports, or whether it is a template that is still being prepared. Currently, a template can have the following statuses:
|
In the Smart Import Template lines, individual Import Columns are then listed, or expressions used to look up certain parameters that need to be known for the correct import of a value (e.g., defining how to find a specific product attribute).
| Field | Meaning |
|---|---|
| Line Type | specifies the meaning of the parameter entered on the line. Currently it can have the values:
|
| Parameter | specifies the identifier of the column (parameter) in the source file; for Excel this is the column name (A, B, C...) |
| Parameter Name | a user-friendly name of the parameter, derived from the meaning of its value; it should help the user understand what value will be present in the column |
| Multiple Value | specifies whether the column can contain multiple values of the same type — for example, a list of groups for which the product is intended |
| Multiple Value Separator | specifies the delimiter used to separate multiple values in the column (it therefore only has meaning for multiple values) |
| No Match Found Option | specifies how the system should behave for Lookup lines if the value is not found according to the entered parameters. Currently, the following options are available:
|

For lines of type Column, the user does not need to perform any additional preparatory setup before setting up data mapping; i.e., these lines only represent the designation of the column from which imported values should be taken. For lines of type Lookup, the user must still define individual steps for finding the relevant value. The user does this via the line action "Steps":

After running the action, the user can set up individual processing steps for the Smart Import.
| Meaning | Field |
|---|---|
| Step Type | specifies whether the given line represents the definition of a relation, or whether it is already the final step that determines the value. If the output needs to be used in further lookup steps (e.g., I need to look up the Attribute ID so I can then use it to create a new attribute value), then the steps for the given parameter must always end with a line of type "Value", which specifies what value should be passed to another parameter. |
| Source Table Caption | specifies the source table from which the relation lookup originates; in the first step it is always the primary import table, and in subsequent steps the related table from the previous step is used |
| Related Table No. | specifies the table number in which the relevant target value is located (if the lookup passes through multiple tables, it is always necessary to create a separate line for each pair of relations) |
| Related Table Caption | specifies the name of the related table |
| Field | specifies the field ID that should be the output of the lookup if it is a step line with type "Value" |

For lines where Step Type = Relation, it is also necessary to define the relations between the source table and the related table (in some cases, the relation may not be relational, but it may only be necessary to enter a specific filter/filters). When entering individual filters, the user can work with a specific fixed value, represent the value using placeholders that can refer to other import template parameters or a specific date, or use a specific field of the source table.
| Meaning | Field |
|---|---|
| Related Field | specifies the name of the field in the related table that should be the subject of the relation (in the example in the image, this is the attribute name field) |
| Relation Type | specifies what type of relation it is. Currently it can have the values:
|
| Filter Value | specifies a specific manually entered value, a field number, or a selected placeholder depending on the relation type |

Create a Template from a Sample File¶
To simplify the creation of template lines, it is possible to load a source file from which the system will attempt to recognize source data and pre-prepare the template lines that the user can further work with. For this purpose, the "Create from File" action is available on the import header:

After running the action, it requires the user to select the source file on the basis of which the template should be pre-prepared, and then asks the user on which row in the selected file the file headers are located.

Smart Import Template Data Mapping Setup¶
Once the user has set up all required Smart Import parameters, it is still necessary to define, on the Smart Import Template, the data mapping that should be used to write data into target tables. For this purpose, the "Data Mapping" action on the Smart Import Template header is used.

After running this action, the user is shown a list of tables and their fields into which the write will be performed, and the user can define for each table and field how the value should be processed. The advantage is that the user can store a value that is entered in Excel into a single cell into multiple target structures in BC (e.g., use the vendor number to fill in the primary vendor on the item card and at the same time create a record for it in the Item Vendors table).

To simplify mapping setup, the user can use the "Suggest Mapping" action, which will attempt to propose where the data should be stored based on the source table and the names of its columns. The system proposal must always be checked and, if necessary, adjusted. If the user does not want to use the automatic mapping suggestion option, they can enter all mappings manually. It is only necessary to ensure that if multiple pieces of information are required for writing into a table, the information must be provided completely.

| Field | Meaning |
|---|---|
| Step No. | specifies the processing order of values for the given table in cases where the order is essential for correct population of values |
| Table No. | specifies the number of the target table into which data should be imported after processing the import (currently, writing into any table in BC is possible) |
| Table Caption | displays the name of the selected table to verify that the user entered the data correctly |
| Related Field | in this field, the user enters the field into which the value should be written (it can be filled with one of the parameters or a constant value) |
| Value Type | specifies what value will be written into the field. Currently, the user can choose from:
|
| Value | depending on the value type, contains either a manually entered value (for type Constant), the name of an import template parameter (for type Parameter), or the name of a primary table field (for type Primary Table Field) |
| Validate Value | specifies whether the value should be populated onto the card with validations (ideally, the largest possible number of values should be validated to ensure related data is populated) |

After entering all parameters and data mappings, it is necessary to set the template status to Certified, by which the user indicates that template edits have been completed and the template can be used to process individual imports.
Import Processing¶
Each import to be processed has its own card created in BC; until it is deleted, it is therefore possible to return to the imported data and check its contents. From the BC menu, import cards are available under two names: - Smart Imports: this overview displays imports that are still waiting to be processed - Closed Smart Imports: this overview displays an archive of historically processed imports, which serves only for retrospective lookup of imported data and no further processing will be performed on them.

In the Smart Imports overview, the user can see individual import cards, the template code according to which the import was created, and the current import status (i.e., the status itself, the total number of processed records, the number of processed records, and the number of erroneous records).

Each import then has its own card, which contains, in the header, a summary of imported data, and in the individual lines contains information about the status of individual imported rows, with the ability to view the imported data or the errors currently recorded for the row.
