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

ActionWhat it does
Create a contactCreate a customer or vendor.
Create an estimateCreate an estimate (quote) for a customer, as a draft or emailed at once.
Create an invoiceCreate an invoice for a customer, as a draft or emailed at once.
Create an itemCreate a product or service to sell on invoices and estimates.
Email an invoiceEmail an invoice to the addresses you give, from Zoho Books.
Get a contactGet a contact's details, addresses, contact persons and outstanding balance.
Get an invoiceGet an invoice with its lines, totals, balance and status.
List chart of accountsList the organization's accounts, with their ids, types and optionally balances.
List contactsList customers and vendors, optionally filtered and searched.
List customer paymentsList payments received from customers.
List estimatesList estimates (quotes) by status or customer.
List expensesList recorded expenses by status, customer or date.
List invoicesList invoices by status, customer or date.
List itemsList the products and services you sell.
Mark an estimate as acceptedRecord that the customer accepted an estimate.
Mark an invoice as sentMark a draft invoice as sent without emailing it, so it counts as owed and can take payments.
Record a customer paymentRecord a payment from a customer and apply it to one of their invoices.
Record an expenseRecord money spent, against an expense account.
Update a contactChange a contact's name, company, website, billing address or notes.
Void an invoiceVoid 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 namecontact_nametextRequired
The contact's display name. Must be unique.
Typecontact_typetext
Optional. Customer or vendor. Defaults to customer.One of: customer, vendor. Default: customer.
Business or individualcustomer_sub_typetext
Optional.One of: business, individual.
Company namecompany_nametext
Optional.
First namefirst_nametext
Optional. The primary contact person's first name.
Last namelast_nametext
Optional. The primary contact person's last name.
Emailemailtext
Optional. The primary contact person's email; invoices and estimates are emailed here.
Phonephonetext
Optional. The primary contact person's phone.
Websitewebsitetext
Optional.
Billing streetaddresstext
Optional. Street address for billing.
Billing citycitytext
Optional.
Billing state or regionstatetext
Optional.
Billing postal codezip_codetext
Optional.
Billing countrycountrytext
Optional.
Notesnotestext
Optional. Internal notes about the contact.
Organizationorganization_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 IDcustomer_idtextRequired
The customer's contact id, from 'List contacts' or 'Create a contact'.
Item IDitem_idtext
Optional. The item to quote, from 'List items'. Give this or a Line name.
Line nameitem_nametext
Optional. The line's name when it is not an item.
Quantityquantitynumber
Optional. How many. Defaults to 1.
Unit priceratenumber
Optional. The price of one. Defaults to the item's own rate.At least 0.
Line descriptiondescriptiontext
Optional. Text shown on the line.
Taxtax_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 datedatedate
Optional. Defaults to today.
Expiry dateexpiry_datedate
Optional. The last day the estimate is valid.
Reference numberreference_numbertext
Optional. Your own reference, such as a PO number.
Notesnotestext
Optional. Notes shown to the customer on the document.
Terms & conditionstermstext
Optional. Terms shown on the document.
Email it to the customer nowsendtrue/false
Optional. Email the document to the customer's contact persons as it is created. Off leaves it a draft.Default: false.
Organizationorganization_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 IDcustomer_idtextRequired
The customer's contact id, from 'List contacts' or 'Create a contact'.
Item IDitem_idtext
The item to bill, from 'List items' or 'Create an item'. Required unless you give Line items.
Quantityquantitynumber
Optional. How many. Defaults to 1.
Unit priceratenumber
Optional. The price of one. Defaults to the item's own rate.At least 0.
Line descriptiondescriptiontext
Optional. Text shown on the line.
Taxtax_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 datedatedate
Optional. Defaults to today.
Due datedue_datedate
Optional. Defaults to the customer's payment terms.
Reference numberreference_numbertext
Optional. Your own reference, such as a PO number.
Notesnotestext
Optional. Notes shown to the customer on the document.
Terms & conditionstermstext
Optional. Terms shown on the document.
Email it to the customer nowsendtrue/false
Optional. Email the document to the customer's contact persons as it is created. Off leaves it a draft.Default: false.
Organizationorganization_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

