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

Import Hours: Preparing Your Import File

Learn how to structure your hours 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 hours import template. 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 hours 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 hours import template uses one row per time entry. Each row represents a single time entry for a single user on a single date.

The template supports three entry types, set in the Type column:

  • Project — a billable or non-billable time entry linked to a project and contract line.
  • Absence — a recorded absence for a user, not linked to a project.
  • Holiday — a public holiday entry for a user, not linked to a project.

Keep the following rules in mind as you fill in your file:

Project entries require a project name, project number, contract line, role, and user email. All of these must match existing records in PSOhub exactly.

Absence and Holiday entries do not require a project, contract line, or role. Leave those columns blank for these entry types.

Public holidays — set the PublicHoliday column to true for Holiday entries and false for all other entry types.

💡 Tip: The template includes example rows for all three entry types. Review them before          filling in your own data to understand how each type should be structured.

Understanding the Import Fields

The table below describes every column in the PSOhub hours import template, including the expected format, accepted values, and any validation rules that apply on import.

Field Description Type / Value Notes
RecordCount A row number for your reference. Integer (1, 2, 3…) Required. Not imported into PSOhub. Used for your reference only. Each row must have a unique number.
Type The type of time entry. Project, Absence, or Holiday Required. Must be entered exactly as shown.
Project The name of the project this time entry is linked to. Text Required for Project entries. Must match an existing project name in PSOhub exactly. Leave blank for Absence and Holiday entries.
ProjectNumber The project number of the project this time entry is linked to. Text — e.g. PRJ-2023-90 Required for Project entries. Must match an existing project number in PSOhub exactly. Leave blank for Absence and Holiday entries.
ContractLine The name of the contract line this time entry is linked to. Text Required for Project entries. Must match an existing contract line name in PSOhub exactly. Leave blank for Absence and Holiday entries.
Date The date of the time entry. Date Required. Use a consistent date format throughout your file.
NumberOfHours The number of hours logged for this entry. Decimal number — e.g. 7.5 Required. Enter the value as a number. Do not include units.
Role The role of the user logging the time. Text Required for Project entries. Must match a role already assigned to the user in PSOhub. Leave blank for Absence and Holiday entries.
Description A description or note for this time entry. Free text Optional.
User The email address of the user this time entry belongs to. Valid email format Required. Must match the email address of an existing PSOhub user.
Task The name of the task this time entry is linked to. Text Optional. Must match an existing task name in PSOhub if provided.
TaskList The name of the task list this time entry is linked to. Text Optional. Must match an existing task list name in PSOhub if provided.
PublicHoliday Indicates whether this entry is a public holiday. true or false (lowercase) Required on every row. Set to true for Holiday entries. Set to false for all other entry types.

FAQs and Troubleshooting

What is the difference between Absence and Holiday entry types?
An Absence entry records a non-project time entry for a user, such as sick leave or vacation. A Holiday entry records a public holiday. The PublicHoliday column should be set to true for Holiday entries and false for all others.

My time entry was imported but is not linked to the correct contract line. Why?
The contract line name in your file must match an existing contract line in PSOhub exactly, including capitalization and spacing. Check for differences and re-import the affected rows.

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. Adding, removing, or renaming columns will cause the import to fail. Re-download the template and copy your data into a fresh copy if needed.

Can I import hours for a user who is not yet in PSOhub?
No. The user must already exist in PSOhub and have the relevant role assigned before you can import hours for them.

Related Articles