zoho.com
•One-click Login
About Zoho Books
Zoho Books is a cloud-based accounting platform targeting small and mid-sized businesses. It covers invoicing, expense tracking, bank reconciliation, project billing, and inventory management, with a REST API for integration with other systems. A permanently free plan is available for businesses with under $50,000 annual revenue. It integrates tightly with the wider Zoho ecosystem (Zoho CRM, Zoho Inventory, etc.) and supports multi-currency accounting.
AI Agent Use Cases
- Invoicing, bills, and expense tracking
- Automated bank reconciliation and feeds
- Multi-currency support
- Project billing and time tracking
- REST API for programmatic accounting data access
- Free plan for businesses under $50,000 annual revenue
Available Actions
These are the specific actions that AI agents can perform with this tool
Create Customer
Inputs
contactName
Display Name of the contact. Max-length [200].
companyName
Company Name of the contact. Max-length [200].
website
Website of the contact.
languageCode
The language of a contact.
customerSubType
Type of the customer.
creditLimit
Credit limit for a customer.
tags
An array of tag objects. **Example: {\
isPortalEnabled
To enable client portal for the contact.
currencyId
The id of the customer.
paymentTerms
Net payment term for the customer.
paymentTermsLabel
Label for the paymet due details.
notes
Commennts about the payment made by the contact.
exchangeRate
Exchange rate for the opening balance.
vatTreatment
Enter vat treatment.
gstNo
15 digit GST identification number of the customer.
avataxUseCode
Used to group like customers for exemption purposes. It is a custom value that links customers to a tax rule.
taxId
ID of the tax to be associated to the estimate.
Create Customer Payment
Inputs
customerId
Customer ID of the customer involved in the payment.
paymentMode
Mode through which payment is made.
amount
Amount paid in the respective payment.
date
Date on which payment is made. Format [yyyy-mm-dd]
referenceNumber
Reference number generated for the payment. A string of your choice can also be used as the reference number. Max-length [100]
description
Description about the payment.
invoices
List of invoice objects associated with the payment. Each invoice object contains `invoice_id`, `invoice_number`, `date`, `invoice_amount`, `amount_applied` and `balance_amount`. **Example: {\
exchangeRate
Exchange rate for the currency used in the invoices and customer
bankCharges
Denotes any additional bank charges.
customFields
A list of Additional field objects for the payments. **Example: {\
invoiceId
ID of the invoice to get payments of.
amountApplied
Amount paid for the invoice.
taxAmountWithheld
Amount withheld for tax.
accountId
ID of the cash/bank account the payment has to be deposited.
contactPersons
IDs of the contact persons the thank you mail has to be triggered.
Create Employee
Inputs
name
Name of the employee.
Email of the employee.
Create Estimate
Inputs
customerId
Customer ID of the customer involved in the payment.
currencyId
The id of the customer.
contactPersons
Array if contact person(S) for whom estimate has to be sent.
templateId
ID of the PDF template.
placeOfSupply
Place where the goods/services are supplied to. (If not given, `place of contact` given for the contact will be taken).
gstTreatment
Choose whether the contact is GST registered/unregistered/consumer/overseas.
gstNo
15 digit GST identification number of the customer.
estimateNumber
Search estimates by estimate number.
referenceNumber
Search estimates by reference number.
date
Search estimates by estimate date.
expiryDate
The date of expiration of the estimates.
exchangeRate
Exchange rate of the currency.
discount
Discount applied to the invoice. It can be either in % or in amount. e.g. 12.5% or 190. Max-length [100]
isDiscountBeforeTax
Used to specify how the discount has to applied. Either before or after the calculation of tax.
discountType
How the discount is specified. Allowed values are entity_level or item_level.
isInclusiveTax
Used to specify whether the line item rates are inclusive or exclusive of tax.
customBody
customSubject
salespersonName
Name of the sales person.
customFields
A list of Additional field objects for the payments. **Example: {\
lineItems
A list of line items objects of an estimate. **Example: {\
notes
The notes added below expressing gratitude or for conveying some information.
terms
The terms added below expressing gratitude or for conveying some information.
shippingCharge
Shipping charges applied to the invoice.
adjustment
adjustmentDescription
taxId
ID of the tax to be associated to the estimate.
taxExemptionId
ID of the tax exemption.
taxAuthorityId
ID of the tax authority. Tax authority depends on the location of the customer. For example, if the customer is located in NY, then the tax authority is NY tax authority.
avataxUseCode
Used to group like customers for exemption purposes. It is a custom value that links customers to a tax rule.
avataxExemptNo
ID of the tax exemption.
vatTreatment
Enter vat treatment.
taxTreatment
VAT treatment for the estimate.
isReverseChargeApplied
Used to specify whether the transaction is applicable for Domestic Reverse Charge (DRC) or not.
itemId
ID of the item to get details.
lineItemId
ID of the line item. Mandatory, if the existing line item has to be updated. If empty, a new line item will be created.
name
Name of the line item.
description
Description of the line item.
rate
Rate of the line item.
unit
Unit of the line item. E.g. kgs, Nos
quantity
The quantity of line item.
projectId
Id of the project
acceptRetainer
The \
retainerPercentage
Pass the \
send
Send the estimate to the contact person(s) associated with the estimate.
ignoreAutoNumberGeneration
Ignore auto estimate number generation for this estimate. This mandates the estimate number.
Create Invoice
Inputs
customerId
ID of the customer the invoice has to be created.
invoiceNumber
Search invoices by invoice number. Max-length [100]
placeOfSupply
Place where the goods/services are supplied to. (If not given, `place of contact` given for the contact will be taken).
vatTreatment
Enter vat treatment.
referenceNumber
The reference number of the invoice.
templateId
ID of the pdf template associated with the invoice.
date
Search invoices by invoice date. Default date format is yyyy-mm-dd.
paymentTerms
Payment terms in days e.g. 15, 30, 60. Invoice due date will be calculated based on this. Max-length [100]
paymentTermsLabel
Used to override the default payment terms label. Default value for 15 days is \
dueDate
Search invoices by due date. Default date format is yyyy-mm-dd. `Variants: due_date_start, due_date_end, due_date_before and due_date_after`
discount
Discount applied to the invoice. It can be either in % or in amount. e.g. 12.5% or 190. Max-length [100]
isDiscountBeforeTax
Used to specify how the discount has to applied. Either before or after the calculation of tax.
discountType
How the discount is specified. Allowed values are entity_level or item_level.
isInclusiveTax
Used to specify whether the line item rates are inclusive or exclusive of tax.
exchangeRate
Exchange rate of the currency.
recurringInvoiceId
ID of the recurring invoice from which the invoice is created.
invoicedEstimateId
ID of the invoice from which the invoice is created.
salespersonName
Name of the sales person.
customFields
A list of custom fields objects for an invoice. **Example: {\
lineItems
A list of line items objects of an estimate. **Example: {\
paymentOptions
Payment options for the invoice, online payment gateways and bank accounts. Will be displayed in the pdf. **Example: {\
allowPartialPayments
Boolean to check if partial payments are allowed for the contact
customBody
customSubject
notes
The notes added below expressing gratitude or for conveying some information.
terms
The terms added below expressing gratitude or for conveying some information.
shippingCharge
Shipping charges applied to the invoice.
adjustment
adjustmentDescription
reason
Reason
taxAuthorityId
ID of the tax authority. Tax authority depends on the location of the customer. For example, if the customer is located in NY, then the tax authority is NY tax authority.
taxExemptionId
ID of the tax exemption.
taxId
ID of the tax.
expenseId
salesorderItemId
ID of the sales order line item which is invoices.
avataxTaxCode
A tax code is a unique label used to group Items (products, services, or charges) together. Refer the [link][2] for more deails. Max-length [25]
timeEntryIds
IDs of the time entries associated with the project.
send
Send the estimate to the contact person(s) associated with the estimate.
ignoreAutoNumberGeneration
Ignore auto estimate number generation for this estimate. This mandates the estimate number.
Create Item
Inputs
name
Name of the item. Max-length [100]
rate
Price of the item.
description
Description for the item. Max-length [2000]
taxId
ID of the tax to be associated to the item.
taxPercentage
Percent of the tax.
sku
SKU value of item,should be unique throughout the product
productType
Specify the type of an item.
hsnOrSac
HSN Code.
isTaxable
Boolean to track the taxability of the item.
taxExemptionId
ID of the tax exemption. Mandatory, if is_taxable is false.
accountId
ID of the account to which the item has to be associated with.
itemType
Type of the item. Default value will be sales.
purchaseDescription
Purchase description for the item.
purchaseRate
Purchase price of the item.
purchaseAccountId
ID of the COGS account to which the item has to be associated with. Mandatory, if item_type is purchase / sales and purchase / inventory.
inventoryAccountId
ID of the stock account to which the item has to be associated with. Mandatory, if item_type is inventory.
vendorId
Preferred vendor ID.
reorderLevel
Reorder level of the item.
initialStock
Opening stock of the item.
initialStockRate
Unit price of the opening stock.
itemTaxPreferences
A list of item tax objects. **Format: {\
Create Sales Order
Inputs
customerId
ID of the customer to whom the sales order has to be created.
contactPersons
A list of contact person(s) for whom sales order has to be sent.
date
The date, the sales order is created.
shipmentDate
Shipping date of sales order.
customFields
A list of custom field objects for a sales order. **Example: {\
placeOfSupply
Place where the goods/services are supplied to. (If not given, `place of contact` given for the contact will be taken).
salespersonId
ID of the salesperson.
merchantId
ID of the merchant.
gstTreatment
Choose whether the contact is GST registered/unregistered/consumer/overseas.
gstNo
15 digit GST identification number of the customer.
isInclusiveTax
Used to specify whether the line item rates are inclusive or exclusive of tax.
lineItems
A list of line items objects of a sales order. **Example: {\
notes
Notes for this Sales Order.
terms
The terms added below expressing gratitude or for conveying some information.
billingAddressId
ID of the Billing Address
shippingAddressId
ID of the Shipping Address.
crmOwnerId
crmCustomReferenceId
vatTreatment
Enter vat treatment.
taxTreatment
VAT treatment for the invoice.
salesorderNumber
Mandatory if auto number generation is disabled.
referenceNumber
**For Customer Only** : If a contact is assigned to any particular user, that user can manage transactions for the contact
isUpdateCustomer
Boolean to update billing address of customer.
discount
Discount applied to the sales order. It can be either in % or in amount. e.g. 12.5% or 190.
exchangeRate
Exchange rate of the currency.
salespersonName
Name of the sales person.
notesDefault
Default Notes for the Sales Order
termsDefault
Default Terms of the Sales Order.
taxId
ID of the tax.
taxAuthorityId
ID of the tax authority. Tax authority depends on the location of the customer. For example, if the customer is located in NY, then the tax authority is NY tax authority.
taxExemptionId
ID of the tax exemption.
taxAuthorityName
Tax Authority
taxExemptionCode
Code of Tax Exemption that is applied.
avataxExemptNo
ID of the tax exemption.
avataxUseCode
Used to group like customers for exemption purposes. It is a custom value that links customers to a tax rule.
shippingCharge
Shipping charges applied to the invoice.
adjustment
adjustmentDescription
deliveryMethod
estimateId
ID of the estimate associated with the Sales Order.
isDiscountBeforeTax
Used to specify how the discount has to applied. Either before or after the calculation of tax.
discountType
How the discount is specified. Allowed values are entity_level or item_level.
pricebookId
templateId
ID of the PDF template.
documents
A list of documents.
zcrmPotentialId
zcrmPotentialName
ignoreAutoNumberGeneration
Ignore auto sales order number generation for this sales order. This mandates the sales order number.
canSendInMail
Can the file be sent in mail.
totalFiles
Total number of files.
doc
Document that is to be attached
Delete Contact
Inputs
customerId
The Id of the contact which will be deleted.
Get Invoice
Inputs
invoiceId
ID of the invoice to get details.
Print the exported pdf.
Get Item
Inputs
itemId
ID of the item to get details.
List Contacts
List Expenses
Inputs
description
Search expenses by description.Variants `description_startswith` and `description_contains`. Max-length [100]
referenceNumber
Search expenses by reference number. Variants `reference_number_startswith` and `reference_number_contains`. Max-length [100]
date
Search expenses by expense date. Variants `date_start`, `date_end`, `date_before` and `date_after`. Format [yyyy-mm-dd]
status
Search expenses by expense status.
amount
Search expenses by amount.
accountName
Search expenses by expense account name. Max-length [100]
customerName
Search expenses by customer name. Max-length [100]
vendorName
Search expenses by vendor name.
customerId
ID of the expense account.
vendorId
ID of the vendor the expense is made.
recurringExpenseId
Search expenses by recurring expense id.
paidThroughAccountId
Search expenses by paid through account id.
searchText
Search expenses by account name or description or `customer name` or `vendor name`. Max-length [100]
sortColumn
Sort expenses.
filterBy
Filter expenses by expense status.
List Invoices
Inputs
invoiceNumber
Search invoices by invoice number. Max-length [100]
itemName
Search invoices by item name. Max-length [100]
itemId
Search invoices by item id.
itemDescription
Search invoices by item description. Max-length [100]
referenceNumber
The reference number of the invoice.
customerName
The name of the customer. Max-length [100]
recurringInvoiceId
ID of the recurring invoice from which the invoice is created.
Search contacts by email id. Max-length [100]
total
The total amount to be paid.
balance
The unpaid amount.
customField
Search invoices by custom fields.
date
Search invoices by invoice date. Default date format is `yyyy-mm-dd`.
dueDate
Search invoices by due date. Default date format is `yyyy-mm-dd`.
lastModifiedTime
Last Modified Time
status
Search invoices by invoice status.
customerId
ID of the customer the invoice has to be created.
filterBy
Filter invoices by any status or payment expected date.
searchText
Search invoices by invoice number or purchase order or customer name. Max-length [100]
sortColumn
Sort invoices.
Make API Call
Inputs
queryString
Query string of the request.
requestMethod
Http method to use in the request.
relativeUrl
A path relative to Zoho Books to send the request against. For example, use `/expenses` for [List Expenses API](https://www.zoho.com/books/api/v3/expenses/#list-expenses). [See the documentation](https://www.zoho.com/books/api/v3/introduction/)
headers
Headers to send in the request.
requestBody
Body of the request.
Update Sales Order
Inputs
salesorderId
ID of the sales order to update.
customerId
ID of the customer to whom the sales order has to be created.
contactPersons
A list of contact person(s) for whom sales order has to be sent.
date
The date, the sales order is created.
shipmentDate
Shipping date of sales order.
customFields
A list of custom field objects for a sales order. **Example: {\
placeOfSupply
Place where the goods/services are supplied to. (If not given, `place of contact` given for the contact will be taken).
salespersonId
ID of the salesperson.
merchantId
ID of the merchant.
gstTreatment
Choose whether the contact is GST registered/unregistered/consumer/overseas.
gstNo
15 digit GST identification number of the customer.
isInclusiveTax
Used to specify whether the line item rates are inclusive or exclusive of tax.
lineItems
A list of line items objects of a sales order. **Example: {\
notes
Notes for this Sales Order.
terms
The terms added below expressing gratitude or for conveying some information.
billingAddressId
ID of the Billing Address
shippingAddressId
ID of the Shipping Address.
crmOwnerId
crmCustomReferenceId
vatTreatment
Enter vat treatment.
taxTreatment
VAT treatment for the invoice.
salesorderNumber
Mandatory if auto number generation is disabled.
referenceNumber
**For Customer Only** : If a contact is assigned to any particular user, that user can manage transactions for the contact
isUpdateCustomer
Boolean to update billing address of customer.
discount
Discount applied to the sales order. It can be either in % or in amount. e.g. 12.5% or 190.
exchangeRate
Exchange rate of the currency.
salespersonName
Name of the sales person.
notesDefault
Default Notes for the Sales Order
termsDefault
Default Terms of the Sales Order.
taxId
ID of the tax.
taxAuthorityId
ID of the tax authority. Tax authority depends on the location of the customer. For example, if the customer is located in NY, then the tax authority is NY tax authority.
taxExemptionId
ID of the tax exemption.
taxAuthorityName
Tax Authority
taxExemptionCode
Code of Tax Exemption that is applied.
avataxExemptNo
ID of the tax exemption.
avataxUseCode
Used to group like customers for exemption purposes. It is a custom value that links customers to a tax rule.
shippingCharge
Shipping charges applied to the invoice.
adjustment
deliveryMethod
estimateId
ID of the estimate associated with the Sales Order.
isDiscountBeforeTax
Used to specify how the discount has to applied. Either before or after the calculation of tax.
discountType
How the discount is specified. Allowed values are entity_level or item_level.
adjustmentDescription
pricebookId
templateId
ID of the PDF template.
documents
A list of documents.
zcrmPotentialId
zcrmPotentialName
ignoreAutoNumberGeneration
Ignore auto sales order number generation for this sales order. This mandates the sales order number.
canSendInMail
Can the file be sent in mail.
totalFiles
Total number of files.
doc
Document that is to be attached