Pillar · how to run a project · 12 min read

Set the project up once. The rest runs on its own.

Milestones and budgets before kickoff. One PM tool, one timesheet tool with four rules, four alerts, and twenty minutes on Friday. One setup for a 2–10 person agency, in the order a project happens.

Darren Clark · founder, Handl · ran a 2–12 person agency for 20 years

The loop every project runs through

The loop every project runs through

  1. 01

    Quote

    Milestones, budgets, rates, billing plan

  2. 02

    The work

    Tasks and milestones in your PM tool

  3. 03

    The hours

    Time logged daily against tasks

  4. 04

    The invoice

    Drafted from the milestone or the hours

  5. 05

    The books

    Pushed to QuickBooks or Xero

Each step feeds the next. When one is missing, the next one is guesswork: no budget means no alert, no task means no hours, no hours means no invoice.

1 · Before kickoff

Write the billable units down before anyone logs an hour.

A project you can run is a project you can invoice. Both come from the same four lines, and they get written once, when the quote is signed, not when the first invoice is due.

Northlake Studio · Brand identity

Example
  • Deposit on signature

    30% of fee · invoice drafted when they sign

    $7,200

  • 1 · Discovery

    Sam 24h · Priya 16h · 40 h budget · invoice on completion

    $6,000

    100% of hours budget used
  • 2 · Identity

    Priya 60h · Sam 30h · 90 h budget · invoice on completion

    $6,800

    62% of hours budget used
  • 3 · Guidelines

    Priya 30h · 30 h budget · invoice on completion

    $4,000

    0% of hours budget used
  • Budget alert at 80%
  • Deadline alert 3 days out
  • Allocation alert at 100%

The four lines

  • Milestones that match the quote

    If the client signed three deliverables, the project has three milestones. Not seven tasks, not one lump.

  • An hours budget per milestone

    Your best guess is fine. It is the thing the 80% alert watches, so a guess beats a blank.

  • Who is on it, and their rate

    Cost rate and billable rate per person, set once. Margin can only be read if cost is known.

  • What triggers each invoice

    On signature, on completion, on a date, or at the end of a cycle. Write it next to the milestone.

Retainers and hourly work get the same treatment with different words: included hours and an overage rate instead of milestones, a cycle end instead of a completion.

2 · One tool for the work

Pick the PM tool by discipline. Then make its milestones match the quote.

The tool matters less than the rule. Every task sits under a milestone, and the milestones are the ones on the quote. That is what lets “milestone done” mean “invoice drafted”.

PM tools by discipline

Dev shops
Linear

Fast, opinionated, cycles map to milestones

Jira

When the client already lives in it

Marketing and content
Asana

Sections as milestones, easy for clients to read

monday.com

Boards per client, status columns drive progress

Design studios
ClickUp

Lists as milestones, time tracking built in

Asana

Same reason as above

Small and simple
Trello

Lists as milestones. Cards close, the milestone completes.

Basecamp

To-do lists as milestones. Simple, and clients can read it.

Notion

A status property as the milestone, if your projects already live there.

Handl reads all eight: Jira, Linear, Asana, monday.com, ClickUp, Trello, Basecamp and Notion. Pick the one your team will actually keep up to date.

Three rules for the PM tool

  • One project per client job

    Not one board for the whole agency. Milestones live inside the project.

  • Milestones named like the quote

    "Discovery", "Identity", "Guidelines". The client recognises them on the invoice.

  • Done means done

    A milestone is complete when its last task closes. Confirm it, then the invoice drafts.

Not on the list above? Handl reads and writes to all of these.

Reads the work · project management
  • Jira
  • Linear
  • Asana
  • monday.com
  • ClickUp
  • Trello
  • Basecamp
  • Notion
Reads the hours · timesheets
  • Toggl Track
  • Harvest
  • Clockify
  • Hubstaff
Writes the invoice · accounting
  • QuickBooks
  • Xero
Takes the payment
  • Stripe
Also
  • Slack
  • GitHub

3 · One tool for time

Four timesheet rules. The tool matters less than the rules.

Timesheets fail for one reason: they are filled in on Friday from memory. Fix the habit and any of these four tools will do.

Thursday 23 Oct · Priya

Example
  • Logo refinement, round 2

    Northlake · 2 Identity

    3:15

    Billable
  • Client call: colour direction

    Northlake · 2 Identity

    0:45

    Billable
  • Harbour Dental site fixes

    Harbour Dental · Retainer Oct

    1:30

    Billable
  • Team standup

    Internal

    0:30

    Internal

6:00 logged · 5:30 billableRounded to 15 min

The four rules

  • Log daily, not Friday

    Ten minutes at the end of each day. Friday timesheets are fiction with a decimal point.

  • Against a task, not a project

    "Northlake" tells you nothing. "Logo refinement, round 2" tells you where the budget went.

  • Billable on by default

    Flip it off for internal work. The default decides whether hours leak.

  • Rounding agreed up front

    Fifteen minutes is common. Put it in the agreement and in the tool, then stop arguing about it.

The four timesheet tools

  • Toggl Track

    Simplest. Start a timer, pick the task, done.

  • Harvest

    If you already invoice from it and want to keep that.

  • Clockify

    Free for the whole team. Fine for under ten people.

  • Hubstaff

    Tracked time for remote and contract teams.

