How to integrate Zoho invoice MCP with Claude Code

Manage your Zoho invoice directly from Claude Code with zero worries about OAuth hassles, API-breaking issues, or reliability and security concerns. You can do this in two different ways: Via Composio Connect - Direct and easiest approach Via Composio SDK - Programmatic approach with more control

Zoho invoice logoZoho invoice
Oauth2

Zoho Invoice is an online invoicing and billing platform for freelancers and small businesses. It streamlines professional invoice creation, recurring payments, and expense tracking.

137 Tools

Introduction

Manage your Zoho invoice directly from Claude Code with zero worries about OAuth hassles, API-breaking issues, or reliability and security concerns.

You can do this in two different ways:

  1. Via Composio Connect - Direct and easiest approach
  2. Via Composio SDK - Programmatic approach with more control

Also integrate Zoho invoice with

Why use Composio?

  • Only one MCP URL to connect multiple apps with Claude Code with zero auth hassles.
  • Programmatic tool calling allows LLMs to write its code in a remote workbench to handle complex tool chaining. Reduces to-and-fro with LLMs for frequent tool calling.
  • Handling Large tool responses out of LLM context to minimize context rot.
  • Dynamic just-in-time access to 20,000 tools across 1000+ other Apps for cross-app workflows. It loads the tools you need, so LLMs aren't overwhelmed by tools you don't need.

Connecting Zoho invoice to Claude Code using Composio

1. Add the Composio MCP to Claude

Terminal

2. Start Claude Code

bash
claude

3. Open your MCP list

bash
/mcp

4. Select Composio and click on Authenticate

Select Composio and click Authenticate

5. This will redirect you to the Composio OAuth page. Complete the flow by authorizing Composio and you're all set.

Composio OAuth authorization page
Composio authorization complete
Ask Claude to connect to your account and authenticate via the link

What is the Zoho invoice MCP server, and what's possible with it?

The Zoho invoice MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Zoho Invoice account. It provides structured and secure access to your invoicing, billing, and expense data, so your agent can perform actions like listing invoices, fetching payments, retrieving contacts, and managing expenses on your behalf.

  • Comprehensive invoice management: Let your agent list and review all invoices, making it easy to track billing history, filter by status, or check for outstanding payments.
  • Automated expense tracking: Have your agent retrieve and organize expense records, helping you monitor spending and simplify bookkeeping.
  • Contact catalog access: Quickly pull a list of clients, vendors, or customers from your Zoho Invoice account to streamline outreach and relationship management.
  • Real-time payment tracking: Direct your agent to list all payments, filter by customer or date range, and ensure nothing falls through the cracks.
  • Itemized inventory insights: Fetch detailed item catalogs or retrieve specific item details to keep your invoicing accurate and up to date.

Connecting Zoho invoice via Composio SDK

Composio SDK is the underlying tech that powers Rube. It's a universal gateway that does everything Rube does but with much more programmatic control. You can programmatically generate an MCP URL with the app you need (here Zoho invoice) for even more tool search precision. It's secure and reliable.

How the Composio SDK works

The Composio SDK follows a three-phase workflow:

  1. Discovery: Searches for tools matching your task and returns relevant toolkits with their details.
  2. Authentication: Checks for active connections. If missing, creates an auth config and returns a connection URL via Auth Link.
  3. Execution: Executes the action using the authenticated connection.

Step-by-step Guide

Step by step10 STEPS
1

Prerequisites

Before starting, make sure you have:
  • Claude Pro, Max, or API billing enabled Anthropic account
  • Composio API Key
  • A Zoho invoice account
  • Basic knowledge of Python or TypeScript
2

Install Claude Code

bash
# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bash

# Windows PowerShell
irm https://claude.ai/install.ps1 | iex

# Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

To install Claude Code, use one of the following methods based on your operating system:

3

Set up Claude Code

bash
cd your-project-folder
claude

