PatronManager Help

How to Use the Ticket Order Import Tool

Updated on

Use this link to share with your colleagues:

How to Use the Ticket Order Import Tool: https://help.pm.leapevent.tech/a/1096535

If you've sold tickets to an event outside of PatronManager, you'll probably still want to import that data for reporting purposes.  

The Ticket Order Import Tool (TOIT) lets you use a CSV file to import Ticket Orders and Ticket Order Items into PatronManager. In this article, you'll learn how to import ticket orders using the TOIT::

  1. Download the Ticket Order Import Tool template
  2. Create your Event Inventory
  3. Decide how you plan to qualify your orders
  4. Prepare your CSV file
  5. Import your external ticket orders
  6. Qualify your orders if necessary

We'll also cover how to troubleshoot your import if you get any errors.

Make sure that all contacts in your To Be Qualified list are qualified prior to running your ticket order import.

1. Download the Ticket Order Import Tool template

The TOIT has specific requirements and can be finicky if your CSV file doesn't meet those requirements. To ensure a successful import, your file’s column headings need to match the TOIT’s accepted headings exactly.

For example, the column header for the patron's street address should be labeled "address1". If your file's column header is instead labeled "Street Address", the system won't recognize your label, and the TOIT will ignore the entire column.

So what column headers should you use? We recommend you download this template and copy your data into the exact headers required for import:

