Importing Contracts via CSV

Prev Next

Import contracts into License Manager in bulk using a CSV template to quickly create multiple contract records at once. This is especially useful when onboarding License Manager or migrating contract data from another system.

Available for:

  • Customers using SysAid Spaces

  • Users with the “Manage Software Licensing” permission enabled. For more information on user permissions, see Edit Administrator.

How it works

The contract import process allows you to upload a CSV file that follows a predefined template. Each row in the file represents a single contract.

During the upload, SysAid validates the file structure, required fields, data types, and supported values. Valid rows are imported as new contracts, while invalid rows are rejected and reported. Existing contracts stay as is - the import will only add new rows.

To upload the file, you must first select a date format. This format is applied to all date fields (such as Start Date and End Date), and all values must match it.

Applications are handled automatically during import. If the application listed in the file already exists, it will be linked to the contract. If it does not exist, a new application is created and linked to the imported contract.

If any rows fail validation, you can download an error log that clearly explains what went wrong, including the row number, column name, and issue. After fixing the errors, you can re-upload the file.

Template fields

To ensure a smooth import, your file must follow the structure of the provided template.

Required fields

The following fields must be completed for each row:

  • Contract Name

  • Application

  • Status

If any of these fields are missing, the row will fail validation.

Field structure

Use the template to ensure all fields are formatted correctly. The table below outlines the available fields and their values:

Field name

Description

Supported values

Contract Name (Required)

The name of the contract as it will appear in License Manager.

Up to 255 characters.

Application (Required)

The application linked to the contract.

Up to 255 characters.

Status (Required)

The contract status. Must match supported values.

Active, Closed, Pipeline.

Type

The application type. Must match supported values.

SaaS, On-prem, Hybrid, Other.

Category

The application category. Must match supported values

Operations, Sales & Marketing, Developer Tools, Design, Project Management, Customer Success, Human Resources, IT & Security, Finance, Productivity, Analytics & BI, Other.

Start Date

The contract start date. Must match selected date format

-

End Date

The contract end date. Must match selected date format

-

Payment Term

The billing frequency. Must match supported values

Annual, Monthly, Multiyear, Quarterly, One time, Free.

Contract Value

The monetary value of the contract. Numbers only.

-

Currency

The currency code. Must be a supported currency.

Supported currencies.

Licenses

The number of licenses listed in the contract.

-

Auto Renewal

Indicates if the contract renews automatically. Must match supported values.

Yes, No.

Cancellation Notice

The notice period (in days) available to you if you wish to cancel the contract. Numbers only.

-

Owner

The name of the contract owner.

-

Notes

Any notes or additional information you’d like to include for the contract.

Up to 2,000 characters.

Please note:

Do not rename or remove columns from the template. This will cause the system to mark the file as corrupted.

Importing contracts

To import contracts:

  1. Navigate to License Manager > Contracts, click the dropdown next to Create contract, and select Import CSV.

  2. In the import module, select the date format used in your file. This format will be applied to all date fields (such as Start Date and End Date), and all values must match it.

  3. Click Download template and fill it in with your contract data. Make sure all required fields are completed, values match the supported formats, and the file structure (including column names) remains unchanged.

  4. Upload the completed file using drag-and-drop or by browsing your device.

  5. After uploading, SysAid validates the file and displays a summary of the results, including how many rows are valid and how many failed.

  6. If there are validation issues, download the error log to see detailed information for each failed row, including the row number, column name, and description of the issue. Fix the errors in your file and re-upload it.

  7. Once validation is complete, click Import to create contracts from all valid rows. Any rows with errors will not be imported.

Handling errors

If your file contains invalid data, SysAid will highlight the issues and prevent those rows from being imported.

After validation, you can download an error log that provides detailed information for each failed row. Each error includes:

  • Row number – where the issue occurred

  • Column name – which field caused the error

  • Description – what went wrong

Common errors and how to fix them:

Error

What it means

How to fix it

Missing mandatory field

A required field (such as Contract Name, Application, or Status) is empty

Fill in the missing value in the relevant column.

Invalid dropdown value

A field contains a value that is not supported (for example, an unknown Status or Category)

Replace the value with one of the supported options.

Invalid date format

A date does not match the format selected during import

Update the date to match the selected format (for example, DD/MM/YYYY).

Column mismatch

A column is missing, renamed, or does not match the template

Re-download the template and ensure column names remain unchanged.

Data type mismatch

A field contains the wrong type of data (for example, text instead of a number)

Correct the value to match the expected type (for example, numbers only for numeric fields).

Tip!

To make sure your import is easy and smooth:

  • Always start with the latest template

  • Do not rename or reorder columns

  • Double-check date formats before uploading

  • Use the error log as your guide. Fix only the affected rows and re-upload