Bulk Import loads many records from a CSV or XLSX file at once. Use it for onboarding historical data, migrating from another system, or making large changes without entering records one by one.
You do not need to start from a record-specific template. Upload your own file, then map your file’s columns to the fields accepted for the record type you selected. The same flow creates records and updates matching records.
Prerequisites
Before starting an import, confirm the source file and related setup are ready. This helps you resolve mapping and validation issues before any records are imported.
- Know which record type you are importing, such as bank accounts, customers, vendors, items, or journal entries.
- Prepare a CSV or XLSX file with a header row and one record per row.
- Confirm your role includes permission to perform bulk imports.
- For chart-of-accounts-related imports, make sure your chart of accounts is configured first.
- Make sure referenced records already exist when your file depends on them, such as GL accounts, companies, currencies, classifications, or allowed custom field values.
Step 1: Open bulk imports
From the main navigation, open Workflows and choose Bulk Imports. The Bulk Imports page shows prior imports and lets you start another file import.
Step 2: Start an import and choose a record type
Choose New Import, then select the record type you want to load. The record type determines which fields are available in the mapper, which fields are required, and how matching records are identified during import.
Examples of available fields include:
- Core fields for the selected record type, such as name, company, currency, GL account, or opening balance.
- Classifications that apply to that record type.
- Custom fields configured for that record type in your organization.
Step 3: Upload a CSV or XLSX file
Upload your file in the import wizard. Bulk Import reads the file and prepares a preview before any records are imported.
For XLSX files, Bulk Import reads the first sheet by default. If the workbook has multiple sheets, choose the sheet you want to import. For CSV files, Bulk Import reads common delimiters such as commas, semicolons, and tabs.
Step 4: Map your columns
Use the field mapper to connect each source column in your file to the matching destination field. The preview shows the parsed file on one side and the mapping controls on the other.
In the mapper, you can:
- Map source columns to accepted fields for the selected record type.
- Add optional fields that are available for that record type.
- Remove optional fields you do not need.
- Map classifications and custom fields.
Required fields cannot be removed. If your file uses different column names than the destination fields, map the columns manually before importing.
Step 5: Review validation issues
Bulk Import validates rows while you map the file and again when you confirm the import. Rows with validation errors are not imported.
Issues can include:
| Issue | What it means | How to fix it |
|---|
| Missing required value | A required field, such as company or currency, is blank for a row. | Add the value in your source file or map the correct source column. |
| Invalid format | A value does not match the expected type, such as a number, date, or currency code. | Correct the value, then re-upload or remap the file. |
| Referenced record not found | The row refers to a record that does not exist or is inactive, such as a GL account or company. | Create or activate the referenced record, then import again. |
| Invalid custom field value | The value does not match the custom field type or allowed list. | Update the value to one accepted by the custom field. |
| Duplicate in the batch | Two rows conflict with a uniqueness rule for the selected record type. | Deduplicate the source file, then import again. |
Validation messages include the source row number so you can find the affected row in your original file. Row numbers use the original file order, including the header row.
Step 6: Import the file
After the preview and mapping look correct, confirm the import. Bulk Import creates rows that do not already exist and updates matching records when the selected record type uses the same match key.
The match key depends on the record type. For example, a bank account may match on name and company, while a GL account may match on account number.
Result
After the import finishes, Bulk Import shows one of two results. If every row imports successfully, the success screen links to the imported records filtered to that import batch.
If some rows fail, successful rows are still committed and the error screen shows only failed rows. Each failed row includes the source row number, the affected field or fields, and the reason. You can review the error log in the UI or download it as CSV to fix your source file.
To connect external data sources for ongoing sync instead of one-time loads, see Integrations. Last modified on June 29, 2026