NamenametextRequired
The item's name. Must be unique.
Selling priceratenumberRequired
The price of one.At least 0.
Descriptiondescriptiontext
Optional. Shown on invoice lines.
SKUskutext
Optional. Your stock-keeping code. Must be unique.
Taxtax_idtext
Optional. The tax to apply.
Organizationorganization_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 IDinvoice_idtextRequired
The invoice's id, from 'List invoices', or its address in Zoho Books (books.zoho.com/app/.../invoices/<id>).
Toto_mail_idslistRequired
One or more email addresses, separated by commas.
Cccc_mail_idslist
Optional. Email addresses to copy, separated by commas.
Subjectsubjecttext
Optional. Defaults to your Zoho Books email template.
Bodybodytext
Optional. Defaults to your Zoho Books email template.
Organizationorganization_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 IDcontact_idtextRequired
The contact's id, from 'List contacts', or its address in Zoho Books (books.zoho.com/app/.../contacts/<id>).
Organizationorganization_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 IDinvoice_idtextRequired
The invoice's id, from 'List invoices', or its address in Zoho Books (books.zoho.com/app/.../invoices/<id>).
Organizationorganization_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

Showfilter_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 typesaccount_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.
Searchsearch_texttext
Optional. Only records matching this text.
Sort bysort_columntext
Optional. The field to sort by.One of: account_name (Account), account_type (Account type), account_code (Account code).
Include balancesshow_balancetrue/false
Optional. Also return each account's current balance.Default: false.
Pagepagenumber
Optional. Which page of results to return, starting at 1.At least 1.
Page sizeper_pagenumber
Optional. How many to return per page, 1 to 200. Zoho's default is 200.From 1 to 200.
Organizationorganization_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

Typecontact_typetext
Optional. Only customers, or only vendors.One of: customer, vendor.
Searchsearch_texttext
Optional. Only records matching this text.
Showfilter_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 bysort_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).
Pagepagenumber
Optional. Which page of results to return, starting at 1.At least 1.
Page sizeper_pagenumber
Optional. How many to return per page, 1 to 200. Zoho's default is 200.From 1 to 200.
Organizationorganization_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 IDcustomer_idtext
Optional. Only this customer's records (a contact id).
Payment modepayment_modetext
Optional. Only payments made this way.One of: cash, check, creditcard (Credit card), banktransfer (Bank transfer), bankremittance (Bank remittance), others (Other).
Searchsearch_texttext
Optional. Only records matching this text.
Pagepagenumber
Optional. Which page of results to return, starting at 1.At least 1.
Page sizeper_pagenumber
Optional. How many to return per page, 1 to 200. Zoho's default is 200.From 1 to 200.
Organizationorganization_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

Statusstatustext
Optional. Only estimates with this status.One of: draft, sent, invoiced, accepted, declined, expired.
Customer IDcustomer_idtext
Optional. Only this customer's records (a contact id).
Searchsearch_texttext
Optional. Only records matching this text.
Sort bysort_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).
Pagepagenumber
Optional. Which page of results to return, starting at 1.At least 1.
Page sizeper_pagenumber
Optional. How many to return per page, 1 to 200. Zoho's default is 200.From 1 to 200.
Organizationorganization_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

Statusstatustext
Optional. Only expenses with this status.One of: unbilled, invoiced, reimbursed, non-billable, billable.
Customer IDcustomer_idtext
Optional. Only this customer's records (a contact id).
Searchsearch_texttext
Optional. Only records matching this text.
From datedate_startdate
Optional. Only records dated on or after this day.
To datedate_enddate
Optional. Only records dated on or before this day.
Sort bysort_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).
Pagepagenumber
Optional. Which page of results to return, starting at 1.At least 1.
Page sizeper_pagenumber
Optional. How many to return per page, 1 to 200. Zoho's default is 200.From 1 to 200.
Organizationorganization_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

