Importing & Exporting Contacts
Bring your existing list into OnCloudWine and pull data back out — CSV, Excel, and Square sync.
You'll have data flowing into and out of contacts constantly: importing your existing membership, exporting for compliance reports, syncing to a marketing tool. This page covers all three.
Import via CSV
CSV import is the fastest way to bring an existing wine club into OnCloudWine.
Download the template
From Contacts, open the row menu (
⋯) on the toolbar and choose Import contacts. The first dialog offers a CSV template — start with that to avoid column-name mismatches.Fill in your data
Open the template in your spreadsheet tool. One row per contact. Required: first name, last name, and one of email / phone. Recommended: club, status, date of birth, address fields.
Upload
Drag the CSV into the importer. OnCloudWine validates it and shows a preview with row counts and any issues highlighted (missing required fields, invalid email, etc.).
Map your columns
If your column names don't exactly match, the importer asks you to map each one. Save the mapping as a template if you'll re-import the same format later.
Confirm
Confirming kicks off the import as a background job. You can leave the page — progress is tracked under Activity Logs.
CSV columns reference
| Column | Required? | Notes |
|---|---|---|
| firstName | Yes | String, max 80 chars. |
| lastName | Yes | String, max 80 chars. |
| One of email/phone | Validated; duplicates rejected. | |
| phone | One of email/phone | E.164 preferred; common formats are normalized. |
| status | No | ACTIVE, INACTIVE, ON_HOLD, or CANCELLED. Defaults to ACTIVE. |
| clubs | No | Comma-separated club names. Unknown names are rejected — clubs must already exist. |
| tags | No | Comma-separated tag names. New tags are auto-created. |
| dateOfBirth | No | YYYY-MM-DD format. |
| membershipStartDate | No | YYYY-MM-DD format. Defaults to today if omitted. |
| shippingStreet, shippingCity, shippingState, shippingPostalCode, shippingCountry | No | All-or-nothing — provide all five if you provide any. |
| notes | No | Free text. |
There's no "rollback last import" button. Always test on 5–10 rows before uploading a full list. If a large import goes wrong, contact support — but reverting requires manual cleanup.
Import from Square
If you're already on Square POS, skip the CSV entirely:
Connect Square
Settings → Organization → Integrations → Square → Connect. See Square integration for the full setup.
Trigger a contact sync
From the integrations page, click Sync contacts. The sync runs as a background job (
SYNC_SQUARE_CONTACTS).Review sync results
The job reports how many contacts were created, updated, and skipped. New contacts default to
INACTIVEuntil you assign them to a club.
Exporting
Two formats are available, both kicked off from the contacts list toolbar (or from Reports for organization-wide exports).
Plain CSV with every contact field plus tag and club memberships. Honors your current filters — if you've filtered the list to "VIP" tag, only VIP contacts are exported.
Generated synchronously for small exports (under 1,000 rows). Larger exports run as background jobs and email you a download link when ready.
Compliance and club-detail exports
Two specialized exports live under the Reports page rather than the contacts list:
- Compliance report
Required by some state shipping regulators — full member list with addresses, DOBs, and order history for a date range.
- Club details
Membership counts, churn, and tenure broken out per club.