Quick reference so nothing important gets missed. For setup steps, see the project README on GitHub if you deploy from source.
The Calendar page shows your week. Click an event for details.
Duration rounding: Timed meetings are converted to hours and rounded up to the next quarter hour (15 minutes) for sync. For example, a 25‑minute meeting becomes 0.5 h and a 50‑minute meeting becomes 1.0 h, so short “buffer” meetings line up with normal time entry.
Work notes in Google: In an event description, lines starting with // are pulled in as notes when syncing (e.g. // Fixed login bug).
Project-specific notes: Prefix with a keyword from that project’s filter, e.g. // Acme: status update, so the note attaches to the right project when an event matches multiple projects.
On the Timesheet page, Download CSV saves the current sync queue (potential BigTime entries for the week you have open). Edit in Excel or Sheets if you like.
Upload CSV replaces the sync queue with rows from the file. Only dates inside the currently selected week are loaded; others are skipped. This does not push to BigTime by itself—use Sync Calendar or each row’s upload button afterward.
Required columns: date (YYYY-MM-DD), project_id, hours. Optional: project_name, task_id, budg_cat_id, titles, notes (use | between multiple titles or notes in one cell).
Duplicate project+date rows in a file are merged (hours summed, titles/notes combined).
Themes (light/dark/etc.) are saved in the browser.
AI-generated notes are optional (OpenAI key in environment). When enabled in Admin, you get per-entry and bulk actions on the timesheet sync queue.
Current app version: v3.4.0 — also shown under the menu in the top bar.