How can we help?

Time entries commands

The time-entries command lets you list unbilled time entries and log new time for a project.

List unbilled time entries

This command lists unbilled time entries for a project. Use this when preparing to generate an invoice or reviewing billable hours.

neetoinvoice time-entries list \
  --client 59dad05d64c302e59a02 \
  --project e7a306eabfdd761fc2d8 \
  --page 1 --page-size 1

Required flags:

  • --client - Client identifier

  • --project - Project identifier

Optional flags:

  • --start-date, --end-date - Filter by recorded date (YYYY-MM-DD)

  • --page - Page number for pagination (1-indexed)

  • --page-size - Number of entries per page (maximum 100)

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON output

Sample output:

{
  "data": {
    "time_entries": [
      {
        "id": "42ba78eb-6a16-416f-aa87-bf12d5b192bc",
        "hours": 1.5,
        "recorded_on": "2026-06-22",
        "notes": "CLI doc test",
        "status": "submitted",
        "task_name": "Development",
        "user_email": "[email protected]"
      }
    ],
    "total_count": 1,
    "page": 1,
    "page_size": 1,
    "total_pages": 1
  }
}

Log a time entry

This command logs time against a project task. Use this when recording billable hours from the terminal.

neetoinvoice time-entries create \
  --client 59dad05d64c302e59a02 \
  --project e7a306eabfdd761fc2d8 \
  --task-id 03d76f53-1c06-4818-bb98-6487713cfa4c \
  --user-email [email protected] \
  --recorded-on 2026-06-22 \
  --hours 1.5 \
  --notes "API integration"

Required flags:

  • --client - Client identifier (short hex string)

  • --project - Project identifier (short hex string)

  • --task-id - Task UUID on the project the time was logged against

  • --user-email - Email of the organization user logging the time

  • --recorded-on - Date the time was recorded (YYYY-MM-DD)

  • --hours - Number of hours spent (decimal allowed, e.g. 2.5)

Optional flags:

  • --notes - Description for the time entry

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON output

Sample output:

{
  "data": {
    "id": "42ba78eb-6a16-416f-aa87-bf12d5b192bc",
    "hours": 1.5,
    "recorded_on": "2026-06-22",
    "notes": "CLI doc test",
    "status": "submitted",
    "notice_code": "thumbs_up"
  }
}