Open a terminal, go to your project folder, and start Claude Code:

  • Claude Code will open in your terminal
  • Follow the prompts to sign in with your Anthropic account
  • Complete the authentication flow
  • Once authenticated, you can start using Claude Code
Claude Code initial setup showing sign-in prompt
Claude Code terminal after successful login
4

Set up environment variables

bash
COMPOSIO_API_KEY=your_composio_api_key_here
USER_ID=your_user_id_here

Create a .env file in your project root with the following variables:

  • COMPOSIO_API_KEY authenticates with Composio (get it from Composio dashboard)
  • USER_ID identifies the user for session management (use any unique identifier)
5

Install Composio library

npm install @composio/core dotenv

Install the Composio TypeScript library to create MCP sessions.

  • @composio/core provides the core Composio functionality
  • dotenv loads environment variables from your .env file
6

Generate Composio MCP URL

import 'dotenv/config';
import { Composio } from '@composio/core';

const { COMPOSIO_API_KEY, USER_ID } = process.env;

if (!COMPOSIO_API_KEY || !USER_ID) {
  throw new Error('COMPOSIO_API_KEY and USER_ID required in .env');
}

const composioClient = new Composio({ apiKey: COMPOSIO_API_KEY });

const composioSession = await composioClient.create(USER_ID, {
  toolkits: ['zoho_invoice'],
});

const composioMcpUrl = composioSession?.mcp.url;

console.log(`MCP URL: ${composioMcpUrl}`);
console.log(`\nUse this command to add to Claude Code:`);
console.log(`claude mcp add --transport http zoho_invoice-composio "${composioMcpUrl}" --headers "X-API-Key:${COMPOSIO_API_KEY}"`);

Create a script to generate a Composio MCP URL for Zoho invoice. This URL will be used to connect Claude Code to Zoho invoice.

What's happening

  • We import the Composio client and load environment variables
  • Create a Composio instance with your API key
  • Call create() to create a Tool Router session for Zoho invoice
  • The returned mcp.url is the MCP server URL that Claude Code will use
  • The script prints this URL so you can copy it
7

Run the script and copy the MCP URL

node --loader ts-node/esm generate_mcp_url.ts
# or if using tsx
tsx generate_mcp_url.ts

Run your TypeScript script to generate the MCP URL.

  • The script connects to Composio and creates a Tool Router session
  • It prints the MCP URL and the exact command you need to run
  • Copy the entire claude mcp add command from the output
8

Add Zoho invoice MCP to Claude Code

bash
claude mcp add --transport http zoho_invoice-composio "YOUR_MCP_URL_HERE" --headers "X-API-Key:YOUR_COMPOSIO_API_KEY"

# Then restart Claude Code
exit
claude

In your terminal, add the MCP server using the command from the previous step. The command format is:

  • claude mcp add registers a new MCP server with Claude Code
  • --transport http specifies that this is an HTTP-based MCP server
  • The server name (zoho_invoice-composio) is how you'll reference it
  • The URL points to your Composio Tool Router session
  • --headers includes your Composio API key for authentication

After running the command, close the current Claude Code session and start a new one for the changes to take effect.

9

Verify the installation

bash
claude mcp list

Check that your Zoho invoice MCP server is properly configured.

  • This command lists all MCP servers registered with Claude Code
  • You should see your zoho_invoice-composio entry in the list
  • This confirms that Claude Code can now access Zoho invoice tools

If everything is wired up, you should see your zoho_invoice-composio entry listed:

Claude Code MCP list showing the toolkit MCP server
10

Authenticate Zoho invoice

The first time you try to use Zoho invoice tools, you'll be prompted to authenticate.

  • Claude Code will detect that you need to authenticate with Zoho invoice
  • It will show you an authentication link
  • Open the link in your browser (or copy/paste it)
  • Complete the Zoho invoice authorization flow
  • Return to the terminal and start using Zoho invoice through Claude Code

