Skip to main content
NetterTech
Event management for WordPress, done right.

Known losses

Most event data migrates cleanly between The Events Calendar and NetterTech Events, but a handful of fields are expected not to survive a complete round-trip. This page documents those losses up front so you can plan around them.

Summary

FieldDirectionImpactWorkaround
Venue Post IDTEC → NTELowVenue data preserved, just denormalized
Ticket Security CodesTEC → NTE → TECMediumRequires ticket reissue
External Event URLTEC → NTELowManual entry if needed
Hide From UpcomingTEC → NTELowUse NTE status field instead
Cost Display FieldsTEC → NTENoneNTE uses actual ticket prices (improvement)
Layout ConfigNTE → TECLowPer-event customization lost
Check-in TokenNTE → TECLowVolunteer check-in URLs lost
Checked-in CountNTE → TECMediumPartial check-in detail lost
Accessibility NotesNTE → TECLowMap to generic notes

TEC → NetterTech Events losses

Venue post ID

  • Field: _EventVenueID (TEC post ID)
  • Impact: Low
  • Reason: NetterTech Events stores venue data directly on the event record instead of maintaining separate venue posts.
  • What’s preserved: All venue information (name, address, city, state, postal code, country, phone, website) is denormalized onto each event.
  • Round-trip impact: If you migrate back to TEC, new venue posts are created. Duplicate detection prevents redundant venues.

Ticket security codes

  • Fields: _tribe_wooticket_security_code, _ticket_security_code
  • Impact: Medium – affects existing QR codes and ticket barcodes.
  • Reason: NetterTech Events generates its own unique ticket codes using a different format.
  • User impact: Existing QR codes and ticket barcodes from TEC become invalid after migration.
  • Workaround: Implement a “Reissue Tickets” workflow after migration to send attendees new QR codes. Plan this before you migrate if you have sold tickets.

External event URL

  • Field: _EventURL
  • Impact: Low
  • Reason: NetterTech Events has no equivalent field for external event URLs.
  • Workaround: Add the external URL to the event description, or use a custom field.

Hide from upcoming

  • Field: _EventHideFromUpcoming
  • Impact: Low
  • Reason: NetterTech Events uses event status (published, draft, hidden) instead of a separate hide flag.
  • Workaround: Events marked as hidden in TEC can be set to hidden or draft status in NetterTech Events after migration.

Cost display fields

  • Fields: _EventCost, _EventCostDescription, _EventCurrencySymbol, _EventCurrencyPosition
  • Impact: None – this is actually an improvement.
  • Reason: NetterTech Events calculates and displays prices from actual ticket type records rather than storing display-only cost fields.
  • Benefit: The displayed price always matches real ticket prices. No possibility of drift between the cost string and the actual cart.

NetterTech Events → TEC losses

These losses only matter if you’re migrating back to TEC (for example, to exit NetterTech Events or to run a parallel instance).

Layout config

  • Field: layout_config (JSON)
  • Impact: Low
  • Reason: TEC has no equivalent for per-event layout customization. NetterTech Events allows events to override default template layouts.
  • User impact: Events exported to TEC will use TEC’s default layouts. Any per-event layout customization is lost.

Check-in token

  • Field: checkin_token
  • Impact: Low
  • Reason: NetterTech Events’ volunteer check-in system uses unique tokens for each event/occurrence. TEC has no equivalent concept.
  • User impact: Volunteer check-in URLs become invalid after export to TEC.

Checked-in count (partial check-in)

  • Field: checked_in_count
  • Impact: Medium – partial check-in detail is lost.
  • Reason: NetterTech Events supports partial check-in (e.g., 2 of 4 tickets checked in for one attendee). TEC only tracks a binary checked-in status.
  • Example:
    • Before: NetterTech Events shows “Attendee has 4 tickets, 2 checked in”
    • After export to TEC: Attendee shows as checked_in = true, losing the “2 of 4” detail

Accessibility notes

  • Field: accessibility_notes
  • Impact: Low
  • Reason: NetterTech Events has a dedicated field for accessibility requirements. TEC only has generic notes.
  • Workaround: Accessibility notes can be mapped to TEC’s generic notes field or prepended to attendee info.

Bidirectional considerations

Series / recurring events

Partial support. TEC → NetterTech Events imports series relationships and generates occurrences from RRULE. NetterTech Events → TEC exports the RRULE, but series post relationships may not be recreated identically. Occurrences will match, but administrative structure may differ.

Full support. Both directions. Images are re-attached to the destination post/event and maintain their WordPress media library relationships.

Organizer images

Full support. Same handling as featured images.


Migration recommendations

Before migration

  1. Back up everything – database and uploads directory
  2. Inform users about ticket reissue if applicable
  3. Document custom fields – any TEC custom meta that may not have NetterTech equivalents
  4. Test with dry run – use dry-run mode first to see what will change

After TEC → NetterTech Events migration

  1. Verify venue data on spot-checked events
  2. Review hidden events – check the status of events that were hidden in TEC
  3. Plan ticket reissue if tickets were sold in TEC – existing QR codes are invalid

After NetterTech Events → TEC migration

  1. Check attendee status – verify check-in data looks correct
  2. Review event layouts – re-apply any custom layouts
  3. Test check-in in TEC

ID preservation

IDs are not preserved across systems. The migration uses slug-based matching to maintain relationships:

EntityMatched by
Eventspost_name / slug
Categoriesslug
Tagsslug
Organizersslug
Ticket Typesname + event slug
Attendeesemail + event slug + ticket name

This means: if you run a migration, delete the destination, and re-run, the migrator will recreate everything with new IDs but the same slug-based relationships.