JWillum products

Free guide · JWillum products

How to bill flat-fee plus hourly work from Toggl time entries

Bill a flat fee plus hourly prep from Toggl: tag prep and event time, total and round once, and build one hourly and one flat invoice line.

Published

A common setup: a fixed fee for the event, workshop or shoot itself, plus hourly billing for the preparation around it. You track everything in Toggl, but the invoice should have exactly two lines: one hourly line for the prep and one flat line for the event. Not forty time entries, and not the event hours billed twice.

This guide shows how to set that up with tags, export once and build both lines in a spreadsheet.

Step 1: Tag the time as you track it

Tags in Toggl add context to a time entry beyond its client and project, and reports can be filtered by tag (Toggl Track: Tags). Create two tags, for example:

  • prep: billable hourly (research, calls, rehearsal, travel if your contract bills it)
  • event: covered by the flat fee

Keep both under the same client and project so the job stays together. Every entry should get exactly one of the two tags; an untagged entry is one you'll have to chase later.

Step 2: Filter and check before exporting

Open Reports, set the date range for the job and add a filter on the project. Report filters include Tag, and conditions can be combined with AND/OR (Toggl Track: Using filters in reports). Filter on entries with no tag, or scan the tag column, to make sure nothing is missing.

Step 3: Export the detailed report

Use the Detailed report, which shows each individual entry, and Export it as CSV or Excel. Toggl notes that CSV and Excel exports are a paid-plan feature (Toggl Track: Detailed report). Check that the export includes the tags column before you go further.

If durations come out as 1:30:00 or text, convert them to decimal hours first (see How to convert Toggl or Clockify durations to decimal hours).

Step 4: Total the prep hours, then round once

Build a pivot table with Tags as rows and sum of decimal hours as the value. You now have one total for prep and one for event.

Round the prep total, not each entry. Rounding every short call up to a quarter hour inflates the bill and is hard to explain if a client asks. With the prep total in B2, =CEILING(B2,0.25) rounds it up to the next quarter hour (or use MROUND for nearest). If you use Toggl's own report rounding instead, apply it to grouped entries: Toggl then totals the group as is and rounds the subtotal (Toggl Track: Rounding). Don't round in both places.

Step 5: Build the two invoice lines

Description Quantity Unit price Amount
Preparation (hourly), 1–14 May 6.75 90.00 607.50
Event day: flat fee 1 1,200.00 1,200.00
  • The hourly line uses the rounded prep hours as the quantity and your hourly rate as the unit price.
  • The flat line is always quantity 1 at the agreed fee. The event-tagged hours don't go on the invoice at all.

Keep the event hours anyway. They tell you what the flat fee really earned per hour (1,200 ÷ 9 event hours = 133 per hour). That's what you need to price the next job.

Step 6: Watch the edges

  • Prep that ran into the event day: decide by contract, not by date. If the contract says the flat fee covers the day, tag it event.
  • Overtime beyond the flat scope: give it its own tag (for example extra) so it becomes a third, clearly labelled hourly line rather than disappearing into prep.
  • Non-billable entries: if you use Toggl's billable flag, filter to billable before building the hourly line.

Doing it faster

Tracker Invoice Lines handles the hourly side. Drop in a detailed Toggl (or Clockify or Harvest) CSV and it groups billable time into invoice lines with your rate, ready for Xero, Wave or a generic Qty × Rate sheet. If prep and event are separate tasks, the Project+task grouping gives you separate lines for them. It doesn't add flat-fee lines, so add the one flat line yourself in Xero or Wave after importing. $8, paid once, runs offline.

→ Tracker Invoice Lines

Related tools

  • Paid through Stripe? StripeClear Journal turns Stripe balance exports into a balanced QuickBooks journal CSV.

FAQ

How do I separate prep time from event time in Toggl?

Create two tags, such as prep and event, keep both under the same client and project, and give every entry exactly one of them. Reports can then be filtered or grouped by tag.

Should the event hours appear on the invoice?

No. The flat-fee line is quantity 1 at the agreed fee. Keep the event hours in Toggl anyway to see what the flat fee earned per hour.

Where should I round when billing hourly prep?

Round the prep total once, not each entry. If you use Toggl report rounding, apply it to grouped entries so the subtotal is rounded.

Can Tracker Invoice Lines add the flat-fee line?

No. It builds the hourly lines from a time export; add the single flat-fee line yourself in Xero or Wave after importing.

Tracker Invoice Lines$8 one-time · runs offline in your browser · no account
Get it on Gumroad — $8

Official documentation

The tool for this job