Zoho Books
App · Accounting & Finance · 20 actions
Online accounting. Create contacts, items, invoices and estimates, email invoices, record customer payments and expenses, and read your chart of accounts.
Actions
| Action | What it does |
|---|---|
| Create a contact | Create a customer or vendor. |
| Create an estimate | Create an estimate (quote) for a customer, as a draft or emailed at once. |
| Create an invoice | Create an invoice for a customer, as a draft or emailed at once. |
| Create an item | Create a product or service to sell on invoices and estimates. |
| Email an invoice | Email an invoice to the addresses you give, from Zoho Books. |
| Get a contact | Get a contact's details, addresses, contact persons and outstanding balance. |
| Get an invoice | Get an invoice with its lines, totals, balance and status. |
| List chart of accounts | List the organization's accounts, with their ids, types and optionally balances. |
| List contacts | List customers and vendors, optionally filtered and searched. |
| List customer payments | List payments received from customers. |
| List estimates | List estimates (quotes) by status or customer. |
| List expenses | List recorded expenses by status, customer or date. |
| List invoices | List invoices by status, customer or date. |
| List items | List the products and services you sell. |
| Mark an estimate as accepted | Record that the customer accepted an estimate. |
| Mark an invoice as sent | Mark a draft invoice as sent without emailing it, so it counts as owed and can take payments. |
| Record a customer payment | Record a payment from a customer and apply it to one of their invoices. |
| Record an expense | Record money spent, against an expense account. |
| Update a contact | Change a contact's name, company, website, billing address or notes. |
| Void an invoice | Void an invoice, cancelling it while keeping it on record. |
Create a contact
Create a customer or vendor. The email, name and phone become its primary contact person.
Inputs
- Display name
contact_nametextRequired - The contact's display name. Must be unique.
- Type
contact_typetext - Optional. Customer or vendor. Defaults to customer.One of:
customer,vendor. Default:customer. - Business or individual
customer_sub_typetext - Optional.One of:
business,individual. - Company name
company_nametext - Optional.
- First name
first_nametext - Optional. The primary contact person's first name.
- Last name
last_nametext - Optional. The primary contact person's last name.
- Email
emailtext - Optional. The primary contact person's email; invoices and estimates are emailed here.
- Phone
phonetext - Optional. The primary contact person's phone.
- Website
websitetext - Optional.
- Billing street
addresstext - Optional. Street address for billing.
- Billing city
citytext - Optional.
- Billing state or region
statetext - Optional.
- Billing postal code
zip_codetext - Optional.
- Billing country
countrytext - Optional.
- Notes
notestext - Optional. Internal notes about the contact.
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
A Zoho Books contact.
billing_addressobject- A postal address.
company_nametext- The company name.
contact_idtext- The contact's id.
contact_nametext- The display name.
contact_personslist- The contact's people.
contact_typetext- customer or vendor.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
currency_codetext- The contact's currency, e.g. USD.
customer_sub_typetext- business or individual.
emailtext- The primary contact person's email.
last_modified_timetext- When it was last changed.
notestext- Internal notes.
outstanding_receivable_amountnumber- How much the customer owes.
payment_termsnumber- Payment terms in days.
payment_terms_labeltext- The payment terms' name.
phonetext- The primary contact person's phone.
shipping_addressobject- A postal address.
statustext- active or inactive.
unused_credits_receivable_amountnumber- Unused credits.
websitetext- The website.
Example output
{
"company_name": "Bowman & Co",
"contact_id": "460000000026049",
"contact_name": "Bowman & Co",
"contact_type": "customer",
"created_time": "2026-09-01T10:15:00-0700",
"currency_code": "USD",
"email": "billing@bowman.example",
"last_modified_time": "2026-09-01T10:15:00-0700",
"outstanding_receivable_amount": 250,
"status": "active"
}Create an estimate
Create an estimate (quote) for a customer, as a draft or emailed at once.
Inputs
- Customer ID
customer_idtextRequired - The customer's contact id, from 'List contacts' or 'Create a contact'.
- Item ID
item_idtext - Optional. The item to quote, from 'List items'. Give this or a Line name.
- Line name
item_nametext - Optional. The line's name when it is not an item.
- Quantity
quantitynumber - Optional. How many. Defaults to 1.
- Unit price
ratenumber - Optional. The price of one. Defaults to the item's own rate.At least 0.
- Line description
descriptiontext - Optional. Text shown on the line.
- Tax
tax_idtext - Optional. The tax to apply.
- Line items (advanced)
line_itemslist - Optional. A list of lines for a document with several, e.g. [{"item_id": "460000000017088", "quantity": 2, "rate": 150}]. Each line takes item_id, name, description, quantity, rate, discount and tax_id. When given it replaces the single-line fields above.
- Estimate date
datedate - Optional. Defaults to today.
- Expiry date
expiry_datedate - Optional. The last day the estimate is valid.
- Reference number
reference_numbertext - Optional. Your own reference, such as a PO number.
- Notes
notestext - Optional. Notes shown to the customer on the document.
- Terms & conditions
termstext - Optional. Terms shown on the document.
- Email it to the customer now
sendtrue/false - Optional. Email the document to the customer's contact persons as it is created. Off leaves it a draft.Default:
false. - Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
A Zoho Books estimate.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
currency_codetext- The currency, e.g. USD.
customer_idtext- The customer's contact id.
customer_nametext- The customer's name.
datetext- The estimate date (YYYY-MM-DD).
estimate_idtext- The estimate's id.
estimate_numbertext- The estimate number, e.g. EST-000017.
expiry_datetext- The last day it is valid (YYYY-MM-DD).
last_modified_timetext- When it was last changed.
line_itemslist- The estimate's lines.
notestext- Notes shown to the customer.
reference_numbertext- Your reference.
statustext- draft, sent, invoiced, accepted, declined or expired.
sub_totalnumber- The total before tax.
tax_totalnumber- The tax.
termstext- Terms and conditions.
totalnumber- The estimate total.
Example output
{
"customer_id": "460000000026049",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"estimate_id": "460000000030041",
"estimate_number": "EST-000017",
"expiry_date": "2026-10-30",
"status": "draft",
"total": 360
}Create an invoice
Create an invoice for a customer, as a draft or emailed at once. Every line needs an item.
Inputs
- Customer ID
customer_idtextRequired - The customer's contact id, from 'List contacts' or 'Create a contact'.
- Item ID
item_idtext - The item to bill, from 'List items' or 'Create an item'. Required unless you give Line items.
- Quantity
quantitynumber - Optional. How many. Defaults to 1.
- Unit price
ratenumber - Optional. The price of one. Defaults to the item's own rate.At least 0.
- Line description
descriptiontext - Optional. Text shown on the line.
- Tax
tax_idtext - Optional. The tax to apply.
- Line items (advanced)
line_itemslist - Optional. A list of lines for a document with several, e.g. [{"item_id": "460000000017088", "quantity": 2, "rate": 150}]. Each line takes item_id, name, description, quantity, rate, discount and tax_id. When given it replaces the single-line fields above.
- Invoice date
datedate - Optional. Defaults to today.
- Due date
due_datedate - Optional. Defaults to the customer's payment terms.
- Reference number
reference_numbertext - Optional. Your own reference, such as a PO number.
- Notes
notestext - Optional. Notes shown to the customer on the document.
- Terms & conditions
termstext - Optional. Terms shown on the document.
- Email it to the customer now
sendtrue/false - Optional. Email the document to the customer's contact persons as it is created. Off leaves it a draft.Default:
false. - Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
A Zoho Books invoice.
balancenumber- The amount still owed.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
currency_codetext- The currency, e.g. USD.
customer_idtext- The customer's contact id.
customer_nametext- The customer's name.
datetext- The invoice date (YYYY-MM-DD).
due_datetext- The due date (YYYY-MM-DD).
invoice_idtext- The invoice's id.
invoice_numbertext- The invoice number, e.g. INV-000042.
invoice_urltext- The customer's link to view the invoice.
last_modified_timetext- When it was last changed.
line_itemslist- The invoice's lines.
notestext- Notes shown to the customer.
payment_madenumber- Payments applied so far.
reference_numbertext- Your reference.
statustext- draft, sent, viewed, overdue, partially_paid, paid or void.
sub_totalnumber- The total before tax.
tax_totalnumber- The tax.
termstext- Terms and conditions.
totalnumber- The invoice total.
Example output
{
"balance": 240,
"currency_code": "USD",
"customer_id": "460000000026049",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"due_date": "2026-10-15",
"invoice_id": "460000000028192",
"invoice_number": "INV-000042",
"line_items": [
{
"item_id": "460000000017088",
"name": "Consulting hour",
"quantity": 2,
"rate": 120
}
],
"status": "draft",
"total": 240
}Create an item
Create a product or service to sell on invoices and estimates.
Inputs
- Name
nametextRequired - The item's name. Must be unique.
- Selling price
ratenumberRequired - The price of one.At least 0.
- Description
descriptiontext - Optional. Shown on invoice lines.
- SKU
skutext - Optional. Your stock-keeping code. Must be unique.
- Tax
tax_idtext - Optional. The tax to apply.
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
A Zoho Books item.
descriptiontext- The sales description.
item_idtext- The item's id.
nametext- The item's name.
ratenumber- The selling price.
skutext- The SKU.
statustext- active or inactive.
tax_idtext- The default tax's id.
tax_nametext- The default tax's name.
tax_percentagenumber- The default tax's rate.
unittext- The unit, e.g. hrs.
Example output
{
"description": "One hour of consulting",
"item_id": "460000000017088",
"name": "Consulting hour",
"rate": 120,
"sku": "CONS-1H",
"status": "active"
}Email an invoice
Email an invoice to the addresses you give, from Zoho Books. A draft is marked sent.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's id, from 'List invoices', or its address in Zoho Books (books.zoho.com/app/.../invoices/<id>).
- To
to_mail_idslistRequired - One or more email addresses, separated by commas.
- Cc
cc_mail_idslist - Optional. Email addresses to copy, separated by commas.
- Subject
subjecttext - Optional. Defaults to your Zoho Books email template.
- Body
bodytext - Optional. Defaults to your Zoho Books email template.
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
The emailed invoice.
emailed_tolist- The addresses it was sent to.
invoice_idtext- The invoice's id.
messagetext- Zoho's confirmation.
Example output
{
"emailed_to": [
"billing@bowman.example"
],
"invoice_id": "460000000028192",
"message": "Your invoice has been sent."
}Get a contact
Get a contact's details, addresses, contact persons and outstanding balance.
Inputs
- Contact ID
contact_idtextRequired - The contact's id, from 'List contacts', or its address in Zoho Books (books.zoho.com/app/.../contacts/<id>).
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
A Zoho Books contact.
billing_addressobject- A postal address.
company_nametext- The company name.
contact_idtext- The contact's id.
contact_nametext- The display name.
contact_personslist- The contact's people.
contact_typetext- customer or vendor.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
currency_codetext- The contact's currency, e.g. USD.
customer_sub_typetext- business or individual.
emailtext- The primary contact person's email.
last_modified_timetext- When it was last changed.
notestext- Internal notes.
outstanding_receivable_amountnumber- How much the customer owes.
payment_termsnumber- Payment terms in days.
payment_terms_labeltext- The payment terms' name.
phonetext- The primary contact person's phone.
shipping_addressobject- A postal address.
statustext- active or inactive.
unused_credits_receivable_amountnumber- Unused credits.
websitetext- The website.
Example output
{
"company_name": "Bowman & Co",
"contact_id": "460000000026049",
"contact_name": "Bowman & Co",
"contact_type": "customer",
"created_time": "2026-09-01T10:15:00-0700",
"currency_code": "USD",
"email": "billing@bowman.example",
"last_modified_time": "2026-09-01T10:15:00-0700",
"outstanding_receivable_amount": 250,
"status": "active"
}Get an invoice
Get an invoice with its lines, totals, balance and status.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's id, from 'List invoices', or its address in Zoho Books (books.zoho.com/app/.../invoices/<id>).
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
A Zoho Books invoice.
balancenumber- The amount still owed.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
currency_codetext- The currency, e.g. USD.
customer_idtext- The customer's contact id.
customer_nametext- The customer's name.
datetext- The invoice date (YYYY-MM-DD).
due_datetext- The due date (YYYY-MM-DD).
invoice_idtext- The invoice's id.
invoice_numbertext- The invoice number, e.g. INV-000042.
invoice_urltext- The customer's link to view the invoice.
last_modified_timetext- When it was last changed.
line_itemslist- The invoice's lines.
notestext- Notes shown to the customer.
payment_madenumber- Payments applied so far.
reference_numbertext- Your reference.
statustext- draft, sent, viewed, overdue, partially_paid, paid or void.
sub_totalnumber- The total before tax.
tax_totalnumber- The tax.
termstext- Terms and conditions.
totalnumber- The invoice total.
Example output
{
"balance": 240,
"currency_code": "USD",
"customer_id": "460000000026049",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"due_date": "2026-10-15",
"invoice_id": "460000000028192",
"invoice_number": "INV-000042",
"line_items": [
{
"item_id": "460000000017088",
"name": "Consulting hour",
"quantity": 2,
"rate": 120
}
],
"status": "draft",
"total": 240
}List chart of accounts
List the organization's accounts, with their ids, types and optionally balances.
Inputs
- Show
filter_bytext - Optional. A group of accounts.One of:
AccountType.All(All),AccountType.Active(Active),AccountType.Inactive(Inactive),AccountType.Asset(Asset),AccountType.Liability(Liability),AccountType.Equity(Equity),AccountType.Income(Income),AccountType.Expense(Expense). - Account types
account_typeslist - Optional. Only these exact types of account.One or more of:
cash,bank,credit_card(Credit card),accounts_receivable(Accounts receivable),other_current_asset(Other current asset),fixed_asset(Fixed asset),other_asset(Other asset),accounts_payable(Accounts payable),other_current_liability(Other current liability),long_term_liability(Long term liability), and 6 more. - Search
search_texttext - Optional. Only records matching this text.
- Sort by
sort_columntext - Optional. The field to sort by.One of:
account_name(Account),account_type(Account type),account_code(Account code). - Include balances
show_balancetrue/false - Optional. Also return each account's current balance.Default:
false. - Page
pagenumber - Optional. Which page of results to return, starting at 1.At least 1.
- Page size
per_pagenumber - Optional. How many to return per page, 1 to 200. Zoho's default is 200.From 1 to 200.
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
chartofaccountslist- The accounts.
countnumber- How many accounts are on this page.
has_more_pagetrue/false- Whether another page is available.
pagenumber- This page's number.
per_pagenumber- The page size.
Example output
{
"chartofaccounts": [
{
"account_code": "",
"account_id": "460000000000403",
"account_name": "Office Supplies",
"account_type": "expense",
"is_active": true
}
],
"count": 1,
"has_more_page": false,
"page": 1,
"per_page": 200
}List contacts
List customers and vendors, optionally filtered and searched.
Inputs
- Type
contact_typetext - Optional. Only customers, or only vendors.One of:
customer,vendor. - Search
search_texttext - Optional. Only records matching this text.
- Show
filter_bytext - Optional. Which contacts to include.One of:
Status.All(All),Status.Active(Active),Status.Inactive(Inactive),Invoice.OverDue(With overdue invoices),Invoice.Unpaid(With unpaid invoices). - Sort by
sort_columntext - Optional. The field to sort by.One of:
contact_name(Name),first_name(First name),last_name(Last name),email,outstanding_receivable_amount(Amount owed),created_time(Created),last_modified_time(Last modified). - Page
pagenumber - Optional. Which page of results to return, starting at 1.At least 1.
- Page size
per_pagenumber - Optional. How many to return per page, 1 to 200. Zoho's default is 200.From 1 to 200.
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
contactslist- The contacts.
countnumber- How many contacts are on this page.
has_more_pagetrue/false- Whether another page is available.
pagenumber- This page's number.
per_pagenumber- The page size.
Example output
{
"contacts": [
{
"company_name": "Bowman & Co",
"contact_id": "460000000026049",
"contact_name": "Bowman & Co",
"contact_type": "customer",
"created_time": "2026-09-01T10:15:00-0700",
"currency_code": "USD",
"email": "billing@bowman.example",
"last_modified_time": "2026-09-01T10:15:00-0700",
"outstanding_receivable_amount": 250,
"status": "active"
}
],
"count": 1,
"has_more_page": false,
"page": 1,
"per_page": 200
}List customer payments
List payments received from customers.
Inputs
- Customer ID
customer_idtext - Optional. Only this customer's records (a contact id).
- Payment mode
payment_modetext - Optional. Only payments made this way.One of:
cash,check,creditcard(Credit card),banktransfer(Bank transfer),bankremittance(Bank remittance),others(Other). - Search
search_texttext - Optional. Only records matching this text.
- Page
pagenumber - Optional. Which page of results to return, starting at 1.At least 1.
- Page size
per_pagenumber - Optional. How many to return per page, 1 to 200. Zoho's default is 200.From 1 to 200.
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
countnumber- How many customer payments are on this page.
customer_paymentslist- The customer payments.
has_more_pagetrue/false- Whether another page is available.
pagenumber- This page's number.
per_pagenumber- The page size.
Example output
{
"count": 1,
"customer_payments": [
{
"amount": 240,
"customer_id": "460000000026049",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"invoices": [
{
"amount_applied": 240,
"invoice_id": "460000000028192"
}
],
"payment_id": "460000000031001",
"payment_mode": "banktransfer",
"payment_number": "7"
}
],
"has_more_page": false,
"page": 1,
"per_page": 200
}List estimates
List estimates (quotes) by status or customer.
Inputs
- Status
statustext - Optional. Only estimates with this status.One of:
draft,sent,invoiced,accepted,declined,expired. - Customer ID
customer_idtext - Optional. Only this customer's records (a contact id).
- Search
search_texttext - Optional. Only records matching this text.
- Sort by
sort_columntext - Optional. The field to sort by.One of:
customer_name(Customer),estimate_number(Estimate number),date,total,created_time(Created),last_modified_time(Last modified). - Page
pagenumber - Optional. Which page of results to return, starting at 1.At least 1.
- Page size
per_pagenumber - Optional. How many to return per page, 1 to 200. Zoho's default is 200.From 1 to 200.
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
countnumber- How many estimates are on this page.
estimateslist- The estimates.
has_more_pagetrue/false- Whether another page is available.
pagenumber- This page's number.
per_pagenumber- The page size.
Example output
{
"count": 1,
"estimates": [
{
"customer_id": "460000000026049",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"estimate_id": "460000000030041",
"estimate_number": "EST-000017",
"expiry_date": "2026-10-30",
"status": "draft",
"total": 360
}
],
"has_more_page": false,
"page": 1,
"per_page": 200
}List expenses
List recorded expenses by status, customer or date.
Inputs
- Status
statustext - Optional. Only expenses with this status.One of:
unbilled,invoiced,reimbursed,non-billable,billable. - Customer ID
customer_idtext - Optional. Only this customer's records (a contact id).
- Search
search_texttext - Optional. Only records matching this text.
- From date
date_startdate - Optional. Only records dated on or after this day.
- To date
date_enddate - Optional. Only records dated on or before this day.
- Sort by
sort_columntext - Optional. The field to sort by.One of:
date,account_name(Account),total,bcy_total(Total (base currency)),reference_number(Reference),customer_name(Customer),created_time(Created). - Page
pagenumber - Optional. Which page of results to return, starting at 1.At least 1.
- Page size
per_pagenumber - Optional. How many to return per page, 1 to 200. Zoho's default is 200.From 1 to 200.
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
countnumber- How many expenses are on this page.
expenseslist- The expenses.
has_more_pagetrue/false- Whether another page is available.
pagenumber- This page's number.
per_pagenumber- The page size.
Example output
{
"count": 1,
"expenses": [
{
"account_id": "460000000000403",
"account_name": "Office Supplies",
"amount": 45.5,
"date": "2026-09-30",
"description": "Printer paper",
"expense_id": "460000000032005",
"paid_through_account_name": "Petty Cash",
"status": "nonbillable",
"total": 45.5
}
],
"has_more_page": false,
"page": 1,
"per_page": 200
}List invoices
List invoices by status, customer or date.
Inputs
- Status
statustext - Optional. Only invoices with this status.One of:
draft,sent,viewed,overdue,unpaid,partially_paid(Partially paid),paid,void. - Customer ID
customer_idtext - Optional. Only this customer's records (a contact id).
- Search
search_texttext - Optional. Only records matching this text.
- From date
date_startdate - Optional. Only records dated on or after this day.
- To date
date_enddate - Optional. Only records dated on or before this day.
- Sort by
sort_columntext - Optional. The field to sort by.One of:
customer_name(Customer),invoice_number(Invoice number),date,due_date(Due date),total,balance,created_time(Created). - Page
pagenumber - Optional. Which page of results to return, starting at 1.At least 1.
- Page size
per_pagenumber - Optional. How many to return per page, 1 to 200. Zoho's default is 200.From 1 to 200.
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
countnumber- How many invoices are on this page.
has_more_pagetrue/false- Whether another page is available.
invoiceslist- The invoices.
pagenumber- This page's number.
per_pagenumber- The page size.
Example output
{
"count": 1,
"has_more_page": false,
"invoices": [
{
"balance": 240,
"currency_code": "USD",
"customer_id": "460000000026049",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"due_date": "2026-10-15",
"invoice_id": "460000000028192",
"invoice_number": "INV-000042",
"line_items": [
{
"item_id": "460000000017088",
"name": "Consulting hour",
"quantity": 2,
"rate": 120
}
],
"status": "draft",
"total": 240
}
],
"page": 1,
"per_page": 200
}List items
List the products and services you sell.
Inputs
- Search
search_texttext - Optional. Only records matching this text.
- Show
filter_bytext - Optional. Active, inactive or all items.One of:
Status.All(All),Status.Active(Active),Status.Inactive(Inactive). - Sort by
sort_columntext - Optional. The field to sort by.One of:
name,rate,tax_name(Tax). - Page
pagenumber - Optional. Which page of results to return, starting at 1.At least 1.
- Page size
per_pagenumber - Optional. How many to return per page, 1 to 200. Zoho's default is 200.From 1 to 200.
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
countnumber- How many items are on this page.
has_more_pagetrue/false- Whether another page is available.
itemslist- The items.
pagenumber- This page's number.
per_pagenumber- The page size.
Example output
{
"count": 1,
"has_more_page": false,
"items": [
{
"description": "One hour of consulting",
"item_id": "460000000017088",
"name": "Consulting hour",
"rate": 120,
"sku": "CONS-1H",
"status": "active"
}
],
"page": 1,
"per_page": 200
}Mark an estimate as accepted
Record that the customer accepted an estimate. A draft is marked sent first.
Inputs
- Estimate ID
estimate_idtextRequired - The estimate's id, from 'List estimates' or 'Create an estimate'.
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
The estimate whose status changed.
estimate_idtext- The estimate's id.
messagetext- Zoho's confirmation.
statustext- The new status.
Example output
{
"estimate_id": "460000000030041",
"message": "Estimate status has been changed to Accepted",
"status": "accepted"
}Mark an invoice as sent
Mark a draft invoice as sent without emailing it, so it counts as owed and can take payments.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's id, from 'List invoices', or its address in Zoho Books (books.zoho.com/app/.../invoices/<id>).
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
The invoice whose status changed.
invoice_idtext- The invoice's id.
messagetext- Zoho's confirmation.
statustext- The new status.
Example output
{
"invoice_id": "460000000028192",
"message": "Invoice status has been changed to Sent.",
"status": "sent"
}Record a customer payment
Record a payment from a customer and apply it to one of their invoices. The invoice must not be a draft.
Inputs
- Customer ID
customer_idtextRequired - The customer's contact id, from 'List contacts' or 'Create a contact'.
- Invoice ID
invoice_idtextRequired - The invoice the payment pays, from 'List invoices'.
- Amount
amountnumberRequired - The amount received.At least 0.
- Payment mode
payment_modetextRequired - How the customer paid.One of:
cash,check,creditcard(Credit card),banktransfer(Bank transfer),bankremittance(Bank remittance),others(Other). - Payment date
datedate - Optional. Defaults to today.
- Amount applied to the invoice
amount_appliednumber - Optional. Defaults to the whole amount; any rest stays as the customer's credit.At least 0.
- Reference number
reference_numbertext - Optional. Your own reference, such as a PO number.
- Description
descriptiontext - Optional. A note on the payment.
- Deposit to
account_idtext - Optional. The cash or bank account the money went into. Defaults to Undeposited Funds.
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
A Zoho Books customer payment.
amountnumber- The amount received.
customer_idtext- The customer's contact id.
customer_nametext- The customer's name.
datetext- The payment date (YYYY-MM-DD).
descriptiontext- The note on the payment.
invoiceslist- The invoices it was applied to.
payment_idtext- The payment's id.
payment_modetext- How the customer paid.
payment_numbertext- The payment number.
reference_numbertext- Your reference.
unused_amountnumber- The part not applied to invoices.
Example output
{
"amount": 240,
"customer_id": "460000000026049",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"invoices": [
{
"amount_applied": 240,
"invoice_id": "460000000028192"
}
],
"payment_id": "460000000031001",
"payment_mode": "banktransfer",
"payment_number": "7"
}Record an expense
Record money spent, against an expense account.
Inputs
- Expense account
account_idtextRequired - What the money was spent on.
- Paid through
paid_through_account_idtextRequired - The cash, bank or card account it was paid from.
- Amount
amountnumberRequired - The amount spent.At least 0.
- Expense date
datedate - Optional. Defaults to today.
- Description
descriptiontext - Optional. Up to 100 characters.
- Reference number
reference_numbertext - Optional. Your own reference, such as a PO number.
- Customer ID
customer_idtext - Optional. The customer the expense was for.
- Billable to the customer
is_billabletrue/false - Optional. Needs a customer.Default:
false. - Tax
tax_idtext - Optional. The tax to apply.
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
A Zoho Books expense.
account_idtext- The expense account's id.
account_nametext- The expense account's name.
amountnumber- The amount.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
customer_idtext- The customer's contact id.
customer_nametext- The customer's name.
datetext- The expense date (YYYY-MM-DD).
descriptiontext- The description.
expense_idtext- The expense's id.
is_billabletrue/false- Whether it can be billed to the customer.
last_modified_timetext- When it was last changed.
paid_through_account_nametext- The account it was paid from.
reference_numbertext- Your reference.
statustext- unbilled, invoiced, reimbursed, nonbillable or billable.
tax_amountnumber- The tax.
tax_idtext- The tax's id.
totalnumber- The total, with tax.
Example output
{
"account_id": "460000000000403",
"account_name": "Office Supplies",
"amount": 45.5,
"date": "2026-09-30",
"description": "Printer paper",
"expense_id": "460000000032005",
"paid_through_account_name": "Petty Cash",
"status": "nonbillable",
"total": 45.5
}Update a contact
Change a contact's name, company, website, billing address or notes. Blank fields keep their current value.
Inputs
- Contact ID
contact_idtextRequired - The contact's id, from 'List contacts', or its address in Zoho Books (books.zoho.com/app/.../contacts/<id>).
- Display name
contact_nametext - Optional. A new display name.
- Type
contact_typetext - Optional. Change to customer or vendor.One of:
customer,vendor. - Company name
company_nametext - Optional.
- Website
websitetext - Optional.
- Billing street
addresstext - Optional. Street address for billing.
- Billing city
citytext - Optional.
- Billing state or region
statetext - Optional.
- Billing postal code
zip_codetext - Optional.
- Billing country
countrytext - Optional.
- Notes
notestext - Optional. Replaces the internal notes.
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
A Zoho Books contact.
billing_addressobject- A postal address.
company_nametext- The company name.
contact_idtext- The contact's id.
contact_nametext- The display name.
contact_personslist- The contact's people.
contact_typetext- customer or vendor.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
currency_codetext- The contact's currency, e.g. USD.
customer_sub_typetext- business or individual.
emailtext- The primary contact person's email.
last_modified_timetext- When it was last changed.
notestext- Internal notes.
outstanding_receivable_amountnumber- How much the customer owes.
payment_termsnumber- Payment terms in days.
payment_terms_labeltext- The payment terms' name.
phonetext- The primary contact person's phone.
shipping_addressobject- A postal address.
statustext- active or inactive.
unused_credits_receivable_amountnumber- Unused credits.
websitetext- The website.
Example output
{
"company_name": "Bowman & Co",
"contact_id": "460000000026049",
"contact_name": "Bowman & Co",
"contact_type": "customer",
"created_time": "2026-09-01T10:15:00-0700",
"currency_code": "USD",
"email": "billing@bowman.example",
"last_modified_time": "2026-09-01T10:15:00-0700",
"outstanding_receivable_amount": 250,
"status": "active"
}Void an invoice
Void an invoice, cancelling it while keeping it on record. Zoho refuses while payments are applied to it.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's id, from 'List invoices', or its address in Zoho Books (books.zoho.com/app/.../invoices/<id>).
- Organization
organization_idtext - Optional. The Zoho Books organization to use. Leave blank for your default organization.
Outputs
The invoice whose status changed.
invoice_idtext- The invoice's id.
messagetext- Zoho's confirmation.
statustext- The new status.
Example output
{
"invoice_id": "460000000028192",
"message": "Invoice status has been changed to Void.",
"status": "void"
}