Zoho books

Learn how to use Zoho books with Composio

Overview

SLUG: ZOHO_BOOKS

Description

Zoho Books handles accounting, invoicing, and expense tracking, offering real-time collaboration and integrations within the Zoho ecosystem

Authentication Details

client_id
stringRequired
client_secret
stringRequired
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
stringDefaults to ZohoBooks.fullaccess.all
suffix.one
stringRequired

Connecting to Zoho books

Create an auth config

Use the dashboard to create an auth config for the Zoho books toolkit. This allows you to connect multiple Zoho books accounts to Composio for agents to use.

1

Select App

Navigate to [Zoho books](https://platform.composio.dev?next_page=/marketplace/Zoho books).

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Zoho books Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using OAuth2

1from composio import Composio
2
3# Replace these with your actual values
4zoho_books_auth_config_id = "ac_YOUR_ZOHO_BOOKS_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/application
6
7composio = Composio()
8
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 connection_request = composio.connected_accounts.initiate(
12 user_id=user_id,
13 auth_config_id=auth_config_id,
14 )
15
16 print(
17 f"Visit this URL to authenticate Zoho books: {connection_request.redirect_url}"
18 )
19
20 # This will wait for the auth flow to be completed
21 connection_request.wait_for_connection(timeout=15)
22 return connection_request.id
23
24
25connection_id = authenticate_toolkit(user_id, zoho_books_auth_config_id)
26
27# You can also verify the connection status using:
28connected_account = composio.connected_accounts.get(connection_id)
29print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the [Zoho books toolkit’s playground](https://app.composio.dev/app/Zoho books)

For code examples, see the Tool calling guide and Provider examples.

Tool List

Tool Name: Accept Estimate

Description

Tool to mark an estimate as accepted. Use after reviewing and confirming the estimate.

Action Parameters

estimate_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Bulk Export Invoices PDF

Description

Tool to export multiple invoices to a single PDF. Use when you have up to 25 invoice IDs ready to merge.

Action Parameters

invoice_ids
arrayRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Bulk Print Invoices

Description

Tool to bulk print up to 25 invoices as a single PDF. Use when you have multiple invoice IDs and need a combined PDF for printing.

Action Parameters

invoice_ids
arrayRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Categorize Uncategorized Transaction

Description

Tool to categorize an uncategorized bank transaction. Use after fetching an uncategorized entry to assign proper type and details.

Action Parameters

amount
bank_charges
currency_id
custom_fields
customer_id
date
description
documents
exchange_rate
from_account_id
from_account_tags
is_inclusive_tax
line_items
organization_id
stringRequired
payment_mode
reference_number
tags
tax_authority_id
tax_exemption_id
tax_id
to_account_id
to_account_tags
transaction_id
stringRequired
transaction_type
stringRequired
user_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Bank Account

Description

Tool to create a bank or credit card account. Use when you need to add a new bank or credit card account to your Zoho Books organization.

Action Parameters

bankaccount
objectRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Bank Transaction

Description

Tool to create a manual bank transaction. Use when you need to record a non-invoice bank movement in Zoho Books after obtaining valid account IDs.

Action Parameters

amount
bank_charges
currency_id
custom_fields
customer_id
date
description
documents
exchange_rate
from_account_id
from_account_tags
is_inclusive_tax
organization_id
stringRequired
payment_mode
reference_number
tags
tax_authority_id
tax_exemption_id
tax_id
to_account_id
to_account_tags
transaction_type
stringRequired
user_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Contact

Description

Tool to create a new contact in Zoho Books. Use when adding a customer or vendor after gathering details.

Action Parameters

avatax_exempt_no
avatax_use_code
billing_address
company_name
contact_name
stringRequired
contact_number
contact_persons
contact_type
country_code
credit_limit
currency_id
custom_fields
customer_sub_type
default_templates
facebook
gst_no
gst_treatment
ignore_auto_number_generation
is_portal_enabled
is_taxable
is_tds_registered
language_code
legal_name
notes
opening_balances
organization_id
stringRequired
owner_id
payment_terms
payment_terms_label
place_of_contact
pricebook_id
shipping_address
tags
tax_authority_id
tax_authority_name
tax_exemption_certificate_number
tax_exemption_code
tax_exemption_id
tax_id
tax_id_type
tax_id_value
tax_reg_no
tax_regime
tax_treatment
tds_tax_id
track_1099
twitter
vat_reg_no
vat_treatment
website

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Estimate

Description

Tool to create an estimate (quote). Use when you need to raise a new customer quote in Zoho Books.

Action Parameters

accept_retainer
adjustment
adjustment_description
contact_persons_associated
currency_id
custom_body
custom_fields
custom_subject
customer_id
stringRequired
date
discount
discount_type
estimate_number
exchange_rate
expiry_date
gst_no
gst_treatment
ignore_auto_number_generation
is_discount_before_tax
is_inclusive_tax
line_items
arrayRequired
location_id
notes
organization_id
stringRequired
place_of_supply
project_id
reference_number
retainer_percentage
salesperson_name
send
shipping_charge
tax_id
template_id
terms

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Exchange Rate

Description

Tool to create a new exchange rate for a currency. Use after confirming currency_id and organization_id.

Action Parameters

currency_id
stringRequired
effective_date
stringRequired
organization_id
stringRequired
rate
numberRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Invoice

Description

Tool to create a new invoice. Use when you need to bill a customer with line items.

Action Parameters

batch_payments
currency_id
customer_id
stringRequired
date
discount
discount_type
due_date
exchange_rate
ignore_auto_number_generation
invoice_number
is_discount_before_tax
is_inclusive_tax
is_quick_create
line_items
arrayRequired
notes
organization_id
stringRequired
payment_terms
payment_terms_label
send
terms

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Item

Description

Tool to create a new item (product or service). Use when you need to add new items with pricing and inventory details. Item names must be unique within an organization. If an item with the same name already exists, the API returns code=1001 with message indicating the duplicate. Check the response code to handle this scenario - use LIST_ITEMS to verify if an item exists before creating, or handle code=1001 responses to retrieve/update the existing item instead.

Action Parameters

asset_account_id
description
name
stringRequired
opening_stock
opening_stock_rate
organization_id
stringRequired
purchase_account_id
purchase_rate
rate
numberRequired
reorder_level
sales_account_id
sku
tax_id
tax_id2
track_stock
unit

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Sales Order

Description

Tool to create a sales order. Use when you need to record a new sales order in Zoho Books.

Action Parameters

avatax_exempt_no
avatax_use_code
billing_address_id
can_send_in_mail
contact_persons_associated
currency_id
custom_fields
customer_id
stringRequired
date
discount
discount_type
doc
exchange_rate
gst_no
gst_treatment
ignore_auto_number_generation
is_discount_before_tax
is_inclusive_tax
is_pre_gst
is_reverse_charge_applied
line_items
location_id
notes
organization_id
stringRequired
place_of_supply
pricebook_id
reference_number
salesorder_number
shipment_date
shipping_address_id
tax_authority_id
tax_authority_name
tax_exemption_code
tax_exemption_id
tax_treatment
template_id
terms
total_files
vat_treatment

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create User

Description

Tool to create a new user in Zoho Books. Use when inviting a team member to your organization.

Action Parameters

cost_rate
email
stringRequired
name
stringRequired
organization_id
stringRequired
role_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete Bank Transaction

Description

Tool to delete a specific bank transaction. Use when you need to remove an existing transaction after confirming its ID.

Action Parameters

bank_transaction_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete Contact

Description

Tool to delete a specific contact. Use when you need to remove an existing contact after confirming its ID.

Action Parameters

contact_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete Invoice

Description

Tool to delete a specific invoice. Use when you need to remove an existing invoice after confirming its ID.

Action Parameters

invoice_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete Item

Description

Tool to delete a specific item. Use when you need to remove an unused item after confirming it has no linked transactions.

Action Parameters

item_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Email Invoice

Description

Tool to send an invoice email. Use after invoice creation to share it with the customer.

Action Parameters

attachments
body
cc_mail_ids
from_address_id
invoice_id
stringRequired
organization_id
stringRequired
send_attachment
send_customer_statement
send_from_org_email_id
subject
to_mail_ids
arrayRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Bank Account

Description

Tool to fetch details of a specific bank account. Use when you need full metadata of one account by ID.

Action Parameters

account_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Bill

Description

Tool to fetch details of a specific bill. Use after confirming the organization context.

Action Parameters

bill_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Contact

Description

Tool to fetch details of a specific contact. Use when you need to retrieve comprehensive contact information after obtaining the contact_id.

Action Parameters

contact_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Estimate

Description

Tool to fetch details of a specific estimate. Use when you need to retrieve all attributes of an existing estimate by its ID.

Action Parameters

estimate_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Invoice

Description

Tool to fetch details of a specific invoice. Use when you need the full invoice record by its ID after creation or listing.

Action Parameters

accept
stringDefaults to json
invoice_id
stringRequired
organization_id
stringRequired
print

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Item

Description

Tool to fetch details of a specific item. Use when you need to retrieve all attributes of an existing item by its ID.

Action Parameters

item_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Sales Order

Description

Tool to fetch details of a specific sales order. Use when you need the full record of a sales order by its ID.

Action Parameters

accept
organization_id
stringRequired
print
salesorder_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get User

Description

Tool to fetch details of a specific user. Use after obtaining the user_id to retrieve comprehensive user information.

Action Parameters

organization_id
stringRequired
user_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Bank Accounts

Description

Tool to list bank and credit card accounts. Use when retrieving all accounts for reconciliation or overview.

Action Parameters

filter_by
organization_id
stringRequired
page
per_page
sort_column

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Bank Transactions

Description

Tool to list bank transactions with optional filters. Use when you need to retrieve transactions for reconciliation and reporting.

Action Parameters

account_id
amount_end
amount_start
date_end
date_start
filter_by
organization_id
stringRequired
page
Defaults to 1
per_page
Defaults to 200
reference_number
search_text
sort_column
status
transaction_type

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Bills

Description

Tool to retrieve a paginated list of bills. Use when listing bills with filters and pagination.

Action Parameters

bill_number
bill_number_contains
bill_number_startswith
date_after
date_before
date_end
date_start
description_contains
description_startswith
item_id
organization_id
stringRequired
page
integerDefaults to 1
per_page
integerDefaults to 200
reference_number
reference_number_contains
reference_number_startswith
sort_column
sort_order
status
total_greater_equals
total_greater_than
total_less_equals
total_less_than
vendor_id
vendor_name_contains
vendor_name_startswith

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Chart Of Accounts

Description

Tool to list chart of accounts. Use when you need to fetch all chart of accounts with optional filtering, sorting, and pagination.

Action Parameters

filter_by
organization_id
stringRequired
page
Defaults to 1
per_page
Defaults to 200
showbalance
sort_column

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Contacts

Description

Tool to retrieve a paginated list of contacts with optional filters. Use when you need to fetch and filter contacts from Zoho Books before processing them.

Action Parameters

address_contains
address_startswith
company_name_contains
company_name_startswith
contact_name_contains
contact_name_startswith
contact_type
email_contains
email_startswith
filter_by
first_name_contains
first_name_startswith
last_name_contains
last_name_startswith
organization_id
stringRequired
page
Defaults to 1
per_page
Defaults to 200
phone_contains
phone_startswith
search_text
sort_column
zcrm_account_id
zcrm_contact_id
zcrm_vendor_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Currencies

Description

Tool to list currencies configured for the organization. Use after authentication to retrieve all currency settings.

Action Parameters

filter_by
organization_id
stringRequired
page
Defaults to 1
per_page
Defaults to 200

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Invoice Payments

Description

Tool to list payments recorded against an invoice. Use when retrieving all payment transactions applied to a specific invoice.

Action Parameters

invoice_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Invoices

Description

Tool to retrieve a paginated list of invoices with filters and search. Use when you need to fetch and filter invoices before processing.

Action Parameters

customer_id
customer_name
date_end
date_start
due_date_end
due_date_start
filter_by
invoice_number
invoice_number_contains
invoice_number_startswith
organization_id
stringRequired
page
integerDefaults to 1
per_page
integerDefaults to 200
response_option
search_text
sort_column
sort_order
status

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Items

Description

Tool to retrieve a paginated list of items from Zoho Books. Use when you need to list items with optional filters, search, and sorting.

Action Parameters

account_id
description
description_contains
description_startswith
filter_by
is_taxable
name
name_contains
name_startswith
organization_id
stringRequired
page
integerDefaults to 1
per_page
integerDefaults to 200
rate
rate_greater_equals
rate_greater_than
rate_less_equals
rate_less_than
sat_item_key_code
search_text
sort_column
sort_order
tax_exemption_id
tax_id
tax_name
unitkey_code

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Organizations

Description

Tool to list all organizations for the authenticated user. Use when you need to obtain the organization_id for subsequent API calls.

Action Parameters

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Sales Orders

Description

Tool to retrieve a paginated list of sales orders. Use when browsing sales orders by organization with optional sorting and filtering.

Action Parameters

filter_by
organization_id
stringRequired
page
Defaults to 1
per_page
Defaults to 200
search_text
sort_column

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Users

Description

Tool to retrieve a paginated list of users. Use when you need to fetch and browse users of an organization in Zoho Books.

Action Parameters

filter_by
organization_id
stringRequired
page
Defaults to 1
per_page
Defaults to 200
sort_column

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Mark Contact as Active

Description

Tool to mark a contact as active. Use when you need to reactivate a previously deactivated contact after confirming its ID.

Action Parameters

contact_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Mark Invoice As Sent

Description

Tool to mark an invoice as Sent. Use after the invoice is finalized and ready for delivery to the customer.

Action Parameters

invoice_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Open Sales Order

Description

Tool to mark a sales order as Open. Use when a sales order in Draft status needs to be opened for processing.

Action Parameters

organization_id
stringRequired
salesorder_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Send Payment Reminder

Description

Tool to send a payment reminder for an invoice. Use when invoice is in Open or Overdue status.

Action Parameters

body
cc_mail_ids
invoice_id
stringRequired
organization_id
stringRequired
send_customer_statement
send_from_org_email_id
subject
to_mail_ids

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Update Vendor Bill

Description

Tool to update a vendor bill. Use when you need to modify an existing bill in Zoho Books. Use after fetching the current bill details.

Action Parameters

adjustment
adjustment_description
approvers
attachment
bill_id
stringRequired
bill_number
stringRequired
currency_id
custom_fields
date
destination_of_supply
documents
due_date
exchange_rate
gst_no
gst_treatment
is_inclusive_tax
is_item_level_tax_calc
line_items
location_id
notes
organization_id
stringRequired
payment_terms
payment_terms_label
permit_number
place_of_supply
pricebook_id
purchaseorder_ids
recurring_bill_id
reference_number
source_of_supply
tax_treatment
taxes
terms
vendor_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Update Contact

Description

Tool to update details of a contact. Use when you need to modify any contact attribute after verifying contact_id.

Action Parameters

avatax_exempt_no
avatax_use_code
billing_address
company_name
contact_id
stringRequired
contact_name
stringRequired
contact_number
contact_persons
contact_type
country_code
credit_limit
currency_id
custom_fields
customer_sub_type
default_templates
facebook
gst_no
gst_treatment
ignore_auto_number_generation
is_taxable
is_tds_registered
legal_name
notes
opening_balances
organization_id
stringRequired
owner_id
payment_terms
payment_terms_label
place_of_contact
pricebook_id
shipping_address
tags
tax_authority_id
tax_authority_name
tax_exemption_certificate_number
tax_exemption_code
tax_exemption_id
tax_id
tax_id_type
tax_id_value
tax_reg_no
tax_regime
tax_treatment
track_1099
twitter
vat_reg_no
vat_treatment
website

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Update Invoice

Description

Tool to update details of a specific invoice. Use when you need to modify an existing invoice in Zoho Books—change line items, dates, or other invoice fields. Requires invoice ID and organization ID before calling.

Action Parameters

currency_id
customer_id
stringRequired
date
discount
discount_type
due_date
exchange_rate
ignore_auto_number_generation
invoice_id
stringRequired
invoice_number
is_discount_before_tax
is_inclusive_tax
line_items
arrayRequired
notes
organization_id
stringRequired
payment_terms
payment_terms_label
terms

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Update Item

Description

Tool to update details of a specific item. Use when you need to modify an existing item's attributes after fetching its current state.

Action Parameters

account_id
avatax_tax_code
avatax_use_code
custom_fields
description
hsn_or_sac
inventory_account_id
is_taxable
item_id
stringRequired
item_tax_preferences
item_type
locations
name
stringRequired
organization_id
stringRequired
product_type
purchase_account_id
purchase_description
purchase_rate
purchase_tax_exemption_id
purchase_tax_rule_id
rate
numberRequired
reorder_level
sales_tax_rule_id
sat_item_key_code
sku
tax_exemption_id
tax_id
tax_percentage
unitkey_code
vendor_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Update Sales Order

Description

Tool to update a specific sales order. Use when you need to modify an existing sales order (e.g., change dates, line items, or custom fields) after creation.

Action Parameters

contact_persons_associated
currency_id
custom_fields
customer_id
date
line_items
organization_id
stringRequired
salesorder_id
stringRequired
shipment_date
tax_exemption_code
tax_exemption_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Void Invoice

Description

Tool to mark an invoice as Void. Use when you need to void an existing invoice after reviewing any outstanding payments.

Action Parameters

invoice_id
stringRequired
organization_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired