Skip to content
English
  • There are no suggestions because the search field is empty.

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.

Related Articles