Skip to content

01Time

Hours your client approves, invoiced through KSeF in one click.

Track time with a timer or by hand. At month end your client approves the hours report from a link, and WorkLog creates the invoice in your inFakt, Fakturownia or wFirma. One price for the whole team, no monitoring.

Hours pass whether or not anyone writes them down. WorkLog tells you where they went.

14 days of the Studio plan free, no card. Sign in with Google, GitHub or email.

How a working day becomes a report

  1. Stage 2 of 6: Blocks

    Minutes become entries

    A timer, or a line typed in afterwards, cuts the stream into blocks with a start, an end and a description. This demo day has 7 of them: 8 h recorded between 08:30 and 17:45, with gaps where nothing was logged.

  2. Stage 3 of 6: Projects

    Every entry belongs to a project

    Website redesign 3 h 30 min, Catalogue print 3 h, Operations 1 h 30 min. The colour marks the project; the name travels with the entry.

  3. Stage 4 of 6: Clients

    Projects roll up to clients

    Northwind Studio 3 h 30 min, Kowalski & Co 3 h, internal work 1 h 30 min. The day is no longer a list of timestamps: you can see which client took the afternoon.

  4. Stage 5 of 6: Value

    Billable time turns into money

    6 h are billable. At €90 an hour for Northwind Studio and €75 for Kowalski & Co, the day is worth €495. The client call and the internal work stay non-billable: hatched, not filled.

  5. Stage 6 of 6: Report

    The day becomes a report

    Hours and value per client: Northwind Studio 3 h 30 min and €270, Kowalski & Co 3 h and €225. Filter it by week, export it as CSV, or print it as an invoice-ready summary.

02Month end

From hours to invoice in three steps.

No copying hours into the invoice, and no client asking where a number came from.

1. Hours
Track time with a timer or by hand, against a client and project. Each entry keeps its rate, so a rate change never rewrites history.
2. Client approval
Send the monthly hours report. Your client opens it from a link, with no account, and approves the hours or disputes them. The report carries a verification code and saves as a PDF.
3. Invoice
One click creates the invoice in your inFakt (as a draft), Fakturownia or wFirma — Polish invoicing services that send it on to KSeF. VAT 23, 8, 5 and 0%, zw and np, in EUR and other currencies too.

On Solo and higher plans. Want to try without an account? Make a free hours report.

All features

03Track

Start a timer, or type the hours in afterwards.

Both are first-class. Use whichever matches the work, and switch between them on the same day.

Timer

  • Runs on server time, so it survives a refresh, a closed tab or a switch to your phone.
  • One running timer per person. Nothing double-counts.
  • Start and stop from the keyboard. Switch task in one step.
  • A timer left running is flagged before it turns into a nine-hour entry.

Navigation build

Website redesign · Northwind Studio

1:12:40
Example running timer. Recording now, on server time.

Manual entry

Pick a date and type a start and end, or just the duration. Edit, duplicate, or delete with undo.

Ways to type the same entry. Each one is saved as 1 hour 30 minutes.
You typeAsSaved as
1:30hours and minutes1 h 30 min
1.5hdecimal hours1 h 30 min
90mminutes1 h 30 min
09:00–10:30start and end on a date1 h 30 min

The weekly timesheet has an entries list and a grid you fill in from the keyboard, today, week and billable totals, and it highlights the days that fall short of your daily target.

How time tracking works

04Structure

Client, project, task, tag.

Four levels, each with one job. Nothing deeper to maintain, nothing shallower to lose detail in.

  1. ClientNorthwind Studio

    Company, contact email, notes, default rate. Archive when the work ends.

  2. ProjectWebsite redesign

    Colour, status, billable by default, hourly rate, time or money budget with an alert threshold.

  3. TaskNavigation build

    Estimate 12 h · tracked 9 h 30 min.

  4. Tagsdesign · client-call

    Lightweight labels that cut across projects.

Archive
Archive a client or project when the work ends. Its history stays intact in reports.
Restricted projects
Limit a project to chosen members when not everyone should log to it.
Estimates
Give a task an estimate and see estimated against tracked as the work goes on.

05Understand

See which client took Tuesday.

Filter any range, group it the way the question is asked, and keep the view for next time.

Filter by

  • Date range
  • Client
  • Project
  • Task
  • Member
  • Tag
  • Billable

Group by

  • Day
  • Week
  • Month
  • Client
  • Project
  • Task
  • Member
  • Tag
Saved views
Save the filters and grouping you use every week and come back to them.
CSV export
Any report, as a file you can open in a spreadsheet.
Invoice-ready summary
Hours, rate and value per client for a period — to send to the client for approval and to invoice in one click.
What reports can answer

06Value

Billable hours, rates and budgets that add up.

