.left-arrow.case-study { left: calc(50vw + 683px - 54px - 70px); } .right-arrow.case-study { left: calc(50vw + 683px - 54px - 20px); }
By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.

Related articles

DevelopersAPI guides

Automatically importing data

Introduction

Rather than manually importing trading partners, dimension items, transactions, or payment lines through Enable's user interface, you can configure this data to be automatically imported on a regular schedule.

To initiate the automated imports process, have you can reach out to Enable via our support service here. You will be given credentials for an SFTP server where you can upload files with data to be imported to your channel. Enable will provide you with templates as part of the onboarding process to ensure that data is exported from your system in the correct format for the type of import you wish to run.

In order for an automatic import to work properly, please ensure that the file to upload adheres to the strict formatting requirements described below.

This article covers:

How to import trading partner data (i.e. suppliers or customers)

Downloading a trading partner template

These steps are optional if you already know the exact file format of your customer implementation. If you are unsure you can use the UI template as a basis for your automated trading partner (i.e. supplier, customer etc.) imports.

  1. Download the trading partner template by clicking on Config at the top of the page and then on Structure in the drop-down menu.
  2. Click on the Trading Partner tab near the top of your screen.

Note: Trading Partner refers to the label given to your trading partner in your channel (i.e. Suppliers, Customers, Vendors etc).

  1. Navigate to the Maintain list tab and click on the Download template button located at the bottom right of the page. To download an empty CSV file with column headers, leave the Populated with existing option unticked. To download a CSV file populated with all your trading partner information in Enable, click on the Populated with existing option.
  2. Click on the Download button.

Populating the trading partner template

These steps assume you are starting from an existing template.

  1. Locate and open the downloaded Trading Partner CSV file.The Trading Partner file will contain a column labelled header row, with the following columns:
    a) Trading Partner Name: this will be changed to your platform-specific label (i.e. Suppliers name, Customers name, Vendors name etc.). This field can have a maximum of 100 characters.
    b) Trading Partner Reference: this will be changed to your platform-specific label (i.e. Suppliers reference, Customers reference, Vendors reference etc.).  This field can have a maximum of 20 characters.
    c) Trading Partner Attributes: this will be changed to your platform-specific attributes; please reach out to your support team here for the mandatory trading partner attributes in your channel. These fields can have a maximum of 800 characters.
  2. Populate each row per Trading Partner, ensuring that each Trading Partner Name and Trading Partner Reference is unique. For any empty entries, a placeholder value must be present (e.g., “-”).
  3. (Optional) Add the row count in the final row in the form “ROWCOUNT IS X”, where X is the total number of trading partners you are uploading. In the CSV file, this will be the total row count - 2.
  4. Save your CSV file and rename the file to the format “TRADINGPARTNER-TIMESTAMP.csv”, where:
    a) TRADINGPARTNER is replaced by the label given to your trading partner (i.e. SUPPLIERS or CUSTOMERS etc.) in your channel and TIMESTAMP is replaced by a 14-digit date time in the form yyyyMMddhhmmss made up of the creation date (i.e. SUPPLIERS-20230417030422.csv).

Uploading the trading partner data

  1. Connect to your SFTP location using the SFTP credentials provided by your implementation team.
  2. Navigate to the Imports folder.
  3. Upload the Trading Partner CSV file into the Imports folder.
  4. Create an empty file with the same name as the Trading Partner CSV file with an additional appended “.ok”. This will begin the import process into your channel. (i.e. SUPPLIERS-20230417030422.csv.ok)
  5. Check to see if the file was received by Enable once the file has finished processing. If the Trading Partner CSV file is in the Succeeded folder, this indicates that the Trading Partner data is now in the system. If the Trading Partner CSV file is in the Failed folder, this indicates that the file has failed and a corresponding Error.txt file will be generated describing the error.

How to import dimension data (i.e. products and locations)

Your dimension data represents the key business elements Enable needs to reconcile transactions. This is a general guide to uploading dimension data such as products, locations, branches etc.. Please be aware you are likely to need several different dimension uploads to keep the primary data in Enable accurate.

