> ## 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.

# Non-Member Imports

> Bulk-load gift cards, wash books, promotion codes, and vehicles into FlexWash with a validate-first workflow that protects your data.

FlexWash provides four self-serve CSV importers for the data that operators
most often arrive with: gift cards, wash books, promotion codes, and vehicles
(including fleet and house accounts). Each importer follows the same
validate-then-confirm flow, retains the original file for audit, and writes
nothing to your database until you explicitly confirm.

## Where to Find the Importers

Open the left navigation, expand **Admin**, then expand **Import**. The four
importers appear as direct links.

<Frame>
  <img src="https://mintcdn.com/flexwash/r0y40A-vdkT_38B7/data-import/non-member-imports/import-nav-menu.png?fit=max&auto=format&n=r0y40A-vdkT_38B7&q=85&s=c0ba49f88b541825ed65d125d352fc90" alt="Admin -> Import in the left navigation" data-og-width="2000" width="2000" data-og-height="1048" height="1048" data-path="data-import/non-member-imports/import-nav-menu.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/flexwash/r0y40A-vdkT_38B7/data-import/non-member-imports/import-nav-menu.png?w=280&fit=max&auto=format&n=r0y40A-vdkT_38B7&q=85&s=31fd0f73bb624c51ab26b390fc69d659 280w, https://mintcdn.com/flexwash/r0y40A-vdkT_38B7/data-import/non-member-imports/import-nav-menu.png?w=560&fit=max&auto=format&n=r0y40A-vdkT_38B7&q=85&s=11be764407bc21035aecb4472254dcf9 560w, https://mintcdn.com/flexwash/r0y40A-vdkT_38B7/data-import/non-member-imports/import-nav-menu.png?w=840&fit=max&auto=format&n=r0y40A-vdkT_38B7&q=85&s=06e17488f76a280be24e9b2006485363 840w, https://mintcdn.com/flexwash/r0y40A-vdkT_38B7/data-import/non-member-imports/import-nav-menu.png?w=1100&fit=max&auto=format&n=r0y40A-vdkT_38B7&q=85&s=1e9bdad6672d5c48f81d8d98d62dbabd 1100w, https://mintcdn.com/flexwash/r0y40A-vdkT_38B7/data-import/non-member-imports/import-nav-menu.png?w=1650&fit=max&auto=format&n=r0y40A-vdkT_38B7&q=85&s=57eeaa4ae71ac5eeafa2fb8af266b946 1650w, https://mintcdn.com/flexwash/r0y40A-vdkT_38B7/data-import/non-member-imports/import-nav-menu.png?w=2500&fit=max&auto=format&n=r0y40A-vdkT_38B7&q=85&s=265b18c312b673a0c5ebc331b124be59 2500w" />
</Frame>

## Choosing the Right Importer

Operators routinely confuse the importers because the source data often looks
similar. Use this table to pick the right tool before building a file.

| You have...                                                                   | Use this                                                       |
| ----------------------------------------------------------------------------- | -------------------------------------------------------------- |
| A list of pre-printed gift card codes with starting balances in dollars       | [Gift Cards](/data-import/gift-cards-import)                   |
| Prepaid wash bundles (e.g. "Buy 5, get 1 free" books)                         | [Wash Books](/data-import/wash-books-import)                   |
| A batch of single-use promo codes for a Wash Codes promotion                  | [Promotion Instances](/data-import/promotion-instances-import) |
| A fleet roster, house accounts, or any vehicle list with optional memberships | [Vehicles](/data-import/vehicles-import)                       |
| A daily membership feed from your legacy POS                                  | [Interim Imports](/data-import/interim-import)                 |
| Existing credit card tokens from your previous processor                      | [Member Token Migration](/data-import/member-token-migration)  |

<Card title="Re-import anytime, last write wins" icon="rotate">
  Re-import the same file as often as you need. Each row is matched by
  its code (or license plate for vehicles), and the most recent upload
  wins: records already in your organization are updated in place and
  new rows are added. Re-running never creates duplicates.
</Card>

## Upload History

Every importer has a **History** tab next to **Import** at the top of the
page. The tab shows every file ever uploaded for that importer in this
organization, who uploaded it, when, and how many rows were imported.

<Frame>
  <img src="https://mintcdn.com/flexwash/cq7aKznVUKSad8gI/data-import/non-member-imports/gift-cards-history.png?fit=max&auto=format&n=cq7aKznVUKSad8gI&q=85&s=a3970817239aeb704ce594a260a30b8d" alt="Upload history table on the Gift Cards importer" width="1405" height="528" data-path="data-import/non-member-imports/gift-cards-history.png" />
</Frame>

Click **Download** on any row to retrieve the original CSV. This is the
canonical record for audits, accounting reconciliation, and after-the-fact
debugging.

## Rolling Back an Import

Every row in the **History** tab has a **Rollback** option in the **Actions**
column. Rollback removes what a specific upload created, so you can remove a
bad file's imports yourself.

<Frame>
  <img src="https://mintcdn.com/flexwash/cq7aKznVUKSad8gI/data-import/non-member-imports/rollback-modal.png?fit=max&auto=format&n=cq7aKznVUKSad8gI&q=85&s=b7419d4263cc43bbbde8e95ff25837ce" alt="Rollback confirmation modal showing rows to delete and rows kept" width="1630" height="990" data-path="data-import/non-member-imports/rollback-modal.png" />
</Frame>

The confirmation modal shows exactly what will happen before you commit:

* **How many rows will be deleted.** These are rows the upload created that
  are not referenced anywhere else in FlexWash.
* **How many rows will be kept, and why.** A row is kept if it's already in
  use, for example as a payment, on an order line item, or assigned to a
  customer. FlexWash never deletes a record that would break existing data.

Rollback is permanent. To confirm, type your organization name into the field
provided, then click **Roll back \[n] rows**.

## Per-Importer Guides

<CardGroup cols={2}>
  <Card title="Gift Cards" icon="gift" href="/data-import/gift-cards-import">
    Bulk-load pre-printed gift cards with starting balances.
  </Card>

  <Card title="Wash Books" icon="book" href="/data-import/wash-books-import">
    Import prepaid wash bundles tied to a package template.
  </Card>

  <Card title="Promotion Instances" icon="ticket" href="/data-import/promotion-instances-import">
    Generate batches of single-use codes for a Wash Codes promotion.
  </Card>

  <Card title="Vehicles" icon="car" href="/data-import/vehicles-import">
    Load fleets, house accounts, and one-shot vehicle rosters with optional memberships.
  </Card>
</CardGroup>
