Article Contents
Introduction
Work Schedules in Hiro enable you to precisely track your project performance and quickly generate monthly invoicing claims, even for projects with complex fee structures.
In Hiro, a Work Schedule is a structured package of project fee details, broken into a hierarchy of three elements: phases, tasks and subtasks. Each job has its own work schedule, assigned during the initial project lodgement, but it can be updated later through the Edit a Project page.
📦 Phases
What is a Phase?
A phase is the top-level container for your Work Schedule data. It’s typically aligned with a block of fees you've agreed to with your client—like a signed proposal or a stage of work. Each project must have at least one phase.
You might think of it as representing:
-
A fee proposal
-
A distinct stage in a multi-stage development
-
A package of works under a purchase order
Each phase only contains two pieces of data: a Name (required) and an optional Purchase Order number.
Some users start by creating a lot of phases—each with just one or two tasks and subtasks—especially if they’re coming from other systems or trying to mirror their fee structure too literally. While that approach works, it can sometimes add unnecessary complexity to your schedule.
💡 Tip: If your fee structure is already covered under a single agreement or purchase order, you probably don’t need to split it into multiple phases. Tasks and subtasks can give you all the structure you need within that. Tasks and subtasks are usually the better tools for breaking down detail within a phase.
When to Create Multiple Phases
You typically only need multiple phases when you’re managing clearly distinct fee arrangements within the same job, for example:
-
A new fee proposal has been prepared and signed off, but you want to keep the same job number.
-
The client has issued multiple, separate purchase orders.
-
The job spans a long time period and you want to track different blocks of work independently.
-
There are differing commercial terms that need to be grouped and invoiced separately.
đź§© Tasks
Within each phase, you create one or more tasks. Each task requires:
-
Task Name – Appears in the dropdown during timesheet entry. This name can also appear as a heading on the invoice PDF (if enabled during invoicing), but the actual narration on each invoice line comes from the subtask name—so that's where you should focus on client-facing clarity.
-
Billing Type – Defines how time and costs are billed for this task. It determines which subtask settings are available (like budgets or caps) and how Hiro calculates values for invoicing. Billing types include Fixed Fee, Agreed Units, Time Charge, and No Charge. Learn more here.
-
Department – Required if your organisation has multiple departments. The department selected here determines which department each timesheet or invoice line is attributed to for this task. This helps with reporting and internal cost tracking.
-
Branch – Required if your organisation has multiple branches. Like departments, the branch selected here ensures timesheets and invoice lines are correctly recorded for reporting purposes across different office locations.
Tasks can also include optional settings to help you manage budgets, control scope, and improve data quality:
-
Prevent timesheets exceeding subtask budget caps – Available for tasks with "Fixed Fee" or "Agreed Units" billing types. When enabled, Hiro keeps track of how much value has been recorded against each subtask and blocks timesheet entries once the limit is reached. Note: this is based on the dollar value calculated from the hours entered, not the number of hours themselves.
-
Custom triggers for Agreed Units:
-
Amount Charged – Hiro calculates the value of each timesheet entry based on the person’s hourly rate and the hours worked. If the total dollar value (including the new entry) goes over the subtask’s budget, the entry is blocked.
-
Units Used – Here, Hiro just looks at the number of hours worked. If the total hours logged exceed the subtask’s allocated units, the entry is blocked—even if the dollar amount hasn't yet been used up.
-
-
Disable the "Out of Scope" subtask – Each task includes a default "Out of Scope" subtask for tracking time spent outside the project’s defined scope. You can disable this option for specific tasks if it’s unnecessary. Learn more about how this feature works in this article.
-
Auto-close subtasks when the budget is fully invoiced – Automatically disables a subtask once its budget or estimate has been fully claimed on an invoice, helping avoid accidental timesheet entries after billing is complete.
-
Include field work and record "worked with" on timesheets – Adds a "worked with" field to timesheets for any subtasks under this task. This field lets users record who they were onsite with, for better visibility across the team.
đź’° Subtasks
Subtasks live under tasks and are where both costs and revenue are tracked. This is where the money moves. Time gets expensed onto subtasks via timesheets, and revenue is realised on subtasks when you invoice.
They’re the glue that connects your team’s timesheets to your project’s invoicing.
When filling out a timesheet, your team selects a subtask—so it’s important to structure these with enough detail to capture how time is actually spent. The name of each subtask also becomes the default narration on your invoice line items, which means your clients will see it. This makes subtasks the best place to be clear and client-facing about what was delivered.
Each subtask includes a budget or estimate, depending on the billing type of the parent task:
-
Budget – A hard cap that limits how much can be invoiced (Fixed Fee and Agreed Units tasks).
-
Estimate – A flexible amount that can be exceeded if needed (Time Charge tasks).
Subtasks give you detailed tracking of where time and cost are accumulating, and make it easy to see exactly which parts of the project have been delivered, charged, or still have work remaining.
Each subtask has a red toggle switch you can use to quickly disable it. This is handy when the work is complete or no longer relevant, as it stops further timesheet entries without deleting any historical data.
🛠️ Why Not Use a Standard Work Schedule Across All Jobs?
Some users ask: "Can’t I just use a standard list of tasks for every job?"
It might seem easier at first, but in practice it creates a lot of extra admin—and that’s exactly what Hiro is built to avoid.
When everyone logs time against a generic, global list, someone eventually has to sit down and manually figure out which hours belong to which part of the job. It's messy, slow, and easy to get wrong—especially when it's time to bill your client.
Hiro flips that on its head. By setting up a job-specific work schedule at the start, you’re mapping timesheets directly to the scope of work you’ve agreed with your client. That means:
-
Invoicing is faster and more accurate, because time already flows to the right place.
-
Project managers can see at a glance how each part of the job is tracking.
-
Admin staff aren’t left guessing what each timesheet was for.
It’s a bit of setup up front, but it pays off big time. You spend less time untangling data and more time moving the project forward.
🚀 Hiro Advantage: Unlike systems that rely on a one-size-fits-all task list, Hiro links every timesheet entry directly to the scope of work you’ve agreed with your client. That gives you clarity, accountability, and confidence when it’s time to bill.
And yes—Hiro supports reusable templates, so you're not reinventing the wheel every time you start a new job.
If you regularly work on similar types of projects, you can create a template for each of your most common fee structures, billing arrangements, or project types. Then when you're lodging a new job, it's quick and easy to apply the right structure with just a couple of clicks. Learn more about Work Schedule Templates. But by keeping your work schedules tailored to each job, Hiro gives you clarity, traceability, and control you just don’t get from a standard list. So while every job gets its own work schedule, you’re not starting from scratch each time.