Time Tracking
Time Tracking
Track working hours, overtime, and surcharges for film crew members with support for collective agreements across four countries.
Overview
The Time Tracking tool allows crew members to log daily working hours and automatically calculate overtime, night surcharges, weekend premiums, and holiday rates based on the applicable collective agreement. It also features visual daily timelines and generates professional timesheet PDFs.
[!IMPORTANT] Time Tracking is available on the free tier. Free-tier users can create up to 2 time-tracking projects; the upgrade prompt appears only when you try to create a 3rd. Existing projects and all tracking features remain fully usable on the free tier.
Navigate to Time Tracking in the sidebar.
Getting Started
1. Set Up a Project
Click New Project to configure:
| Field | Description |
|---|---|
| Project Name | Name of the production |
| Country | DE, AT, FR, or IT — determines the agreement used |
| Collective Agreement | Auto-selected based on country (can override) |
| Role / Department | Your role (e.g., DOP, 1st AC, Gaffer, Grip) |
| Rate Type | Daily, Weekly Flat, or Hourly |
| Rate Amount | Your negotiated rate (minimum rates shown as reference) |
2. Configure Conditions
The setup modal separates what applies from how it is configured. Project comes first — the collective agreement you pick there decides which switches exist at all and fills in the break minutes and night window — then Features, which holds every on/off switch. The later tabs hold only the settings that a switched-on rule needs, and hide the settings of a rule that is off. Turn the night surcharge off and there is no night window to fill in; turn overtime off entirely and the ladder, the rounding option and the second-day threshold all go with it.
Features tab — the switches
- Overtime is paid — Whether an hour past the standard day is paid at all, at your plain hourly rate. Off means the hours still count in the day total, but no overtime is billed or reported — and the whole overtime block disappears from the other tabs
- Overtime surcharge (% extra) — Nested under "Overtime is paid": the agreement's percentage ladder on top of that pay. Off means overtime hours are paid at the plain hourly rate with nothing added — they are still listed as overtime hours, so the pay they earn is still shown on the day card, the weekly summary and the PDF. A percentage of an hour nobody pays for is nothing, so this switch is hidden — and suppressed in the calculation — while overtime is unpaid
- Auto-calculate surcharges — Master switch for the premium-pay rules. With it off, surcharges are still tracked but never added to pay, the five individual switches below are hidden, and the overtime surcharge above is suppressed too (the Overtime card says so)
- Night surcharge — Night window itself is set on the Hours tab (default 22:00–06:00)
- Saturday / Sunday / Holiday surcharges — Individual switches
- 6th-day surcharge — Shown when the collective agreement defines one, and always on a custom agreement
- Auto break deduction — Automatic break deduction after 6h work; the threshold is set on the Hours tab
- Meal penalties — On by default. Turn off to disable meal penalties entirely for the project: none are charged, no warning is shown, the per-day "Force meal penalty" option is hidden, and the Meal Penalty column is dropped from the PDF
- Travel time is paid — Off means travel time is still recorded but excluded from paid hours, overtime and surcharges
Where the settings live
- Hours tab — Night window, "round overtime up to full hours", the break-deduction threshold (min after h), and the break-time check. Rounding follows Overtime is paid, not the surcharge switch: it resizes the overtime pool that is billed as base pay, so it still changes the money on a project that pays overtime with no percentage on top. The break-time check follows meal penalties, not break deduction — it is only ever read by the meal-penalty rule
- Pay tab (custom agreements only) — The overtime ladder, the second-day threshold, and one percentage per surcharge you switched on. The ladder needs the overtime surcharge; the second-day threshold needs only Overtime is paid, because it caps the overtime pool that is billed as base pay. A surcharge that is off has no percentage field, because the calculator never reads it
- Travel tab — Mileage rate, turnaround penalty cost, and the travel-day tiers
Other pay settings
- Guaranteed base rate (Pay → Rate) — Off by default. When on, the full base/day rate is always charged on a working day — even with a long break or short hours. Overtime is still calculated from net hours and added on top, so a longer break only trims overtime, never the base. (Daily rates already work this way; this extends it to hourly and weekly rates.)
- Hourly rate (override) (Pay → Rate) — Empty by default. By default each hour is worth your day rate ÷ standard daily hours (e.g. €380 ÷ 9 h = €42.22/h). Set a value here to bill every overtime and surcharge hour (overtime, night, weekend, holiday, meal penalty) at exactly that rate instead — useful when your day rate represents a different number of hours than your overtime threshold (e.g. a €380 day = €38/h over 10 h, but overtime still starts after 9 h). Your day length still decides when overtime starts; only the per-hour price changes.
- AZV days — 1 extra paid day off per 20 shoot days (DE only)
- Vacation Claims — Optional tracking for weekly and overall vacation claims shown in exports
- Off Day Rate (Pay tab) — Share of the day rate paid for an Off day (Drehfrei), e.g. a held-over day on a distant location. Defaults to 50 %; set 0 % for an unpaid day off (0–200 %)
- Overtime tiers (Pay tab, custom agreements) — Every tier can be removed, including the last one. An empty ladder means overtime hours are still tracked and shown, but no overtime surcharge is billed — the same thing the calculator does with a project that has no ladder
- Flat Rate / Pauschale (Pay → Rate) — Caps base pay at the standard day, so it already makes overtime unpaid whatever Overtime is paid says. The Features tab points this out rather than letting the switch read as effective
On a phone
Below the tablet breakpoint the toolbar keeps only the Week / Month switch and — once a week is ready to submit — Send to Project Owner. Everything else lives behind a More button, each entry with its written label: Spesen, From call sheets, CSV, Detailed CSV, Copy Week, Paste Week, Weekly PDF, Send via Email and Monthly PDF. From 768 px up the full button row is unchanged.
Daily Time Entry
For each work day:
- Select the date and day type (Prep / Shoot / Return / Travel / Additional / Off / Sick / Vacation …). An Off day (Drehfrei) records no hours but pays the configured share of your day rate.
- Enter Call time (start) and Wrap time (end) — or tap the clock button beside either field to stamp the current time into it. Tap at call, tap at wrap, and the day is captured as it happens instead of being reconstructed from memory that evening. A stamp writes an ordinary time value: it stays fully editable, and typing remains available for a forgotten day. Once a day has a call time and no wrap time it shows a live Running chip counting from the call. If such a day reaches the next morning still unclosed, the chip becomes Left running and shows no hour count on purpose — the app does not know when that day ended, so it asks you instead of billing every hour since. The timer is derived from those two times, so nothing is lost by reloading.
- Enter Pause duration (break minutes)
- The system calculates:
- Gross / net hours
- Overtime per tier
- Night hours, Sunday hours, holiday hours
- Total surcharges and earnings
- Add optional Mileage (km) or Per Diem (Spesen/Tagessatz)
- Add an optional Catering Deduction to subtract meal costs
- Add Notes for scene numbers, locations, etc.
Gear Used & Expenses per Day
Each expanded day card has two extra sections so nothing is missed at billing time:
- Gear used — search your owned gear and gear sets and add what was used on that day. Each entry captures the item's daily rate at the moment you add it (a snapshot), so editing the catalogue later never changes what a past day billed. A per-day subtotal is shown. If a gear item or set is later deleted, its row stays (marked removed) so the billing history is preserved.
- Expenses — link the day to real accounting expenses. Use Add expense to open the expense form pre-filled with the day's date and project (and a link back to the day), or Link existing to attach an expense you already recorded. The linked expenses and their total appear on the day; the accounting expense page shows a chip back to the timesheet day. Unlink any time with the ✕.
Both sections can be optionally included in the timesheet PDF — see Export to PDF.
Per Diem Trips (Spesen Automation)
Instead of typing a flat per-diem number on every travel day, let the app track the whole trip and book it correctly — German BMF rules give €14 for the arrival and departure day, €28 for every full day between, €14 for a single-day trip over 8 hours, and meal reductions when food was provided.
Open the Spesen button in the time-tracking toolbar to configure it (all opt-in):
-
Start trips automatically on travel days — marking a day as Travel opens a trip (a toast with Undo appears; the trip banner shows origin → destination, day count, and the live computed total). Marking a second travel day later asks "Back home?" — confirm to end the trip, or choose Still traveling for mid-trip relocations (those stay full €28 days).
-
End trips automatically at home base (optional, separate toggle) — give it a home base either way round: type an address into Home base address and press Look up address (↵ works too), or press Use current location to take the coordinates from the device. Typing an address is the practical route on a desktop, or whenever you set this up away from home — Use current location needs you to actually be there. Then name it (Home base name becomes the origin of every trip the automation opens) and set a Home radius (3 km unless you change it). Single location checks when you open time tracking, save a day, or press Check location end the trip automatically once you're back home (with a 3-hour departure grace so it never closes while you're still packing). There is no continuous tracking: readings are compared against the home radius and discarded. Use current location replaces a typed address with the device's coordinates, so the line under the buttons then shows latitude and longitude instead of an address — that is the honest answer to what is stored. A look-up that finds nothing, or fails, leaves the previous home base intact.
Pressing Check location yourself does one more thing: away from home it works out which town you are in and records it as the trip's next stop. The first press fills the destination, the second turns the route into
Home → first stop → second stopand the banner shows the whole chain — so driving home → Minden today and Minden → Braunschweig tomorrow is two presses, not a form. Pressing it twice in the same town changes nothing ("Still at Braunschweig."), and the three-hour grace only governs ending a trip, never naming a stop. The town is looked up at town level through the app's own server; only the name is saved, never your coordinates. If it can't be worked out — offline, or a fix out in open country — you get the old "Still 412.6 km from home base." line and no stop is added. Stops carry the local name (Braunschweig, not Brunswick) while the per-diem rate behind them is still matched on the official English name. -
Review & book — before anything reaches accounting you review the trip: dates and times, country/city (foreign BMF rate cards included), a per-day meals grid (a day with a set-catering deduction pre-checks lunch — override any day), and the lodging choice (€20/night flat, actual cost, or none). The per-day breakdown and totals update live. Book travel expense creates the same
Travel (Spesen)expense the accounting wizard produces — linked to the timesheet project and the arrival day — and optionally fills the Per Diem field of each covered day with the computed amount (your manually typed values are never overwritten).Two shortcuts live on the review's Route step:
- Set the rate from the address — rather than hunting through the country list, type the destination into To (destination) and press the search button beside it (↵ works too). A hit fills in the Country and, where a city has its own BMF rate, the City too; a country with no BMF rate leaves both alone and says so ("No BMF per-diem rate for that country — pick the country and city manually"). The two selects stay the source of truth and remain freely editable, and the destination text you typed is never overwritten.
- Several destinations in one trip — add stops under Stops (multi-destination). Each stop carries its own To, Arrival date, Country and City (BMF rate), can be reordered or removed, and the route reads back as a chain (home → stop → stop). Each stop is rated by its own country and city, so a Munich → Vienna → Prague trip bills each leg at its own rate — the trip-level country and city above then only name the trip. The Arrival date is what decides where a day is rated: a calendar day follows the last stop reached before midnight. The first Add stop carries the primary destination over as stop 1 so it isn't lost, and clearing every stop reverts the trip to the single-destination fields above.
-
Propose call/wrap times at the shoot location (optional, its own opt-in — deliberately not bundled with the home-base toggle) — when your timesheet is linked to a project whose call sheet carries the day's location, the same single location checks compare against the shoot location: arriving there with no call time logged shows a banner proposing the current time as your call; leaving it with a call but no wrap proposes the time you were last seen on set (only if that sighting is recent — a stale one proposes nothing rather than guessing). Every proposal is editable before it is applied and one tap dismisses it for the day; nothing is ever written automatically. Set the shoot radius to match the unit base.
Trips work fully manually too: start one from the Spesen settings ("Start a trip now"), end it from the banner, and edit everything in the review — no automation or location access required. A trip left open for more than 31 days shows a warning (split long engagements into separate trips).
Per diems also reach your invoice: the + Create invoice draft action in the Linked-invoices panel adds a separate "Per diem (Spesen)" line — days × the exact tiered amounts — on top of the labor lines, so trips are billed to the production without retyping anything.
[!NOTE] Location data stays on your device except for the saved home base, the trip's origin snapshot and the stop names you record with Check location (all part of your synced settings — names only, never coordinates). Address and town look-ups go through the app's own server, never from your browser straight to the mapping service. Trips you dismiss with Undo or Discard won't re-open for the same date.
Copy and Paste Weeks or Days
The Time Tracking page has a real clipboard for both weeks and individual days.
Toolbar buttons (Week view)
- Copy Week — snapshots the visible week's entries into the clipboard.
- Paste Week — drops the clipboard's entries into the visible week, mapped by weekday (Mon → Mon). Days that already have an entry are skipped (no overwrites).
Keyboard shortcuts (⌘ on macOS, Ctrl on Windows/Linux)
- ⌘C with no day card focused → copies the whole visible week.
- Click a day card first (you'll see a brand-coloured ring confirming it's "armed"), then ⌘C → copies just that day.
- ⌘V with a week clipboard → pastes into the visible week (regardless of focus).
- ⌘V with a day clipboard → pastes into the focused day. If no day is focused, you'll see "Select a day first to paste into."
While typing in inputs and the Notes textarea, ⌘C and ⌘V do their normal browser thing — copy/paste of text. The clipboard isn't touched.
Cross-project guard
If you copy in Project A and switch to Project B, paste is refused with a clear message — entries can't be silently misattributed across projects.
To duplicate last week into the current week (the old one-click behaviour): navigate to last week → ⌘C (or click Copy Week) → navigate forward → ⌘V (or click Paste Week).
Supported Agreements
| Country | Agreement | Standard Day | Standard Week | Key OT Rules |
|---|---|---|---|---|
| 🇩🇪 DE | TV FFS 2025 | 10h | 50h | +25% (11th h), +50% (12th h) |
| 🇦🇹 AT | KV Filmberufe 2025 | 8h | 40h | +50% (first 2h), +100% (3rd+) |
| 🇫🇷 FR | Conv. collective cinéma | 7h | 35h | +25% / +50% / +75% graduated |
| 🇮🇹 IT | CCNL Cineaudiovisivo | ~8h | 40h | Level-based, +80% night set |
💡 Minimum rates are shown as reference — your actual rate can differ based on your contract.
Reminders & Incomplete Days
- Submission reminders. Opening time tracking checks the recent past weeks of the active linked project: a week with logged working days that was never submitted to the producer gets one reminder in the notification bell (overdue styling once the week is more than a week past). Reminders are per-week and idempotent — dismissing one keeps it dismissed, and the "Timesheets" category in the notification preferences mutes them entirely. Projects not linked to a production have no submission path and are never nagged.
- Incomplete-day chip. A working day (shoot, prep, return, additional) whose entry is missing the call or wrap time shows an "Incomplete" chip on its collapsed card — those hours feed a real invoice. Off, sick, vacation and travel-typed days are never flagged, so the chip stays trustworthy.
Weekly Summary
The Weekly Summary panel shows:
- Total hours worked per week
- Days by Type — the week split by day type (see below)
- Overtime breakdown by tier
- Surcharge totals (night, weekend, holiday)
- Total earnings for the week
Days by Type
Both the Weekly Summary and the Month view break the period down by day type — shoot days, travel days, prep days, off days, sick days and so on — each with its day count and its net hours. It answers "how many shoot days was that job?" without counting rows by hand.
The split counts every logged day of a type, including days that earn nothing and days with no hours at all: a travel day with no call time still counts as a travel day, and an unpaid off day or a sick day still appears. That makes it a wider net than the Work Days counter beside it, so the day counts can legitimately add up to more than Work Days.
The same breakdown is printed in the Monthly PDF, as indented rows directly under the Work Days line of the Monthly Summary.
Approved Weeks Are Locked
Once the production approves a submitted week, that week locks: every day card shows an Approved chip, all fields and actions (including per-day gear and expenses, stamping, deleting, and pasting into the week) are disabled, and the approval banner explains the state. This keeps your local week and the approved payroll record from silently drifting apart — on a surface that feeds a real invoice, there is exactly one agreed set of numbers. Copying a locked week is still allowed. If something genuinely needs correcting, ask the production to reopen (reject) the week — the normal resubmission flow then applies.
Submit Week & Export
Click Download PDF to export a professional Crew Time Card. The PDF includes:
- Detailed breakdown of hours and surcharges
- Catering deductions and vacation claims
- Dual signature fields for employee and production approval
Click Submit to finalize a week's entries. Submitted weeks are locked from further editing.
Export to PDF
You can export your weekly timesheet (and a full month via Monthly PDF) as a professional PDF with a detailed breakdown of daily hours, overtime, surcharges, catering deductions, notes, and a signature area. The export dialog offers several options:
- Include Signature — When unchecked, the entire signature block (both your signature line and the production-approval line) is omitted, producing a clean unsigned sheet. When checked, your saved signature image is embedded if you've set one up (Settings → Account → Signature & Branding); otherwise a blank signing line is printed.
- Show Broken Turnaround — Show or hide the Broken Turnaround penalty column on the PDF (on by default).
- Overtime surcharges (Monthly PDF only) — Show or hide overtime everywhere in the document: the overtime (OT) columns, the week/month subtotals, the monthly-summary line, and the itemized cost-breakdown rows. On by default. Turning it off with Night surcharges off too lets you print a sheet with neither.
- Night surcharges (Monthly PDF only) — Show or hide the night-work surcharge everywhere in the document: the Night column, subtotals, the monthly-summary line, and the cost-breakdown row. On by default. This controls whether the surcharge is shown; the amounts already earned are never changed.
- Night work in 15-min steps — Rounds night-work hours up to the nearest quarter hour (e.g. 3:12 → 3:15). The night surcharge amount is unaffected.
- Include gear used — Adds a per-day table of the gear tracked on each day (see Gear Used & Expenses per Day). Off by default.
- Include linked expenses — Adds a table of the accounting expenses linked to the days. Off by default.
In the monthly summary, the Work Days count — and the vacation claim that accrues from it — includes paid off days (off days under a project that pays for them) and travel days, in addition to days with worked hours.
Related Documentation
Last Updated: 2026-09-08 Version: 0.790.2
