Ticket Imports can be used to import ticket sales into your Spektrix system. This can be useful when selling tickets through third parties, such as partners or Agents. You use a ticket import to make the data from third-party sales available in your system.
TIP: To start importing Tickets, you'll need to request access to the Importer. To learn more about getting started with imports, read Introduction to doing your own imports.
How to prepare for a Ticket Import
When importing tickets, each line in the CSV represents a sold or reserved ticket. Ticket imports can be used to record ticket sales or reservations, it is not possible to return tickets using the importer.
Ticket sales can only be imported into available seats and added to existing customers. If you also need to create new customers alongside your import, you will need to complete a Customer Import first.
When uploading a ticket import, you will need to supply either an OwnerSpektrixId, OwnerForeignId or EmailAddress that matches an existing Customer Record in Spektrix.
To make a Ticket Import, work through the following steps in order:
- Prepare your CSV file
- Validate your data
- Import your data
1. Preparing your CSV file
First, you’ll need to compile the ticket data you want to import into a CSV file. To do this, you should use a CSV editor program such as Rons Data Edit (if approved by your IT team) or Excel.
Your CSV file must be formatted correctly for your import to be successful.
WARNING: You are responsible for any incorrect data that is imported to your system using the importer. It is not possible to reverse an incorrect import.
Understanding the CSV file
Each row in the CSV file represents a ticket. A ticket can only be imported if the required properties are provided in the import file in the correct format.
Each column in the CSV file represents a data field related to each ticket:
Your CSV file
For an import to be successful, your CSV file must meet the following standards:
- All required fields must be populated with data. Read the next section of this article for details about the required fields.
- Each column name must match the correct column name exactly.
- Each CSV must be in the UTF-8 encoding format. Read more about UTF-8 encoding in Introduction to doing your own Imports.
- Data must match the required format for the field type. For example, you cannot import free text into a Yes/No field. For more information, read the Field Types section of Introduction to doing your own Imports.
Required Data Fields
In the table below, we’ve outlined the different data fields which can be included in Ticket Imports and whether they are required.
If a field that is not required is left blank, no data will be imported into this field.
| Column Name | Description | Required |
| OwnerSpektrixId |
Enter the Spektrix Customer Id that you’d like to import the tickets into.
|
No |
| EmailAddress |
Enter the customer’s email address.
|
No |
| OwnerForeignId |
Enter a unique string to reference a non-Spektrix Customer Id. The string you enter in the OwnerForeignId field will populate a Customer Attribute of your choosing. Create this Customer Attribute in advance and enter it into the Foreign Id Customer Custom Field Name setting when importing the CSV file.
|
No |
| FacilitatorSpektrixId |
If the Owner is an Organisation, enter the Customer Id of the facilitator of this transaction.
|
No |
| TransactionDate |
Enter an Accounting Date for the transaction using the correct format (yyyy-mm-dd). If left blank, the Accounting Date will default to the Date Transaction Confirmed. The Date Transaction Confirmed field will always be the date of the import, regardless of the Accounting Date.
TIP: If you use Excel to edit your CSV files, you’ll need to set the date format to yyyy-mm-dd every time you open the file. |
Yes, but can be left blank |
| SalesChannel |
Enter Web, Phone or Counter. If left blank, this field will default to Counter.
|
No |
| SpektrixEventInstanceId |
Enter the Event Instance ID. You can find this in the Admin Interface > Event Instance details. If this does not match an existing Instance ID, then the ticket will not be imported.
|
Yes |
| SeatingAreaName |
Enter the Seating Plan Area Name of the ticket. The name must match exactly. This is not the Seating Plan name.
|
Yes |
| SeatName |
Enter the name or number of the seat. The SeatName is only required for tickets in Reserved Areas of Seating Plans and must match exactly.
|
Yes for Reserved Areas of Seating Plans No for Unreserved Areas of Seating Plans |
| IsReservation |
Whether the ticket is a reservation (yes) or a sold ticket (no). If left blank the default value is set to False.
|
No |
| Price |
Enter the price of the ticket. Must be greater than or equal to zero.
|
Yes |
| Commission |
Enter the commission charged on the ticket. This value must be greater than or equal to zero.
|
Yes |
| TicketTypeName |
Enter the name of the Ticket Type. This must match the name of the Ticket Type in Spektrix exactly.
|
Yes |
| Printed |
Enter whether the ticket has been printed (yes) or not (no). If left blank, the default value is set to False.
|
No |
| OrderNote |
Enter a note which will be stored against your Order.
|
No |
| OrderId |
Enter a unique string to split tickets into separate Orders. If the OrderId matches, tickets will be grouped into the same Order. The string you enter in the OrderId field will populate an Order Attribute of your choosing. Create this Order Attribute in advance and enter it into the Foreign Id Order Custom Field Name setting when importing the CSV file. A Spektrix Order ID will still be created.
|
No |
TIP: Consider sorting your CSV file by OwnerSpektrixId or EmailAddress so that each customer's tickets are together in the file. This can be beneficial when troubleshooting import failures.
Multiple Orders
By default, tickets that are imported with the matching values in the OwnerSpektrixId, TransactionDate and SpektrixEventInstance columns will all be imported into the same Order.
Tickets with the following matching values will all be imported into the same order:
- Owner
- Facilitator (if provided)
- SalesChannel (if provided)
- Payment Reference (if provided)
- Transaction Date
Alternatively, you can use the OrderId column to group tickets into the same Order.
Ticket Custom Field
The Ticket Custom Field column can be used to import custom Ticket Attributes.
To add a custom field, use the TicketCustomField:{CustomFieldName} column and replace {CustomFieldName} with the exact name of your Ticket Attribute.
For example, if your Ticket Attribute is named Comp Type then your column name would be:
TicketCustomField:Comp Type
Attribute names are case sensitive and must match exactly (including spaces) to be successfully imported.
WARNING: If you have Ticket Attributes set up on your system which are marked as required, you will need to import these alongside your data. Your import will fail if you do not supply values for required Attributes.
Example
Click the image below to see a detailed example of a Ticket Import. This example has been formatted correctly with all the required headings and is ready to be uploaded.
REMINDER: Don’t forget to save your CSV in the UTF-8 encoding format.
2. Validate your data
You can use the Importer to validate your CSV file before completing your import. All imports must be validated before they are imported.
The Importer is found in the Settings interface.
REMINDER: The Importer is currently only available to clients in beta testing. Reach out to our Support Team if you’d like to register your interest.
Each import type has two processes that can be run against it: Validate and Import:
The validation process checks the data in the input file against validation rules to identify any issues in the CSV file. It does not check against data already in Spektrix (for example, customer data) so you may still get data-specific errors when running your import.
WARNING: Do not run your import until you have received a successful validation CSV.
How to use the Validator
-
Select the Import Type: Tickets:
-
Click Validate:
-
Upload your CSV and click Run Validator:
REMINDER: CSV files must be in the UTF-8 format and contain all of the required information for your import.
Once you’ve run the validator, you’ll see a Job Submitted icon in the top right of the screen.
Hover your mouse over the green check mark and click to download the CSV file to view the results:
Viewing the validation document
The validator will give one of two types of responses:
- Validation error found
If the validation is unsuccessful, the CSV will contain a message explaining the failure.
Some examples:
-
VALIDATION FAILED WITH CsvHeaderException
Unrecognised headers: ‘seatname’
In this example, the validation failed due to an incorrect column header case.
-
VALIDATION FAILED WITH CsvDataException
Error processing row 1. Invalid date. Dates must be in the format yyyy-MM-dd. '20/03/2025' is not valid.
In this second example, the validation failed due to an incorrect date format.
TIP: If you use Excel to edit your CSV files, you’ll need to set the date format to yyyy-mm-dd every time you open the file.
- No validation error found
If the validation is successful, the CSV will contain a message which reads: Validation completed successfully.
Once you have a successful validation, you can import your data.
3. Importing your data
If your CSV file passes validation, then you can import the file.
REMINDER: A successful validation of your CSV file does not always lead to a successful import of your data.
How to run an Import
- Select the Import Type Tickets:
- Click Import
- Complete the Import CSV details
- Foreign Id Customer Custom Field Name: To use the OwnerForeignId field, you must enter the name of your Customer Attribute in this box.
- Foreign Id Event Instance Custom Field Name: Leave blank
- Foreign Id Order Custom Field Name: To use the OrderId field, you must enter the name of your Order Attribute in this box.
- Upload the CSV file: Click select file and browse to the location on your computer where the CSV file is saved
After clicking Run Importer, you will see a pop up asking you to confirm the number of rows in the import file:
Click Confirm to continue with the import, or click Cancel to go back.
Once you’ve clicked Confirm, you’ll see a Job Submitted in the top right of the screen.
Hover your mouse over the green check mark and click to download the CSV file. Once downloaded you’ll be able to view the results:
You’ll also receive an email notification to let you know that the import is complete. This will be sent to the email address registered to your User Account.
WARNING: DO NOT run the importer again until you have checked the CSV log and cross-referenced any successfully imported data.
Import results
A CSV report will be generated and available to download with the result of your import.
If the import is successful, you will see Import completed successfully:
If the import fails, you’ll see an error message.
For example: The following seating areas do not exist: Stalls. No tickets in the transaction have been imported.
The CSV report will contain a row for each record that had an error.
Each row explains:
- On what record the error occurred
- The details of the error
- The contents of the object that caused the error (in a single cell, with line breaks between properties)
TIP: When viewing errors, expand each cell of the spreadsheet to view the full message.
Any rows not listed as having errors will have been imported successfully.
Depending on the error in the log file, you may want to amend the data and re-attempt to import for those specific rows only.
WARNING: You should spot check your imported data by viewing imported orders in the Sales Interface before attempting to re-upload all or part of your failed import.
Troubleshooting Ticket Import Errors
Below we’ve listed some of the common errors which can occur when importing tickets and how to troubleshoot them.
-
The following event instances cannot be found
If you receive the instances cannot be found error message, check that the Instance ID listed in your CSV is correct. You can find this in the Admin Interface > Event Instance details. Re-upload the import with the correct Instance ID.
-
The following seats are not available for purchase: C2
To import tickets, the seats must be available. You will need to return any already sold seats before being able to import them.
-
Invalid date. Dates must be in the format yyyy-MM-dd.
Reupload the import with the correct date format. If you use Excel to edit your CSV files, you’ll need to set the date format to yyyy-mm-dd every time you open the file.
-
Payment Type cannot be inactive: Imported payment
The Imported payment payment type is created automatically on your first import. It must remain active and with no authorisation required. If an admin changes these settings, this can cause future imports to fail.
Go to the Admin Interface and check whether the Imported payment payment type is active. If it's been deactivated, reactivate it before running the import.