Skip to content

Exporting from HaloPSA

HaloPSA holds four of the five files Headroom reads. Its list views export directly, and its reporting module can build any list the views cannot, including time per action.

Menu names vary by version and by how your PSA is set up, so this guide describes what to look for rather than exact clicks. If a column has a different name in your export, map it by hand when you upload: Headroom shows every mapping before it imports anything.

All export guides

Clients

The baseline every opportunity is checked against.
  1. Use the contracts list filtered to active managed service contracts, with the client, contract reference and dates.
  2. Add a Monthly recurring revenue column from each client's recurring invoice total, and Contracted users and Contracted devices if you price per user or device.
  3. One row per client: combine clients with several contracts.
Columns in this export and the Headroom field each one fills
Column in your exportHeadroom field
Client NameClient nameRequired
Contract RefPackage / tier
Start DateContract start
End DateContract end

Column names are the usual defaults. Yours may differ if the list or report has been customised.

Add before uploading

This export doesn't include a required field: Monthly recurring revenue. Add it as a column in the spreadsheet.

Tickets

Finds out-of-scope and unbilled work.
  1. Use a ticket list or a report on tickets, including closed tickets, logged within your period.
  2. Include the client, summary, status and agent. Add the details column if you can.
Columns in this export and the Headroom field each one fills
Column in your exportHeadroom field
Ticket IDTicket IDRequired
Client NameClientRequired
Date LoggedDateRequired
SummarySubjectRequired
AgentTechnician
StatusStatus

Column names are the usual defaults. Yours may differ if the list or report has been customised.

Leave the ticket's time taken unmapped: Headroom takes time from the time entries file.

Time entries

Finds unbilled time and support over allowance.
  1. Time in HaloPSA is recorded on actions. A report on actions with time taken gives one row per time entry.
  2. Include the action date, client, agent, ticket ID, time taken and whether it is billable (or its charge rate, if that is how you mark non-billable work).
Columns in this export and the Headroom field each one fills
Column in your exportHeadroom field
DateDateRequired
Client NameClientRequired
AgentTechnician
Ticket IDTicket ID
Time TakenMinutesRequired
BillableBillable

Column names are the usual defaults. Yours may differ if the list or report has been customised.

If non-billable work is marked by a charge rate rather than a flag, add a Billable column (No for the non-billable rate) before upload.

Billing / agreements

Finds billing mismatches and unbilled licences.
  1. Recurring charges are the lines on each client's recurring invoice.
  2. Export the recurring invoice lines with client, item, quantity, unit price and net amount. A report on recurring invoice lines covers every client at once.
Columns in this export and the Headroom field each one fills
Column in your exportHeadroom field
Client NameClientRequired
ItemService / productRequired
QuantityQuantityRequired
Unit PriceUnit priceRequired
Net AmountMonthly value

Column names are the usual defaults. Yours may differ if the list or report has been customised.

Annual or quarterly lines need their monthly value. Divide them before upload.

Contracts

Finds work the agreement excludes.
  1. Contracts are not a report. Use the signed agreement, statement of work or service schedule for each client, as a PDF or text file.
  2. If your PSA stores the signed agreement as an attachment on the agreement or contract record, download it from there; otherwise use the copy in your document store.
  3. Start with your largest clients and any you suspect are doing work outside their agreement.

Headroom reads the clauses that decide what is billable: device ownership, hardware, project and onsite exclusions, support hours, included hours, third-party applications and new user or device setup. Scanned image-only PDFs have no text to read; use the original document or a text-based PDF.

From other systems

Users and devices come from Microsoft 365 and your RMM. See the Microsoft 365 and RMM guides.

Microsoft 365 users · RMM device lists

Date range

Three to six months of activity, and what is in place today.
  • Export three to six months of tickets and time entries, ending with the last full month. Use the same start and end date for both: the analysis period is the months those dates span.
  • Fewer than three months gives too little to compare; more than six makes old agreements and leavers more likely to blur the picture.
  • The clients file, users and devices, and billing lines describe what is in place now: current agreements, active users and devices, and current recurring charges. They have no date range.
  • Users and devices with a created or first-seen date let Headroom tell when each one was added, so a monthly figure reflects when growth happened.

Before you upload

What most often needs fixing in the spreadsheet.
  • Client names must match across every file. Headroom ignores case, spaces and punctuation ("ABC Ltd" and "abc ltd." match) but not different names ("ABC" and "ABC Holdings"). Rename in the spreadsheet before upload if your RMM or Microsoft 365 uses a different name.
  • HaloPSA can show time taken in hours or as hours and minutes depending on settings. Check the format before upload.
  • Headroom reads time in minutes. When the column you map for time has hours in its name (Actual Hours, Hours Worked, Total hrs), a plain number in it is read as hours, in both the tickets and the time entries file, and the upload screen says so. In other columns, a decimal under 24 (1.5) in the time entries file is read as hours, and everything else is read as minutes unless it is written with h (1h 30m). If a column holds hours but its name doesn't say so, rename it or multiply the values by 60 before uploading.
  • The billable column must say yes or no in a form Headroom reads: Yes, No, True, False, Billable, Non-billable or No charge. Replace other values, such as an internal code, before upload, or leave the column unmapped.
  • Dates are read as day/month/year or year-month-day, with or without a time. If your export writes dates month first (US style, 03/14/2026), change the column's date format in the spreadsheet before uploading.

Headroom is a trading name of A-IT & Cyber Group Ltd, registered in England and Wales (company number 17473234). Registered office: 26 Balston Road, Poole, BH14 0QH.

Headroom

Commercial intelligence for MSPs.

Find the work your MSP is doing for free.

Pricing

Free audit, then Growth at £240 or Pro at £500 a month + VAT. Annual plans save 10%.

Headroom is a trading name of A-IT & Cyber Group Ltd, registered in England and Wales (company number 17473234). Registered office: 26 Balston Road, Poole, BH14 0QH.

Demo data: Northlight IT and its clients, tickets, contracts and figures are fictional, built to show how Headroom works.

Figures are potential opportunities calculated from the data provided. They are not guaranteed to be recoverable. Recommendations require MSP review before action.