Skip to content

CSV Permissions Converter

Convert CSV files for bulk user operations: either updating existing user permissions or creating new user accounts with permissions.

Upload CSV

Upload a CSV file with columns: email (required), role (required), qa/qc, and optionally geofence_area_names and/or geofence_shape for geofencing

📄

No users loaded yet

Upload a CSV file to get started

Operation Modes

The tool supports two modes, selected via the toggle at the top:

Update Permissions Mode

Use this mode to update permissions for existing users. The output CSV is compatible with admin/accounts/companymembership/import-csv/.

Create Users Mode

Use this mode to create new user accounts with permissions. The output CSV is compatible with admin/accounts/user/import-csv/.

How to Use

Step 1: Select Mode

Use the navigation bar at the top to choose between:

  • Create Users - For creating new user accounts with permissions
  • Update Permissions - For updating permissions of existing users
  • Settings - For configuring role mappings

Step 2: Configure Role Mappings (Optional)

In the "Settings" tab, customize the default role mappings:

  • Toggle checkboxes to customize which permissions each role has
  • Add custom roles using the "Add Role" button
  • Export/import role mappings as JSON for reuse

Step 3: Upload and Edit

  1. Prepare your input CSV with the required columns (see format below)
  2. Upload the CSV file using the file input
  3. Review and edit:
    • For Update mode: Adjust roles and permissions
    • For Create mode: Fill in names, company (required), and permissions
  4. Set QA/QC: Use the Yes/No radio buttons to set QA/QC status for each user
  5. Download the output CSV: Click "Download CSV" to get the formatted file

Input CSV Format

Update Permissions Mode

Required columns: email, role

Optional columns: qa/qc, geofence_area_names, geofence_shape

csv
email,role,qa/qc,geofence_area_names
admin@example.com,Super User,yes,
manager@example.com,Event Manager,no,"Area1,Area2"
viewer@example.com,Observer,,

Create Users Mode

Required columns: email, company_name

Optional columns: first_name, last_name, qa/qc, geofence_area_names, geofence_shape

csv
email,first_name,last_name,company_name,qa/qc
newuser@example.com,John,Doe,Acme Corp,yes
another@example.com,Jane,Smith,Beta Inc,no

Output CSV Format

Update Permissions Mode Output

Columns: email, qa/qc, geofence_area_names, geofence_shape, followed by all permission columns

csv
email,qa/qc,geofence_area_names,geofence_shape,map_view,map_edit,...
admin@example.com,yes,,,yes,yes,...

Create Users Mode Output

Columns: first_name, last_name, email, company_name, qa/qc, geofence_shape, geofence_area_names, followed by all permission columns

csv
first_name,last_name,email,company_name,qa/qc,geofence_shape,geofence_area_names,map_view,...
John,Doe,newuser@example.com,Acme Corp,yes,,,yes,...

Geofencing Options

You can restrict user access to specific geographic areas using one of two methods:

Option 1: Area Names - Comma-separated list of predefined area names

csv
geofence_area_names
"Area1,Area2,Area3"

Option 2: Shape (GeoJSON/WKT) - Custom geometry definition

csv
geofence_shape
"{""type"":""Polygon"",""coordinates"":[[[0,0],[1,0],[1,1],[0,0]]]}"

Importing into Django Admin

Follow the instructions at User management.