Downloading a dimension template

  1. Download the relevant Dimension template by clicking on Config at the top of the screen and then on Structure in the drop-down menu.
  2. Click on the required Dimension name, and then click on the Download template button on the bottom right of the page. To download an empty CSV file with column headers, leave the Populated with existing option unticked. To download a CSV file populated with all your Dimension information in Enable, click on the Populated with existing option.
  3. Click on the Download button.

Populating the dimension template

  1. Locate and open the downloaded Dimension CSV file.
  2. The Dimension file will contain a column labelled header row, with the following columns:
    a) {Dimension} Name: This will be changed to your platform-specific dimensions label (i.e. Product Name, Location Name etc.) Each row will have a name per Dimension Item. This field can have a maximum of 255 characters.
    b) {Dimension} Reference: this will be changed to your platform-specific dimensions label (i.e. Product Reference, Location Reference etc.). Each row will have a reference per Dimension Item. This field can have a maximum of 100 characters.
    c) (Optional) Start Date: this date determines which Dimension Items will be displayed when assigning dimension items to a program line. Dimension items with a Start Date before the Program Line Start Date will not be available for selection. This field, if populated, needs to be in yyyy-MM-ddformat.
    d) (Optional) End Date: this date determines which Dimension Items will be displayed when assigning dimension items to a program line. Dimension Items with an End Date after a Program Line End Date will not be available for selection. This field, if populated, needs to be in yyyy-MM-dd format.
    e) Dimension Attributes: this will be changed to your platforms-specific dimension attributes; please reach out to your support team here for the mandatory dimension attributes in your channel. These fields can have a maximum of 800 characters.
    f) Populate each row per {Dimension}, ensuring that each Dimension Item Name and Dimension Item Reference is unique. For any empty entries, a placeholder value must be present (e.g., “-”).
  3. (Optional) Add the row count in the final row in the form “ROWCOUNT IS X”, where X is the total number of dimension items you are uploading. In the CSV file, this will be the total row count - 2.
  4. Save your CSV file and rename the file to the format given:
    a) If you have a singular collection, the file name will be {DIMENSION NAME}-TIMESTAMP.csv {DIMENSION NAME} is replaced by the pluralized label given to your Dimension in your channel and TIMESTAMP is replaced by a 14-digit number in the form yyyyMMddhhmmss made up of the creation date (i.e. PRODUCTS-20230417030422.csv).
    b) If you have multiple collections, the file name will be {DIMENSION NAME}-{COLLECTION NAME}-TIMESTAMP.csv where {COLLECTION NAME} is replaced by the name of the Dimension collection you want to update (e.g. Products 2023), {DIMENSION NAME} is replaced by the pluralized label given to your Dimension in your channel and TIMESTAMP is replaced by a 14-digit number in the form yyyyMMddhhmmss made up of the creation date (i.e. PRODUCTS-Products 2023-20230417030422.csv).

Uploading dimension data

  1. Connect to your SFTP location using the SFTP credentials provided by your implementation team.
  2. Navigate to the Imports folder.
  3. Upload the {Dimension} CSV file into the Imports folder.
  4. Create an empty file with the same name as the Dimension CSV file with an additional appended “.ok”. This will begin the import process into your channel. (i.e. PRODUCTS-20230417030422.csv.ok or PRODUCTS-20230417030422.zip.ok)
  5. Check to see if the file was received by Enable once the file has finished processing. If the {Dimension} CSV file is in the Succeeded folder, this indicates that the data is now has been successfully imported into your channel. If the {Dimension} CSV file is in the Failed folder, this indicates that the file has failed and a corresponding Error.txt file will be generated describing the error.

How to import transaction data

Downloading a transaction template

  1. Download the transactions template by clicking on Config at the top of the page and then on Import Transactions in the drop-down menu.
  2. Click on the CSV template button located at the bottom left of the page.

