Bulk import patrons from CSV

Column names, required vs optional, and common errors.

Import many patrons at once from a CSV file.

Where

Patrons → Bulk Import

CSV format

Required columns:

  • first_name
  • last_name
  • email

Optional columns:

  • phone
  • address_line1, city, state, postal_code, country
  • card_number (we'll generate if blank)
  • family_name (groups patrons into the same family)
  • role (member, librarian, admin — default member)

Sample CSV

  • first_name,last_name,email,family_name
  • Jane,Smith,jane@example.com,Smith
  • John,Smith,john@example.com,Smith
  • Maria,Garcia,maria@example.com,Garcia

Validation

After upload, we show a preview. Each row is validated:

  • Required fields present
  • Valid email format
  • No duplicates (by email)

Rows with errors are flagged. You can fix the CSV and re-upload, or proceed with valid rows only.

After import

  • Each patron gets an invitation email
  • Card numbers are auto-generated
  • Families are auto-grouped by family_name

Patron limit

Limited by your plan (150 for Starter, 1,000 for Community, unlimited for Custom).

Skipping the welcome email

Check "Skip welcome email" on the import form. Useful for migration when you don't want to flood your patrons with invites.

Still stuck? Email hello@tryshelfwise.comand we'll get back within one business day.