ThrilKnowledge Base

Import and migrate membership holders

Import prepared member lists or copy holders between membership products with clear checks for eligibility, billing, benefits, and access.

Imports and member copying are operational migration tools. They do not reproduce the complete customer purchase flow or transfer the original member's full history. Use them only when you are responsible for the target membership terms and have a clear plan for billing and access.

Choose the correct operation

NeedOperation
Add one known venue customerAdd the member manually
Add a prepared list with optional price, date, and payment-status valuesImport members
Add holders of one membership to another existing membershipCopy members
Change terms for existing records without creating a second membershipBatch update members

Import members

Use membership import for a prepared onboarding or migration list. Email is required. Supported rows can also override the target member's price, end date, and payment status.

Every imported member starts at the time of import. The file cannot supply a different start date, and import does not preserve a future start date from a fixed-date product. Do not import a future seasonal cohort unless immediate activation is intended; correct member start dates afterward when necessary.

Review the preview and result groups:

  • matched and importable users;
  • users who could not be matched;
  • users who already hold an active membership;
  • rows with missing or invalid values.

Import constructs member records directly. It does not assign the target membership's trial or introductory pricing and does not perform customer checkout. Do not assume it sends the same welcome email or performs every action associated with a normal purchase.

Importing into a recurring membership

For a recurring membership, the imported current period counts as settled outside Thril: no Thril payment is created for it, and Thril takes over billing from the next renewal.

  • The optional recurringPaymentNextDueAt column sets each member's first Thril renewal date. When omitted, the next renewal follows the product's normal period length from the import.
  • Accepted date formats are 2030-01-15, 2030-01-15 12:00, 15.1.2030, and 1.5.2030. The value is read as a calendar date in the venue's time zone, and the renewal runs around noon on that date. A date that is not after the current date makes the row invalid.
  • The activeUntil and paymentStatus columns are ignored for recurring imports: a recurring member's validity is owned by the renewal chain, and imported members start with the standard pending status.
  • A fixed contract counts the imported current period as period 1.
  • The file cannot supply a remaining commitment count; migrations that need one must adjust members afterward.
  • Staff can change the next payment date after import from the manage-member drawer.

Import checklist

  1. Confirm the target membership's validity, price, benefits, and reach.
  2. Decide whether the imported price and end date should come from the file or target product.
  3. Confirm what each payment status means for the migration.
  4. Review unmatched and already-active users before proceeding.
  5. Verify several imported records, including validity and access requirements.
  6. Keep the source list and result report until the migration is accepted.

Copy members to another membership

Copying processes one record for each user who has ever held the source membership, including expired former members, and grants the target membership's initial benefits. It is product-wide: there is no active-only or selected-row filter. A source user is skipped if they have ever had a record for the target membership, even when it is no longer active.

Copying does not:

  • convert or remove the source membership;
  • transfer the source payment or pricing history;
  • apply the target membership's trial or introductory pricing;
  • preserve every member-specific pause or adjustment;
  • set up automatic recurring renewal processing for copied members.

Do not use member copying to migrate a recurring membership when copied members are expected to renew automatically. Contact Thril support to plan that migration. Copying is safe only when its direct target records and grants are the intended result.

Plan a product replacement

Before moving a cohort:

  1. Keep the source membership and its history available.
  2. Export and review the full source history, including expired holders.
  3. Make the target unavailable from the shop while checking its configuration.
  4. Compare price, validity, benefits, booking rules, reach, and integrations.
  5. Decide how the source membership will end and whether any payment remains due.
  6. Verify target benefits, access, and member records after the operation.
  7. Only then change source and target visibility for the wider rollout.

Hiding or making the source product unavailable does not end its current members.

Access-integrated memberships

Both imports and copies require an explicit access review. Confirm whether provider records were created and whether old access should be removed from the source product. For copies (or other workflows that preserve or create a future start date), also confirm that future-start members cannot receive provider-side access early — imports always begin at import time, so this does not apply to them.

See Membership access integrations before moving members whose membership controls doors or gates.

Recover from a partial result

Do not repeat the entire operation blindly. First separate:

  • members successfully created in the target;
  • skipped prior holders;
  • unmatched or invalid rows;
  • records requiring billing or access correction.

Use individual or batch member actions for corrections. Keep both product histories until all affected members have been verified.

On this page