Column Types
For each column of a target data model, you can define a columnType to determine which format or - in some cases - which data type the output is supposed to have. By default, the columntType equals string. If you want a different data type for the output data, you can set the key to either int, float and many more.
Apart from defining the data type, all the options mentioned above and the other options contain pre-built data validations to ensure that the user-submitted data is in the correct format. An error message is shown if the imported data does not fit the column type's validation rule.
On this page, you will find a collection of all available options for the columnType prop, along with examples of valid input data and the corresponding output format.
To use the column types, you must define the columnType property of a column within the target data model.
Example
[
{
label: "Product ID",
key: "product_id",
columnType: "string",
},
{
label: "EAN",
key: "ean_gtin",
columnType: "gtin",
},
{
label: "Price",
key: "price",
columnType: "float",
},
{
label: "Manufacturing Date",
key: "man_date",
columnType: "date",
outputFormat: "MM/DD/YYYY",
},
];
List of column types
Text (default)
| Type | "string" |
| Description | The cells in this column are displayed as free text fields. The output has the data type string. string is the default columnType if no columnType is defined. |
| Input example | "Hello World", "Ingestro GmbH" or "20095 Hamburg" |
Output format
[
{
company_name: "Ingestro GmbH",
},
];
Integer number (int)
| Type | "int" |
| Description | The cells in this column are displayed as free text fields that display an error message if the input is not numerical or a decimal number. The output has the data type int. The display of the value is controlled by the property numberFormat. |
| Input example | "1", "20", "318", "1.000" or "1,000" |
Output format
[
{
counter: 100,
},
];
Decimal number (float)
| Type | "float" |
| Description | The cells in this column are displayed as free text fields that display an error message if the input is not numerical. The output has the data type float. The display of the value is controlled by the property numberFormat. |
| Input example | "1", "20,2", "318,4", "10.000,25" or "10,000.25" |
Output format
[
{
price: 10.22,
},
];
Boolean
| Type | "boolean" |
| Description | The cells in this column are displayed as dropdown fields with the options "Yes" or "No". Boolean columns support intelligent option mapping, which automatically maps various input values (like "true", "false", "yes", "no", "1", "0", "y", "n", "on", "off") to the correct boolean value. During the "Data transformation" step of the CreatePipeline and ExecutionDetails embeddables, users can review and adjust how their imported values map to "Yes" (true) or "No" (false). The final output contains the actual boolean values true or false, not the text "Yes" or "No". |
| Input example | "true", "yes", "1", "y", "on" (all map to true) or "false", "no", "0", "n", "off" (all map to false) |
Output format
[
{
deal_ongoing: true,
},
];
Boolean columns use option mapping to intelligently convert various text representations into true or false values. You can configure the mapping behavior using the optionConfiguration property in your TDM. Learn more about option mapping.
Category (dropdown)
| Type | "category" |
| Description | The cells in this column are displayed as dropdown fields with custom options that you define. Category columns support intelligent option mapping, which automatically maps imported values to your predefined options using AI-powered matching. To use this column type, you must define the options property in the optionConfiguration. During the "Data transformation" step of the CreatePipeline and ExecutionDetails embeddables, the system automatically suggests mappings between imported values and your options, which users can review and adjust. You can enable multiple selection by setting multiSelect to true, and you can improve mapping accuracy by defining alternativeMatches for each option. The final output contains the value of each option, not the label displayed to users. |
| Input example | Any text that matches or is similar to your defined option labels or alternative matches |
Output format
[
{
shop_category: "smartphone",
},
];
Category columns use option mapping to standardize varied input data into consistent values. You can configure options, alternative matches, and mapping behavior using the optionConfiguration property in your TDM. Learn more about option mapping.
Bank Identifier Code (BIC)
| Type | "bic" |
| Description | The cells in this column are displayed as free text fields that display an error message if the input does not match the bank identifier code format (spaces are not allowed). |
| Input example | "SOBKDEBBXXX", "GENODEF1SFD" or "NTSBDEB1XXX" |
Output format
[
{
client_bic: "GENODEF1SFD",
},
];
Currency EUR
| Type | "currency_eur" |
| Description | This column type combines the amount as well as the currency information for euro. Whether the input is the amount, or the amount in combination with "EUR" or "€" symbol, it will all be normalized within the "Review Entries"-step. The output object contains both information in separate properties, the amount as a float and the currency "EUR" as string. The display of the value is controlled by the property numberFormat. |
| Input example | "40,00 EUR", "42,50€" or "45,22" |
Output format
[
{
price: {
value: 45.22,
type: "EUR",
},
},
];
Currency USD
| Type | "currency_usd" |
| Description | This column type combines the amount as well as the currency information for US Dollar. Whether the input is the amount, or the amount in combination with "USD" or "$" symbol, it will all be normalized within the "Review Entries"-step. The output object contains both information in separate properties, the amount as a float and the currency "USD" as string. The display of the value is controlled by the property numberFormat. |
| Input example | "40,00 USD", "42,50$", "USD 35,09" or "$45.22" |
Output format
[
{
price: {
value: 45.22,
type: "USD",
},
},
];
Country Code Alpha 2
| Type | "country_code_alpha_2" |
| Description | The cells in this column are displayed as dropdown fields with all available country alpha 2 codes (e.g., "US", "DE", "FR") as selectable options. Country code columns support intelligent option mapping, which automatically maps country names and variations to their correct two-letter codes. For example, "Germany", "Deutschland", or "DE" will all map to "DE". During the "Data transformation" step of the CreatePipeline and ExecutionDetails embeddables, the system automatically suggests mappings between imported values and country codes, which users can review and adjust. The options are pre-configured by the system and include all standard ISO 3166-1 alpha-2 country codes. You can find a list of all valid alpha 2 country codes here. |
| Input example | "Germany", "DE", "Deutschland" (all map to "DE") |
Output format
[
{
origin_country: "DE",
},
];
Country code columns use option mapping with pre-configured options for all countries. The system automatically handles country name variations and translations. Learn more about option mapping.
Country Code Alpha 3
| Type | "country_code_alpha_3" |
| Description | The cells in this column are displayed as dropdown fields with all available country alpha 3 codes (e.g., "USA", "DEU", "FRA") as selectable options. Country code columns support intelligent option mapping, which automatically maps country names and variations to their correct three-letter codes. For example, "United States", "America", "US", or "USA" will all map to "USA". During the "Data transformation" step of the CreatePipeline and ExecutionDetails embeddables, the system automatically suggests mappings between imported values and country codes, which users can review and adjust. The options are pre-configured by the system and include all standard ISO 3166-1 alpha-3 country codes. You can find a list of all valid alpha 3 country codes here. |
| Input example | "United States", "USA", "America" (all map to "USA") |
Output format
[
{
origin_country: "USA",
},
];
Country code columns use option mapping with pre-configured options for all countries. The system automatically handles country name variations and translations. Learn more about option mapping.
Currency Code
| Type | "currency_code" |
| Description | The cells in this column are displayed as dropdown fields with all available currency codes (e.g., "USD", "EUR", "GBP") as selectable options. Currency code columns support intelligent option mapping, which automatically maps currency names, symbols, and variations to their correct ISO codes. For example, "Euro", "€", "EUR", or "euros" will all map to "EUR". During the "Data transformation" step of the CreatePipeline and ExecutionDetails embeddables, the system automatically suggests mappings between imported values and currency codes, which users can review and adjust. The options are pre-configured by the system and include all standard ISO 4217 currency codes. |
| Input example | "Euro", "EUR", "€" (all map to "EUR") |
Output format
[
{
price_currency: "EUR",
},
];
Currency code columns use option mapping with pre-configured options for all currencies. The system automatically handles currency name variations, symbols, and translations. Learn more about option mapping.
Date
| Type | "date" |
| Description | The cells in this column are displayed as date fields that display an error message if the input does not match the format defined in outputFormat. |
With date, you can cover all your preferred date and timestamp formats such as MM/DD/YYYY, DD.MM.YYYY, YYYY-MM-DD, etc. Check out the outputFormat key to see which date variables are available.
Email Address
| Type | "email" |
| Description | The cells in this column are displayed as email fields that display an error message if the input is not a valid email address. |
| Input example | "[email protected]", "[email protected]" or "[email protected]" |
Output format
[
{
mail_address: "[email protected]",
},
];
European VAT Number
| Type | "vat_eu" |
| Description | The cells in this column are displayed as free text fields that display an error message if the input is not a valid European VAT number. If you need more information regarding European VAT numbers, have a look here. |
| Input example | "DE999999999", "DK12345678" or "FR12345678901" |
Output format
[
{
ust_id: "DK12345678",
},
];
GTIN/EAN
| Type | "gtin" |
| Description | The cells in this column are gtin/ean fields that display an error message if the input is not a valid GTIN/EAN. Further information regarding the GTIN/EAN verification can be found here. |
| Input example | "4270002835450", "12345670" or "012345000010" |
Output format
[
{
ean: "4270002835450",
},
];
International Bank Account Number (IBAN)
| Type | "iban" |
| Description | The cells in this column are displayed as IBAN fields that display an error message if the input is not a valid European IBAN. |
| Input example | "DE89370400440532013000", "BE71096123456769" or "AT483200000012345864" |
Output format
[
{
customer_iban: "AT483200000012345864",
},
];
Percentage
| Type | "percentage" |
| Description | The cells in this column are displayed as percentage fields that display an error message if the input is not a numeric value nor contains a string with only numbers and a percentage sign (%). All valid inputs are converted into percent (0,12 -> 12%), but the output is a float. The display of the value is controlled by the property numberFormat. |
| Input example | "12%", "12", "12,8" or "12.8" |
Output format
[
{
market_share: 0.1,
},
];
Phone Number
| Type | "phone" |
| Description | The cells in this column are displayed as phone number fields that display an error message if the input is not a valid phone number (spaces are not allowed). The input needs to start with "00", or with "+" and the country code. |
| Input example | "0049123419191919" or "+49123419191919" |
Output format
[
{
customer_phone: "0049123419191919",
},
];
URL
| Type | "url" |
| Description | The cells in this column are displayed as website fields that display an error message if the input is not a valid url. The input is not allowed to contain a prefix like "www" or "https". |
| Input example | "ingestro.com", "comdocks.com/product" or "docs.ingestro.com/sdk/start#technical-implementation" |
Output format
[
{
website: "ingestro.com",
},
];
URL with https
| Type | "url_https" |
| Description | The cells in this column are displayed as website fields that display an error message if the input is not a valid url beginning with "https". |
| Input example | "https://ingestro.com", "https://www.comdocks.com/product" or "docs.ingestro.com/sdk/start#technical-implementation" |
Output format
[
{
website: "https://ingestro.com",
},
];
URL with www
| Type | "url_www" |
| Description | The cells in this column are displayed as website fields that display an error message if the input is not a valid url beginning with "www". |
| Input example | "www.ingestro.com", "www.comdocks.com/product" or "www.docs.ingestro.com/sdk/start#technical-implementation" |
Output format
[
{
website: "www.ingestro.com",
},
];
ZIP Code AT & DE
| Type | "zip_code_de" |
| Description | The cells in this column are displayed as zip code fields that display an error message if the input is not a valid German or Austrian postal code. |
| Input example | "12345" or "1234" |
Output format
[
{
address_zip: "12345",
},
];
Full Example
Below is a code snippet of a target data model containing all column types:
Example
[
{
key: "string",
label: "Text",
columnType: "string",
},
{
key: "integer",
label: "Integer",
columnType: "int",
},
{
key: "float",
label: "Float number",
columnType: "float",
},
{
key: "bool",
label: "Boolean",
columnType: "boolean",
optionConfiguration: {
options: [
{
label: "Yes",
value: true,
type: "BOOLEAN",
alternativeMatches: ["true", "y", "yes", "1", "on"],
},
{
label: "No",
value: false,
type: "BOOLEAN",
alternativeMatches: ["false", "n", "no", "0", "off"],
},
],
mappingConfiguration: {
layers: ["EXACT", "SMART", "FUZZY"],
threshold: 0.6,
},
multiSelect: false,
optionSource: "STATIC",
},
},
{
key: "category",
label: "Category",
columnType: "category",
optionConfiguration: {
options: [
{
label: "Option 1",
value: "option_1",
type: "STRING",
alternativeMatches: ["opt1", "first"],
description: "First option",
},
{
label: "Option 2",
value: "option_2",
type: "STRING",
alternativeMatches: ["opt2", "second"],
description: "Second option",
},
],
mappingConfiguration: {
layers: ["EXACT", "SMART", "FUZZY"],
threshold: 0.6,
},
multiSelect: false,
optionSource: "STATIC",
},
},
{
key: "category_dynamic",
label: "Category (Dynamic)",
columnType: "category",
optionConfiguration: {
options: [],
mappingConfiguration: {
layers: ["EXACT", "SMART", "FUZZY"],
threshold: 0.6,
},
multiSelect: false,
optionSource: "DYNAMIC",
dynamicOptionFetch: {
url: "https://api.example.com/options",
method: "GET",
headers: {
"Content-Type": "application/json",
},
authentication: {
refresh_url: "https://api.example.com/auth/token",
method: "POST",
headers: {
"Content-Type": "application/json",
},
},
},
},
},
{
key: "bic",
label: "BIC",
columnType: "bic",
},
{
key: "iban",
label: "IBAN",
columnType: "iban",
},
{
key: "eur_currency",
label: "EUR currency",
columnType: "currency_eur",
},
{
key: "usd_currency",
label: "US currency",
columnType: "currency_usd",
},
{
key: "country_code_alpha2",
label: "Country Code Alpha2",
columnType: "country_code_alpha_2",
},
{
key: "country_code_alpha3",
label: "Country Code Alpha3",
columnType: "country_code_alpha_3",
},
{
key: "currency_code",
label: "Currency code",
columnType: "currency_code",
},
{
key: "date",
label: "Date",
columnType: "date",
outputFormat: "MM/DD/YYYY",
},
{
key: "mail",
label: "Email Address",
columnType: "email",
},
{
key: "vat",
label: "VAT number",
columnType: "vat_eu",
},
{
key: "gtin",
label: "GTIN",
columnType: "gtin",
},
{
key: "share",
label: "Percentage",
columnType: "percentage",
},
{
key: "phone",
label: "Phone number",
columnType: "phone",
},
{
key: "url",
label: "URL",
columnType: "url",
},
{
key: "example_https_url",
label: "URL HTTPS",
columnType: "url_https",
},
{
key: "example_url_www",
label: "URL WWW",
columnType: "url_www",
},
{
key: "zip",
label: "ZIP Code",
columnType: "zip_code_de",
},
];