Back to tools

AI Agent Tool

Zoho Books logo

Zoho Books

Cloud accounting software for small businesses with invoicing, expense tracking, and bank reconciliation.

Accounting SoftwareVerified

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

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.

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.

Inputs

name

Name of the employee.

email

Email of the employee.

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.

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.

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: {\

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

Inputs

customerId

The Id of the contact which will be deleted.

Inputs

invoiceId

ID of the invoice to get details.

print

Print the exported pdf.

Inputs

itemId

ID of the item to get details.

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.

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.

email

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.

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.

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