Populating the transaction template

  1. Locate and open the downloaded Transactions CSV file.
  2. The Transaction file will contain a column labelled header row, with the following columns:
    - Date: this date corresponds to the date that the transaction line refers to, in the format yyyy-MM-dd.
    - Trading Partner Reference: this will be changed to your platform-specific label (i.e. Suppliers reference, Customers reference, Vendors reference etc.).
    - {Dimension} Reference: this will be changed to your platform-specific dimensions. There will be a column per dimension. Please reach out to your support team here for the mandatory dimensions in your channel.
    - Units: this value corresponds to the number of units for the transaction line. This is limited to 4 decimal places.
    - Value: this value corresponds to the monetary value for the transaction line. This is limited to 2 decimal places.
    - Currency: this is the currency of the value column.
    - External Reference: this value corresponds to the text set in the external reference section of the transaction that the row corresponds to. This is limited to 40 characters.
    - (Optional value) Interface Date: this value corresponds to the interface date that the transaction line relates to in the format yyyy-MM-dd.
    - (Optional value) Agreement ID: this value corresponds to the identifier of the agreement against the particular advised earning. Based off these IDs you can run a report to compare those to your actual and advised earnings.
    - (Optional value) Advised Earnings: this value corresponds to the earnings you are expecting on a particular transaction. This value will not impact any earnings calculations but can be included in the earnings report to compare advised earnings against calculated earnings. This is limited to 2 decimal places.
    -
    (Optional value) Order Reference: this value corresponds to the text set in the order reference column of the transaction that the row corresponds to.
    - (Optional value) Delivery Reference: this value corresponds to the text set in the delivery reference column of the transaction that the row corresponds to.
    - (Optional) Invoice Reference: this value corresponds to the text set in the invoice reference column of the transaction that the row corresponds to.
  3. Populate each row per transaction. For any empty entries, a placeholder value must be present (e.g., “-”)
  4. (Optional) Add the row count in the final row in the form “ROWCOUNT IS X”, where X is the total number of transactions you are uploading. In the CSV file, this will be the total row count - 2.
  5. Save your CSV file and rename the file to the format “TURNOVER-FIRSTDATEtoLASTDATE-TIMESTAMP.csv”, where:
    a) FIRSTDATETOLASTDATE is replaced by the range of transaction dates in the file in an 8-digit format yyyyMMdd and TIMESTAMP is replaced by a 14-digit number in the form yyyyMMddhhmmss made up of the creation date (i.e. TURNOVER-20230101to20230331-20230417030422.csv).

Uploading transaction data

  1. Connect to your SFTP location using the SFTP credentials provided by your implementation team.
  2. Navigate to the Imports folder.
  3. Upload the Transactions CSV file into the Imports folder.
  4. Create an empty file with the same name as the Transactions CSV file with an additional appended “.ok”. This will begin the import process into your channel (i.e. TURNOVER-FIRSTDATEtoLASTDATE-TIMESTAMP.csv.ok).
  5. Check to see if the file was received by Enable once the file has finished processing. If the Transactions CSV file is in the Succeeded folder, this indicates that the Transaction data is now in the system. If the Transactions CSV file is in the Failed folder, this indicates that the file has failed and a corresponding Error.txt file will be generated describing the error.

How to import payment allocation data

Downloading a payment allocation template

  1. Download the Payment Allocation template by clicking on Finance at the top of the page and then on Uploads in the drop-down menu.
  2. Click on the Upload button located at the bottom left of the page. Then, click on the Download Import Template. This will download the Payment Allocations CSV file to your Downloads folder.

