# NeetoInvoice MCP

> NeetoInvoice connects billing and project management to your AI agent. Use it to create clients, set up projects, track time entries, manage team users, and generate professional invoices using natural conversation.

## Overview
- **Category:** project-management
- **Price:** Free
- **Tags:** invoicing, billing, time-tracking, client-management, project-billing

## Description

**NeetoInvoice** connects your entire billing cycle—from initial client setup to the final invoice—right into your AI agent. You'll manage every detail through natural conversation, making sure your financial records are clean and accurate without ever touching a complicated dashboard.

### Client and Contact Management

The system handles all your core client profiles. When you need a new account, you'll use `create_client` to establish it, specifying the name, currency, and initial status for that brand-new entity; if the details change later, you can modify them using `update_client`. To check on any client, `get_client` pulls up every single billing detail associated with their ID. If a client record is stale or wrong, you've got `update_client` to fix it, and you can even wipe out an entire profile if needed. You also manage the people attached to those accounts; you'll use `create_recipient` to add a specific contact person linked to the existing client, modify that info with `update_recipient`, or sever the connection entirely using `delete_recipient`.

### Project and Team Structure
The billing backbone starts when you set up projects. You'll initiate this process by calling `create_project`, which handles setting up the project structure itself. For every active job, your AI agent can fetch all existing details with `get_project` or modify settings like naming conventions or billing methods using `update_project`. When a team gets assigned to an account, you'll use `add_project_user` to assign a specific staff member to that project; the tool also lets you list everyone currently on board via `list_project_users`, and if someone leaves mid-job, you can revoke their access with `remove_project_user`. You can change roles or permissions for any user assigned to a job using `update_project_user`.

### Team Roster Management

You don't just manage project members; you control the whole crew. To get an exhaustive list of everyone who works here, you'll use `list_team_members`. If you need to bring on new staff, `add_team_members` adds them across the entire workspace roster. You can keep their profiles current using `update_team_member`, and if a team member leaves completely, you have `remove_team_members` to delete that person from the system entirely.

### Time Logging and Tracking

Logging hours is straightforward. Use `create_time_entry` anytime you work on something; this logs the specific hours spent against an assigned project. To see what's been done, you can check past work by calling `list_time_entries`, which lets you filter those records specifically by date or project name. If a job changes scope and needs new billing details attached to it, you simply update the existing project using `update_project`.

### Generating Paychecks (The Invoice)

The final step is getting paid. When it's time to bill, you just call `generate_invoice`. This function pulls together all the necessary data—the current project settings and every single logged time entry—and automatically drafts a professional invoice document for the specified client. You can also modify any existing contact person under an account using `update_recipient` or remove them with `delete_recipient`; if you need to change the main billing details of a whole client, you use `update_client`. This gives your agent total control over every facet of billing and project management.

## Tools

### add_project_user
Assigns a specified team member to an existing project.

### add_team_members
Adds new staff members across the entire workspace.

### create_client
Establishes a brand new client record, requiring name, currency, and status inputs.

### create_project
Sets up a project under the NeetoInvoice system.

### create_recipient
Creates a specific contact person associated with an existing client account.

### create_time_entry
Logs a new time entry, detailing the hours worked for a project.

### delete_recipient
Removes an existing contact person from a client's record.

### generate_invoice
Creates and finalizes a new invoice document for the specified client.

### get_client
Retrieves all current details about a specific client using their ID.

### get_project
Fetches detailed information about an existing project using its ID.

### list_project_users
Returns a list of all users currently assigned to a particular project.

### list_team_members
Provides an exhaustive list of every team member in the workspace.

### list_time_entries
Lists time entries, allowing you to filter by date or project.

### remove_project_user
Removes a team member's access from an existing project.

### remove_team_members
Deletes a staff member entirely from the workspace roster.

### update_client
Modifies details for an already existing client record.

### update_project
Changes the settings or name of a project that is already set up.

### update_project_user
Modifies the role or permissions of a user on a given project.

### update_recipient
Makes changes to an existing contact person's details under a client.

### update_team_member
Updates the profile information for any staff member in the workspace.

## Prompt Examples

**Prompt:** 
```
Create a new client named 'Acme Corp' with USD currency and active status.
```

**Response:** 
```
I've created the client 'Acme Corp' (ID: client_123) with USD currency. They are currently set as active.
```

**Prompt:** 
```
List all users assigned to project 98765.
```

**Response:** 
```
Fetching users for project 98765... I found 3 users: John Doe (Manager), Jane Smith (Regular), and Bob Wilson (Regular).
```

**Prompt:** 
```
Generate an invoice for project ID 555.
```

**Response:** 
```
Processing... I have successfully generated the invoice for project 555. You can now review it in your NeetoInvoice dashboard.
```