Every entry knows whether it is billable and at which rate. Every project knows how much of its budget is left.

  • BillableSolid. Counts towards value at the entry’s rate.
  • Non-billableHatched. Tracked and reported, never charged.

Which rate applies

  1. 1Entry override
  2. 2Project member
  3. 3Project
  4. 4Client
  5. 5Member
  6. 6Workspace default
WorkLog uses the first rate that is set, in this order. The rate is stored on each entry when it is saved, so changing a rate later does not rewrite past reports.

Used, remaining, forecast

Set a time budget, a money budget or both, with an alert threshold. The forecast is plain arithmetic, not a guess from a model.

Website redesign · time budget 40 h

Past the 80% alert

Used
33 h 83%
Remaining
7 h
Forecast
~14 days
Example. The forecast is a straight line from the last 28 days: 14 h tracked is 0.5 h a day, so the remaining 7 h last about 14 days. Simple enough to check by hand. Money budgets work the same way.

A project can have an hourly rate, a fixed fee or a monthly retainer with included hours. Each client can have its own currency, and totals are kept per currency.

07Act

A short list of what needs you.

The dashboard works out an attention list each time you open it. If you want, WorkLog also emails you about a timer left running and a workday under target.

Attention · example

  • Timer still running

    Started 08:52 · running for 9 h 40 min

  • 2 days under your daily target

    Mon 5 h 10 min and Wed 4 h 45 min of 7 h

  • Website redesign is at 82% of its time budget

    7 h left · alert set at 80%

  • 3 timesheets to approve

    Week 38 · shown only when approvals are on

  • Long-running timers, before they become a wrong entry.
  • Days under target this week, while you still remember them.
  • Projects near budget, at the threshold you chose.
  • Timesheets to approve, if your workspace uses approvals.

08Product

The screens you will work in.

The dashboard, the weekly timesheet and reports, as they appear in WorkLog.

Tuesday 22 September

Today

Recorded

5:30

Billable

4:45

Value

€427.50

Needs attention

  • Product catalogue has used 84% of its time budget

    3 h 12 min left. At the last four weeks’ pace it runs out around 2 Oct.

  • 1 day under your daily target

    Mon −1 h 50 min.

Dashboard in WorkLog, shown with invented demo data.

Tracked

23:12

Billable

20:12

Value

€1,818.00

Tracked and billable time per day
MonTueWedThuFriSatSun
6:15, billable 5:305:27, billable 4:427:45, billable 6:453:45, billable 3:15–, billable 0:00–, billable 0:00–, billable 0:00
billable non-billable

Budget · Website redesign

41 h of 60 h68%
Time · week of 21 September in WorkLog, shown with invented demo data.
Report rows grouped by Client then Project
Client / ProjectTrackedBillableValueEntries
Northwind Studio48:3048:30€4,365.0041
Website redesign41:0041:00€3,690.0035
Brand refresh7:307:30€675.006
Kowalski & Co26:1526:15€1,968.7522
Product catalogue26:1526:15€1,968.7522
No client11:000:00–17
Internal11:000:00–17
Reports · September by client, then project in WorkLog, shown with invented demo data.

09Teams

Bring the team in when the work is shared.

A workspace can be just you. When it is not, invite people by link and give each one a role.

Owner
Everything an admin can do, plus transferring ownership and deleting the workspace.
Admin
Runs the workspace: invites and removes members, changes roles and member rates, edits settings.
Manager
Sees the team’s time and reports, manages clients, projects and budgets, approves timesheets.
Member
Tracks, sees and edits their own time. Can create tags.

Members see their own time. Managers and above see the team. Removing someone ends their access at once and keeps their entries in your reports.

One price for the whole team, not per person: Studio €29 a month for up to 10 people, Agency €69 for up to 30 (net, billed yearly).

  1. Draft
  2. Submitted
  3. Approved
  4. orChanges requested
Weekly timesheet approval is optional and off by default, so people working alone never see it.
Workspaces, roles and approvals

10Trust

Your hours stay yours.

WorkLog records the work time you declare. It does not watch how you work.

No monitoring
No screenshots, no keystroke logging, no activity tracking. Only the entries you make.
Export
Download your workspace’s entries, clients and projects as CSV, or everything as one JSON file.
Import
Bring time entries in from CSV; clients and projects named in the file can be created as they are imported. You see a preview first, then a report of every row that could not be imported. Nothing is silently dropped.
Deletion
Delete your account from inside WorkLog.
Where it lives
A Neon Postgres database and the app on Vercel, both in Frankfurt. Row-level security in the database backs up the permission checks on the server.
Security and data handling

11Start

Start with today.

Create an account with Google, GitHub or email. Works in the browser on desktop and phone; install it like an app, and the timer works offline too.

Track the next hour you work, then look at where it went. Press ⌘K or Ctrl+K in the app to open the command palette.