Related articles

DevelopersAPI guides

Automatically importing transactions

Transactions can be uploaded automatically to Enable via SFTP data feeds to calculate rebate earnings.

This article will guide you through:

  1. How to download the transaction template
  2. How to populate the transaction template
  3. How to save the transaction file
  4. Checking the universal requirements for the file
  5. How to upload the transactions file

Looking for something else?

How to download the transaction template

Channel admin users will have access to the Config area and transaction template within Enable. If you require additional help, please reach out to our support team here.

To download the transaction template:

Step 1: Click on Config in the green banner at the top of the page.

Step 2: Click on Import transactions in the drop-down menu.

Step 3: On the left of the page, click CSV template to save the transactions template to your computer’s downloads folder.

Download the transactions template

If you are importing transactions via SFTP, you may navigate away from the import transactions area within Enable, and continue with the steps in the next section.

How to populate the transaction template

Once the transactions template has been downloaded, you will need to populate each row with the following column data. Column headers must not be changed or renamed in the file.

  • Date: The date of the transaction, in the format YYYY-MM-DD, e.g. 2024-01-31 for 31st January 2024.
  • Trading partner reference: This will be changed to your channel’s specific label (e.g. Supplier reference, customer reference).
  • {Dimension} reference: This will be changed to your channel’s specific dimensions. There will be a column per dimension.
  • Units: The total number of units for the transaction. Units can have no more than 4 decimal places. Do not use commas to separate thousands, "-" to denote zero, or parentheses to denote negatives; simply use the number without these, using a leading negative sign if required.
  • Value: The total monetary transacted value of the transaction. A value can have no more than 2 decimal places. Do not use commas to separate thousands, "-" to denote zero, or parentheses to denote negatives; simply use the number without these, using a leading negative sign if required.
  • Currency: The currency of the transaction, e.g. USD, GBP, CAD, EUR, etc.
  • External reference: A text field you can use to add additional information, often used for audit purposes to align with external systems. This field is only available if configured, and is limited to 40 characters.
  • (Optional) Interface date: If enabled in your channel, populate the interface date with the date of the import, in the format YYYY-MM-DD, e.g. 2024-01-31 for 31st January 2024.
  • (Optional) Agreement ID: If required, populate with the program line reference to which this transaction line will earn rebate against. If this column is populated, the Enable platform will attempt to reconcile against the inputted reference.
  • (Optional value) Advised earnings: Allows an expected monetary claim amount to be specified, which can be included in the program earnings report to compare advised earnings against calculated earnings. Please note that this is not used for calculating rebate earnings but is a validation step to ensure alignment. If Advised earnings is populated, then Agreement ID will be mandatory. Advised earnings can have no more than 2 decimal places. Do not use commas to separate thousands, "-" to denote zero, or parentheses to denote negatives; simply use the number without these, using a leading negative sign if required.
  • (Optional value) Order reference: A text field you can use to add additional information, often used for audit purposes to align with external systems.
  • (Optional) Delivery reference: A text field you can use to add additional information, often used for audit purposes to align with external systems.
  • (Optional) Invoice reference: A text field you can use to add additional information, often used for audit purposes to align with external systems.

If required by your implementation team:

  • (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. This must all be in uppercase.

How to save the transactions file

If the interface dates column does not appear in your transaction file, save your CSV file and rename the file to the format “TURNOVER-FIRSTDATEtoLASTDATE-TIMESTAMP.csv”, where:

  • FIRSTDATETOLASTDATE is replaced by the range of transaction dates in the file, in an 8-digit format following yyyyMMdd.
  • TIMESTAMP is replaced by a 14-digit number in the format yyyyMMddhhmmss made up of the creation date, e.g. TURNOVER-20240101to20230331-20240217030422.csv.

If the interface dates column does appear in your transaction file, save your CSV file and rename the file to the format “TURNOVER-INTERFACEDATE-TIMESTAMP.csv”, where:

  • INTERFACEDATE is replaced by the interface date used in the transaction file, in an 8-digit format following yyyyMMdd.
  • TIMESTAMP is replaced by a 14-digit number in the format yyyyMMddhhmmss made up of the creation date, e.g. TURNOVER-20240217-20240217030422.csv.

Importing transactions for a particular turnover type? You can also choose to specify a single dimension item in your transactions filename, e.g. if turnover types are configured in your Enable channel.

  • To do this, you must follow the format of "TURNOVER-DIMENSION NAME=[DIMENSION ITEM REFERENCE]-FIRSTDATEtoLASTDATE-TIMESTAMP.csv".
  • E.g. If you have a dimension of Transaction Type in your channel, and an item within that dimension with a reference of Sales, a valid filename would be TURNOVER-TRANSACTION TYPE=[SALES]-20240101to20230331-20240217030422.csv.

Checking the universal requirements for the file

The following criteria must be satisfied for each file imported via the SFTP:

  • The dataset to be imported must be a CSV file within an encrypted ZIP file.
  • The name of the ZIP file must be the same as the CSV file.
  • AES-256 encryption must be used.
  • The compression method must be either 0x08 (deflate) or 0x00 (store).
  • The CSV file must use UTF-8 encoding and rows delimited by CRLF.

The CSV file must have:

  • A first row consisting of correctly named labels for each column/field.
  • Comma delimited fields in each row.
  • If commas are used in text fields within the CSV file, double-quote characters should be used for the text fields.
  • If double-quote characters are used in text fields within the CSV file, these should be represented by two double-quote characters.

How to upload the transactions file

Step 1: Connect to your SFTP location using the SFTP credentials provided by your implementation team.

Step 2: Navigate to the Imports folder.

Step 3: Upload the Transactions CSV file into the Imports folder.

Step 4: Create an empty file with the same name as the Transactions CSV file with an additional appended “.ok” (e.g. TURNOVER-20240101to20230331-20240417030422.csv.ok). This will begin the import process into your channel.

Step 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 Enable platform. 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.

What’s next?

Need help resolving SFTP errors? Learn how to understand SFTP errors here.

Transactions file not yet processed? Learn how to view the transaction import status here.

Transactions file completed? Now learn how to review your transactions reconciliation report here.

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.