Importing Clients from CSV
Last updated: 2026-05-30 (rev 2)
Bring your whole client roster into Duefy at once — useful when migrating from another tool, or to pre-fill client details (phone, credit limit, blacklist) before you import invoices.
Go to Clients → Import, download the sample CSV, fill it in, and drop it back.
CSV columns
The first row must be the header. Columns can be in any order; only email is required.
| Column | Required | Notes |
|---|---|---|
email |
Yes | Used to match and de-duplicate clients |
company_name |
No | |
contact_name |
No | |
phone |
No | |
notes |
No | |
credit_limit |
No | A number, e.g. 10000 |
blacklist |
No | 1 / yes to block the client (stops reminders) |
blacklist_reason |
No | Free text, shown on the client |
Tags aren't a client field in Duefy (tags live on invoices), and escalation emails are an account-level setting — neither is part of this import.
Review before anything is saved
After upload you'll see a review screen: how many rows are new, how many already exist (matched by email), and how many are invalid (bad/missing email). Nothing is written until you click Confirm import.
When an email already exists
You choose once, for the whole file:
- Update (recommended) — fill in the blank fields from your CSV onto the existing client. Blank cells are left unchanged, so a sparse file never erases data. Import can set a blacklist here but never removes one.
- Overwrite — make each client match the file exactly. Blank cells clear the existing value (including credit limit, and un-blacklisting). Use with care — it's a full sync, so a sparse file will wipe fields.
- Skip — leave existing clients untouched and only add the new ones.
Related
- Creating an invoice — invoice import also auto-creates clients