## Capabilities

### Manage Client Records
Create, retrieve, update, and delete client profiles and their associated contacts.

### Build Project Structures
Set up new projects with billing methods (hourly/fixed) and assign team members to those specific projects.

### Log And Retrieve Time Data
Create time entries for a project or list existing time logs using filters to check past work.

### Handle Team & User Roles
List all team members and manage user assignments, adding or removing staff from specific projects.

### Generate Billing Documents
Take existing project data and logged time to automatically generate a final invoice for a client.

## Use Cases

### The Weekly Billing Crunch
It's Friday, and the agency needs invoices sent out. Instead of logging into three different systems—the time tracker, the CRM, and the invoicing tool—the PM just asks their agent: 'Generate an invoice for Project Alpha.' The agent runs `get_project`, fetches all recent entries via `list_time_entries`, and executes `generate_invoice` in one step. Done.

### Onboarding a New Client
A new client, Acme Corp, just signed the contract. The user asks the agent to set them up. The agent runs `create_client` for the company, then uses `create_recipient` to add the main billing contact and `create_project` to set the initial project scope.

### Correcting User Access
Jane left the team and was still listed on Project Beta. Instead of navigating through permissions settings, the user tells the agent: 'Remove Jane from Project Beta.' The agent runs `remove_project_user` immediately, updating the access control cleanly.

### Checking Client Status
A finance analyst needs to know if Acme Corp's billing address changed. Instead of manually checking multiple records, they prompt their agent: 'What is the current client status and recipient details for Acme Corp?' The agent runs `get_client` and provides the precise data.

## Benefits

- Stop juggling tabs. Use `list_time_entries` to pull all work logs directly into your agent's memory, bypassing the need to open separate tracking dashboards.
- Never lose track of who's working on what. With tools like `add_project_user` and `update_project_user`, you manage roles and assignments instantly via chat, keeping project data clean.
- Cut invoice time from hours to seconds. Running `generate_invoice` takes the raw project metrics and logged time entries and spits out a finished document draft immediately.
- Client setup is streamlined. Use `create_client` and `create_recipient` together; you establish the account, then nail down the contacts, all in one conversation flow.
- Audit roles easily. You can list every user assigned to any project using `list_project_users`, which helps quickly answer 'Who has access to this data?' without clicking through settings menus.

## How It Works

The bottom line is that you talk to your AI agent, and it handles all the database calls for billing operations.

1. Subscribe to the NeetoInvoice server and enter your API Key and Subdomain credentials.
2. Instruct your AI agent with a prompt (e.g., 'Create a new project for Acme Corp'). The agent translates this into necessary function calls like `create_project`.
3. The system executes the functions, updates the client's record, or generates the invoice, and reports the result back to your chat.

## Frequently Asked Questions

**How do I create a new client using NeetoInvoice MCP Server?**
You call the `create_client` tool. You must provide three inputs: the client's name, their currency (e.g., USD), and their status (active/inactive). The agent handles saving this record.

**Can I see who is assigned to a project with list_project_users?**
Yes, running `list_project_users` returns all user IDs and names linked to that specific project ID. This helps you audit permissions quickly.

**What tools do I use for time tracking in NeetoInvoice MCP Server?**
You primarily use `create_time_entry` to log new hours, and `list_time_entries` if you need to view or filter past entries. This keeps your billing records clean.

**Is there a way to add staff members using NeetoInvoice MCP Server?**
You can use `add_team_members` to add people across the whole workspace, and then use `add_project_user` to assign them only where they are needed.

**How do I generate a new invoice using the `generate_invoice` tool?**
You call `generate_invoice` by passing the required client ID. This function uses all associated project data and time entries to build the bill automatically, giving you a professional document ready for review.

**What information do I need when calling `create_project`?**
When running `create_project`, you must specify the name of the project and determine its billing method—either hourly or fixed. You also define which team members are assigned to it.

**How can I use `list_time_entries` to check specific billing periods?**
`list_time_entries` accepts optional filters, letting you narrow down the results by date range or project ID. This is essential for quickly verifying work logs before generating an invoice.

**If a client's details change, how do I update them using `update_client`?**
You use `update_client` and provide the existing client ID along with the new data points. This allows you to adjust details like currency or status without creating a duplicate record.

**How do I log hours for a specific project?**
You can use the `create_time_entry` tool. Just provide the project ID and the duration of work to record it in NeetoInvoice immediately.

**Can I add a new team member to a project via AI?**
Yes! Use the `add_project_user` tool by specifying the Project ID, User ID, and their role (e.g., 'project_manager' or 'regular_user').

**How can I check the billing details of a project?**
Use the `get_project` tool with the Project ID. It will return the billing method, tasks, and other metadata associated with that project.