How can we help?

Projects commands

The projects command lets you create, view, and update projects for a client.

Create a project

This command creates a project with at least one task. Use this when setting up billable work for a client from the terminal.

neetoinvoice projects create \
  --client-id <client-uuid> \
  --name "Website redesign" \
  --task "Development" \
  --user-email [email protected] \
  --billing-method hourly_project_rate \
  --hourly-rate 100 \
  --currency USD

Required flags:

  • --client-id - Client record ID (UUID)

  • --name - Project name

  • --task - Task name (repeatable; at least one required)

  • --user-email - Email of the acting organization user

Optional flags:

  • --billing-method - How time and fees are billed for the project. Accepted values:

    • hourly_project_rate - One hourly rate applied to the whole project

    • hourly_person_rate - Hourly rate set per team member on the project

    • hourly_task_rate - Hourly rate set per task on the project

    • fixed_price_project - Single flat fee for the entire project (use with --flat-amount)

  • --hourly-rate - Default hourly billing rate for the project (used when billing method is hourly_project_rate)

  • --flat-amount - Total fixed price for the project (used when billing method is fixed_price_project)

  • --currency - ISO currency code for project billing (e.g. USD, EUR)

  • --internal-notes - Internal notes for your team only; not shown on client-facing invoices

  • --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": {
    "notice_code": "thumbs_up",
    "project": {
      "name": "CLI Doc Test Project 1782147369",
      "identifier": "e7a306eabfdd761fc2d8",
      "billing_method": "hourly_project_rate",
      "hourly_rate": 100.0,
      "currency": "USD",
      "id": "cb97c012-9beb-41f8-ab93-f25f9f1db849"
    }
  }
}

Show a project

This command shows project details, tasks, and checklists. Use this when you need task IDs for logging time or assigning users.

neetoinvoice projects show e7a306eabfdd761fc2d8

Required argument:

  • <project-id> - Project identifier (short hex string) or record UUID. Refer to Getting the Project ID section for detailed instructions.

Optional flags:

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

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON output

Sample output (captured from sojanvarghese workspace, truncated):

{
  "data": {
    "project": {
      "identifier": "e7a306eabfdd761fc2d8",
      "name": "CLI Doc Test Project 1782147369",
      "hourly_rate": 100.0,
      "currency": "USD",
      "client": {
        "identifier": "59dad05d64c302e59a02",
        "name": "CLI Doc Test Client 1782147353"
      }
    },
    "tasks": [
      {
        "id": "03d76f53-1c06-4818-bb98-6487713cfa4c",
        "name": "Development"
      }
    ]
  }
}

Update a project

This command updates an existing project. Use this when you need to change project settings from a script.

neetoinvoice projects update e7a306eabfdd761fc2d8 \
  --user-email [email protected] \
  --internal-notes "Q2 engagement"

Required argument:

  • <project-id> - Project identifier (short hex string) or record UUID. Refer to Getting the Project ID section for detailed instructions.

Required flags:

  • --user-email - Email of the acting organization user

Optional flags:

  • --client-id - Client record ID (UUID)

  • --name - Project name

  • --task - Task name

  • --billing-method - How time and fees are billed for the project. Accepted values:

    • hourly_project_rate - One hourly rate applied to the whole project

    • hourly_person_rate - Hourly rate set per team member on the project

    • hourly_task_rate - Hourly rate set per task on the project

    • fixed_price_project - Single flat fee for the entire project (use with --flat-amount)

  • --hourly-rate - Default hourly billing rate for the project (used when billing method is hourly_project_rate)

  • --flat-amount - Total fixed price for the project (used when billing method is fixed_price_project)

  • --currency - ISO currency code for project billing (e.g. USD, EUR)

  • --internal-notes - Internal notes for your team only; not shown on client-facing invoices

  • --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": {
    "notice_code": "thumbs_up",
    "project": {
      "identifier": "e7a306eabfdd761fc2d8",
      "internal_notes": "CLI doc notes"
    }
  }
}