Populating the payment allocation template

  1. Locate and open the downloaded Payments CSV file.
  2. The Payments file will contain a column labelled header row, with the following columns:
    - Trading Partner Name: this will be changed to your platforms-specific label (i.e. Suppliers name, Customers name, Vendors name etc.). Enter the name of the Trading Partner the payment is associated with.
    - Trading Partner Reference: this will be changed to your platforms-specific label (i.e. Suppliers reference, Customers reference, Vendors reference etc.). Enter the reference of the Trading Partner the payment is associated with.
    - (Mandatory) Currency: this value corresponds to the Currency used for the payment (i.e. USD, GBP, CAD etc.). Please reach out to your support team here to confirm the currencies that have been set up in your channel.
    - (Mandatory) Payment Value: Populate with the total value of the payment being made or the payment received.
    - (Mandatory) Tax: Populate with the tax value that should not be allocated to the payment lines. If there is no tax, populate it with 0.
    - (Mandatory) Payment method: Populate with the payment method of the payment. The list of valid payment methods is displayed on the Instructions page after downloading the template.
    - (Mandatory) Date of payment: this date corresponds to the date of the payment in the format YYYY-MM-DD.
    - (Mandatory) External reference: this value corresponds to the text set in the external reference section of the payment that the row corresponds to. This must be unique for that supplier.
    - (Optional) Notes: this can be populated with any additional notes or information for each payment.
    - (Optional) Reason code: Please reach out to your support team here to confirm the Reason Codes that have been set up in your channel. This field needs to be populated if the Sum of Allocated Value columns does not equal the Payment Value column i.e. if the payment is being left unallocated or partially allocated.
    - Allocated value: this value corresponds to a proportion of the total payment value that is allocated to a given payment line. This payment line will be determined by the payment line ID.
    - Payment line ID: this value corresponds to ID of the payment line that the proportion of the total payment value is allocated to. The payment line IDs can be found on the Debtors report. By default, there are three pairs of Allocated value and Payment line IDs. If you have more than 3 payment allocations to make, please add more columns to the template (i.e. Allocated value 4, Payment line ID 4, Allocated value 5, Payment line ID 5, etc.). If you have less than 3 payment allocations to make, you do not need to delete the unused columns.

Note: If you populate the Trading Partner Reference column, leave the Trading Partner Name column blank.

  1. Populate each row per payment line.
  2. Save your CSV file and rename the file to the format “PAYMENTUPLOAD-TIMESTAMP”, where:
    a) TIMESTAMP is replaced by a 14-digit number in the form YYYYMMDDHHMMSS made up of the creation data (i.e. PAYMENTUPLOAD-20230417030422).

Uploading payment allocation data

  1. Connect to the SFTP location using the SFTP credentials provided by your implementation team.
  2. Navigate to the Imports folder.
  3. Upload the Payments CSV file into the Imports folder.
  4. Create an empty file with the same name as the Payments CSV file with an additional appended “.ok”. This will begin the import process into your channel (i.e. PAYMENTUPLOAD-20230417030422.csv.ok).
  5. Check to see if the file was received by Enable once the file has finished processing. If the Payments CSV file is in the Succeeded folder, this indicates that the payment lines are now in the system. If the Payments CSV file is in the Failed folder, this indicates that the file has failed and a corresponding Error.txt file will be generated describing the error.

How to import data for integration and transformation

Enable now offers Data Integration & Cleansing to transform your data into Enable’s format for upload.

Please reach out to your Customer Success team if you are interested or to discuss the data mapping requirements.

Uploading data files

  1. Connect to your SFTP location using the SFTP credentials provided by your implementation team.
  2. Navigate to the Custom Imports folder.
  3. Upload your files into the Custom Imports folder.

If your file has failed to import it will land in the 'Failed' folder within the 'Import' folder on the SFTP location. In this scenario, an accompanying Error.txt file will be created for each failed file detailing what the cause of failure is. For example, this may be an incorrect ZIP password, incorrect row count, incorrect naming/ formatting convention, etc.

This article covers SFTP import error messages and their causes. If you encounter any error messages that are unclear, or if you would like assistance troubleshooting these, please raise a Helpdesk ticket with us.

Import error messages

Zip errors

  • "The stored ZIP password is not valid." - There is a discrepancy between the ZIP password used for the file and the stored value.  If you have forgotten the ZIP password, please raise a Helpdesk ticket with us.
  • "The ZIP file must contain a CSV file with the same name." - There is a difference in the file name between the CSV and ZIP files. Both names are expected to be identical. For guidance on file naming convention, please see our article on automated imports.

File errors

  • "Filename did not match any dimension collection.” - The file name does not contain a recognised dimension collection name. The file name should be checked against the dimension collection name within the channel structure.

Import errors

  • "The specified import type is not a feature” - The data you are trying to import is not currently supported through the SFTP. Please refer to our article on automated imports for supported import types.
  • "The import terminated unexpectedly.” - The import timed out during processing. If you experience this issue whilst importing data through the SFTP, please raise a Helpdesk ticket with us.
  • "Import has errored too many times.” - The import process has failed the systems attempts to retry the import after initial failure. If you experience this issue whilst importing data through the SFTP, please raise a Helpdesk ticket with us.
  • "The import has been cancelled.” - This error occurs when an import was processing during a system update. The import was cancelled and your data has been unaffected. If this error occurs, you should attempt to re-import the file.

