Skip to main content

Creating multiple Virtual Cards with a CSV file

bulk create virtual cards, CSV import, upload CSV, create cards in bulk, virtual card template, batch import, imports and exports

Written by Faith Grady

You can create multiple Virtual Cards at once by uploading a CSV file. Each row in your file creates one card; you can set spending limits, merchant restrictions, funding sources, and card sharing for each one.

Bulk import is available to Fluz business accounts.

Before you start

Your account needs to meet a few requirements before you can import:

  • Bulk import has to be enabled on your account. If you don't see Imports & exports, contact Fluz and ask for it to be switched on.

  • Your identity verification has to be complete — both personal and business verification.

  • You need a Fluz PIN. You'll be asked to re-enter it to submit the import, and the import won't run without it.

  • No other Virtual Card import can be running. Only one at a time per account.

If any of these aren't met, you'll see a checklist instead of the import screen, telling you which one to fix. See Why did my Virtual Card CSV import fail?.

Step 1: Make a copy of the template

Go to File → Make a copy to save your own version. You'll build your import file in your copy — the original is read-only, so your changes won't affect it or anyone else's.

The template has every column spelled correctly, plus notes explaining each one.

Rows starting with # are comments.

They're there to help you fill in the file and they're ignored on upload, so you can leave them in. Just make sure you have at least one real card row below them — a file containing only comment lines counts as empty.

Step 2: Fill in your cards

Each row creates one card. There's no quantity column, so a 5,000-row file creates 5,000 cards.

Only four columns are required:

  • street_address_line_1

  • city

  • state — the 2-letter code in capitals, like CA

  • postal_code — 5-digit or ZIP+4, like 90001 or 10001-1234

A file this simple is valid and creates three cards:

street_address_line_1,city,state,postal_code
123 Main St,Los Angeles,CA,90001
456 Oak Ave,Brooklyn,NY,11201
789 Pine Rd,Austin,TX,78701

Everything else is optional. For what the other 16 columns do, see Understanding the Virtual Card CSV columns.

Tip: If this is your first import, start with just the four required columns and a couple of rows. Add spending limits, restrictions, and funding sources once you've seen how it works.

Two things worth knowing before you build a large file:

  • Type state codes in capitals. tx gets through the preview and is then rejected when you submit.

  • Give each card a different nickname, or leave card_nickname blank. Nicknames have to be unique within your file.

Step 3: Save your file as a CSV

Your file must be saved as .csv. The check is based on the filename, so a spreadsheet saved as .xlsx and renamed to .csv gets further and then fails with a confusing error — export it properly.

In your copy of the template, go to File → Download → Comma-separated values (.csv). Downloading as CSV only exports the tab you're currently viewing, so make sure you're on the tab with your card rows.

Keep files well under 50 MB.

That's the ceiling, but a file close to it can still fail — your rows are converted before being sent, and the converted version is bigger than the CSV. If you're near the limit, split it into several files.

Step 4: Upload and review

  1. On the Fluz website, go to Imports & exports and select Start an import.

  2. Open the Choose action dropdown and select Create virtual cards.

  3. Select a card program from the dropdown that appears. You can't continue without one — if none are available, contact us and we'll get one set up. Only some card programs support bulk import.

  4. Upload your CSV.

  5. Review the preview table. If a row has a problem, it's shown in that row's Status column, and you'll see a banner like 3 rows have errors. Fix your CSV and re-upload to continue. The table then shows only the broken rows.

  6. If there are errors, you can't continue. There's no option to skip bad rows. Fix them in your spreadsheet and upload the file again.

  7. When everything is clean, continue and submit.

  8. Enter your PIN when prompted. The import won't run without it. This step can't be undone — every row is issued as a real card once submitted.

Step 5: Understand your results

There are two stages, and they behave differently.

Validation is all-or-nothing. Up until the moment your import is accepted, one bad row stops everything — no cards are created, not even from the good rows. If your import is rejected at review or at submit, there's nothing to clean up: fix the file and upload it again. Re-uploading can't create duplicates, because nothing was created.

Card creation is row by row. Once the import is accepted and running, each row gets its own outcome:

Result

What it means

Success

The card was created.

Skipped

A card with that nickname already existed, so no duplicate was made. Nothing is wrong.

Failed

That card couldn't be created. The reason is shown next to the row.

So a running import can finish with a mix of results. Review them before re-importing anything — some messages mean the card does exist, and re-importing would create a second one.

For where to find your results, download a report, and retry failed rows, see Viewing your import results and reports. If rows failed, see Why did my Virtual Card CSV import fail?.

Limits

Rows per import

1,000,000

Cards per row

1

File size

50 MB

Imports running at once

One Virtual Card import per account

A Virtual Card import and a different type of import can run at the same time — it's two Virtual Card imports that can't. You can also preview a new file while an import is still running.

Good to know

  • Cards created by CSV import work exactly like cards you create one at a time. You can view, edit, freeze, and share them from the Cards tab.

  • Addresses must be U.S. addresses. The state column accepts 2-letter U.S. state codes only.

  • Create virtual cards is the import action available today. More are on the way, and you'll see them in the Choose action dropdown marked as coming soon.

Related articles

More questions? Feel free to call our Customer Hotline at +1 888 960 0526. You can also use the Chat option at the bottom of your screen, or if you're on the app, go to Help and chat with us.

Fluz is a financial technology company, not a bank. Banking services provided by partner banks, members FDIC.

Did this answer your question?