Bulk & Smart Import
Overview
When you're setting up — or migrating from another system — you rarely add records one at a time. Rewardly gives you two ways to load a lot of data at once: a classic CSV import (download a sample template, fill it in, upload) and Smart Import, an AI-assisted flow where you paste or upload roughly-shaped data and Rewardly works out the columns for you.
Both live in the admin dashboard, on the list screen of whatever you're importing — look for the Import and Smart Import buttons in the toolbar.
Export first to get the column shape
The quickest way to learn a CSV layout is to export a few existing records first, open the file, edit it, and re-import. The export columns match exactly what the importer expects — including nested columns like modifier_list.* and bundled_item_list.* for products.
How it works
Classic CSV import
The CSV importer is a dedicated page with a fixed set of steps:
- Download the sample template — a link gives you a
.csvwith the right columns and a header row. - Fill it in in a spreadsheet, then upload the file with the file picker.
- Watch the progress bar — it moves through Uploading → Processing → Complete.
- Read the result log — a summary of how many rows succeeded and how many failed.
- Re-export the failed rows — failed rows can be downloaded back to a CSV so you can fix them and import just those.
This style is available for Products (the Import button on the product list) and Members (the Import link on the Members list).
Smart Import (AI-assisted)
Smart Import skips the rigid template. You give it your data however it comes, and it figures out the structure:
- Input — paste text (e.g. straight from a spreadsheet) or upload a CSV.
- Auto-detect — Rewardly decides whether your data has a header row or not. If it's headerless, it heuristically maps each column — spotting outlets, units, categories, suppliers, yes/no booleans, numbers, product names/codes, and variant SKUs.
- Review — an editable table where you correct anything that was mapped wrong. Each column has a bulk-apply control, so you can set the same value (an outlet, a unit, a category, a price) for every row at once. You can edit cells inline, delete rows, and — for ingredient bundles — expand a row to see its child ingredients.
- Importing — records are created one by one with a progress bar.
- Results — a list of successes and failures, with a download failed rows CSV so you can correct and retry just those.
Smart Import is available for Products, Members, Ingredients, Ingredient Bundles, and Product Inventories.
AI mapping is a starting point, not the final word
The Review table exists precisely because auto-detection can guess wrong. Always scan it before importing — the bulk-apply controls make corrections fast.
What you can import
| Record | Classic CSV | Smart Import | Where |
|---|---|---|---|
| Products | Yes | Yes | Products list → Import / Smart Import |
| Members / customers | Yes | Yes | Members list → Import / Smart Import |
| Ingredients | — | Yes | Ingredients list → Smart Import |
| Ingredient Bundles | — | Yes | Ingredient Bundles list → Smart Import |
| Product Inventories | — | Yes | Product Inventories list → Smart Import |
The product CSV importer consumes the same richly-nested shape the product Export produces — including modifiers, combo/bundled items, operation times, and pricing tiers — so exporting, editing, and re-importing is the safest round-trip for products.
Matching rules
When you import, Rewardly tries to match each row to records you already have rather than blindly creating duplicates.
| Looking up… | Matched by |
|---|---|
| Product | Its code first, then its name (en_US or mn_MN). |
| Variant | Its SKU. |
| Outlets, units, categories, suppliers | Auto-mapped from your existing records by name. |
Smart Import pulls your outlets, suppliers, ingredients, products, product variants, and product categories as match dictionaries — so a row that says Coffee Beans resolves to the ingredient you already created, and an unmatched name surfaces as a warning in the Review table.
Validation
Rows are checked before anything is created. The Review table shows inline warnings, and the import skips (and reports) rows that don't pass.
| Record | Required for a valid row |
|---|---|
| Ingredients / Ingredient Bundles | Name — required, and must be unique within the batch. |
| Product Inventories | both an Outlet and a Product. |
Product Inventories need an outlet and a product on every row
The Product Inventories import blocks if any row is missing its Outlet or Product — inventory is always per-outlet, per-product, so neither can be left empty. Fix the flagged rows (or use bulk-apply to set the outlet for all of them) before importing.
Default setup
Bean & Brew example: load a season's worth of new pastries without retyping each one.
1. Export a sample to learn the shape
- In the sidebar open Products → Products.
- Click Export, confirm the prompt, and open the downloaded CSV.
- Keep one or two rows as a model, then add your new pastries as fresh rows.
2. Re-import the edited file
- Back on the product list, click Import.
- Pick your
.csvand watch it run through Uploading → Processing → Complete. - Read the result log. If any rows failed, download the failed rows, fix them, and import just that file.
3. Or paste straight in with Smart Import
- On the same list, click Smart Import.
- Paste your spreadsheet data or upload a CSV.
- In the Review table, use the per-column bulk-apply to set the category and outlets for every row at once, fix any mis-mapped cells, then import.
- On the Results step, download any failed rows to retry.
You now have all your new products in one pass, with a tidy list of anything that needs a second look.
What members & staff see
This is an admin-dashboard task — there's nothing for cashiers or customers to do.
At the POS, imported products appear on the sale grid as soon as they're created and visible on the POS channel, the same as products you add by hand.
In the member app, imported members can sign in normally, and imported products show up wherever their channel visibility allows.
Related
- Products & Categories — the product fields each imported row maps to, and the Export that defines the column shape.
- Members — the customer list you import into, and its CSV export.
- Ingredients & Recipes — ingredients, bundles, and the stock model Smart Import loads.
- Inventory — the per-outlet stock the Product Inventories import populates.
- Tags — the labels you can attach to imported products and members.