Once authenticated, you can ask Claude Code to perform Zoho invoice operations in natural language. For example:

  • "List all unpaid invoices from last month"
  • "Show expenses categorized by project for May"
  • "Find payments received from a specific client"

Complete Code

Here's the complete code to get you started with Zoho invoice and Claude Code:

import 'dotenv/config';
import { Composio } from '@composio/core';

const { COMPOSIO_API_KEY, USER_ID } = process.env;

if (!COMPOSIO_API_KEY || !USER_ID) {
  throw new Error('COMPOSIO_API_KEY and USER_ID required in .env');
}

const composioClient = new Composio({ apiKey: COMPOSIO_API_KEY });

const composioSession = await composioClient.create(USER_ID, {
  toolkits: ['zoho_invoice'],
});

const composioMcpUrl = composioSession?.mcp.url;

console.log(`MCP URL: ${composioMcpUrl}`);
console.log(`\nUse this command to add to Claude Code:`);
console.log(`claude mcp add --transport http zoho_invoice-composio "${composioMcpUrl}" --headers "X-API-Key:${COMPOSIO_API_KEY}"`);

Conclusion

You've successfully integrated Zoho invoice with Claude Code using Composio's MCP server. Now you can interact with Zoho invoice directly from your terminal using natural language commands.

Key features of this setup:

  • Terminal-native experience without switching contexts
  • Natural language commands for Zoho invoice operations
  • Secure authentication through Composio's managed MCP
  • Tool Router for dynamic tool discovery and execution

Next steps:

  • Try asking Claude Code to perform various Zoho invoice operations
  • Add more toolkits to your Tool Router session for multi-app workflows
  • Integrate this setup into your development workflow for increased productivity

You can extend this by adding more toolkits, implementing custom workflows, or building automation scripts that leverage Claude Code's capabilities.

TOOLS

Supported Tools

Every Zoho invoice action and event your agent gets out of the box.

Add Credit Note to Invoices

Tool to apply a credit note to one or more invoices.

Add Invoice Comment

Tool to add a comment to an invoice.

Apply Credits to Invoice

Tool to apply credit notes to an invoice in Zoho Invoice.

Cancel Write Off Invoice

Tool to cancel a write-off on an invoice.

Clone Zoho Invoice Project

Tool to clone an existing project.

Create Additional Address

Tool to add an additional address to a contact.

Create Contact

Tool to create a contact in Zoho Invoice.

Create Contact Person

Tool to create a contact person for an existing contact.

Create Credit Note

Tool to create a credit note to refund or give credit to a customer.

Create Credit Note Comment

Tool to add a comment to a credit note.

Create Currency

Tool to create a new currency in Zoho Invoice.

Create Customer Payment

Tool to create a customer payment in Zoho Invoice.

Create Employee

Tool to create an employee in Zoho Invoice.

Create Estimate

Tool to create a new estimate (quote) for a customer.

Create Estimate Comment

Tool to add a comment to an estimate.

Create Exchange Rate

Tool to create an exchange rate for a specified currency.

Create Expense Category

Tool to create a new expense category in Zoho Invoice.

Create Invoice

Tool to create a new invoice for a customer in Zoho Invoice.

Create Item

Tool to create a new item in Zoho Invoice.

Create Project Comment

Tool to post a comment to a project.

Create Recurring Invoice

Tool to create a recurring invoice profile that automatically generates invoices at specified intervals.

Create Refund Credit Note Refunds

Tool to create a refund for a credit note.

Create Task

Tool to create a new task in a Zoho Invoice project.

Create Tax

Tool to create a new tax in Zoho Invoice.

Create Tax Group

Tool to create a new tax group in Zoho Invoice.

Create Time Entry

Tool to log time entries for projects in Zoho Invoice.

Create Zoho Invoice User

Tool to create a new user in Zoho Invoice.

Delete Additional Address

Tool to delete an additional address from a contact.

Delete Contact

Tool to delete a contact from Zoho Invoice.

Delete Contact Person

Tool to delete a contact person from Zoho Invoice.

