Using data import to mass add, update, and delete data
Our data import feature allows you to mass add, update, and delete data from your Polaris instance by importing a CSV file you prepare.
Currently, the in-app data import feature can be used to import of the following data types:
- Groups (departments, employee types, locations, cost centers, etc)
- Clients
- Projects
- Tasks
- Users
- Activities
- Business Costs
- Holidays
- Skills
- User Skill Assignments
- Role Skill Requirements
- Task Assignments
- Resource Allocation
- Project Roles
- User Costs
- Billing Rates
- Initial Revenue
- Bill Plan
Changes you make using the data import feature cannot be reversed. Therefore, use caution when working with this feature, as it allows you to easily make changes to large amounts of live data that cannot be undone.
Enabling access to the import feature
If the Import Data link isn’t available at the bottom of the Administration page, you’ll need to enable the feature.
To do this, enable Data Imports permission in all Administrator permission sets assigned to users who need access to the data import feature.
Data imports cannot be reverted. Any changes an administrator makes – including deletions and updates – are permanent. Be certain administrators know the consequences of using this feature before you grant them access.
Setting up CSV import files
The biggest part of importing data is setting up your CSV import files.
Each type of import is carried out using a separate CSV file, so you can’t create and update items during a single import, for example. You can, however, import multiple items using a single file. For example, you can add many users during a single import.
To set up templates:
- Download the template for the import you want to carry out.
To do this:
-
- Go to Administration > Integration > Data Import.
- Select the type of import from the Data Type and Operation fields located at the top of the page.
- Click Download a sample file.
- Enter the data you want to add or update in the template.
When creating an import CSV, note that:
-
- If you’re referencing existing data in Polaris – for example, if you’re assigning a client, project manager, or billing type to a project – that data must already exist in Polaris, and the values you include in your CSV must exactly match the values in Polaris.
- Entries are not case sensitive.
- You can find the valid options for any fixed Polaris field, and required fields for each import, here or in the templates downloaded from the links above.
- When creating data, if you exclude a field that isn't required, it will be set to the Polaris default for that field.
- If you attempt to delete an item that is in use (for example, a user who has timesheets), that item will be disabled instead of deleted.
- Fields that support effective dates will overwrite any existing dates; they will not add a new effective date.
- In your import CSV, you only need to include required columns and columns for data you want to add or update. If you’re not adding or updating a given field, you can omit it from the file.
- Columns can be listed in any order, and you can leave blank rows and columns – unassigned columns and blank rows will be ignored.
Take advantage of Excel's Autofill feature to easily copy data from one row to the next.
- Save your CSV file with a name and to a location you’ll remember.
You might want to reuse the file in the future, so give it a meaningful name.
Carrying out an import
You can use the data import feature to create (add), update, or delete (remove) data.
To carry out a data import:
- Go to Administration > Integration > Data Import.
- Select the data you want to import from these fields:
- Data Type - the type of data you want to import
- Operation - what you want to do to that data, either create it, update it, or delete it
If the type of import you’ve selected supports date fields, a File date format field will appear. The date format you choose must match the format you used for date fields in your import CSV. You can select the format now, or after you’ve uploaded the CSV file.
- Click Upload CSV file, and find the completed CSV import file you prepared.
Once the file is uploaded, the file name should display next to the Upload CSV file button.
Ensure the First row contains column names check box is set appropriately, so the import knows whether to import or ignore the column names.
- Handle any validation issues that are already marked. Then click Validate, and fix any additional errors detected.
- Click Import.
You’ll see the row by row import of data, with each successfully-imported row turning green.
Import of rows may not happen in order, since the import identifies data dependencies, importing parent data before child data.
The import is not all or nothing – some rows may be imported while other might fail to import.
When the import is complete, you’ll see a message showing how many rows were successfully imported at the top of the page.
Click Download Log to view a summary of what was imported, and more details about why some rows failed to import.
Some data can only be validated once the import is underway, therefore you may see additional validation messages after you click Import.
Refer to Handling validation issues for more information.
Handling validation issues
Data you include in your import CSV file is checked to ensure only valid data is being added to your system.
Issues with column headers, dates, and cell formats display before you click Validate. Errors involving your existing data are detected and marked after you click Validate. Any row that includes an error will be shaded red.
Refer to the sections below for information on fixing different types of issues.
Fixing data validation issues
An icon displays beside rows that include error data. Hover over the icon to see details about the error. Or, if an issue displays during import, you can download the log file for more details.
Common errors include:
- Required fields are missing from the import
- Parent data for a field included in the import is missing from Polaris
- Data doesn't exactly match Polaris fixed values
- Data doesn't exactly match values you've set up in Polaris
- The data you're trying to import already exists in Polaris
- There are formatting errors (e.g. spaces between pipe separators)
Refer to the Import fields and formats section below for information on fixing and avoiding these issues.
Issues detected prior to import must be fixed before you can carry out the import.
To fix a data error:
- Open the import's CSV file.
- Fix the issue and save the file.
- Re-upload the file so Polaris can read the changes, and click Import.
You don’t need to delete rows that were already imported successfully.
Fixing column header validation issues
When you first upload an import CSV, the names of its column headers will be checked by Polaris to ensure they match fields supported by that import, and to ensure all required columns are present.
If a column in your file doesn’t include a heading, or includes a heading not supported by the import you chose, the heading will show as Unassigned on the import page, and an error message will display at the top of the page.
If you hover over the header, you’ll see the name you included in the CSV file.
You can click the small arrow inside the header box, and a list of columns that are supported will display for you to choose from.
Note that you can carry out an import that includes unassigned columns – they will just be ignored.
Fixing date validation issues
The format of any date fields in your CSV file must match the format selected in the Date Format field at the top of the import page.
Date format mismatches will be marked as soon as you upload your file.
You can fix these by choosing the matching format from the Date Format field, or by updating the formats in your CSV.
To change a cell's date format in Excel:
- Right-click the cell and select Format Cells.
- Ensure the Number tab is selected, then choose Date from the Category list.
- Select the format you want from the Type list that displays.
Import fields and formats
Groups
These imports allow you to create new groups, update settings for existing groups, or delete existing groups. A separate import is available for each type of group you have enabled in your system (location, cost center, etc).
Field name | Example | Notes |
---|---|---|
Name | North America|Canada|Ontario|Toronto | *Required
Use the pipe symbol (|) to separate group levels arent groups must already exist in Polaris, but you can create each level of a group hierarchy in one import, using separate rows for each level |
Code | TO | |
Description | City of Toronto | |
Enabled | True | True or False are valid |
Clients
These imports allow you to create new clients, update details of existing clients, or delete existing clients.
Field name | Example | Notes |
---|---|---|
Name | Western Brothers | *Required |
Code | WB | *Required only if code is set as the unique client identifier |
Description | Western Brothers client, our first client | |
Client Manager | jane.existingcm | Login name of a Polaris user with client manager permissions |
Client Contact | Jim Western | |
Client Email | jim.western@westernbrothers.com | |
Fax | 555-555-5555 | |
Phone | 555-555-5555 | |
Status | Enabled | True or False are valid |
Website | www.westernbrothers.com | |
Client Street | 123 Big Street | |
Client City | New York | |
Client State/Province | NY | |
Client Country | USA | |
Client Zip/Postal code | 13243 | |
Billing Street | 123 Big Street | |
Billing City | New York | |
Billing State/Province | NY | |
Billing Country | USA | |
Billing Zip/Postal code | 13243 | |
Billing Email | bill@westernbrothers.com | |
Billing Fax | 555-555-5555 | |
Billing Phone | 555-555-5555 | |
Billing Website | www.westernbrothers.com | |
Billing Rates | Project Rate|User Rate|Consultant|Developer|Project Manager | The names of one or more rates that exist in Polaris
If importing multiple rates, use the pipe symbol (|) to separate the names If you update rates, the new rates will completely overwrite any existing rates set for the client |
Expense Codes | Car Rental|Airfare|Meals|Hotel | Use the pipe symbol (|) to separate the expense code names
Each expense code must already be set up in Polaris |
Tax Profile | California | The tax profile must already be set up in Polaris |
Projects
These imports allow you to create new projects, update details of existing projects, or delete existing projects.
Field name | Example | Notes |
---|---|---|
Name | Landmark renovation | *Required |
Code | P-22 | *Required only if code is set as the unique project identifier |
Start Date | 26/01/2020 | Date formatted to match the one selected from the in app Date Field |
End Date | 24/02/2020 | Date formatted to match the one selected from the in app Date Field |
Project Type | Managed | Managed or Unmanaged are valid |
Description | Landmark interior renovation – design and construction | |
Clients | Advantage Technologies|Big Game Inc|Joan Arc Inc | Names of one or more clients that exist in Polaris
If importing multiple clients, use the pipe symbol (|) to separate the client names Enter clients on separate lines if you’re assigning a Client Billing Allocation Percentage |
Program | Renovations | Must match a program name that already exists in Polaris |
Project Manager | jane.existingprojectmanager | Login name of a Polaris user with project manager permissions |
Project Leader Approval Required | False | True or False are valid |
Allow Time Entry | True | True or False are valid |
Estimated Cost Amount | 25000 | |
Estimated Cost Currency | $ | Currency symbol for the Estimated Cost Amount value |
Estimated Hours | 500 | |
Project Currency | $ | Currency symbol for the Estimated Cost Amount value |
Budget Hours | 500 | |
Time & Expense Entry | Billable | Billable, Billable & Non-Billable, and Non-Billable are valid |
Budget Cost Currency | $ | Currency symbol for the Estimated Cost Amount value |
Budget Cost Amount | 25000 | |
Total Contract Value | 25000 | |
Total Contract Currency | $ | Currency symbol for the Estimated Cost Amount value |
Status | Execution | Initiate, Planning, Execution, and Closeout are valid |
Tasks
These imports allow you to create new tasks for existing projects, update details of existing tasks, or delete existing tasks.
Field name | Example | Notes |
---|---|---|
Name | Phase II |Stage I||Task 2 | *Required
Use the pipe symbol (|) to separate levels in the task name hierarchy Parent tasks must already exist in Polaris, but you can create each level of a hierarchy in one import |
Code | T-34 | |
Project | Landmark renovation | *Required
Must match a project that already exists |
Start Date | 26/01/2020 | Date formatted to match the one selected from the in app Date Field |
End Date | 24/02/2020 | Date formatted to match the one selected from the in app Date Field |
Description | Task 2 of Stage I | |
Time And Expense Entry Type | Billable | *Required for Create operation only Billable, Billable & Non-Billable, and Non-Billable are valid |
Allow Time Entry | True | True or False are valid |
Estimated Hours | 40 | |
Cost Type | Opex | Capex or Opex are valid |
Estimated Cost | 5000 | |
Estimated Cost Currency | $ | Currency symbol for the Estimated Cost value |
Is Closed | False | True or False are valid |
Users
These imports allow you to create new users, update details of existing users, or delete existing users.
Field name | Example | Notes |
---|---|---|
Login Name | jill.doe | *Required |
First Name | Jill | *Required for Create operation only |
Last Name | Doe | *Required for Create operation only |
Display Name | Jill D. | |
Start Date | 26/01/2020 | Date formatted to match the one selected from the in app Date Field |
End Date | 24/02/2020 | Date formatted to match the one selected from the in app Date Field |
Enabled | True | True or False are valid |
jill.doe@yourcompany.com | ||
Employee Id | 1054 | |
Department | Company|Implementation | Use the pipe symbol (|) to separate each level of the department name hierarchy |
Employee Type | Contractor | Must match the name of an employee type that already exists in Polaris |
Primary Role | Architect | Must match the name of a role that already exists in Polaris |
Secondary Role | Developer | Must match the name of a role that already exists in Polaris |
Supervisor | jack.existingsupervisor | Login name of a Polaris user with supervisor permissions
The supervisor must already exist in Polaris If updating the supervisor, the new supervisor will not be given a new effective date, but will replace the current supervisor assignment |
Permissions | System Administrator|Basic User | Name of one or more permission sets that already exist in Polaris
If assigning multiple sets, use a pipe symbol (|) to separate names |
Timesheet Template | Standard Timesheet | Must match the name of a timesheet template that already exists in Polaris |
Time Off Template | Time Off | Must match the name of a time off template that already exists in Polaris |
Expense Template | Expenses | Must match the name of an expense template that already exists in Polaris |
Punch Entry Policy | Cloud Clock Access | Must match the name of a punch entry policy that already exists in Polaris |
Authentication Type | Replicon | Replicon or SSO are valid |
Password | Createacomplexpassword | Must meet minimum password requirement of Good rating, and any other password requirements you’ve configured |
Licenses | Polaris PSA | Must match the name of a license available in Polaris
If assigning multiple licenses, use a pipe symbol (|) to separate names |
Holiday Calendar | United States | Must match the name of a holiday calendar that already exists in Polaris |
Location | Europe|Germany|Frankfurt | You can assign any type of group that exists in your system, not just Location groups – use the group type name as the field name
Use the pipe symbol (|) to separate each level of the group name hierarchy If updating a group, the new group will not be given a new effective date, but will replace any existing group assignments, becoming the new initial group assignment |
Time Off Types | Vacation|Sick|Personal Leave | Name of one or more time off types that already exist in Polaris
If assigning multiple types, use a pipe symbol (|) to separate names |
Timesheet Approval Path | Supervisor | Must match the name of a timesheet approval path that already exists in Polaris |
TimeOff Approval Path | Supervisor | Must match the name of a time off approval path that already exists in Polaris |
Expense Approval Path | Project Manager | Must match the name of an expense approval path that already exists in Polaris |
Activities
These imports allow you to create new activities and assign them to users, update details and assignment of existing activities, or delete existing activities.
Field name | Example | Notes |
---|---|---|
Name | Sales training | *Required |
Code | HRT | |
Description | Monthly training session for Sales staff | |
Enabled | True | True or False are valid |
Users | Jane.doe|jack.doe|joe.doe | Login names of all existing Polaris users to assign this activity to
Use a pipe symbol (|) to separate names |
Business Costs
These imports allow you to add and delete system-level business costs for you business.
Field name | Example | Notes |
---|---|---|
Name | Acme Corp | *Required
Name of business |
Start Date | 01/01/2020 | *Required |
End Date | 31/12/2022 | *Required |
Cost | 5000 | *Required |
Cost Currency | $ |
*Required |
Holidays
These imports allow you to add or delete holidays from an existing holiday calendar.
Field name | Example | Notes |
---|---|---|
Holiday Name | New Year's Day | *Required |
Holiday Name | New Year's Day | *Required |
Holiday Date | 26/01/2020 | *Required
Date formatted to match the one selected from the in app Date Field |
Holiday Calendar Name | United States | *Required
Must match the name of a holiday calendar that already exists in Polaris |
Holiday Duration | Specific Hours | *Required for Add operation only Full Day, Half Day, Specific number of hours, and Full Day with no Holiday Time are valid |
Hours | 4:30 | *Required, but only if Specific number of hours is set for Holiday Duration
Must use hr:min format, if not a full hour |
Automatically add Bookings | True | True or False are valid |
When adding to existing timesheet | Reopen if Submitted | Reopen if Submitted, Reopen if Approved, and Do Not Add if Approved are valid |
Skills
These imports allow you to add, edit or delete system-level skills that can be assigned to users.
Field name | Example | Notes |
---|---|---|
Skill Name | Structured Authoring | *Required |
Skill Category | Documentation | *Required |
Skill Description | Knowledge about the concept and application of structured authoring in documentation | |
Enabled | True | True or False are valid |
User Skill Assignments
These imports allow you to assign skills to users, and edit or delete assigned skills.
Field name | Example | Notes |
---|---|---|
User | jane.doe |
*Required Login name of the Polaris user |
Skill Category | Documentation | *Required |
Skill Name | Structured Authoring | *Required |
Skill Level Rating | 3 | The scale is typically 5-star maximum; however, your system may be configured to use a 1, 2, 3, or 4 star scale |
Role Skill Requirements
These imports allow you to assign skills to roles, and edit or delete assigned skills.
Field name | Example | Notes |
---|---|---|
Role | *Required | |
Skill Category | Documentation | *Required |
Skill Name | Structured Authoring | *Required |
Skill Level Rating | 3 | The scale is typically 5-star maximum; however, your system may be configured to use a 1, 2, 3, or 4 star scale |
Task Assignments
These imports allow you to assign users to existing projects, or to remove assignments.
Field name | Example | Notes |
---|---|---|
Task Name | Phase II|Stage I|Task 2 | *Required
Use the pipe symbol (|) to separate levels in the task name hierarchy Must match the name of a task that already exists in Polaris |
Project | Mobile App Development | *Required
Must match the name of a project that already exists in Polaris |
User | <All> | *Required if assigning individual users <All> or a list of Polaris users with project user permission
If assigning multiple users, use a pipe symbol (|) to separate names |
Department | Company|Implementation | *Required if assigning departments
Use the pipe symbol (|) to separate each level of the department name hierarchy |
Location (or any other group enabled in your system) | Europe|Germany|Frankfurt | *Required if assigning groups
Use the pipe symbol (|) to separate each level of the location name hierarchy |
Placeholder | CRM Architects | *Required if assigning placeholders
Must match the name of a project role that already exists in Polaris Only needed if assigning placeholders |
Placeholder Index | 5 | Number of placeholders needed
Only applies if assigning placeholders; never required |
Resource Allocation
These imports allow you to add resource allocations to projects directly in Polaris PSA. These allocations bypass the normal request/fulfill resourcing process, and are saved on the All tab of the Project Resourcing page.
Field name | Example | Notes |
---|---|---|
Project Name | Mobile App Development | *Required
Must match the name of a project that already exist in Polaris |
Role Name | Developer | *Required
Must match the name of a role that already exists in Polaris |
Loading | 100 | *Required
The percent of each resource's time that you want allocated to this project |
Start Date | 01/01/2020 | *Required
Date formatted to match the one selected from the in app Date Field |
End Date | 26/01/2020 | *Required
Date formatted to match the one selected from the in app Date Field |
Resources | Jane.doe|jack.doe|joe.doe | *Required
Login names of all existing users to allocate to this project Use a pipe symbol (|) to separate names, if including more than one |
Comment | Imported allocation - was not requested by P.M. | Comment associated with the resource request |
Project Roles
These imports allow you to add, update, or delete roles and their settings in Polaris.
Field name | Example | Notes |
---|---|---|
Role name | Architect | *Required |
Description | Designs systems and makes technical decisions | Description of the role |
Cost rate | 80 | Default hourly cost rate used for this role |
Cost rate currency | $ | Currency symbol for the cost rate value |
Billing rate | 100 | Default hourly billing rate for this role |
Billing rate currency | $ | Currency symbol for the billing rate value |
Status | True | Whether or not the role is enabled True or False are valid; True means enabled, False means disabled |
Billable | True | Whether or not the role is billable True or False are valid |
User Costs
These imports allow you to assign or delete direct costs for users in Polaris.
Field name | Example | Notes |
---|---|---|
User | Jane.doe |
*Required Login name of a Polaris user |
Start Date | 01/01/2020 |
*Required
|
End Date | 26/01/2020 | *Required |
Direct Cost | 5000 | *Required
The user's Direct Cost, as displayed on the Billing & Cost tab of their user profile |
Direct Cost Currency | $ | *Required
Currency symbol for the business cost value |
Billing Rates
These imports allow you to assign hourly billing rates that can be used in a project.
Field name | Example | Notes |
---|---|---|
Project Name | Mobile App Development | *Required
Name of the project with which rate is associated Must match the name of a project that already exist in Polaris |
Rate Type | Role Rate |
*Required Must be one of the following:
|
Rate For | Architect |
The value entered depends on your Rate Type. Use the:
|
Currency | $ |
*Required Currency symbol for the rate and amount values |
Amount | 100 |
*Required The value of the rate, per hour |
Effective Date | 26/01/2020 |
The date when the rate becomes effective Exclude this column to indicate the rate is the initial rate |
Initial Revenue
These imports allow you to add or edit revenue recognized for a project, and revenue forecasts made, using an external application, so Polaris' revenue recognition feature can account for those amounts.
Field name | Example | Notes |
---|---|---|
Project name | Mobile App Development | *Required
Must match the name of a project that already exists in Polaris |
Revenue Recognized To Date | 01/01/2020 | |
Revenue Forecast To Date | 26/01/2020 | |
Revenue Currency | $ |
Bill Plan
These imports allow you to add...
Field name | Example | Notes |
---|---|---|
Project Name | Mobile App Development | *Required
Must match the name of a project that already exists in Polaris |
Bill Plan Type | Time Billing | *Required
Must be one of the following:
|
Currency | $ |
*Required for these bill plan types:
|
Milestone Total Percentage (Fixed Bid Milestone) | 25 |
*Required for these bill plan types:
% of Contract Value to be billed on completion of Milestone |
Milestone Total Amount (Fixed Bid Milestone) | 20000 |
*Required for these bill plan types:
Amount to be billed on completion of Milestone |
Mark Up (Expenses) | 10 |
*Required for these bill plan types: Expenses Percent expense markup to be billed for the project |
Contract Amount (Fixed Bid Milestone) | 50000 |
*Required for these bill plan types:
|
Task (Fixed Bid Milestone) | Milestones -|Design|Prototyping |
*Required for these bill plan types:
Tasks that will serve as milestones |
Amount (Fixed Bid Recurring/Flat Billing) | 20000 |
*Required for these bill plan types:
Amount to be billed to client on the date specified in the On or Date fields |
Start Date (Fixed Bid Recurring/Time Billing) | 1/01/2021 |
*Required for these bill plan types:
The date when the plan takes effect |
End Date (Fixed Bid Recurring/Time Billing) | 26/01/2021 |
*Required for these bill plan types:
The last day the plan is in effect |
Frequency (Fixed Bid Recurring/Time Billing) | Monthly |
*Required for these bill plan types:
Must be one of these:
|
On (Fixed Bid Recurring /Time Billing) |
*Required for these bill plan types:
The date when the client is billed |
|
Date (Flat Billing) |
*Required for these bill plan types:
The date when the client is billed |
|
Billable (Flat Billing) | True |
*Required for these bill plan types:
True or False |
Approval Status (Time Billing) | Any |
*Required for these bill plan types:
Any or Approved |
FAQs
Can I roll back change I made?
No, the data import feature has no roll-back capability. Be certain you know what you’re doing before making changes.
Do we have to use the csv format?
Yes. That’s the only format that’s currently supported.
Can we use the data import feature to update names of required fields?
No, you’ll have to do that manually from within the application.
Related links
Integrating with Polaris
Gaining business intelligence using your Replicon data
Exporting a report to Excel or PDF