Skip to main content

How Do I Import Data into Avaza?

Import Companies, Contacts, Inventory Items, Projects, Tasks, Timesheets, Expenses and Invoices via CSV, with a preview and undo before anything is saved.

Written by Momen Khalid

Avaza lets you bring your existing data across from spreadsheets and other tools using CSV files. You can import Companies, Contacts, Inventory Items, Projects, Tasks, Timesheets, Expenses and Invoices — and every import follows the same four simple steps: upload your file, match its columns, review exactly what will happen, and then import. Nothing is saved until you confirm, and every import can be undone afterwards from Import History.

Only users with the Admin role can access the Import section.

Where to find it

Go to Settings › Import Data. You'll see a card for each type of data you can import, along with when it was last imported and by whom. The Import History link in the top corner shows every import on your account (more on that below).

Click a card to start an import. The four steps — Upload, Map Columns, Review, Import — are shown as a progress bar at the top of every screen, and you can go back at any point before confirming.

Preparing your file

  • Use a CSV file with a header row naming each column. In Excel, choose File › Save As › "CSV UTF-8" for best results. Files can be up to 10,000 rows and 10 MB.

  • The easiest starting point is the sample file — download it from the Upload step. It contains every column with example values, and a file built from it matches all columns automatically.

  • Columns can be in any order, and extra columns are fine — you'll match everything on the Map Columns step, and columns you don't need are simply ignored.

  • Optional columns can be left blank. Amounts and hours use decimal format with a period as the decimal point and no thousands separators (e.g. 1001.50).

  • Not sure which columns a data type supports? Expand Columns we look for on the Upload step — it lists every field with a description of what's expected, and marks the required ones.

Step 1 — Upload

Drag and drop your CSV onto the page, or click to choose a file. Below the drop zone you'll find the sample file download and the column reference.

Import options on this step vary by data type:

  • If a matching record exists: choose whether matching rows update the existing record, are skipped, or (for Timesheets and Expenses) are imported again as new entries. Each data type shows what a "match" means — for example, Contacts match on email address and Timesheets match on the user, date, project, category, times and notes together.

  • Create missing records automatically: some imports can create the records their rows refer to — for example, Timesheets can create missing projects and timesheet categories, and Contacts can create missing companies. Turn this off if you'd rather rows referring to something unknown are rejected instead.

  • Date format in the file: choose yyyy-mm-dd, dd/mm/yyyy or mm/dd/yyyy to match how dates are written in your file.

  • Invoices only — if an invoice has an error: choose whether just that invoice is rejected while the rest import, or the whole file stops.

Step 2 — Map Columns

Avaza reads your header row and automatically matches your columns to its fields — you'll see each column from your file, the first value in it, and the field it was matched to. Change any match using the dropdowns, and set columns you don't need to "Ignore this column". Hover the info icon next to any field for a description of what it expects.

If a required field isn't matched to any column, a banner tells you which one and the affected row is highlighted — just pick the right column from the dropdown. You can't continue until every required field is matched, which protects you from importing a file with the wrong columns.

Step 3 — Review

This is the heart of the import: Avaza checks every row of your file against the same rules that apply when you enter data on screen, and shows you exactly what will happen — before anything is saved.

  • Count cards summarise the file: total rows, New, Existing, Warnings and Errors.

  • Each row shows a status and a reason. New rows will be imported. Existing rows match a record already in Avaza and follow the option you chose (update, skip, or import anyway). Warning rows will import but with something worth knowing — for example, a project that will be created along the way. Error rows won't be imported, and the reason tells you exactly why ("No timesheet user with email …", "7:15 AM–7:45 AM overlaps existing entry 7:00 AM–7:30 AM", and so on).

  • Filters let you see everything, only new rows, or only rows that need attention.

  • Will be created lists any related records the import will add automatically — projects, categories, companies, sections — each shown once.

  • Download flagged rows gives you a CSV of just the rows with warnings or errors, with the reason added as a column — handy for fixing them in Excel and importing only those rows again.

  • Uploading the same file twice? Avaza recognises it and shows a notice with the earlier import's details, and the matching rows appear as Existing — so an accidental double import creates nothing by default.

When you're happy, click the Import button — it always tells you exactly how many records it will create. A confirmation dialog summarises the outcome one more time, including how long the import can be undone.

Step 4 — Import and results

Small files import in a few seconds. Larger files run in the background — you can leave the page, and Avaza emails you when the import finishes, with the results and links. Either way, the results screen shows what was imported, skipped and rejected, and gives you:

  • View imported records — jump straight to what was just added.

  • Download rejected rows — the rejected rows as a CSV with a Reason column. Fix them and import just that file; the rows that already imported will simply match as Existing and be skipped.

  • Undo import — remove everything this import created, in one click.

Import History and Undo

Every import is recorded as a batch. Settings › Import Data › Import History lists them all — when, by whom, which file, and how many records were imported, skipped and rejected. You can filter by data type and by user, and open any batch to see its rows.

Undo removes every record a batch created. It's available for as long as none of those records have been used elsewhere — for example, a timesheet import can be undone until any of its entries are invoiced or approved, and an invoice import until any invoice is sent or paid. If undo isn't available, Import History shows the reason. Records that were created along the way (like a project added automatically during a timesheet import) are kept, since other work may already depend on them.

What each import type does

All eight imports use the same steps. The table below covers the details that differ — what counts as an existing record, what can be created automatically, and what to set up first. For the full column list of any type, see the "Columns we look for" panel on its Upload step or download its sample file.

Data type

Matches existing records on

Can create automatically

Before you start

Companies

Company name

Contacts

Contact email address

Companies

Contact emails can't belong to your team members

Inventory Items

SKU (or item name if no SKU)

Tax names must exist in Settings › Taxes

Projects

Project code (when enabled), otherwise company + project title

Companies must already exist; add team members first so default members flow onto new projects

Tasks

Project + section + task title

Projects, sections

Assignees need the right role and project access; use RowID/ParentRowID columns to import subtasks under their parents (parent rows above child rows)

Timesheets

User + date + project + category + task + times (or duration) + notes

Projects, timesheet categories

Users need timesheet access with a matching email; entries follow your timesheet rules — overlaps, locked periods and approvals are enforced

Expenses

User + date + category + amount + merchant

Projects, expense categories, groups/trips

Users need expense access; tax names must exist; billable expenses need a customer

Invoices

Invoice number (with its prefix)

Each CSV row is one invoice line; header details are read from the first row of each invoice number. Customers, inventory items and templates must already exist

Fixing rejected rows

The fastest workflow when some rows are rejected: import the file, download the rejected rows, fix them in Excel using the Reason column, and import the fixed file. Rows that already imported will match as Existing and be skipped automatically, so you never create duplicates by re-importing.

Need a hand?

If you'd like help migrating your data to Avaza, we offer paid migration assistance — send your requirements to support@avaza.com and someone will be in touch shortly. And as always, if you have any questions, chat with us or email support@avaza.com.

Did this answer your question?