Importing Data
EventWorks lets you import data in bulk from CSV files, saving you from manually entering records one at a time. Whether you're migrating from another system or loading a batch of new records, the import tool walks you through uploading your file, mapping your columns to the right fields, and processing everything in the background.
Getting There
Navigate to the import page by going to Admin > Import in your browser's address bar (e.g. yourcompany.geteventworks.com/admin/import).
Tip: You can also import costs directly from within an individual event, quote, or package — see Importing Costs Into an Event or Quote below.
Overview
The import page provides a simple two-step process:
- Select the type of data you want to import and upload your CSV file.
- Map columns from your file to EventWorks fields, then confirm the import.
Your data is processed in the background, so you can continue working while the import runs. Once it's complete, your new records will appear in the relevant areas of EventWorks.
Supported Import Types
You can import the following types of data from the main import page:
| Import Type | What It Creates |
|---|---|
| Contacts | Accounts and their associated contacts — including addresses, phone numbers, tags, custom fields, and industry types |
| Events | Events with their associated accounts, contacts, dates, venues, statuses, and financial summaries |
| Resources | Resources (equipment, stock items) with types, pricing, SKUs, and variants |
| Invoices | Invoices linked to events, including line items and payments |
| Costs | Cost line items imported in bulk across multiple events (matched by event code or ID) |
Note: The Costs option on the main import page is for importing costs across multiple events at once. To import costs into a single event, quote, or package, use the import option from within that record instead.
Preparing Your Data
File Format
- Your file must be in CSV format (
.csv). Most spreadsheet applications (Excel, Google Sheets, Numbers) can export to CSV. - The first row of your file must contain column headers. These headers are used during the mapping step to help you match your data to EventWorks fields.
- Each subsequent row represents one record to import.
Column Headers
Your column headers don't need to match EventWorks field names exactly, but using similar names makes the mapping step faster — EventWorks will try to auto-match columns based on header names. For example, a column named "First name" will automatically map to the contact's first name field.
Data Formatting Tips
- Dates should be in a recognisable format such as
YYYY-MM-DD,DD/MM/YYYY, or1 January 2025. EventWorks will parse most common date formats. - Numbers (prices, quantities, costs) should be plain numeric values. Currency symbols and commas are stripped automatically.
- Tags should be comma-separated within a single column (e.g.
Corporate, VIP, Repeat). - Multiple values for fields like account types or salesperson names should also be comma-separated.
Warning: Make sure your CSV is encoded as UTF-8 to avoid issues with special characters. When exporting from Excel, choose CSV UTF-8 as the file type.
How To Import
Step 1: Select the Import Type and Upload Your File
- On the import page, choose the type of data you want to import from the Import type dropdown. Your options are Contacts, Events, Resources, Invoices, or Costs.
- Click Choose File (or Browse) and select your CSV file from your computer.
- Click Import to upload the file and proceed to column mapping.
Step 2: Map Your Columns
After uploading, you'll see a mapping screen with a table showing:
- Column — the header name from your CSV file, along with a sample value from the first row of data.
- Field — a dropdown where you select the corresponding EventWorks field.
EventWorks will attempt to auto-match your columns based on their names. Review each row and adjust any mappings that aren't correct. If a column in your file doesn't correspond to any EventWorks field, you can leave it unmapped by clearing the dropdown.
The available fields are grouped by category. For example, when importing contacts you'll see groups for Contact fields (name, email, phone, etc.) and Account fields (company name, address, etc.). If you've configured custom fields in your account settings, those will appear as mapping options too.
Tip: The sample value shown next to each column header helps you confirm you're mapping the right data. If the sample looks wrong, double-check that your CSV file is formatted correctly.
Step 3: Configure Options (Resources Only)
When importing resources, you'll see two additional options before confirming:
- Update prices of allocated resources — if ticked, any resources that are already allocated to packages or quote templates will have their prices updated to match the imported values.
- Allow duplicates — if ticked, new resource records will always be created, even if a resource with the same name already exists. If unticked, existing resources will be updated instead.
Scheduling Future Prices via Import
You can schedule future prices for resources by mapping a Price effective from column in your CSV. This column works alongside the unit cost and unit price columns:
- If the effective date is in the future, a scheduled price tier is created for that date. The resource's base price is left unchanged.
- If the effective date is today or in the past, the base price is updated directly (normal behaviour).
- If the column is left blank or not mapped, the import updates the base price as it always has.
Tip: Use the date formatYYYY-MM-DDfor the effective date column (e.g.2027-01-01). This avoids ambiguity between date formats.
See Scheduled Resource Pricing for more information on how price tiers work.
Step 4: Confirm and Import
Once you're happy with the column mapping, click Import to start processing your data.
You'll see a confirmation message: "Data has been queued for import." This means your import is being processed in the background. Depending on the size of your file, it may take a few moments for all records to appear.
Note: For large contact imports (over 5,000 rows), the data is automatically split into batches and processed in chunks, so there's no need to break up large files yourself.
Importing Costs Into an Event or Quote
In addition to the bulk cost import on the main import page, you can also import costs directly into a specific event, quote, or package. This is useful when you have a spreadsheet of cost line items for a particular job.
- Open the event, quote, or package you want to add costs to.
- Navigate to the Costs tab.
- Click the Import button in the toolbar above the costs table.
- Select your CSV file and click Upload.
- Map your columns to the available cost fields and click Import.
The costs will be created as line items within that specific record. Cost imports from within an event or quote are processed immediately — you'll see the new costs appear as soon as the import completes.
Available cost fields include:
- Type, Status, Description
- Unit cost, Unit price, Quantity (with unit options)
- Duration and time-based settings
- Commission, Discount, Management fee
- Supplier name
- Tab and Group for organising costs
- Flags such as Billable, VATable, and Reconciled
How Records Are Matched
EventWorks uses intelligent matching to avoid creating duplicates during import:
| Import Type | How Duplicates Are Prevented |
|---|---|
| Contacts | Accounts are matched by name — if an account with the same name already exists, the contact is added to it rather than creating a duplicate account. |
| Events | Events are matched first by event code, then by name + start date. If a match is found, the existing event is updated. |
| Resources | When "Allow duplicates" is off, resources are matched by name, type, and supplier. Matching resources are updated rather than duplicated. |
| Invoices | Invoices are always created as new records. Rows that reference an event code which doesn't exist in your system are skipped. |
| Costs | Cost line items are always created as new records. |
Handling Errors
If any rows in your file can't be processed (for example, because of missing or invalid data), those rows will be skipped and the rest of your data will still be imported.
Common reasons a row might fail:
- Missing required data — for example, a contact import row with no account name, or an invoice row that references an event code that doesn't exist.
- Invalid date formats — if a date value can't be parsed, it will be left blank or the row may be skipped.
- Invalid numeric values — non-numeric characters in price or quantity fields (beyond currency symbols, which are handled automatically).
Tip: If you notice records are missing after an import, check your original CSV file for blank rows, extra whitespace, or formatting issues in the problem rows.
Tips & Best Practices
Tip: Start with a small test import of 5–10 rows to make sure your column mapping and data formatting are correct before importing your full dataset.
Tip: When importing contacts, EventWorks will match existing accounts by name. If an account with the same name already exists, the contact will be added to it rather than creating a duplicate account.
Tip: When importing events, if you include an event code that already exists, EventWorks will update the existing event rather than creating a duplicate. The same applies to resources (when duplicates are not allowed).
Warning: Imports cannot be undone automatically. If you import incorrect data, you'll need to manually edit or delete the affected records. Always double-check your file before confirming.
Tip: Clean up your spreadsheet before importing — remove any summary rows, totals, or blank rows at the bottom of the file that aren't actual data records.
Tip: When importing events, salesperson and event manager names should match existing user names in your system. If a name doesn't match, a new user record may be created.
Frequently Asked Questions
Q: What file formats are supported?Only CSV (.csv) files are supported. If your data is in an Excel spreadsheet (.xlsx), open it in Excel or Google Sheets and export it as a CSV file first.
There is no hard limit. Large files are processed in batches in the background, so even files with thousands of rows can be handled. However, very large imports may take several minutes to complete.
Q: Can I import data that includes custom fields?Yes. When importing contacts or events, any custom fields you've configured in your account settings will appear as mapping options alongside the standard fields.
Q: What happens if I import the same file twice?It depends on the import type. For contacts, EventWorks matches accounts by name and adds contacts to existing accounts rather than creating duplicates. For events, existing events are matched by code or name+date and updated. For resources, this depends on whether you tick the Allow duplicates option. For costs and invoices, new records are always created.
Q: My import seems stuck. What should I do?Imports are processed in the background and larger files may take a few minutes. If records haven't appeared after 10–15 minutes, try refreshing the relevant page. If nothing has changed, contact your administrator for assistance.
Q: Can I import costs for a single event without using the main import page?Yes. You can import costs directly from within an event, quote, or package by clicking the Import button on the Costs tab. This is the recommended approach when your cost data relates to a single record.