You can also check your headers against the first page of the TOIT (which you'll see in Step 5 below):

2. Create your Event Inventory

You can't import your tickets if your file can't "buy" anything, so it's time to create the necessary Events, Instances, Allocations, and Price Levels. You can do this manually, or check out our DIY Data series to learn how to import your ticketing structure.

3. Prepare your CSV file

Before you import your external ticket orders, you'll format and edit your CSV file using the Ticket Order Import Tool template.

Time to prep!

1. Decide how you plan to qualify your orders

With the right information, the system can auto-qualify your orders for you.  In order of preference, the system uses:

  • sf_contact_id: The 15 or 18-digit Salesforce ID of your Contact
  • ext_contact_id: The External Contact ID; if you have this, you've likely already mapped it to PatronManager from your external ticketing system
  • email: The Contact's email address

If your records don't include any of the above fields, you'll need to manually qualify your Ticket Orders through the Unqualified Contact List following your import.

2. Get the external ticket orders into the template format

Here are the required columns in the template and what you should use them for:

  • last: The last name of the Contact.
  • ext_order_id: Order identifier from the external system. Used to combine multiple line items into a single order. This value must be specified for every line item in your import file.
  • event_name: The Ticketable Event Name - this must match your Event Inventory
  • instance_name: The Event Instance Name - this also must match your Event Inventory
  • unit_price: This must match the unit price listed in the corresponding Price Level.
  • subs_item: Set to “N” for regular tickets.
    • Note: Although “subs_item” is a required field, the TOIT can't import subscriptions.

Need help using Excel? Check out our DIY Data series!

3. Check your file for the following:

  1. Make sure the columns in your file match the ones in our template exactly
    • Hint: check for extra spaces!
  2. Check that you only have one Event/Instance/Allocation/Price Level per row
  3. Remove any special characters, accents, or apostrophes from your file
    • These can cause errors; we recommend you leave these characters out of your import and manually add them back once the data is in the system, if necessary.

4. Once everything looks good, save your file as a CSV

Your file should be saved in CSV (Comma delimited) format; other CSV formats may trigger errors within the TOIT.

When you’re ready to import, your file should look something like this:

4. Partition a small batch of test data from your file

Before importing your full data file, you'll want to import a small batch first to act as a test file. This test file ensures:

  • column headers match exactly to the data template to map to the appropriate field in PatronManager
  • all required fields have been populated
Get your test file

1. "Save As" your CSV file

Use a name like "[Event] import - Test Batch".

2. Triple-check that you now have two copies of your original file

You'll be deleting a lot of information from the Test Batch file, so you'll want to be sure that you've saved your full import file elsewhere!

3. In the Test Batch file, find 2-3 rows representing a few orders

We recommend sorting the file by the "ext_order_id" column and taking the first 2-3 orders from the top of the file. If you have multiple items for any of the orders that you've selected, make sure to bring all items into the test file. All items for a single order must be included in the same import batch.

4. Delete all other rows and save your Test Batch file

5. Open up your original, full import file, remove the rows/orders that are now in your test file and Save

5. Import your external ticket orders

Heads up!

Once an order is imported using the Ticket Order Import Tool, bulk edits cannot be made to the existing orders. This includes adding new field values, changing existing field values, and adding additional tickets or line items to an existing order.

You'll still be able to make these changes manually, but not en masse.

Now you're ready to bring all this data into PatronManager.

First, follow the steps below with your test batch import. Then, when you're sure everything is in order, repeat these steps with your full data file.

Import external ticket orders here

1. Go to the Ticket Order Import tab via the App Launcher

2. Click "Choose File" to select your CSV, then click "Next"

3. Choose how you want the tool to handle Contact data, then click Begin Import:

  1. Overwrite with Data from Import File: Any Contact fields included in your file will overwrite data in PatronManager with the import. Blank data fields in the file will not overwrite existing data.
  2. Attach to Ticket Order Only: The import will only attach the Ticket Order to the matching Contact - no Contact fields will update with data from the file.
  3. Create qualified Ticket Orders and Contacts when no matching Contact is found: If this box is checked, any non-matching Contacts will automatically have an Account and Contact created using the data from the file, and no qualification will be necessary.

Be advised: If you check the "Create qualified Ticket Orders and Contacts when no matching Contact is found" box, your import could  potentially create many duplicate Accounts and Contacts in your system.

4. Click Begin Import when you're ready.

4. Once your import completes, you'll review a summary of the import

6. Qualify any Ticket Orders as necessary

If you didn't choose to create Accounts and Contacts from non-matching rows on the previous screen, head over to your Unqualified Contact List to qualify any non-matching Ticket Orders.

You're done - you've imported Ticket Orders!

Run into any issues or errors?

We've compiled a digest of common errors that can occur when running the Ticket Order Import Tool. Learn more about these errors and how to troubleshoot them below.

BLOB is not a valid UTF-8 string

What it looks like:

The issue: The BLOB error indicates an invalid character in your data such as an accent, an apostrophe, or special characters.

How to fix it: Remove those characters from your data (for example, import “O’Reilly” as “OReilly”), and correct any affected records after the import is complete.

If you still get the BLOB error after removing these characters, the file’s coding may be the culprit. If that’s the case, submit a support request via the Client Community and upload the file. A member of the Data Team will help troubleshoot.

Invalid character data at character position 0

What it looks like:

The issue: This error usually indicates that the file isn't in a valid CSV format.

How to fix it: Open your file and select "Save As" - the file type should be CSV (comma delimited). Any other type of CSV (such as UTF-8) will trigger this error message.

“Missing Required Columns” and “Unrecognized Columns”

What it looks like:

The issue: One or more of your column headings likely don't match the template exactly.

How to fix it: Check for extra spaces or typos. You can also apply the Excel formula =TRIM to eliminate these spaces.

There are too many Ticketable Event, Event Instance, Ticket Allocation and Ticket Price Level combinations to display the mapping page

What it looks like

The issue: Either there are too many combinations of Events, Instances, Allocations, and Price Levels, or you attempted to import your records to Inventory that doesn’t exist.

How to Fix it: Check your file to confirm you're only importing to Events/Instances/Allocations/Price Levels that you've already built, and verify your Inventory Names are listed exactly as they appear in your Event Inventory.

Invalid Date/Time

What it looks like:

The Issue:  The date format in your CSV file isn't readable by the TOIT

How to Fix it: To correct the date format in your CSV, use this formula: =TEXT(B2,”mm/dd/yyyy h:mm am/pm”)

“Apex CPU time limit exceeded” or “ Regex too complicated”

What it looks like:

The issue: When you get this error during a ticket import, it's usually due to having too much complexity within your file, such as having too many different Instances, Allocations, or especially Price Levels. If you don't have this sort of complexity, the error could be due to large file size.

How to to fix it: First try breaking your import down into smaller files that have fewer variations in Inventory.

Note: when you split your import into smaller files, keep all records from the same order in one file. If you split an order across two files, the records in the second file won’t import to the same order.

If you still get the error after attempting to import smaller files, submit a support request via the Client Community and upload the file. A member of the Data Team will help troubleshoot.

"Maximum view state size limit ([number]KB) exceeded. Actual view state size for this page was [number]KB"

What it looks like:

The issue: There's likely an unexpected character, such as an apostrophe, in the Event name.

How to fix it: Try removing the character, like the apostrophe, from the Event name and import the file again.

"Error importing ticketing objects: Insert failed. First exception on row 1; first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, The "[TICKET ALLOCATION NAME]" allocation has insufficient quantity remaining (1).: []. The import was not performed. Please review/correct the input file and try again."

The issue: There aren't enough seats remaining in the Ticket Allocation(s) that you're attempting to import your tickets into.

How to fix it: Filter your import file by the Ticket Allocation that the error message specifies, like "Orchestra" or "Mezzanine," and count up the total number of tickets that you'd like to import into that specific Ticket Allocation. Head over to your Event Inventory and check the remaining Retail Quantity in the Ticket Allocation and then either adjust the available Retail Quantity (for General Admission events) or adjust your file to put those seats to a different Ticket Allocation (for Pick Your Own Seat events).

If your import file includes multiple Event Instances that have the same Ticket Allocation names, you may need to hone your search further to identify which Ticket Allocation is the culprit.

"Cannot import file. The import file may be too large or with too many different Event Instances or your Event Instances/Ticket Allocations/Price Levels don't match the Event Inventory exactly. Error is in expression '{parseFile}' in component <apex:commandButton> in page patronticket:importwizardcolumnsummary: (PatronTicket)"

The issue: When you get this error during a ticket import, it's usually due to having too much complexity within your file, such as having too many different Instances, Allocations, or especially Price Levels. If you don't have this sort of complexity, the error could be due to large file size.

How to to fix it: First try breaking your import down into smaller files that have fewer variations in Inventory.

Note: when you split your import into smaller files, keep all records from the same order in one file. If you split an order across two files, the records in the second file won’t import to the same order.

If you still get the error after attempting to import smaller files, submit a support request via the Client Community and upload the file.  A member of the Data Team will help troubleshoot.

Previous Article Card Reader / Card Swiper Buyer's Guide
Next Article All About Vatic and Dynamic Pricing
Still Need Help? Continue to the Client Community