Delete Credit Notes Applied to Invoice

Tool to delete invoices credited from a credit note.

Delete Currency

Tool to delete a currency from Zoho Invoice settings.

Delete Customer Payment

Tool to delete an existing payment from Zoho Invoice.

Delete Employee

Tool to delete an employee from Zoho Invoice.

Delete Estimate Comment

Tool to delete a comment from an estimate.

Delete Estimates

Tool to delete one or more estimates (quotes).

Delete Expense

Tool to delete an expense from Zoho Invoice.

Delete Expense Category

Tool to delete an expense category from Zoho Invoice.

Delete Invoice

Tool to delete an existing invoice from Zoho Invoice.

Delete Invoice Attachment

Tool to delete an attachment from an invoice.

Delete Invoice Comment

Tool to delete a comment from an invoice.

Delete Invoice Expense Receipt

Tool to delete the receipt attached to an expense in Zoho Invoice.

Delete Item

Tool to delete an existing item from Zoho Invoice.

Delete Project

Tool to delete a project from Zoho Invoice.

Delete Project Comment

Tool to delete a comment from a project.

Delete Tax

Tool to delete a simple or compound tax from Zoho Invoice settings.

Delete Task

Tool to delete a task from a Zoho Invoice project.

Delete Time Entry

Tool to delete a time entry from Zoho Invoice.

Delete User

Tool to delete a user from Zoho Invoice.

Disable Contact Payment Reminders

Tool to disable payment reminders for a contact.

Disable Invoice Payment Reminder

Tool to disable payment reminders for an invoice.

Email Contact Statement

Tool to email a statement to a contact in Zoho Invoice.

Email Estimate

Tool to email an estimate to a customer.

Email Invoice

Tool to email an invoice to customers.

Email Multiple Estimates

Tool to send estimates via email to customers in bulk.

Enable Invoice Payment Reminder

Tool to enable payment reminders for an invoice.

Enable Payment Reminders

Tool to enable payment reminders for a contact.

Enable Portal Access

Tool to enable portal access for contact persons in Zoho Invoice.

Bulk Export Invoices

Tool to bulk export multiple invoices as a single PDF file.

Get All Tasks

Tool to list all tasks in a Zoho Invoice project.

Get Client Review

Tool to retrieve details of a particular client review by comment ID.

Get Contact

Tool to retrieve a specific contact by ID.

Get Contact Addresses

Tool to retrieve all addresses for a contact.

Get Contact Person

Tool to retrieve details of a specific contact person.

Get Credit Note

Tool to retrieve the details of a specific credit note by creditnote_id.

Get Credit Note Email History

Tool to retrieve email history for a credit note.

Get Credit Note Refund

Tool to retrieve details of a specific credit note refund.

Get Expense

Tool to retrieve a specific expense by ID.

Get Invoice

Tool to retrieve the details of a specific invoice by invoice_id.

Get Invoice Attachment

Tool to get invoice attachment details.

Get Invoice Email Content

Tool to retrieve the email content for a specific invoice.

Get Zoho Invoice Item

Tool to retrieve the details of a specific item by item_id.

Get Payment Reminder Mail Content

Tool to retrieve payment reminder mail content for a specific invoice.

Get Price List

Tool to retrieve the details of a specific price list by pricebook_id.

Get Project

Tool to retrieve details of a specific project by project ID.

Get Project User

Tool to retrieve a specific user from a project.

Get Recurring Invoice

Tool to retrieve the details of a specific recurring invoice by recurring_invoice_id.

Get Statement Mail Content

Tool to retrieve statement mail content for a specific contact.

Get Task

Tool to retrieve a specific task from a Zoho Invoice project.

Get Tax

Tool to retrieve details of a specific tax by tax_id.

Get Tax Group

Tool to retrieve a specific tax group by ID.

Get Time Entry

Tool to retrieve a specific time entry from Zoho Invoice.

Inactivate Project

Tool to deactivate a project in Zoho Invoice.

