Connectors · Accounting & finance
Zoho Invoice MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Zoho Invoice and the rest of your systems. It gives your agent 260 Zoho Invoice actions (84 reads, 132 writes and 44 that wait for a confirmation) and holds the Zoho Invoice credential itself, so the agent never does. It paces Zoho Invoice's limits and records every call. Connecting Zoho Invoice needs your own Zoho Invoice OAuth app and one admin sign-in.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "zoho_invoice.list_all_invoices", intent: "check which Zoho Invoice account is connected"}# List invoices · read · 1 upstream call- 260actionsin one signed file
- 84readlook, never change
- 132writecreate and update
- 44wait for a yesdestructive, confirmed first
Set up
Connect Zoho Invoice in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Zoho Invoice.
OAuth 2.0, authorization code with PKCE. You register your own OAuth app with Zoho Invoice, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.
Before the first sign-in, Zoho Invoice needs an OAuth app of your own, registered in its developer portal. actionlake has no Zoho Invoice app to lend you.
access_tokenAccess token from one sign-in with your own OAuth apprefresh_tokenRefresh token from the same sign-in; the access token is renewed from itclient_idZoho client idclient_secretZoho client secretapi_domainWhere your Zoho Invoice lives: your api domainorganization_idYour Zoho Invoice organization id
Found for you at connect: api base.
account { op: "connections.requirements", service: "zoho_invoice" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "zoho_invoice.list_all_invoices" }# list invoices · read · 1 upstream callcheck { action: "zoho_invoice.create_an_invoice", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Zoho Invoice at a glance
- Sign-in
- OAuth 2.0, authorization code with PKCE. You register your own OAuth app with Zoho Invoice, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.
- You provide
access_tokenrefresh_tokenclient_idclient_secret- Setup fields
api_domainorganization_id- Found for you
- api base
- Limits we pace to
- 100 calls a minute, per connection
- API covered
- Zoho Invoice API 3
www.zohoapis.com/invoice/v3 - Built from
- Zoho Invoice's documentation, read 20 September 2026zoho.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 84 of 84 reads, for up to an hour; a write clears what it affects
- Ready-made plans
- 9 in the store
- Shared entities
- 11, so ask can line Zoho Invoice up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Zoho Invoice.
260 actions in 1 area. Every one carries its effect, so a key can allow the reads and hold the rest.
- 84readlook, never change
- 132writecreate and update
- 44destructivewait for a confirmation
Accounting
26084 read · 132 write · 44 destructive
List invoices · List Customer Payments · List estimates · List Expenses
Top actions
The Zoho Invoice API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 161 of Zoho Invoice's 161 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
zoho_invoice.list_all_invoicesList invoices | List invoices | read | finance.invoice.list101 connectors |
zoho_invoice.list_all_customer_paymentsList Customer Payments | List Customer Payments | read | finance.payment.list75 connectors |
zoho_invoice.list_all_estimatesList estimates | List estimates | read | finance.quote.list52 connectors |
zoho_invoice.list_all_expensesList Expenses | List Expenses | read | finance.expense.list40 connectors |
zoho_invoice.list_all_credit_notesList Credit Notes | List Credit Notes | read | finance.credit_note.list33 connectors |
zoho_invoice.list_all_tasks_of_a_projectList project tasks | List project tasks | read | work.task.list122 connectors |
zoho_invoice.list_all_usersList Users | List Users | read | identity.user.list474 connectors |
zoho_invoice.list_all_projectsList projects | List projects | read | work.project.list109 connectors |
zoho_invoice.create_an_invoiceCreate an invoice | Create an invoice | write | finance.invoice.create74 connectors |
zoho_invoice.create_a_retainer_invoiceCreate a retainer invoice | Create a retainer invoice | write | finance.invoice.create74 connectors |
zoho_invoice.create_a_customer_paymentCreate a payment | Create a payment | write | finance.payment.create67 connectors |
zoho_invoice.delete_an_invoiceDelete an invoice | Delete an invoice | destructive | finance.invoice.delete56 connectors |
Try it
Prompts to paste into Claude.
Each one names the Zoho Invoice actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Zoho Invoice invoices are more than 30 days overdue? Group them by customer with the total owed.
calls
zoho_invoice.list_all_invoices - Planwrite
Create a customer and turn their billing on in Zoho Invoice.
calls
zoho_invoice.create_a_contactzoho_invoice.create_a_contact_personzoho_invoice.mark_a_contact_person_as_primaryzoho_invoice.enable_portal_access_for_a_contactzoho_invoice.enable_payment_reminders_for_a_contact+1 more - Planwrite
Turn logged project time into an invoice in Zoho Invoice. Ask me before anything is sent or changed.
calls
zoho_invoice.get_a_projectzoho_invoice.list_all_tasks_of_a_projectzoho_invoice.get_the_current_running_timerzoho_invoice.stop_the_timerzoho_invoice.list_all_time_entries+1 more - Writewrite
Create an invoice in Zoho Invoice. Show me exactly what you will send before you save it.
calls
zoho_invoice.create_an_invoice - Across systemsread
For each customer, how many invoices are in Zoho Invoice and how many tickets in ConnectWise PSA?
calls
zoho_invoice.list_all_invoicesconnectwise_manage.tickets.list
Across your systems
Zoho Invoice, joined to the rest of your business.
One ask fetches from Zoho Invoice and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.
For each customer, how many invoices are in Zoho Invoice and how many tickets in ConnectWise PSA?
zoho_invoice.list_all_invoices+connectwise_manage.tickets.list, oncrm.company· ConnectWise PSAFor each customer, how many invoices are in Zoho Invoice and how many tickets in HubSpot CRM?
zoho_invoice.list_all_invoices+hubspot_crm.tickets.list, oncrm.company· HubSpot CRM
identity.user 517crm.company 227work.project 116commerce.product 109work.task 105finance.invoice 91finance.payment 53finance.quote 45ask { intent: "for each customer, how many invoices are in Zoho Invoice and how many tickets in ConnectWise PSA", steps: [ { action: "zoho_invoice.list_all_invoices", as: "inv", input: {}, limit: 100, max_pages: 5 }, { action: "connectwise_manage.tickets.list", as: "tix", input: {}, limit: 100, max_pages: 5 }, { join: { left: "inv", right: "tix", on: "crm.company", group_by: "inv.company_name", select: ["inv.company_name", "count(inv.id) as invoices", "count(tix.id) as tickets"] } } ]}The plan store
Ready-made plans for Zoho Invoice.
9 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.
Build a billing statement pack for every customer
Use it when Someone wants a month-end statement and activity pack across the whole customer book.
Check recurring invoices and expenses for drift
Use it when Someone wants to know whether the recurring billing and recurring costs are still running correctly.
Review credit notes and apply one to an invoice
Use it when Outstanding credit notes need reviewing and one of them should be applied to an invoice.
A person decides
Apply this credit note against the customer's invoice, reducing what they owe.
Send payment reminders across overdue invoices
Use it when Customers are late paying and someone wants a reviewed batch of payment reminders sent.
A person decides
Email payment reminders to the customers on the overdue invoices listed above.
Accept an estimate and raise the invoice
Use it when A customer has agreed a quote and it should become a sent invoice.
A person decides
Raise and send a real invoice to the customer for this accepted estimate.
Create a customer and turn their billing on
Use it when A new customer has been won and needs setting up in Zoho Invoice ready to bill.
Turn logged project time into an invoice
Use it when A project period has closed and the logged hours need billing to the client.
A person decides
Invoice the client for the billable hours logged on this project in the period.
Write off an uncollectable invoice after sign-off
Use it when A debt has been judged uncollectable and needs writing off with a record of who agreed.
A person decides
Write this invoice off as bad debt, permanently removing it from receivables.
Void a retainer invoice raised in error
Use it when A retainer invoice was raised in error or agreed cancelled and must be voided with a record.
A person decides
Void this retainer invoice permanently, removing it from the customer's ledger.
account { op: "plans.install", slug: "zoho_invoice-customer-billing-statement-pack" }
# then ask for it by name; a schedule can run it on a timetableGovernance for Zoho Invoice
Destructive actions wait for a yes.
44 Zoho Invoice actions are destructive. The first 10:
- Delete an invoice
zoho_invoice.delete_an_invoice - Delete a retainer invoice
zoho_invoice.delete_a_retainer_invoice - Delete a payment
zoho_invoice.delete_a_customer_payment - Delete a payment
zoho_invoice.delete_a_payment_from_an_invoice - Delete an Estimate
zoho_invoice.delete_an_estimate - Delete an Expense
zoho_invoice.delete_an_expense - Delete a project Task
zoho_invoice.delete_a_task_of_a_project - Write off invoice
zoho_invoice.write_off_an_invoice - Void an invoice
zoho_invoice.mark_an_invoice_as_void - Void a retainer invoice
zoho_invoice.mark_a_retainer_invoice_as_void
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete an invoice?
intent: the user asked me to delete an invoice
account { op: "keys.create", name: "zoho-invoice-agent", allowed_actions: ["zoho_invoice.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "zoho_invoice.delete_an_invoice", approver: "[email protected]" }, { match: "zoho_invoice.delete_a_retainer_invoice", approver: "[email protected]" }, { match: "zoho_invoice.delete_a_customer_payment", approver: "[email protected]" } ]}Cost
What Zoho Invoice costs on actionlake.
Every Zoho Invoice action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Zoho Invoice refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 260 Zoho Invoice actions
- 260actions pageeach page of a long list is one call
- 84reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Zoho Invoice action.
260 actions by area: the id your agent calls, what it does, and its effect.
Accounting260
zoho_invoice.add_a_comment_to_a_credit_noteAdd a commentwritezoho_invoice.add_a_comment_to_a_retainer_invoiceAdd commentwritezoho_invoice.add_a_comment_to_an_estimateAdd Commentswritezoho_invoice.add_a_comment_to_an_invoiceAdd commentwritezoho_invoice.apply_a_credit_to_an_invoiceCredit to an invoicewritezoho_invoice.apply_multiple_credits_to_an_invoiceApply creditswritezoho_invoice.assign_users_to_a_projectAssign userswritezoho_invoice.cancel_write_off_of_an_invoiceCancel write offwritezoho_invoice.clone_a_projectClone a projectwritezoho_invoice.create_a_contactCreate a Contactwritezoho_invoice.create_a_contact_personCreate a contact personwritezoho_invoice.create_a_credit_noteCreate a credit notewritezoho_invoice.create_a_currencyCreate a Currencywritezoho_invoice.create_a_customer_paymentCreate a paymentwritezoho_invoice.create_a_price_listCreate a Price Listwritezoho_invoice.create_a_projectCreate a projectwritezoho_invoice.create_a_recurring_expenseCreate a recurring expensewritezoho_invoice.create_a_recurring_invoiceCreate a Recurring Invoicewritezoho_invoice.create_a_retainer_invoiceCreate a retainer invoicewritezoho_invoice.create_a_task_in_a_projectAdd a project taskwritezoho_invoice.create_a_taxCreate a taxwritezoho_invoice.create_a_tax_authorityCreate Tax Authority.writezoho_invoice.create_a_tax_exemptionCreate Tax Exemption.writezoho_invoice.create_a_tax_groupCreate a tax groupwritezoho_invoice.create_a_userCreate a userwritezoho_invoice.create_an_additional_address_for_a_contactAdd Additional Addresswritezoho_invoice.create_an_employeeCreate an employeewritezoho_invoice.create_an_estimateCreate an Estimatewritezoho_invoice.create_an_exchange_rateCreate an exchange ratewritezoho_invoice.create_an_expenseCreate an Expensewritezoho_invoice.create_an_expense_categoryCreate an expense categorywritezoho_invoice.create_an_invoiceCreate an invoicewritezoho_invoice.create_an_itemCreate an Itemwritezoho_invoice.create_an_organizationCreate an organizationwritezoho_invoice.delete_a_comment_of_a_credit_noteDelete a Commentdestructivezoho_invoice.delete_a_comment_of_a_projectDelete commentdestructivezoho_invoice.delete_a_comment_of_a_retainer_invoiceDelete a commentdestructivezoho_invoice.delete_a_comment_of_an_estimateDelete a commentdestructivezoho_invoice.delete_a_comment_of_an_invoiceDelete a commentdestructivezoho_invoice.delete_a_contactDelete a Contactdestructivezoho_invoice.delete_a_contact_personDelete a contact persondestructivezoho_invoice.delete_a_credit_noteDelete a credit notedestructivezoho_invoice.delete_a_currencyDelete a currencydestructivezoho_invoice.delete_a_customer_paymentDelete a paymentdestructivezoho_invoice.delete_a_payment_from_an_invoiceDelete a paymentdestructivezoho_invoice.delete_a_price_listDelete a Price Listdestructivezoho_invoice.delete_a_projectDelete projectdestructivezoho_invoice.delete_a_recurring_expenseDelete a recurring expensedestructivezoho_invoice.delete_a_recurring_invoiceDelete a Recurring Invoicedestructivezoho_invoice.delete_a_refund_of_a_credit_noteDelete credit note refunddestructivezoho_invoice.delete_a_refund_of_a_customer_paymentDelete a Refunddestructivezoho_invoice.delete_a_retainer_invoiceDelete a retainer invoicedestructivezoho_invoice.delete_a_task_of_a_projectDelete a project Taskdestructivezoho_invoice.delete_a_taxDelete a taxdestructivezoho_invoice.delete_a_tax_authorityDelete Tax Authoritydestructivezoho_invoice.delete_a_tax_exemptionDelete Tax Exemptiondestructivezoho_invoice.delete_a_tax_groupDelete a tax groupdestructivezoho_invoice.delete_a_time_entryDelete time entrydestructivezoho_invoice.delete_a_userDelete a userdestructivezoho_invoice.delete_an_additional_address_of_a_contactDelete Additional Addressdestructivezoho_invoice.delete_an_applied_credit_from_an_invoiceDelete applied creditdestructivezoho_invoice.delete_an_attachment_from_a_retainer_invoiceDelete an attachmentdestructivezoho_invoice.delete_an_attachment_from_an_invoiceDelete an attachmentdestructivezoho_invoice.delete_an_employeeDelete an employeedestructivezoho_invoice.delete_an_estimateDelete an Estimatedestructivezoho_invoice.delete_an_exchange_rateDelete an exchage ratedestructivezoho_invoice.delete_an_expenseDelete an Expensedestructivezoho_invoice.delete_an_expense_categoryDelete an expense categorydestructivezoho_invoice.delete_an_expense_receipt_from_an_invoiceDelete the expense receiptdestructivezoho_invoice.delete_an_invoiceDelete an invoicedestructivezoho_invoice.delete_an_itemDelete an itemdestructivezoho_invoice.delete_credit_notes_applied_to_an_invoiceDelete invoices crediteddestructivezoho_invoice.delete_multiple_time_entriesDelete time entriesdestructivezoho_invoice.disable_payment_reminder_for_an_invoiceDisable payment reminderwritezoho_invoice.disable_payment_reminders_for_a_contactDisable Payment Reminderswritezoho_invoice.email_a_contactEmail Contactwritezoho_invoice.email_a_credit_noteEmail a credit notewritezoho_invoice.email_a_retainer_invoiceEmail a retainer invoicewritezoho_invoice.email_a_statement_to_a_contactEmail Statementwritezoho_invoice.email_an_estimateEmail an estimatewritezoho_invoice.email_an_invoiceEmail an invoicewritezoho_invoice.email_multiple_estimatesEmail multiple estimateswritezoho_invoice.email_multiple_invoicesEmail invoiceswritezoho_invoice.enable_payment_reminder_for_an_invoiceEnable payment reminderwritezoho_invoice.enable_payment_reminders_for_a_contactEnable Payment Reminderswritezoho_invoice.enable_portal_access_for_a_contactEnable Portal Accesswritezoho_invoice.get_a_client_reviewDetails of a Particular Client Reviewreadzoho_invoice.get_a_contactGet a Contactreadzoho_invoice.get_a_contact_personGet a contact personreadzoho_invoice.get_a_credit_noteGet a credit notereadzoho_invoice.get_a_currencyGet a Currencyreadzoho_invoice.get_a_customer_paymentRetrieve a paymentreadzoho_invoice.get_a_price_listRetrieve a Price listreadzoho_invoice.get_a_projectGet a projectreadzoho_invoice.get_a_recurring_expenseGet a recurring expensereadzoho_invoice.get_a_recurring_invoiceGet a Recurring Invoicereadzoho_invoice.get_a_refund_of_a_credit_noteGet credit note refundreadzoho_invoice.get_a_refund_of_a_customer_paymentDetails of a refundreadzoho_invoice.get_a_retainer_invoiceGet a retainer invoicereadzoho_invoice.get_a_task_of_a_projectGet a project taskreadzoho_invoice.get_a_taxGet a taxreadzoho_invoice.get_a_tax_groupGet a tax groupreadzoho_invoice.get_a_time_entryGet a time entryreadzoho_invoice.get_a_userGet a userreadzoho_invoice.get_a_user_of_a_projectGet a Userreadzoho_invoice.get_all_addresses_of_a_contactGet Contact Addressesreadzoho_invoice.get_an_estimateGet an estimatereadzoho_invoice.get_an_exchange_rateGet an exchange rate.readzoho_invoice.get_an_expenseGet an Expensereadzoho_invoice.get_an_expense_categoryGet an expense categoryreadzoho_invoice.get_an_invoiceGet an invoicereadzoho_invoice.get_an_itemRetrieve an itemreadzoho_invoice.get_an_organizationGet an organizationreadzoho_invoice.get_email_content_of_a_retainer_invoiceGet retainer invoice email contentreadzoho_invoice.get_email_content_of_an_estimateGet estimate email contentreadzoho_invoice.get_email_content_of_an_invoiceGet invoice email contentreadzoho_invoice.get_email_history_of_a_credit_noteEmail historyreadzoho_invoice.get_mail_content_of_a_contact_billing_statementGet Statement Mail Contentreadzoho_invoice.get_mail_content_of_a_payment_reminderGet payment reminder mail contentreadzoho_invoice.get_the_current_running_timerGet timerreadzoho_invoice.get_the_current_userGet current userreadzoho_invoice.import_a_customer_from_crm_using_account_idImport a customer using the CRM account IDwritezoho_invoice.import_a_customer_from_crm_using_contact_idImport a customer using CRM contact IDwritezoho_invoice.import_an_item_from_crm_using_product_idImport an item using the CRM product IDwritezoho_invoice.invite_a_userInvite a userwritezoho_invoice.invite_a_user_to_a_projectInvite userwritezoho_invoice.list_all_active_itemsList itemsreadzoho_invoice.list_all_client_reviews_of_a_contactView All Client Reviewsreadzoho_invoice.list_all_comments_of_a_credit_noteList credit note comments & historyreadzoho_invoice.list_all_comments_of_a_projectList commentsreadzoho_invoice.list_all_comments_of_a_recurring_expenseList recurring expense historyreadzoho_invoice.list_all_comments_of_a_recurring_invoiceList Recurring Invoice Historyreadzoho_invoice.list_all_comments_of_a_retainer_invoiceList retainer invoice comments & historyreadzoho_invoice.list_all_comments_of_an_estimateList estimate comments & historyreadzoho_invoice.list_all_comments_of_an_expenseList expense History & Commentsreadzoho_invoice.list_all_comments_of_an_invoiceList invoice comments & historyreadzoho_invoice.list_all_contact_personsList contact personsreadzoho_invoice.list_all_contactsList Contactsreadzoho_invoice.list_all_credit_note_pdf_templatesList credit note templatesreadzoho_invoice.list_all_credit_note_refundsList credit note refundsreadzoho_invoice.list_all_credit_notesList Credit Notesreadzoho_invoice.list_all_credits_applied_to_an_invoiceList credits appliedreadzoho_invoice.list_all_currenciesList Currenciesreadzoho_invoice.list_all_customer_paymentsList Customer Paymentsreadzoho_invoice.list_all_employeesList employeesreadzoho_invoice.list_all_estimate_pdf_templatesList estimate templatesreadzoho_invoice.list_all_estimatesList estimatesreadzoho_invoice.list_all_exchange_ratesList exchange ratesreadzoho_invoice.list_all_expense_categoriesList expense categoriesreadzoho_invoice.list_all_expensesList Expensesreadzoho_invoice.list_all_invoice_pdf_templatesList invoice templatesreadzoho_invoice.list_all_invoicesList invoicesreadzoho_invoice.list_all_invoices_of_a_projectList invoicesreadzoho_invoice.list_all_item_detailsBulk fetch item detailsreadzoho_invoice.list_all_organizationsList organizationsreadzoho_invoice.list_all_payments_of_an_invoiceList invoice paymentsreadzoho_invoice.list_all_price_listsList of all the Price Listsreadzoho_invoice.list_all_projectsList projectsreadzoho_invoice.list_all_recurring_expensesList recurring expensesreadzoho_invoice.list_all_recurring_invoicesList Recurring Invoicereadzoho_invoice.list_all_refunds_of_a_contactList Refundsreadzoho_invoice.list_all_refunds_of_a_credit_noteList refunds of a credit notereadzoho_invoice.list_all_refunds_of_a_customer_paymentList refunds of a customer paymentreadzoho_invoice.list_all_retainer_invoice_pdf_templatesList retainer invoice templatesreadzoho_invoice.list_all_retainer_invoicesList Retainer invoicesreadzoho_invoice.list_all_tasks_of_a_projectList project tasksreadzoho_invoice.list_all_tax_authoritiesList Tax Authoritiesreadzoho_invoice.list_all_tax_exemptionsList Tax Exemptionsreadzoho_invoice.list_all_taxesList taxesreadzoho_invoice.list_all_time_entriesList time entries.readzoho_invoice.list_all_usersList Usersreadzoho_invoice.list_all_users_of_a_projectList Usersreadzoho_invoice.list_child_expenses_of_a_recurring_expenseList child expenses createdreadzoho_invoice.list_invoices_to_which_a_credit_note_is_appliedList invoices creditedreadzoho_invoice.list_recent_activities_of_a_contactList Commentsreadzoho_invoice.log_a_time_entryLog time entrieswritezoho_invoice.mark_a_contact_as_activeMark as Activewritezoho_invoice.mark_a_contact_as_inactiveMark as Inactivewritezoho_invoice.mark_a_contact_person_as_primaryMark as primary contact personwritezoho_invoice.mark_a_credit_note_as_voidVoid a credit notedestructivezoho_invoice.mark_a_project_as_activeActivate a projectwritezoho_invoice.mark_a_project_as_inactiveDeactivate a projectwritezoho_invoice.mark_a_retainer_invoice_as_sentMark a retainer invoice as sentwritezoho_invoice.mark_a_retainer_invoice_as_voidVoid a retainer invoicedestructivezoho_invoice.mark_a_user_as_activeMark user as activewritezoho_invoice.mark_a_user_as_inactiveMark user as inactivewritezoho_invoice.mark_a_voided_credit_note_as_openOpen a voided credit notewritezoho_invoice.mark_a_voided_invoice_as_draftMark as draftwritezoho_invoice.mark_a_voided_retainer_invoice_as_draftMark as draftwritezoho_invoice.mark_an_estimate_as_acceptedMark an estimate as acceptedwritezoho_invoice.mark_an_estimate_as_declinedMark an estimate as declinedwritezoho_invoice.mark_an_estimate_as_sentMark an estimate as sentwritezoho_invoice.mark_an_expense_category_as_activeMark an expense category as activewritezoho_invoice.mark_an_expense_category_as_inactiveMark an expense category as inactivewritezoho_invoice.mark_an_invoice_as_sentMark an invoice as sentwritezoho_invoice.mark_an_invoice_as_voidVoid an invoicedestructivezoho_invoice.mark_an_item_as_activeMark as activewritezoho_invoice.mark_an_item_as_inactiveMark as inactivewritezoho_invoice.post_a_comment_on_a_projectPost commentwritezoho_invoice.refund_a_credit_noteRefund credit notewritezoho_invoice.refund_excess_amount_of_a_customer_paymentRefund an excess customer paymentwritezoho_invoice.remove_a_user_from_a_projectDelete userdestructivezoho_invoice.reply_to_a_client_reviewReply a Client Reviewwritezoho_invoice.resume_a_recurring_expenseResume a recurring Expensewritezoho_invoice.resume_a_recurring_invoiceResume a Recurring Invoicewritezoho_invoice.send_email_payment_reminder_for_an_invoiceRemind Customerwritezoho_invoice.send_payment_reminder_for_multiple_invoicesBulk invoice reminderwritezoho_invoice.set_email_attachment_setting_for_an_invoiceUpdate attachment preferencewritezoho_invoice.start_the_timerStart timerwritezoho_invoice.stop_a_recurring_expenseStop a recurring expensewritezoho_invoice.stop_a_recurring_invoiceStop a Recurring Invoicewritezoho_invoice.stop_the_timerStop timerwritezoho_invoice.update_a_comment_of_a_retainer_invoiceUpdate commentwritezoho_invoice.update_a_comment_of_an_estimateUpdate commentwritezoho_invoice.update_a_comment_of_an_invoiceUpdate commentwritezoho_invoice.update_a_contactUpdate a Contactwritezoho_invoice.update_a_contact_personUpdate a contact personwritezoho_invoice.update_a_credit_noteUpdate a credit notewritezoho_invoice.update_a_currencyUpdate a Currencywritezoho_invoice.update_a_customer_paymentUpdate a paymentwritezoho_invoice.update_a_price_listUpdate a Price Listwritezoho_invoice.update_a_projectUpdate a projectwritezoho_invoice.update_a_recurring_expenseUpdate a recurring expensewritezoho_invoice.update_a_recurring_invoiceUpdate Recurring Invoicewritezoho_invoice.update_a_refund_of_a_credit_noteUpdate credit note refundwritezoho_invoice.update_a_refund_of_a_customer_paymentUpdate a refundwritezoho_invoice.update_a_retainer_invoiceUpdate a retainer invoicewritezoho_invoice.update_a_task_of_a_projectUpdate a project taskwritezoho_invoice.update_a_taxUpdate a taxwritezoho_invoice.update_a_tax_authorityUpdate Tax Authority.writezoho_invoice.update_a_tax_exemptionUpdate Tax Exemption.writezoho_invoice.update_a_tax_groupUpdate a tax groupwritezoho_invoice.update_a_time_entryUpdate time entrywritezoho_invoice.update_a_userUpdate a userwritezoho_invoice.update_a_user_of_a_projectUpdate userwritezoho_invoice.update_an_additional_address_of_a_contactEdit Additional Addresswritezoho_invoice.update_an_estimateUpdate an Estimatewritezoho_invoice.update_an_exchange_rateUpdate an exchange ratewritezoho_invoice.update_an_expenseUpdate an Expensewritezoho_invoice.update_an_expense_categoryUpdate an expense categorywritezoho_invoice.update_an_invoiceUpdate an invoicewritezoho_invoice.update_an_itemUpdate an itemwritezoho_invoice.update_an_organizationUpdate an organizationwritezoho_invoice.update_billing_address_of_a_credit_noteUpdate billing addresswritezoho_invoice.update_billing_address_of_a_retainer_invoiceUpdate billing addresswritezoho_invoice.update_billing_address_of_an_estimateUpdate billing addresswritezoho_invoice.update_billing_address_of_an_invoiceUpdate billing addresswritezoho_invoice.update_custom_fields_in_a_customer_paymentUpdate custom field in existing customerpaymentswritezoho_invoice.update_custom_fields_in_an_estimateUpdate custom field in existing estimateswritezoho_invoice.update_custom_fields_in_an_invoiceUpdate custom field in existing invoiceswritezoho_invoice.update_custom_fields_in_itemsUpdate custom field in existing itemswritezoho_invoice.update_pdf_template_of_a_credit_noteUpdate a credit note templatewritezoho_invoice.update_pdf_template_of_a_recurring_invoiceUpdate Recurring Invoice templatewritezoho_invoice.update_pdf_template_of_a_retainer_invoiceUpdate retainer invoice templatewritezoho_invoice.update_pdf_template_of_an_estimateUpdate estimate templatewritezoho_invoice.update_pdf_template_of_an_invoiceUpdate invoice templatewritezoho_invoice.update_shipping_address_of_a_credit_noteUpdate Shipping addresswritezoho_invoice.update_shipping_address_of_an_estimateUpdate shipping addresswritezoho_invoice.update_shipping_address_of_an_invoiceUpdate shipping addresswritezoho_invoice.write_off_an_invoiceWrite off invoicedestructive
Questions
The Zoho Invoice MCP server, answered.
Is there a Zoho Invoice MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 260 Zoho Invoice actions, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Zoho Invoice.
What do I need to connect Zoho Invoice?
Your own Zoho Invoice OAuth app, registered with Zoho Invoice (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no Zoho Invoice app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. Plus your api domain and your organization id. actionlake finds api base for you when you connect. The free call account { op: "connections.requirements", service: "zoho_invoice" } lists exactly what to paste.
Can an AI agent delete or change things in Zoho Invoice?
Only if its key allows it, and only with an explicit confirmation. 44 Zoho Invoice actions are destructive, including delete an invoice, delete a retainer invoice and delete a payment. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Zoho Invoice API limit?
actionlake paces every call to the limits in the Zoho Invoice service file: 100 calls a minute per connection. Repeated reads are answered from cache (84 Zoho Invoice actions can be), which never reaches Zoho Invoice.
What does a Zoho Invoice action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (260 Zoho Invoice actions page). Cache hits, searches, dry runs and calls Zoho Invoice refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Zoho Invoice API does it cover?
The Zoho Invoice API 3 at www.zohoapis.com/invoice/v3 by default, or the base URL set when you connect. It is built from Zoho Invoice's documentation as read on 20 September 2026. 260 actions in 1 area, each one in the signed service file (version 1.0.0).
Can I combine Zoho Invoice with my other systems?
Yes. ask joins Zoho Invoice to ConnectWise PSA or HubSpot CRM on the same customer and returns the answer rather than every row. Zoho Invoice maps crm.company, which 227 other connectors also map.
Does actionlake keep my Zoho Invoice data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Zoho Invoice credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Zoho Invoice today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.