Handl syncs all four every few hours and stamps each entry with the person’s rate, so hours become cost and billable value as they land.

4 · Alerts worth having

Four alerts, set once, on every project.

You will not look at the numbers every day. Nobody does. Alerts look for you, and the four below cover most of what goes wrong on a small project.

Project alerts · Northlake Studio · Brand identity

Example

On by default on every new project

  • Hours allocation exceeded (on by default)

    Someone has logged more hours than they were allocated on a milestone.

    100%

  • Milestone deadline (on by default)

    A milestone is due and is not done.

    3 days out

  • Budget consumed (on by default)

    The milestone has burned most of its hours budget. Time to talk to the client, not after.

    80%

  • Project gone quiet (on by default)

    Hourly or retainer work with no time logged. Either it is finished, or nobody is logging.

    T&M only

Worth switching on

  • Margin below target (off by default)

    Cost against revenue dropped under the margin you set at the quote.

    e.g. 40%

  • Pace overrun (off by default)

    At the current burn, the milestone will finish over budget.

    projected

  • Weekly hours per person, over or under (off by default)

    Someone logged far more, or far less, than their week. Catches burnout and under-logging.

    per week

Channels: in-app, email to the project creator, Slack if connected. Cost figures stay hidden from anyone without the cost-rate permission.

Thresholds are yours to change. The point is that they exist before the project starts, so nobody has to remember to look.

Example numbers only. Not accounting advice.

5 · The Friday rhythm

Twenty minutes on Friday.

Alerts catch the exceptions. The rhythm catches everything else. Same five questions every week, in the same order, with the same three things open.

Friday review · week of 20 Oct

Example
  1. Any hours logged this week that are not on a billing plan? (ticked)

    Northlake: 4.5 h on "client call" sat outside milestone 2. Moved.

  2. Which milestones are past 80% of budget? (ticked)

    Identity at 62%. Fine. Harbour retainer at 34 of 40 included hours.

  3. What is due next week? (ticked)

    Identity completion, Thu. Guidelines kick-off.

  4. What invoices go out this week? (ticked)

    Harbour retainer cycle (Fri). Nothing else.

  5. Anything we caught that would have gone unbilled? (not ticked)

    The 4.5 h above. Logged in the Caught tab.

What to have open

  • Your PM tool

    Milestone status and what closed this week.

  • Your timesheet tool

    This week's hours by person and project.

  • The billing schedule sheet

    Every client, every trigger, what is due.

Who runs it

The owner, until there is a project manager. Then the PM runs it and the owner reads the summary. It never gets delegated to “whoever has time”, because that is nobody.

6 · Connecting the dots

One project, start to paid.

Northlake Studio, a $24,000 brand identity job. Fixed fee with a 30% deposit, three milestones, two people. Example numbers throughout.

  1. Wk 0

    Quote signed

    Milestones, budgets, rates and billing plan written. Deposit invoice drafted.

    $7,200

  2. Wk 1

    Work starts

    Discovery tasks in Linear. Hours land in Toggl daily, against tasks.

  3. Wk 3

    Discovery done

    Last task closes. Milestone confirmed. Invoice drafted from it.

    $6,000

  4. Wk 5

    Budget alert

    Identity at 80% of 90 h with design rounds left. Scope conversation now, not later.

  5. Wk 7

    Identity done

    Agreed one extra round as a change. Invoice drafted with the extra line.

    $6,800 + $1,500

  6. Wk 9

    Guidelines done

    Final invoice drafted. Project margin read while it is fresh: 48%.

    $4,000

  7. Wk 11

    Paid

    Payments land, books updated in QuickBooks or Xero. Next quote uses the real hours.

    $25,500

Reads the work

  • Jira
  • Linear
  • Asana
  • monday.com
  • ClickUp
  • Trello
  • Basecamp
  • Notion

Reads the hours

  • Toggl Track
  • Harvest
  • Clockify
  • Hubstaff

Writes the invoice

  • QuickBooks
  • Xero

Nothing in this article needs Handl. The run sheet does it by hand. Handl is what you reach for when the by-hand version is eating Friday.

Questions

Before you set this up

Timesheets or the PM tool first?
PM tool. Hours mean nothing without a task to sit under. A week of tasks, then switch on time.
We are three people. Is this overkill?
Three people on two billing models is exactly where it starts to leak. The whole setup is four lines per project and ten minutes a day.
What about retainers?
Same loop, different words: included hours and an overage rate instead of milestones, a cycle end instead of a completion. The alerts are the same.
Do I need all four alerts?
Budget at 80% is the one that pays for the rest. Start there if you must start with one.

Where Handl fits

Handl is the connection between the tools in this article.

It reads the milestones from your PM tool and the hours from your timesheet tool, sets the four alerts on every new project, drafts the invoice when the milestone or the cycle completes, and pushes it to QuickBooks or Xero.

  • Not a project management tool.
  • Not a timesheet tool.
  • Not an accounting platform.

Set the project up once.

From $29/mo. 7-day free trial. For 2–20 person agencies on QuickBooks or Xero.