Validation errors

  • "File '{inputFileName}' has failed data validation.” - This error message indicates that the file has failed validation for any of the below reasons.
  • "The value for this column is required. {columnName}” - This error occurs when there is a value missing for a given column in one or more rows. If you experience this error, please review the file and populate any empty values.
  • "This column is specified more than once. Column names must be unique. {columnName}” - Column names must be unique within a file. If you encounter this error, please review the file and ensure that each column has a unique header.
  • "The value '{value}' is not recognised.”
  • "The value '{value}' is not in a recognised date format. The correct format is '{correctFormat}'.” - The value entered is not in an accepted date format. Dates within the file must be in the format yyyy-mm-dd. For more information please refer to our article on automated imports.
  • "The date '{date:yyyy-MM-dd}' is not in the valid range of {minDate:yyyy-MM-dd} to {maxDate:yyyy-MM-dd}.” - This error occurs when dates within the file are outside of the range defined by the file name. Please review the dates in the file name and within the file and make any necessary corrections.
  • "Row number {duplicateRowNumber} is a duplicate of row number {originalRowNumber} on columns {duplicateColumnsDetails}.” - If you encounter this error, it is likely that your file contains duplicate rows. The file should be reviewed and any duplicates present should be removed.
  • "Row number {duplicateRowNumber} contains duplicate values from row number {originalRowNumber}.” - The row(s) referenced contain duplicate values from another row in a column where the values much be unique.
  • "Validation message limit of {validationMessageLimit} exceeded. The remaining rows in this file have not been validated.” please raise a Helpdesk ticket with us.
  • "Validation message limit of {validationMessageLimit} exceeded. Validation messages for the remaining rows have not been displayed.” please raise a Helpdesk ticket with us.
  • "The final row is not in a valid format.” - The final row of all files received through the SFTP must a single entry in the format “ROWCOUNT IS X” where X is the number of non-empty rows (excluding headers and the ROWCOUNT row). More information on correctly formatting CSV files can be found in our article on automatically importing data.
  • "The final row specifies {parsedRowCount} row(s) but {rowCount} row(s) were provided.” - If you encounter this error, there is a discrepancy between the number of rows in the file and the number of rows declared in the ROWCOUNT. Please review and amend the ROWCOUNT.

Data type errors

  • "The value '{value}' is not in a recognised decimal format.” - The value entered does not match the decimal format that the system expects. For UK and US SFTP locations, the sytstem expects a period as a decimal point. For EU SFTP locations, the system expects a comma as a decimal point.
  • "This value contains {decimalPlaces} decimal place(s) but a maximum of {maxDecimalPlaces} decimal place(s) are supported.” - Enable supports up to 4 decimal places for numeric values, if the file contains numbers with decimal places exceeding this limit, the above error message will be displayed.
  • "This value contains {decimalPlaces} decimal place(s) but a minimum of {minDecimalPlaces} decimal place(s) are supported.”
  • "This value exceeds the maximum length of {maxLength} character(s).” - The entered value does not meet our length requirements for the given column. Further information on restrictions to string lengths for dimensions and other fields can be found in our article on automatically importing data.
  • "This value is below the minimum length of {minLength} character(s).”
  • "The value for this column is in the incorrect format. The correct format is {0}.”
  • "The value '{value}' is not in a recognised multi value format.” - The value entered does not follow the correct format for a multi-valued attribute. For multi-valued attributes, each value should be qualified with quotation marks and separated with commas. For more information on permitted values for attribute data types, please reference our article on dimension attributes.

FAQ

Why are leading zeros missing on data upload?

If you are having issues with Excel like losing leading zeros, dates changing format unexpectedly, or character delimitation, please refer to our articles on how to load CSVs into Excel.

Not useful
1
2
3
4
5
Very useful
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Still have questions?
Raise a ticket or contact our support team.