The Promotion Code importer attaches a batch of unique, single-use codes to a Wash Codes promotion. Use it when you have generated codes outside FlexWash (for a direct-mail campaign, partner program, or one-time acquisition push) and need them recognized at the pay tablet. These codes are sometimes called voucher codes, promotion codes, wash codes, or discount codes.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.

Where to Find It
Open Admin -> Import -> Promotion Instances in the left navigation. You need at least the Admin role and access to the specific promotion you plan to import codes for.Wash Codes Promotions Only
The importer only accepts promotions of type Wash Codes. Other promotion types (such as single-use or multi-use) cannot be bulk-loaded this way. A Wash Codes promotion is a promotion configured to issue unique, single-use codes per recipient. See Promotions for the full configuration. If your promotion does not appear in the Target Promotion dropdown, it is not a Wash Codes promotion - convert it or pick a different one.Customer Redemption
Imported codes redeem like any other Wash Codes instance.The customer presents the code
The customer arrives with a printed code, a QR code, or a code
delivered through email or SMS.
Staff scans or enters the code at the pay tablet
The pay tablet validates the code against the promotion and applies
the configured deduction automatically.
Verify the Import
Run an end-to-end test before committing to a full file:- Upload a 5 to 10 row test CSV against the production target promotion.
- On the pay tablet, start a sale, tap Scan Coupon on the top row and scan or enter one of the imported codes.
- Confirm the promotion’s configured deduction is applied to the order.
Tips
- Generate codes outside FlexWash with whatever entropy your campaign
requires (e.g. 12-character alphanumeric for high-value direct mail,
short codes for in-store flyers). The importer treats
codeas an opaque string. - For large campaigns split across vendors, you can run multiple imports against the same promotion. Codes already present are silently skipped, so re-uploading the master list after a partial vendor batch is safe.
- Re-run the same file after adding more rows to extend a campaign. Existing codes are skipped; only the new ones are inserted.
