Data Import

Bulk import records into Forz from CSV files with column mapping and validation preview.

Overview

Data Import lets you bring existing records into Forz from spreadsheets. Upload a CSV file, map your columns to Forz fields, review the data preview, and import. Forz validates each row before importing and shows you which records will be skipped due to errors.

Before You Begin

Prerequisites:

  1. You have the Admin role or the Data Import permission on your role.

  2. Your data is in CSV format (.csv file extension)- Your CSV uses commas or semicolons as delimiters.

Supported Record Types

Record Type

Required Fields

Optional Fields

Customer

organization, title, first name, last name, street, city, state, zip code

β€”

Asset

number, display name, asset type, manufacturer, model number, serial number, description

photo

Item

item type, name, unit cost, unit price, description

item category id, item sub category id, location code, item sku, photo

Vendor

organization

main phone, fax, website, first name, last name, mobile phone, email, street, street2, city, state, zip code

Lead

organization

title, first name, last name, email, mobile phone, office phone, description, industry

Uploading a CSV File

  1. Click Settings in the sidebar navigation.

  1. Click the Data Imports tab.

  1. Select the record type you want to import (e.g., Customer).

  1. Click Import Data.

  1. Click Choose File and select your CSV file.

  1. Click Import.

Expected result: Forz reads the CSV file, detects the delimiter (comma or semicolon), and redirects you to the field mapping screen.

Note: Forz automatically detects whether your CSV uses commas or semicolons as delimiters by examining the first line of the file. No configuration needed.

Mapping Columns

  1. For each Forz field, select the matching column from your CSV.

  2. Verify that required fields are mapped (shown with an asterisk).

  3. Leave unmapped any CSV columns you do not want to import.

  4. Click Save Mappings.

Expected result: Forz transforms your data using the mappings and redirects you to the preview screen. Records that fail validation appear in the "Skipped Records" section with error details.

Tip: For Item imports, if your CSV contains category and subcategory names, Forz automatically creates matching Item Categories if they do not already exist.

Reviewing and Confirming the Import

  1. Review the Valid Records table to confirm the data looks correct.

  2. Review the Skipped Records section for rows that failed validation.

  3. Click Import to start the import.

Expected result: Forz queues a background job to create the records. A confirmation message reads: "Data import has been started and will be processed shortly." The import runs asynchronously β€” you can navigate away and check back later.

Warning: Skipped records are not imported. Fix the errors in your CSV and upload a new file to import those rows. Common reasons for skipping: missing required fields, duplicate unique values, or numeric values exceeding the maximum (999,999,999.999999).

Canceling an Import

  1. Navigate to Settings > Data Imports.

  2. Find the import you want to cancel.

  3. Click Cancel.

Expected result: Forz deletes the pending import and redirects you back to the Data Imports list. No records are created.

What Happens After Import

When the import runs, Forz automatically:

  • Creates one record per CSV row using the mapped fields

  • Validates each row against the model's validation rules (presence, uniqueness, format)

  • Uploads photos if a photo column contains a URL β€” Forz downloads the image and attaches it to the record

  • Creates Item Categories on-the-fly if importing Items with category/subcategory names that do not exist

Common Scenarios

HVAC company importing a customer list from a previous system

An HVAC contractor exports 500 customers from their old software as a CSV with columns: Company Name, Contact First, Contact Last, Address, City, State, Zip, Phone. They upload the file to Forz, map "Company Name" to organization, "Contact First" to first_name, and so on. The preview shows 487 valid records and 13 skipped due to missing organization names. The office manager fixes the 13 rows in the CSV and re-uploads to import the rest.

Electrical company importing an inventory list

An electrical supply company exports 200 items from a spreadsheet with columns: Part Name, Type, Cost, Price, Description, Category, Subcategory. They map the columns to the Item fields. Forz creates new Item Categories for "Panels," "Breakers," and "Wiring" because those categories did not exist yet. All 200 items import with their categories assigned.

Plumbing company importing vendor contacts

A plumbing company imports 45 vendor records from a semicolon-delimited CSV exported from a European system. Forz auto-detects the semicolon delimiter and processes the file correctly. Only the organization name is required for vendors, so all 45 records pass validation.

Troubleshooting

Problem

Solution

"File format error -- CSV only"

Rename your file to end in .csv. Forz checks the file extension and rejects non-CSV files. Excel files (.xlsx) must be exported as CSV first.

"All rows skipped with 'already exists' error"

Your CSV contains values that already exist for a unique field (e.g., duplicate organization names). Remove duplicates from the CSV or update existing records manually.

"Numeric value too large"

Unit cost or unit price exceeds 999,999,999.999999. Reduce the value in your CSV and re-upload.

"Import started but no records created"

The import runs as a background job. Wait a few minutes and refresh the page. If records still do not appear, check the import status for errors.