Importing Locations
FlowForth supports bulk importing locations from a CSV file. This is useful when migrating from another system or onboarding a client with many sites.
Location import is available to Master users only. If you don't see the import option, contact your FlowForth administrator.
CSV File Format
Your CSV file must use a comma as the delimiter and include the following columns in this exact order:
| Column | Required | Description |
|---|---|---|
| ExternalLocationId | Yes | A unique identifier for the location in your system |
| ExternalClientId | Yes | The External Client ID of the client this location belongs to |
| Name | Yes | A descriptive name for the location |
| Address | Yes | Street address (street name and number) |
| City | No | City name |
| PostalCode | No | Postal or ZIP code |
| Country | No | Country name (e.g., Belgium, Netherlands) |
| PhoneNumber | No | Contact phone number for this location |
| EmailAddress | No | Contact email address (reserved for future use) |
| ContactName | No | Name of the on-site contact person |
Example CSV
ExternalLocationId,ExternalClientId,Name,Address,City,PostalCode,Country,PhoneNumber,EmailAddress,ContactName
LOC-001,EXT-001,Main Office,Keizersgracht 123,Amsterdam,1015 CJ,Netherlands,+31201234567,info@acme.nl,Jan de Vries
LOC-002,EXT-001,Warehouse,Industrieweg 45,Amsterdam,1099 AB,Netherlands,+31207654321,,Piet Jansen
LOC-003,EXT-002,Headquarters,Vlasmarkt 6,Gent,9000,Belgium,+3292242457,gerald@example.be,Gerald Peeters
The first row of your CSV file is treated as a header row and is automatically skipped during import.
How to Import
- Navigate to the Import Locations page.
- Select the organization to import locations into from the dropdown.
- Click Choose File and select your CSV file.
- Click Import Locations to start the process.
Import locations page with file selected
The import may take a few moments depending on the number of rows. Addresses are automatically queued for geocoding in the background.
Import Results
After the import completes, you'll see a summary with:
- Total Rows — Number of data rows processed.
- Created — Number of new locations added.
- Updated — Number of existing locations that were updated.
- Errors — Number of rows that failed.
Import results summary
Create vs. Update Behavior
The import uses the ExternalLocationId and ExternalClientId fields together to determine whether to create a new location or update an existing one:
- If no location with that ExternalLocationId exists for the matching client, a new location is created.
- If a location with that ExternalLocationId already exists for the client, the existing location is updated with the values from the CSV row.
This means you can safely re-import an updated CSV file without creating duplicates.
Automatic Geocoding
When locations are created or updated via import, FlowForth automatically queues them for address geocoding in the background. If the address can be found, the location's latitude and longitude coordinates will be populated automatically.
If you update a location's address via import, the coordinates will be refreshed to match the new address.
Handling Errors
If any rows fail to import, the error list will display below the results summary. Common errors include:
- Missing required fields — ExternalLocationId, ExternalClientId, Name, and Address are required for every row.
- Client not found — The ExternalClientId must match an existing client in the organization.
- Duplicate ExternalLocationId — Each ExternalLocationId must be unique within the CSV file.
- Wrong number of columns — Each row must have exactly 10 fields (use empty values for optional fields).
Rows with missing required fields or an unmatched ExternalClientId will be skipped entirely. Make sure every row has these fields filled in correctly.
CSV Tips
- Commas in values — Wrap fields containing commas in double quotes:
"Keizersgracht 123, 2nd floor" - Quotes in values — Use double quotes to escape:
"Building ""A"" Entrance" - Empty optional fields — Leave them blank but keep the commas:
LOC-001,EXT-001,Name,Address,,,,,, - Encoding — Save your file in UTF-8 encoding to ensure special characters are preserved.
See also
- Importing Clients — Bulk import client records from a CSV file
- Importing Activities — Bulk import activities from a CSV file
- Data Import FAQ — Common questions and troubleshooting for CSV imports
Was this page helpful?