Skip to main content

Manual Time Entry

Overview

Manual time entry allows you to log work hours retroactively or when you forgot to start the timer. This is useful for tracking time after the fact, correcting mistakes, or entering time from other sources.

When to Use Manual Entry
  • Forgot to start timer - Log work after completion
  • Offline work - Internet was unavailable
  • Import from other systems - Migrate historical data
  • Quick entries - Short tasks not worth timing
  • Corrections - Fix timer mistakes

Creating Manual Time Entries

Step 1: Navigate to Manual Entry

  1. Go to Timer in the sidebar
  2. Click the "Manual Entry" tab
  3. Click "Add Time Entry" or "New Entry" button

Step 2: Fill in Entry Details

Required Fields

Date

  • Date picker: Select the day you worked
  • Range: Can enter past dates (within your tier's history limit)
  • Format: YYYY-MM-DD
  • Timezone: Uses workspace timezone
  • Example: 2026-01-25

Start Time

  • Time picker: When you started working
  • Format: 24-hour (13:30) or 12-hour (1:30 PM) based on preferences
  • Precision: Down to the minute
  • Example: 09:00, 14:30

End Time

  • Time picker: When you finished working
  • Validation: Must be after start time
  • Same day only: Cannot span midnight (create separate entries)
  • Example: 11:30, 17:00

Duration (Auto-calculated)

  • Automatically calculated from start and end times
  • Format: Hours and minutes (e.g., 2h 30m)
  • Example: 09:00 - 11:30 = 2h 30m

Project

  • Dropdown: Select from workspace projects
  • Required: Must select a project
  • Filter: Only shows active projects
  • Search: Type to filter project list

Task (Optional/Required based on project settings)

  • Dropdown: Tasks for selected project
  • Conditional: Required if project has "Require task for time entry" enabled
  • Filter: Only shows active tasks; task visibility depends on assignees (see below)
  • Create new: Quick-create task from entry (PRO+)
Task Visibility in the Selector

The task dropdown only shows tasks you are allowed to work on:

  • Task with no assignees → visible to all project members
  • Task with assignees → only visible to assigned members

This ensures team members only see tasks relevant to them.

Optional Fields

Description

  • Text field: What did you work on?
  • Character limit: 1000 characters
  • Best practice: Be specific for better reporting
  • Examples:
  • "Implemented user authentication API endpoint"
  • "Fixed bug #123: Login redirect issue"
  • "Work" (too vague)
  • "Stuff" (not helpful)

Billable

  • Toggle: Billable or Non-billable
  • Default: Inherits from project setting
  • Override: Can change per entry
  • Impact: Affects invoicing and reports

Rate Override (PRO+)

  • Amount: Custom hourly rate for this entry
  • Currency: Uses workspace currency
  • Default: Uses rate hierarchy (Task > User-Project > Project > User > Workspace)
  • Use case: Different rate for overtime, special work

Tags (ENTERPRISE)

  • Multi-select: Add custom tags
  • Examples: "urgent", "client-call", "meeting", "research"
  • Filtering: Use in reports and exports
  • Create new: Add tags on the fly

Step 3: Save Entry

Click "Save Time Entry" button.

What happens:

  • Entry created and added to time log
  • Dashboard updates with new hours
  • Billable amount calculated (if rate set)
  • Notifications sent (if enabled)

Google Calendar Import

Google Calendar must be connected

This feature is only available when Google Calendar is connected. Connect it in Settings → Integrations → Google Calendar.

If your Google Calendar is connected, you can pre-fill a new time entry directly from a calendar event — no manual typing required.

How to import a calendar event

  1. Open the "Add Time Entry" dialog
  2. Click the "Import from Calendar" button at the top of the form
  3. A list of today's and tomorrow's events appears (all-day events are excluded)
  4. Click any event to pre-fill:
    • Description — from the event title
    • Start time — from the event start
    • End time — from the event end
  5. Review and adjust the pre-filled fields as needed
  6. Select a project/task, then click "Create"
tip

All pre-filled fields remain editable before saving. The calendar import is a starting point, not a lock.


Tier Limits

TierMax Time Entries per WorkspaceHistory Access
FREE10030 days
PRO1,000365 days (1 year)
ENTERPRISEUnlimitedUnlimited
FREE Tier Limit

FREE tier allows only 100 time entries per workspace. Old entries are archived (not deleted) when you upgrade.


Editing Time Entries

Edit Your Own Entries

Who can edit:

  • Owner, Manager, Member (own entries only)

How to edit:

  1. Find entry in time log
  2. Click pencil icon or entry row
  3. Modify fields
  4. Click "Save Changes"

Editable fields:

  • All fields except date (see note below)
  • Start/end time
  • Project and task
  • Description
  • Billable status
  • Rate (PRO+)
Changing Date

To change the date, delete the entry and create a new one. This preserves audit trail integrity.

Edit Others' Entries (Manager+)

Who can edit:

  • Owner, Manager (any entry in workspace)

Use cases:

  • Correcting team mistakes
  • Standardizing descriptions
  • Updating billable status
  • Applying correct rates

Audit Trail (ENTERPRISE):

  • All edits logged with who/when/what changed
  • Original values preserved
  • Full history accessible

Deleting Time Entries

Delete Process

Who can delete:

  • Owner, Manager: Any entry
  • Member: Only own entries
  • Viewer: Cannot delete

How to delete:

  1. Find entry in time log
  2. Click trash icon
  3. Confirmation dialog appears
  4. Click "Delete Entry"

What gets deleted:

  • Time entry record
  • Billable amount calculation
  • Entry from all reports

What's preserved (ENTERPRISE):

  • Audit log of deletion
  • Who deleted it
  • When it was deleted
Permanent Action

Deleting time entries is permanent. Consider editing instead of deleting to preserve history.


Bulk Manual Entry (PRO+)

PRO+ Feature

Bulk time entry creation requires PRO or ENTERPRISE tier.

CSV Import

Import time entries from CSV file:

Step 1: Prepare CSV

Download template or use this format:

date,start_time,end_time,project,task,description,billable
2026-01-20,09:00,11:30,Website Redesign,Design,Homepage mockup,true
2026-01-20,13:00,17:00,Website Redesign,Development,Implement header,true
2026-01-21,09:00,12:00,Internal,Meeting,Team standup,false
<div style={{fontSize: '14px', fontFamily: "monospace", whiteSpace: "pre", border: "1px solid var(--ifm-color-emphasis-300)", borderRadius: "8px", padding: "12px 16px", background: "var(--ifm-code-background)", margin: "12px 0", overflowX: "auto", lineHeight: "1.6"}}>

**Required columns:**
- `date` (YYYY-MM-DD)
- `start_time` (HH:MM)
- `end_time` (HH:MM)
- `project` (project name)

**Optional columns:**
- `task` (task name)
- `description` (text)
- `billable` (true/false)
- `rate` (number, PRO+)
- `tags` (comma-separated, ENTERPRISE)

**Step 2: Upload CSV**
1. Navigate to Timer → Manual Entry
2. Click **"Import CSV"** button
3. Select CSV file
4. Map columns (if needed)
5. Preview entries
6. Click **"Import"**

**Validation:**
- <img src="/img/icons/check-circle.svg" alt="" style={{marginBottom: '-4px'}} /> Valid dates and times
- <img src="/img/icons/check-circle.svg" alt="" style={{marginBottom: '-4px'}} /> Projects exist
- <img src="/img/icons/check-circle.svg" alt="" style={{marginBottom: '-4px'}} /> Tasks exist (if specified)
- Warnings for suspicious entries (e.g., 12+ hour days)
- <img src="/img/icons/cancel.svg" alt="" style={{marginBottom: '-4px'}} /> Errors prevent import

**Import Results:**
</div>
<img src="/img/icons/check-circle.svg" alt="" style={{marginBottom: '-4px'}} /> Successfully imported: 45 entries
Warnings: 3 entries
<img src="/img/icons/cancel.svg" alt="" style={{marginBottom: '-4px'}} /> Failed: 2 entries

View detailed log →

Quick Copy

Duplicate recent entries:

  1. Find entry in time log
  2. Click "Copy" icon
  3. Modify date/time
  4. Click "Save as New Entry"

Use cases:

  • Recurring daily tasks
  • Similar work patterns
  • Weekly meetings

Time Rounding

Apply rounding rules to manual entries.

Rounding Options

Workspace/Project Settings:

  • None - Exact time (default)
  • 5 minutes - Rounds to nearest 5 min
  • 10 minutes - Rounds to nearest 10 min
  • 15 minutes - Rounds to nearest 15 min
  • 30 minutes - Rounds to nearest 30 min

Rounding Methods:

  • Mathematical - Standard rounding (< 0.5 down, ≥ 0.5 up)
  • Always Up - Always rounds up
  • Always Down - Always rounds down

Examples (15-minute rounding, mathematical):

Entry: 09:00 - 11:08 (2h 8m)
Rounded: 2h 15m

Entry: 14:00 - 16:22 (2h 22m)
Rounded: 2h 15m

Entry: 09:00 - 11:23 (2h 23m)
Rounded: 2h 30m
<div style={{fontSize: '14px', fontFamily: "monospace", whiteSpace: "pre", border: "1px solid var(--ifm-color-emphasis-300)", borderRadius: "8px", padding: "12px 16px", background: "var(--ifm-code-background)", margin: "12px 0", overflowX: "auto", lineHeight: "1.6"}}>

**When rounding applies:**
- <img src="/img/icons/check-circle.svg" alt="" style={{marginBottom: '-4px'}} /> Manual entries (if setting enabled)
- <img src="/img/icons/check-circle.svg" alt="" style={{marginBottom: '-4px'}} /> Timer entries (if setting enabled)
- <img src="/img/icons/check-circle.svg" alt="" style={{marginBottom: '-4px'}} /> Bulk imports (if setting enabled)

---

## Validation Rules

### Entry Validation

**Automatic checks:**

**Time Validation:**
- <img src="/img/icons/cancel.svg" alt="" style={{marginBottom: '-4px'}} /> End time before start time
- <img src="/img/icons/cancel.svg" alt="" style={{marginBottom: '-4px'}} /> Duration > 24 hours
- Duration > 12 hours (warning)
- Overlapping entries (warning)
- Future dates — allowed by default (can be restricted per workspace in Settings)

**Project/Task Validation:**
- <img src="/img/icons/cancel.svg" alt="" style={{marginBottom: '-4px'}} /> Project doesn't exist
- <img src="/img/icons/cancel.svg" alt="" style={{marginBottom: '-4px'}} /> Project archived (ENTERPRISE)
- <img src="/img/icons/cancel.svg" alt="" style={{marginBottom: '-4px'}} /> Task required but not provided
- <img src="/img/icons/cancel.svg" alt="" style={{marginBottom: '-4px'}} /> Task doesn't belong to project

**Tier Validation:**
- <img src="/img/icons/cancel.svg" alt="" style={{marginBottom: '-4px'}} /> Entry limit reached (FREE: 100, PRO: 1000)
- <img src="/img/icons/cancel.svg" alt="" style={{marginBottom: '-4px'}} /> Date outside history access (FREE: 30 days)

**Billable Validation:**
- Billable entry without rate
- Non-billable entry on billable project

### Overlap Detection

**Overlapping entry warning:**
</div>
Warning: Overlapping time entry detected

Existing: 2026-01-25 09:00 - 11:00 (Website Redesign)
New: 2026-01-25 10:00 - 12:00 (Marketing Campaign)

Overlapping period: 10:00 - 11:00 (1 hour)

Do you want to continue?
[Cancel] [Save Anyway]

Overlap policy:

  • Allowed by default (warnings only)
  • Can be blocked (workspace setting, ENTERPRISE)
  • Audit logged (ENTERPRISE)

Best Practices

Do's

  • Be specific in descriptions - "Fixed login bug #123" not "Bug fix"
  • Enter time promptly - Don't wait weeks to backfill
  • Use consistent project/task - Easier reporting
  • Review before saving - Double-check dates and times
  • Tag important work - Use tags for filtering (ENTERPRISE)
  • Set correct billable status - Affects invoicing
  • Use task names - Better granularity for reports

Don'ts

  • Don't create overlapping entries - Causes confusion
  • Don't use vague descriptions - "Work", "Stuff", "Things"
  • Don't backdate extensively - Impacts accuracy
  • Don't forget billable status - Can't invoice non-billable
  • Don't duplicate entries - Check for existing first
  • Don't round manually - Use system rounding

Manual Entry Scenarios

Scenario 1: Forgot to Start Timer

Situation: Worked 2 hours, forgot to start timer.

Solution:

  1. Navigate to Manual Entry
  2. Fill in today's date
  3. Start: When you started (e.g., 09:00)
  4. End: When you finished (e.g., 11:00)
  5. Select project and task
  6. Add description
  7. Save

Scenario 2: Import from Spreadsheet

Situation: Tracked time in Excel for 3 months, want to import.

Solution:

  1. Export Excel to CSV
  2. Format columns: date, start_time, end_time, project, description
  3. Navigate to Timer → Manual Entry
  4. Click "Import CSV"
  5. Upload file
  6. Map columns
  7. Review preview
  8. Import (may need PRO+ tier)

Scenario 3: Correct Timer Mistake

Situation: Timer ran overnight by accident (16 hours logged).

Solution:

  1. Find incorrect entry in time log
  2. Click edit (pencil icon)
  3. Correct end time (e.g., 17:00 instead of 09:00 next day)
  4. Verify duration (should be ~8 hours)
  5. Save changes

Alternative: Delete and create new manual entry with correct times.


Scenario 4: Split Long Entry

Situation: 8-hour entry needs to be split between two projects.

Solution:

  1. Edit original entry: Change end time to midpoint (e.g., 09:00-13:00)
  2. Create new manual entry: Use remaining time (e.g., 13:00-17:00)
  3. Assign to second project
  4. Verify total duration matches original

Scenario 5: Import from Google Calendar

Situation: You have a Google Calendar meeting and want to log it as a time entry quickly.

Solution:

  1. Connect Google Calendar in Settings → Integrations → Google Calendar (one-time setup)
  2. Open the "Add Time Entry" dialog
  3. Click "Import from Calendar" at the top
  4. Select the meeting from today's or tomorrow's events
  5. Description, start time, and end time are pre-filled automatically
  6. Select the project/task and click "Create"

Troubleshooting

Cannot create manual entry

Problem: "Add Time Entry" button disabled or grayed out.

Causes:

  • Workspace limit reached (FREE: 100, PRO: 1000)
  • No permission (Viewer role)
  • No active projects

Solutions:

  1. Check tier limits: Upgrade if needed
  2. Check role: Need Member role or higher
  3. Create project first if none exist
  4. Delete old entries (FREE tier)

Entry not saving

Problem: Click "Save" but entry doesn't appear.

Causes:

  • Validation error (check error messages)
  • End time before start time
  • Required task missing
  • Network issue

Solutions:

  1. Read error message carefully
  2. Fix validation errors
  3. Check internet connection
  4. Try refreshing page
  5. Contact support if persists

Wrong timezone

Problem: Times appear in wrong timezone.

Cause: Workspace timezone vs browser timezone mismatch.

Solution: Times are stored in workspace timezone. Check workspace settings to verify correct timezone is set.

Duplicate entries

Problem: Accidentally created duplicate entry.

Solution:

  1. Find duplicate in time log
  2. Click trash icon to delete
  3. Confirm deletion
  4. Keep only one correct entry

Next Steps


Need Help?