List Child Expenses Created

Tool to list child expenses created from a recurring expense.

List Client Reviews

Tool to retrieve all client reviews for contacts.

List Contact Comments

Tool to list all comments on a contact.

List Contact Refunds

Tool to list refunds associated with a contact.

List Contacts

Tool to list contacts.

List Credit Notes

Tool to list credit notes.

List Currencies

Tool to list all currencies configured for the organization.

List Customer Payment Refunds

Tool to list refunds of a customer payment.

List Employees

Tool to list all employees in the organization.

List Estimates

Tool to list all estimates.

List Expense Categories

Tool to list all expense categories with optional filtering, sorting, and pagination.

List Expense Comments

Tool to list expense history and comments.

List Expenses

List all expenses with optional filtering, sorting, and pagination.

List Invoice Comments

Tool to list all comments and history for an invoice.

List Invoice Payments

Tool to list payments for a specific invoice.

List Invoices

Tool to list invoices.

List Invoices Credited

Tool to list invoices to which a specific credit note has been applied.

List Items

Tool to list all items.

List Organizations

Tool to list all organizations.

List Payments

Tool to list payments.

List Price Lists

Tool to list all price lists.

List Project Comments

Tool to list all comments for a project.

List Project Invoices

Tool to list all invoices for a specific project.

List Projects

Tool to list all projects.

List Project Users

Tool to list all users assigned to a specific project.

List Recurring Invoices

Tool to list recurring invoices.

List Retainer Invoices

Tool to list retainer invoices.

List Retainer Invoice Templates

Tool to list retainer invoice templates.

List Users

Tool to list users in a Zoho Invoice organization.

Mark Contact as Active

Tool to mark an inactive contact as active.

Mark Contact as Inactive

Tool to mark a contact as inactive in Zoho Invoice.

Mark Contact Person as Primary

Tool to mark a contact person as primary in Zoho Invoice.

Mark Estimate as Declined

Tool to mark an estimate as declined.

Mark Expense Category as Active

Tool to mark an inactive expense category as active.

Mark Invoice as Sent

Tool to mark an invoice as sent.

Mark Invoice as Void

Tool to mark an invoice as void.

Mark Item as Inactive

Tool to mark an active item as inactive.

Mark Retainer Invoice as Sent

Tool to mark a retainer invoice as sent.

Bulk Print Estimates

Tool to bulk print multiple estimates as PDF.

Bulk Print Invoices

Tool to bulk print invoices as PDF.

Refund Customer Payment

Tool to refund an excess customer payment.

Resume Recurring Invoice

Tool to resume a recurring invoice in Zoho Invoice.

Send Bulk Invoice Reminder

Tool to send payment reminders for multiple invoices in bulk.

Send Contact Email

Tool to send an email to a contact in Zoho Invoice.

Start Timer

Tool to start a timer on an existing time entry in Zoho Invoice.

Stop Recurring Invoice

Tool to stop a recurring invoice in Zoho Invoice.

Update Additional Address

Tool to update an additional address for a contact.

Update Contact

Tool to update an existing contact in Zoho Invoice.

Update Contact Person

Tool to update a contact person in Zoho Invoice.

Update Credit Note

Tool to update an existing credit note in Zoho Invoice.

Update Credit Note Template

Tool to update the template associated with a credit note.

Update Customer Payment Refund

Tool to update an existing customer payment refund.

Update Estimate Shipping Address

Tool to update the shipping address for an estimate.

Write Off Invoice

Tool to write off an invoice.

FAQ

Frequently asked questions

With a standalone Zoho invoice MCP server, the agents and LLMs can only access a fixed set of Zoho invoice tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Zoho invoice and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. Claude Code fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Zoho invoice tools.

Yes, absolutely. You can configure which Zoho invoice scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Zoho invoice data and credentials are handled as safely as possible.

Start with Zoho invoice.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Zoho invoice tool your agent needs.Free to start.

Start building