How can we help?

Getting started with NeetoInvoice CLI

Imagine closing out the week and getting billing answers without jumping between pages: your clients, project time entries, invoices, and who is assigned to each project, all from one place.

With NeetoInvoice CLI, you can do that from your terminal. You can create clients and projects, log time entries, generate invoices, manage client recipients and project users, and run health checks. When you repeat the same operational steps often, this command-based flow is easier to reuse.

What is NeetoInvoice CLI?

NeetoInvoice CLI is the command-line interface for managing clients, projects, time entries, invoices, recipients, and project users in your NeetoInvoice workspace.

Authentication happens through a browser login flow. After login, the CLI stores session credentials locally and uses them for subsequent commands.

Why this is useful

Think of NeetoInvoice CLI as handling repeatable workspace operations from one command-driven control panel instead of switching across multiple screens.

A few examples of what becomes possible:

  • You want to create a client and project from a script before logging time for the week.

  • You need to list unbilled time entries for a project so you can generate an invoice from the terminal.

  • You want to add recipients to a client or manage project users with repeatable commands.

  • You want output in JSON or TOON format for scripts and AI workflows.

  • You want to run the same checks repeatedly as part of operations without redoing manual navigation.

You do not need to be deeply technical to benefit from this. If you already use simple terminal commands, you will be able to get started with NeetoInvoice CLI much more easily, since the commands follow the same patterns you use every day.

What you need to get started

  1. Access to one or more NeetoInvoice workspaces.

  2. Permission to manage clients, projects, time entries, and invoices in those workspaces.

Install NeetoInvoice CLI

macOS / Linux

brew install neetozone/tap/neetoinvoice

Shell script:

curl -fsSL https://neetoinvoice.com/cli/install.sh | sh

Windows

irm https://neetoinvoice.com/cli/install.ps1 | iex

Command Prompt (CMD):

curl -fsSL https://neetoinvoice.com/cli/install.cmd -o install.cmd && install.cmd

Verify installation

To verify that you have properly installed NeetoInvoice CLI, execute the following command:

neetoinvoice --help

You should see output similar to:

A command-line interface for NeetoInvoice.

Usage:
  neetoinvoice [command]

Available Commands:
  clients       Manage clients
  commands      List all available commands as JSON
  completion    Generate the autocompletion script for the specified shell
  doctor        Check CLI health and connectivity
  help          Help about any command
  invoices      Manage invoices
  login         Log in to NeetoInvoice via browser
  logout        Log out and clear saved credentials
  project-users Manage project users
  projects      Manage projects
  recipients    Manage client recipients
  setup         Set up NeetoInvoice for AI coding assistants
  time-entries  Manage time entries
  version       Print the CLI version
  whoami        Show current authenticated user(s)

Flags:
  -h, --help               help for neetoinvoice
      --json               Output as JSON
      --quiet              Output raw data only (no envelope)
      --subdomain string   Override saved subdomain
      --toon               Output in TOON format (token-optimized for AI agents)

Use "neetoinvoice [command] --help" for more information about a command.

Authenticate your workspace

To get started with NeetoInvoice CLI, you first need to authenticate yourself and your workspace. NeetoInvoice CLI authenticates with a browser-based login flow and stores credentials locally.

To log into NeetoInvoice CLI, execute the following command:

neetoinvoice login

This prompts you to enter the subdomain for your workspace. If your workspace is acme.neetoinvoice.com, then enter acme in the prompt.

The command opens a browser window to complete login. After authentication, you should see a success message similar to:

Waiting for authentication.. done!
Logged in as [email protected] on acme.neetoinvoice.com

Global flags

Every command accepts these persistent flags. All of them are optional:

  • --subdomain <name>: choose which logged-in workspace to target.
    Required when multiple workspaces are logged in.

  • --json: force JSON envelope output.

  • --quiet: output raw payload only (or success for some message-style actions).

  • --toon: output TOON format (token-optimized output for AI workflows).

Output formats

By default, commands use pretty terminal output.

You can switch output format explicitly using flags:

  • Pretty output (default): table or key-value output with breadcrumbs

  • JSON envelope (--json): includes data and optional metadata

  • Quiet mode (--quiet): raw data payload only.

  • TOON mode (--toon): compact token-optimized format.

For paginated list responses, pagination metadata is included inside data:

  • page

  • page_size

  • total_pages

  • total_count

Commands quick reference

Authentication commands

Command

Description

login

Log in to NeetoInvoice via browser

logout

Log out and clear saved credentials

whoami

Show current authenticated user(s)

Workspace commands

Command

Description

clients

Manage clients. Detailed reference is available here.

projects

Manage projects. Detailed reference is available here.

recipients

Manage client recipients. Detailed reference is available here.

project-users

Manage project users. Detailed reference is available here.

time-entries

Manage time entries. Detailed reference is available here.

invoices

Manage invoices. Detailed reference is available here.

Utility commands

Command

Description

doctor

Check CLI health and connectivity

version

Print the CLI version

commands

List all available commands as JSON

setup

Set up NeetoInvoice for AI coding assistants

AI assistant setup commands

If you use an AI coding assistant, these setup commands add NeetoInvoice CLI guidance to that assistant environment.

Running these commands gives your agent context on how to use NeetoInvoice CLI commands, and which output modes to use for each command to keep tool usage token-efficient.

Run the command for the tool you use:

neetoinvoice setup claude    # Register plugin with Claude Code
neetoinvoice setup cursor    # Creates rules for Cursor
neetoinvoice setup windsurf  # Creates rules for Windsurf
neetoinvoice setup copilot   # Adds instructions for GitHub Copilot
neetoinvoice setup gemini    # Adds instructions for Gemini CLI
neetoinvoice setup codex     # Adds instructions for Codex

You only need to run one (or the ones you actively use). This saves you from manually copying integration instructions into each assistant.

Dealing with multiple workspaces

If you manage more than one NeetoInvoice workspace, pass --subdomain to target the workspace explicitly.

You can log into multiple subdomains. If you have already logged into one subdomain, you can log into another by running:

neetoinvoice login --subdomain globex

When more than one workspace is configured in your CLI, passing --subdomain in commands is mandatory. This ensures commands run against the correct workspace. If you skip it, the CLI returns an error and asks you to specify a subdomain.

Example:

neetoinvoice clients show <cliend-id> --subdomain acme
neetoinvoice clients show <cliend-id> --subdomain globex

Troubleshooting with doctor

If something does not work as expected, run:

neetoinvoice doctor

This checks:

  • Whether you are authenticated

  • Whether the workspace API endpoint is reachable

  • Which CLI version is running

Additional resources