Prepaid membership bases and loyalty programs are some of the stickiest parts of a car wash business, and they are also the parts customers notice fastest when a migration goes wrong. FlexWash imports both, per car wash, before your first day live, so existing members keep the time they paid for and every loyalty point follows them into the new system.Documentation Index
Fetch the complete documentation index at: https://docs.flexwash.com/llms.txt
Use this file to discover all available pages before exploring further.
How It Works
This is a hands-on, support-led import. You produce the data per car wash, and a FlexWash onboarding specialist runs the importer for you after a joint validation pass.Export one CSV per car wash
Pull active prepaid memberships and loyalty balances from your current
POS into a separate CSV file for each car wash. Use the exact field
names listed below as your headers.
Share the files with your onboarding specialist
Send the CSVs to the FlexWash team. We treat them as the source of
truth for prepaid coverage and point balances at go-live.
We validate and map plans
Our support staff verifies every row, flags any data issues back to
you, and maps each legacy plan name to a FlexWash membership package.
This mapping is done once per organization and reused on every
subsequent file.
We run the import
Once the file is clean and every plan is mapped, we run the importer.
Customers, vehicles, prepaid memberships, and loyalty balances land
in FlexWash. Supplying the optional
customerInsertedAt,
vehicleInsertedAt, and membershipInsertedAt columns preserves
each record’s original start date.Recurring card-on-file memberships move through a different path. See
Member Token Migration
for the processor-to-processor flow, and
Interim Imports for the
daily bridge that keeps members recognized while tokens migrate.
File Format
One CSV per car wash. The header row must contain the exact field names shown in the tables below. Empty cells are allowed for any optional field.Required Fields
| Field | Description |
|---|---|
customerMigrationId | The customer’s unique ID in your existing POS. We use this to keep your historical records linked. |
licensePlate | Vehicle license plate. Whitespace and a trailing two-character state suffix (e.g. ABC123-WA) are stripped, then the plate is uppercased and any letter O is converted to digit 0. |
planName | The membership plan name as it appears in your existing POS. Support maps this to a FlexWash package on the first import and remembers it on every file after. |
billDateInMonth | Day of the month for billing, as an integer from 1 to 31. |
Optional Fields
| Field | Description |
|---|---|
name | Customer’s full name. |
phoneNumber | Phone number. Non-digit characters are removed and the trailing 10 digits are kept. |
email | Customer email address. Stored lowercased. |
vehicleMigrationId | The vehicle’s unique ID in your existing POS. |
make | Vehicle make. |
model | Vehicle model. |
year | Vehicle year. |
rfidTag | Vehicle RFID tag. Normalized on import. |
customerInsertedAt | Original customer creation timestamp. Preserves the customer’s true start date in FlexWash. |
vehicleInsertedAt | Original vehicle creation timestamp. |
membershipInsertedAt | Original membership creation timestamp. |
ccZipcode | Billing zip code on file. |
promotionId | FlexWash promotion ID to attach to the subscription. Must already exist in your FlexWash organization. |
loyaltyPointsBalance | Current loyalty point balance for the customer, as an integer. |
Tips for a Clean File
- If you use Excel export your file as a CSV, then check the data for accuracy before sending.
- Keep
customerMigrationIdstable. If your ex-POS has a separate “customer number” that changes when a record is edited, use the immutable internal ID instead. - If a customer has more than one vehicle on the same prepaid membership, give us one row per vehicle and repeat the customer columns on each row. Flag these cases to your onboarding specialist so we group the rows under a single customer record.
- Send one file per car wash even if a single customer appears at more than one location. We reconcile shared identities during the verification pass.