Statusstatustext
Optional. Only invoices with this status.One of: draft, sent, viewed, overdue, unpaid, partially_paid (Partially paid), paid, void.
Customer IDcustomer_idtext
Optional. Only this customer's records (a contact id).
Searchsearch_texttext
Optional. Only records matching this text.
From datedate_startdate
Optional. Only records dated on or after this day.
To datedate_enddate
Optional. Only records dated on or before this day.
Sort bysort_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).
Pagepagenumber
Optional. Which page of results to return, starting at 1.At least 1.
Page sizeper_pagenumber
Optional. How many to return per page, 1 to 200. Zoho's default is 200.From 1 to 200.
Organizationorganization_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

Searchsearch_texttext
Optional. Only records matching this text.
Showfilter_bytext
Optional. Active, inactive or all items.One of: Status.All (All), Status.Active (Active), Status.Inactive (Inactive).
Sort bysort_columntext
Optional. The field to sort by.One of: name, rate, tax_name (Tax).
Pagepagenumber
Optional. Which page of results to return, starting at 1.At least 1.
Page sizeper_pagenumber
Optional. How many to return per page, 1 to 200. Zoho's default is 200.From 1 to 200.
Organizationorganization_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 IDestimate_idtextRequired
The estimate's id, from 'List estimates' or 'Create an estimate'.
Organizationorganization_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 IDinvoice_idtextRequired
The invoice's id, from 'List invoices', or its address in Zoho Books (books.zoho.com/app/.../invoices/<id>).
Organizationorganization_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 IDcustomer_idtextRequired
The customer's contact id, from 'List contacts' or 'Create a contact'.
Invoice IDinvoice_idtextRequired
The invoice the payment pays, from 'List invoices'.
AmountamountnumberRequired
The amount received.At least 0.
Payment modepayment_modetextRequired
How the customer paid.One of: cash, check, creditcard (Credit card), banktransfer (Bank transfer), bankremittance (Bank remittance), others (Other).
Payment datedatedate
Optional. Defaults to today.
Amount applied to the invoiceamount_appliednumber
Optional. Defaults to the whole amount; any rest stays as the customer's credit.At least 0.
Reference numberreference_numbertext
Optional. Your own reference, such as a PO number.
Descriptiondescriptiontext
Optional. A note on the payment.
Deposit toaccount_idtext
Optional. The cash or bank account the money went into. Defaults to Undeposited Funds.
Organizationorganization_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 accountaccount_idtextRequired
What the money was spent on.
Paid throughpaid_through_account_idtextRequired
The cash, bank or card account it was paid from.
AmountamountnumberRequired
The amount spent.At least 0.
Expense datedatedate
Optional. Defaults to today.
Descriptiondescriptiontext
Optional. Up to 100 characters.
Reference numberreference_numbertext
Optional. Your own reference, such as a PO number.
Customer IDcustomer_idtext
Optional. The customer the expense was for.
Billable to the customeris_billabletrue/false
Optional. Needs a customer.Default: false.
Taxtax_idtext
Optional. The tax to apply.
Organizationorganization_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 IDcontact_idtextRequired
The contact's id, from 'List contacts', or its address in Zoho Books (books.zoho.com/app/.../contacts/<id>).
Display namecontact_nametext
Optional. A new display name.
Typecontact_typetext
Optional. Change to customer or vendor.One of: customer, vendor.
Company namecompany_nametext
Optional.
Websitewebsitetext
Optional.
Billing streetaddresstext
Optional. Street address for billing.
Billing citycitytext
Optional.
Billing state or regionstatetext
Optional.
Billing postal codezip_codetext
Optional.
Billing countrycountrytext
Optional.
Notesnotestext
Optional. Replaces the internal notes.
Organizationorganization_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 IDinvoice_idtextRequired
The invoice's id, from 'List invoices', or its address in Zoho Books (books.zoho.com/app/.../invoices/<id>).
Organizationorganization_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"
}

On this page