Import Task Templates: Preparing Your Import File
Learn how to structure your task template import file and understand each field before uploading to PSOhub
Published: 1 June 2026
Audience
- Admin
Objective
This article describes every field in the PSOhub task template import file. Use it to prepare your Excel file correctly before uploading, and to understand how each field is validated on import.
Prerequisites
You must have Admin access in PSOhub.
Download the Template
Before you can prepare your import file, you need the official PSOhub template. The template contains the correct column structure that PSOhub expects on import — using any other file format or column order will cause the import to fail.
👉 Download the PSOhub task template import template
⚠️ Important: Always use the template downloaded from PSOhub. Do not rename, remove, or reorder any columns. If you need a fresh copy, download the template again rather than modifying an existing file.
Prepare Your File
The task template import file has a nested structure. A single task template contains one or more tasklists; each tasklist contains one or more tasks; and each task can contain one or more checklist items.
Because of this nesting, one task template spans many rows — one row per checklist item. When a task has multiple checklist items, or a tasklist has multiple tasks, you must copy the parent data down across every row.
Copy parent data down. Whenever a level repeats, repeat all the columns above it:
- For each tasklist in a plan template, copy down PlanTemplateID, PlanTemplate, ContractTemplate, and Currency.
- For each task in a tasklist, also copy down TasklistCountID and Tasklist.
- For each checklist item in a task, also copy down OrderNumber, TaskName, TaskDescription, TaskStartDate, TaskDueDate, IsMileStone, Effort, and Priority.
Unique identifiers must be unique within their parent:
- PlanTemplateID — a unique number for each task template.
- TasklistCountID — a unique number for each tasklist within its task template. Determines the order tasklists appear.
- OrderNumber — a unique number for each task within its tasklist. Determines the order tasks appear.
- ChecklistUniqueID — a unique, sequential number for each checklist item across the whole file.
Validate before uploading:
- Numeric fields such as Effort must contain only numbers.
- TaskStartDate and TaskDueDate must use a consistent date format throughout the file.
- IsMileStone must be set to True or False on every task.
💡 Tip: The template includes a fully worked example task template. Review how the rows repeat before filling in your own data.
Understanding the Import Fields
The table below describes every column in the PSOhub task template import file, including the expected format, accepted values, and any validation rules that apply on import.
The column names below are the current file headers. Some still use the older "PlanTemplate" naming and will be updated in a future release.
| Field | Description | Type / Value | Notes |
|---|---|---|---|
| PlanTemplateID | A unique identifier for each task template. | Integer (1, 2, 3…) | Required. Must be unique per task template. Copy down across all rows belonging to the same task template. |
| PlanTemplate | The name of the task template. | Text | Required. Copy down across all rows belonging to the same task template. |
| ContractTemplate | The name of the contract template associated with this task template. | Text | Optional. If provided, must match an existing contract template in PSOhub exactly. Can be left blank. |
| Currency | The currency for the task template. | ISO code — e.g. EUR, USD, GBP, CAD, AUD | Required. Must be a valid currency already configured in your PSOhub account. |
| TasklistCountID | A unique identifier for each tasklist within its task template. | Integer (1, 2, 3…) | Required. Must be unique within the task template. Determines the display order of tasklists. |
| Tasklist | The name of the tasklist as it will appear on the task template. | Text | Required. |
| TasklistContractGroupline | The line ID and name of the contract line the tasklist is linked to. | Text — e.g. 10.001 Discovery & Requirements Gathering | Optional. Must match an existing contract line if provided. |
| OrderNumber | A unique identifier for each task within its tasklist. | Integer (1, 2, 3…) | Required. Must be unique within the tasklist. Determines the display order of tasks. |
| TaskName | The name of the task. | Text — e.g. UI Wireframing | Required. Use meaningful, descriptive task names. |
| TaskDescription | A description of the task. | Free text | Optional. Can be left blank. |
| AssignedTo | The resource assigned to the task. | Valid email format | Optional. Must match an existing PSOhub user. Separate multiple users with a comma. |
| TaskStartDate | The start date of the task. | Date | Optional. Use a consistent date format throughout the file. |
| TaskDueDate | The due date of the task. | Date | Optional. Use a consistent date format throughout the file. |
| IsMileStone | Indicates whether the task is a milestone. | True or False | Required on every task. |
| Effort | The estimated hours for the task. | Number — e.g. 7 | Optional. Must contain only numbers. |
| Priority | The priority of the task. | Low, Medium, or High | Optional. |
| ChecklistUniqueID | A unique, sequential identifier for each checklist item. | Integer (1, 2, 3…) | Required for checklist items. Must be unique across all checklist items in the file. |
| ChecklistDescription | The description or name of the checklist item. | Text | Required for checklist items. |
| ChecklistDueDate | The due date of the checklist item. | Date | Optional. Can be left blank. |
FAQs and Troubleshooting
How many rows do I need for one task template?
One row per checklist item. A task with three checklist items needs three rows, with all the task-level data copied down across those three rows. A task with no checklist items needs a single row.
What happens if my ChecklistUniqueID values are not sequential?
Each checklist item must have a unique ID across the whole file. Non-unique IDs can cause checklist items to import incorrectly or be skipped. Number them sequentially from the top of the file.
Can I leave the ContractTemplate column blank?
Yes. ContractTemplate is optional. If left blank, the task template is created without an associated contract template.
The import failed after I uploaded my file. What should I check?
Confirm that the column headers in your file match the original template exactly, including the older "PlanTemplate" names. Check that Effort contains only numbers, that dates use a consistent format, and that IsMileStone is set to True or False on every task. Re-download the template and copy your data into a fresh copy if needed.