What Can You Import?
A single CSV file can include:- Customer Information: Name, description, and payment terms
- Customer Locations: Multiple delivery locations per customer with addresses, codes, and optional details
- Contacts: Multiple contacts per customer with names, emails, and phone numbers
- Billing Addresses: Multiple billing addresses per customer
Import Workflow
The customer import follows a 6-step wizard process:Step 1: File Upload
- Navigate to Customers → CSV Import
- Click Choose File or drag-and-drop your CSV file
- The system parses the CSV and moves to preview
Step 2: Data Preview
- Review the parsed CSV data in a table
- Verify data was read correctly
- Check for obvious formatting issues
- Click Next to proceed
Step 3: Format Validation
The system validates your CSV format: Checks performed:- Required columns present (customer name, etc.)
- Valid data types (emails formatted correctly, etc.)
- No critical structural issues
- ✅ Pass: Format is valid, proceed to data validation
- ⚠️ Issues Found: Review and fix issues before proceeding
Format validation checks the structure of your file. Data validation (next step) checks if customers, terms, etc. already exist in the system.
Step 4: Data Validation
The system validates your data against existing records: Validation checks:- Duplicate customers (same name or ERP ID)
- Duplicate locations for a customer (same location code)
- Duplicate contacts (same name/email for a customer)
- Duplicate billing addresses
- Payment terms existence (creates if missing)
- Customers are grouped by name
- Locations, contacts, and addresses are nested under each customer
- You’ll see how many of each entity will be created
Step 5: Import Progress
- Click Start Import to begin
- Progress bar shows import status
- Real-time feedback on successes and failures
- Can take several minutes for large imports
Step 6: Results
Review the import results:- Success count: How many entities were created
- Failure count: How many had errors
- Error details: Specific reasons for failures
- Retry option: Fix issues and retry failed records
CSV File Format
Required Columns
Your CSV must include these columns for customers:CustomerName- Customer name (required, used for grouping)CustomerDescription- Description or notes (optional)CustomerTerms- Payment terms name (optional, auto-created if doesn’t exist)
Location Columns
To add locations for customers:LocationCode- Unique code for the location (required if adding locations)LocationName- Location name (required if adding locations)LocationAddressLine1- Street address line 1LocationAddressLine2- Street address line 2 (optional)LocationCity- CityLocationState/Province- State or provinceLocationZipcode- ZIP or postal codeLocationAddressToName- Name on location address (optional)LocationDescription- Location description (optional)LocationTerms- Location-specific payment terms (optional)StoreNumber- Store number (optional)GLN- Global Location Number (optional)
Contact Columns
To add contacts:ContactFirstName- Contact’s first nameContactLastName- Contact’s last nameContactEmailAddress- Contact’s email addressContactPhoneNumber- Contact’s phone numberContactTitle- Job title (optional)
Billing Address Columns
To add billing addresses:BillingToName- Name on billing address (optional)BillingAddressLine1- Street address line 1BillingAddressLine2- Street address line 2 (optional)BillingCity- CityBillingState/Province- State or provinceBillingZipcode- ZIP or postal code
CSV Structure Examples
Simple Customer Import
Customer with Location
Complete Customer Record
Multiple Records for Same Customer
Data Grouping
How Customers are Grouped
The import groups rows byCustomerName:
- All rows with “Acme Gardens” are combined into one customer
- Each unique location code becomes a separate location
- Each unique contact (by name/email) becomes a separate contact
- Each unique billing address becomes a separate address
Duplicate Detection
The system detects duplicates: Customer Duplicates:- Same customer name already exists
- Same ERP ID already exists
- Action: Skips creating duplicate customer
- Same location code for this customer
- Action: Skips duplicate location
- Same name and email for this customer
- Action: Skips duplicate contact
- Same address details for this customer
- Action: Skips duplicate address
Payment Terms
Auto-Creation of Terms
If you specify a terms name that doesn’t exist:- The system automatically creates the terms
- Terms are created as “Active”
- Terms name is stored for the customer/location
Terms Assignment
Terms can be specified at two levels:- Customer Level:
CustomerTermscolumn applies to customer - Location Level:
LocationTermsapplies to specific location
Best Practices
Preparing Your CSV
CSV Preparation Tips
- Use UTF-8 encoding to support special characters
- Keep customer names consistent (exact spelling)
- Use unique location codes across all customers
- Test with a small file first (5-10 customers)
- Validate your CSV in a spreadsheet before uploading
- Remove empty rows and columns
- Ensure all required fields have values
Data Quality
Before importing:- Verify customer names don’t have typos
- Ensure email addresses are valid
- Check phone number formatting is consistent
- Validate addresses are complete with all required fields
- Verify location codes are unique within each customer
- Confirm payment terms names are correct (will be auto-created if missing)
Large Imports
For importing hundreds or thousands of customers:- Break into smaller batches (100-200 customers per file)
- Import critical customers first
- Test with one batch before importing all
- Schedule imports during off-peak hours
- Monitor results carefully for each batch
Troubleshooting
File Upload Fails
If upload doesn’t work:- Check file size (very large files may timeout)
- Verify file is actually CSV format (not Excel .xlsx)
- Ensure file encoding is UTF-8
- Try a smaller file to isolate the issue
- Check your internet connection
Format Validation Errors
Common format errors:- Missing required columns (
CustomerName) - Invalid email format (missing @ or domain)
- Invalid data types (text in numeric fields)
- Extra commas or quotes causing parsing issues
Data Validation Issues
Common data errors:- Duplicate customer names (different spelling variations)
- Location codes not unique within customer
- Invalid terms names (if not auto-creating)
- Malformed addresses
Import Failures
If individual customers fail during import:- Review the error message for that customer
- Common causes:
- Required field missing
- Invalid foreign key reference
- Data constraint violation
- Fix the issue in your CSV
- Use the Retry button to import only failed records
Partial Success
If some customers import but others fail:- Successful imports are NOT rolled back
- Failed customers can be retried after fixing
- Or manually create the failed customers
- Check if duplicates caused some to skip
The import is atomic per customer group. Either all entities for a customer succeed, or all fail. This prevents partial customer records.
After Import
Verify Imported Data
After successful import:- Navigate to Customers list
- Search for imported customers by name
- Open customer details to verify:
- Locations were created correctly
- Contacts are assigned properly
- Billing addresses are accurate
- Pricing and terms are correct
Fix Issues
If you find issues after import:- Edit customers directly in the UI
- Add missing locations or contacts
- Correct any data errors
- No need to delete and re-import
Next Steps
After importing customers:- Assign price groups if not imported
- Review customer settings and permissions
- Train staff on new customer accounts
- Create initial orders for new customers
Next Steps
- Add Customers Manually - For individual customer creation
- Manage Customer Details - Edit customer information
- Import Items - Bulk import your product catalog
- Import Orders - Bulk create orders for customers