Zoho Invoice
App · Accounting & Finance · 20 actions
Free invoicing. Create quotes and invoices, email them, send payment reminders, record payments and expenses, and manage customers.
Actions
| Action | What it does |
|---|---|
| Create a contact | Create a customer, with a primary contact person to email invoices to. |
| Create a quote | Create a draft quote (estimate) for a customer. |
| Create an invoice | Create a draft invoice for a customer. |
| Create an item | Create a product or service to bill for. |
| Email an invoice | Email an invoice to the customer from Zoho Invoice, using your invoice email template unless you write your own. |
| Get a contact | Get a customer's details, addresses, contact persons and what they owe. |
| Get an invoice | Get an invoice with its lines, totals, balance owed and the customer's payment link. |
| List contacts | List customers, optionally searched, filtered and sorted. |
| List customer payments | List payments received, optionally by method or date. |
| List invoices | List invoices, optionally by status (such as overdue or unpaid), customer, date or due date. |
| List items | List the products and services you bill for. |
| List quotes | List quotes (estimates), optionally for one customer or in one status. |
| Mark a quote as accepted | Record that the customer accepted a sent quote. |
| Mark a quote as sent | Mark a draft quote as sent, without emailing it. |
| Mark an invoice as sent | Mark a draft invoice as sent, without emailing it, so it counts as owed. |
| Record a customer payment | Record a payment received and apply it to an invoice. |
| Record an expense | Record an expense, optionally billable to a customer so it can be added to their next invoice. |
| Send a payment reminder | Email the customer a reminder to pay a sent, unpaid invoice. |
| Update a contact | Change a customer's name, company, website, billing address, payment terms or notes. |
| Void an invoice | Cancel an invoice by marking it void. |
Create a contact
Create a customer, with a primary contact person to email invoices to.
Inputs
- Display name
contact_nametextRequired - The customer's name as shown on invoices.
- Company name
company_nametext - Optional.
- First name
first_nametext - Optional. The contact person's first name.
- Last name
last_nametext - Optional. The contact person's last name.
- Email
emailtext - Optional. The contact person's email, where invoices are sent.
- Phone
phonetext - Optional. The contact person's phone.
- Website
websitetext - Optional.
- Street address
addresstext - Optional. The billing street address.
- City
citytext - Optional.
- State/region
statetext - Optional.
- Postal code
zip_codetext - Optional.
- Country
countrytext - Optional.
- Payment terms (days)
payment_termsnumber - Optional. How many days the customer has to pay, such as 15.At least 0.
- Language
language_codetext - Optional. The language of the emails and documents the customer receives.One of:
en(English),de(German),es(Spanish),fr(French),it(Italian),ja(Japanese),nl(Dutch),pt(Portuguese),sv(Swedish),zh(Chinese). - Notes
notestext - Optional. Internal notes about the customer.
- Organization
organization_idtext - Optional. The Zoho Invoice organization to use. Leave blank for your default organization.
Outputs
A Zoho Invoice contact.
billing_addressobject- A postal address.
company_nametext- The company name.
contact_idtext- The contact's id.
contact_nametext- The contact's display name.
contact_personslist- The contact persons.
contact_typetext- customer.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
currency_codetext- The currency, e.g. USD.
currency_idtext- The currency's id.
currency_symboltext- The currency symbol.
custom_fieldslist- Custom field values.
emailtext- The primary contact person's email.
facebooktext- Facebook profile.
first_nametext- The primary contact person's first name.
has_transactiontrue/false- Whether the contact has any transactions.
is_taxabletrue/false- Whether the contact is taxable.
last_modified_timetext- When it was last changed.
last_nametext- The primary contact person's last name.
mobiletext- The primary contact person's mobile.
notestext- Notes.
outstanding_receivable_amountnumber- What the contact owes.
payment_reminder_enabledtrue/false- Whether payment reminders are on.
payment_termsnumber- Payment terms in days.
payment_terms_labeltext- The payment terms' label, e.g. Net 15.
phonetext- The primary contact person's phone.
primary_contact_idtext- The primary contact person's id.
shipping_addressobject- A postal address.
statustext- active or inactive.
tax_idtext- The tax's id.
tax_nametext- The tax's name.
tax_percentagenumber- The tax rate.
twittertext- Twitter handle.
unused_credits_receivable_amountnumber- Unused credits.
websitetext- The website.
Example output
{
"company_name": "Bowman & Co",
"contact_id": "2000000002001",
"contact_name": "Bowman & Co",
"contact_type": "customer",
"created_time": "2026-09-01T10:15:00-0700",
"currency_code": "USD",
"email": "ann@bowman.example",
"first_name": "Ann",
"last_modified_time": "2026-09-01T10:15:00-0700",
"last_name": "Bowman",
"outstanding_receivable_amount": 0,
"payment_terms": 15,
"payment_terms_label": "Net 15",
"status": "active"
}Create a quote
Create a draft quote (estimate) for a customer. Mark it sent, then accepted, as the customer responds.
Inputs
- Customer ID
customer_idtextRequired - The customer's contact id, from 'List contacts' or 'Create a contact'.
- Item ID
item_idtext - The item billed on the line, from 'List items' or 'Create an item'. Leave blank when giving several lines below.
- Quantity
quantitynumber - Optional. How many. Defaults to 1.
- Unit price
ratenumber - The price of one. Required with the item above; leave blank when giving several lines below.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": "2000000007037", "quantity": 2, "rate": 150}]. Each line takes item_id, name, description, quantity, rate, tax_id, discount; item_id and rate are required. When given it replaces the single-line fields above.
- Date
datedate - Optional. The quote date. Defaults to today.
- Expiry date
expiry_datedate - Optional. When the quote expires.
- Reference number
reference_numbertext - Optional. Your own reference, such as a purchase order number.
- Discount
discounttext - Optional. A discount on the whole document: an amount such as 5, or a percentage such as 10%.
- Notes
notestext - Optional. Notes shown to the customer on the document.
- Terms & conditions
termstext - Optional. Terms shown on the document.
- Organization
organization_idtext - Optional. The Zoho Invoice organization to use. Leave blank for your default organization.
Outputs
A Zoho Invoice quote (estimate).
billing_addressobject- A postal address.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
currency_codetext- The currency, e.g. USD.
currency_idtext- The currency's id.
custom_fieldslist- Custom field values.
customer_idtext- The customer's id.
customer_nametext- The customer's name.
datetext- The quote date, YYYY-MM-DD.
discountnumber- The discount.
discount_typetext- entity_level or item_level.
estimate_idtext- The quote's id.
estimate_numbertext- The quote number, e.g. QT-000007.
exchange_ratenumber- The exchange rate.
expiry_datetext- When the quote expires.
is_inclusive_taxtrue/false- Whether rates include tax.
last_modified_timetext- When it was last changed.
line_itemslist- The quote's lines.
notestext- Notes.
reference_numbertext- Your reference.
salesperson_idtext- The salesperson's id.
salesperson_nametext- The salesperson's name.
shipping_addressobject- A postal address.
statustext- draft, sent, accepted, declined, invoiced or expired.
sub_totalnumber- The total before tax.
tax_totalnumber- The tax.
taxeslist- The taxes.
termstext- Terms.
totalnumber- The quote total.
Example output
{
"currency_code": "USD",
"customer_id": "2000000002001",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"estimate_id": "2000000007101",
"estimate_number": "QT-000007",
"expiry_date": "2026-10-30",
"status": "draft",
"total": 240
}Create an invoice
Create a draft invoice for a customer. Email it or mark it sent afterwards.
Inputs
- Customer ID
customer_idtextRequired - The customer's contact id, from 'List contacts' or 'Create a contact'.
- Item ID
item_idtext - The item billed on the line, from 'List items' or 'Create an item'. Leave blank when giving several lines below.
- Quantity
quantitynumber - Optional. How many. Defaults to 1.
- Unit price
ratenumber - The price of one. Required with the item above; leave blank when giving several lines below.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": "2000000007037", "quantity": 2, "rate": 150}]. Each line takes item_id, name, description, quantity, rate, tax_id, discount; item_id and rate are required. When given it replaces the single-line fields above.
- Invoice date
datedate - Optional. Defaults to today.
- Due date
due_datedate - Optional. When payment is due. Leave blank to use the payment terms.
- Payment terms (days)
payment_termsnumber - Optional. How many days the customer has to pay, such as 15.At least 0.
- Reference number
reference_numbertext - Optional. Your own reference, such as a purchase order number.
- Discount
discounttext - Optional. A discount on the whole document: an amount such as 5, or a percentage such as 10%.
- Notes
notestext - Optional. Notes shown to the customer on the document.
- Terms & conditions
termstext - Optional. Terms shown on the document.
- Organization
organization_idtext - Optional. The Zoho Invoice organization to use. Leave blank for your default organization.
Outputs
A Zoho Invoice invoice.
adjustmentnumber- The adjustment.
adjustment_descriptiontext- What the adjustment is for.
allow_partial_paymentstrue/false- Whether partial payments are allowed.
balancenumber- What is still owed.
billing_addressobject- A postal address.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
credits_appliednumber- Credits applied.
currency_codetext- The currency, e.g. USD.
currency_idtext- The currency's id.
custom_fieldslist- Custom field values.
customer_idtext- The customer's id.
customer_nametext- The customer's name.
datetext- The invoice date, YYYY-MM-DD.
discountnumber- The discount.
discount_typetext- entity_level or item_level.
due_datetext- The due date, YYYY-MM-DD.
exchange_ratenumber- The exchange rate.
invoice_idtext- The invoice's id.
invoice_numbertext- The invoice number, e.g. INV-000042.
invoice_urltext- The customer's link to view and pay the invoice.
is_discount_before_taxtrue/false- Whether the discount applies before tax.
is_emailedtrue/false- Whether it has been emailed.
is_inclusive_taxtrue/false- Whether rates include tax.
is_viewed_by_clienttrue/false- Whether the customer has viewed it.
last_modified_timetext- When it was last changed.
last_payment_datetext- When the last payment was made.
last_reminder_sent_datetext- When the last reminder was sent.
line_itemslist- The invoice's lines.
notestext- Notes.
payment_expected_datetext- When payment is expected.
payment_madenumber- How much has been paid.
payment_reminder_enabledtrue/false- Whether payment reminders are on.
payment_termsnumber- Payment terms in days.
payment_terms_labeltext- The payment terms' label.
recurring_invoice_idtext- The recurring invoice it came from.
reference_numbertext- Your reference.
reminders_sentnumber- How many payment reminders were sent.
salesperson_idtext- The salesperson's id.
salesperson_nametext- The salesperson's name.
shipping_addressobject- A postal address.
shipping_chargenumber- The shipping charge.
statustext- draft, sent, viewed, overdue, partially_paid, paid or void.
sub_totalnumber- The total before tax.
tax_totalnumber- The tax.
taxeslist- The taxes.
template_idtext- The PDF template's id.
template_nametext- The PDF template's name.
termstext- Terms.
totalnumber- The invoice total.
write_off_amountnumber- The amount written off.
Example output
{
"balance": 240,
"currency_code": "USD",
"customer_id": "2000000002001",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"due_date": "2026-10-15",
"invoice_id": "2000000007037",
"invoice_number": "INV-000042",
"invoice_url": "https://zohosecurepay.com/invoice/bowman/secure?CInvoiceID=1",
"status": "draft",
"total": 240
}Create an item
Create a product or service to bill for.
Inputs
- Name
nametextRequired - The item's name.
- Price
ratenumberRequired - The price of one.At least 0.
- Description
descriptiontext - Optional. Shown on quotes and invoices.
- SKU
skutext - Optional. Your product code; must be unique.
- Goods or service
product_typetext - Optional.One of:
goods,service. - Tax
tax_idtext - Optional. The tax to apply.
- Organization
organization_idtext - Optional. The Zoho Invoice organization to use. Leave blank for your default organization.
Outputs
A Zoho Invoice item.
custom_fieldslist- Custom field values.
descriptiontext- The description.
item_idtext- The item's id.
nametext- The item's name.
product_typetext- goods or service.
ratenumber- The price of one.
skutext- The stock keeping unit.
statustext- active or inactive.
tax_idtext- The tax's id.
tax_nametext- The tax's name.
tax_percentagenumber- The tax rate.
tax_typetext- The tax type.
unittext- The unit, e.g. hrs.
Example output
{
"description": "One hour of design work",
"item_id": "2000000002011",
"name": "Design hour",
"product_type": "service",
"rate": 120,
"sku": "DES-HR",
"status": "active",
"unit": "hrs"
}Email an invoice
Email an invoice to the customer from Zoho Invoice, using your invoice email template unless you write your own.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's id, from 'List invoices' or 'Create an invoice', or its address in Zoho Invoice.
- To
to_mail_idstextRequired - Who to email: one or more addresses, separated by commas.
- CC
cc_mail_idstext - Optional. Addresses to copy, separated by commas.
- Subject
subjecttext - Optional. Leave blank for Zoho's template subject.
- Body
bodytext - Optional. The message. Leave blank for Zoho's template message.
- Organization
organization_idtext - Optional. The Zoho Invoice organization to use. Leave blank for your default organization.
Outputs
An email sent about an invoice.
cc_mail_idslist- Who was copied.
invoice_idtext- The invoice's id.
messagetext- Zoho's confirmation message.
subjecttext- The subject sent.
to_mail_idslist- Who it was sent to.
Example output
{
"cc_mail_ids": [],
"invoice_id": "2000000007037",
"message": "Your invoice has been sent.",
"subject": "Invoice - INV-000042 from Bowman & Co",
"to_mail_ids": [
"ann@bowman.example"
]
}Get a contact
Get a customer's details, addresses, contact persons and what they owe.
Inputs
- Contact ID
contact_idtextRequired - The contact's id, from 'List contacts' or 'Create a contact', or the contact's address in Zoho Invoice.
- Organization
organization_idtext - Optional. The Zoho Invoice organization to use. Leave blank for your default organization.
Outputs
A Zoho Invoice contact.
billing_addressobject- A postal address.
company_nametext- The company name.
contact_idtext- The contact's id.
contact_nametext- The contact's display name.
contact_personslist- The contact persons.
contact_typetext- customer.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
currency_codetext- The currency, e.g. USD.
currency_idtext- The currency's id.
currency_symboltext- The currency symbol.
custom_fieldslist- Custom field values.
emailtext- The primary contact person's email.
facebooktext- Facebook profile.
first_nametext- The primary contact person's first name.
has_transactiontrue/false- Whether the contact has any transactions.
is_taxabletrue/false- Whether the contact is taxable.
last_modified_timetext- When it was last changed.
last_nametext- The primary contact person's last name.
mobiletext- The primary contact person's mobile.
notestext- Notes.
outstanding_receivable_amountnumber- What the contact owes.
payment_reminder_enabledtrue/false- Whether payment reminders are on.
payment_termsnumber- Payment terms in days.
payment_terms_labeltext- The payment terms' label, e.g. Net 15.
phonetext- The primary contact person's phone.
primary_contact_idtext- The primary contact person's id.
shipping_addressobject- A postal address.
statustext- active or inactive.
tax_idtext- The tax's id.
tax_nametext- The tax's name.
tax_percentagenumber- The tax rate.
twittertext- Twitter handle.
unused_credits_receivable_amountnumber- Unused credits.
websitetext- The website.
Example output
{
"company_name": "Bowman & Co",
"contact_id": "2000000002001",
"contact_name": "Bowman & Co",
"contact_type": "customer",
"created_time": "2026-09-01T10:15:00-0700",
"currency_code": "USD",
"email": "ann@bowman.example",
"first_name": "Ann",
"last_modified_time": "2026-09-01T10:15:00-0700",
"last_name": "Bowman",
"outstanding_receivable_amount": 0,
"payment_terms": 15,
"payment_terms_label": "Net 15",
"status": "active"
}Get an invoice
Get an invoice with its lines, totals, balance owed and the customer's payment link.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's id, from 'List invoices' or 'Create an invoice', or its address in Zoho Invoice.
- Organization
organization_idtext - Optional. The Zoho Invoice organization to use. Leave blank for your default organization.
Outputs
A Zoho Invoice invoice.
adjustmentnumber- The adjustment.
adjustment_descriptiontext- What the adjustment is for.
allow_partial_paymentstrue/false- Whether partial payments are allowed.
balancenumber- What is still owed.
billing_addressobject- A postal address.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
credits_appliednumber- Credits applied.
currency_codetext- The currency, e.g. USD.
currency_idtext- The currency's id.
custom_fieldslist- Custom field values.
customer_idtext- The customer's id.
customer_nametext- The customer's name.
datetext- The invoice date, YYYY-MM-DD.
discountnumber- The discount.
discount_typetext- entity_level or item_level.
due_datetext- The due date, YYYY-MM-DD.
exchange_ratenumber- The exchange rate.
invoice_idtext- The invoice's id.
invoice_numbertext- The invoice number, e.g. INV-000042.
invoice_urltext- The customer's link to view and pay the invoice.
is_discount_before_taxtrue/false- Whether the discount applies before tax.
is_emailedtrue/false- Whether it has been emailed.
is_inclusive_taxtrue/false- Whether rates include tax.
is_viewed_by_clienttrue/false- Whether the customer has viewed it.
last_modified_timetext- When it was last changed.
last_payment_datetext- When the last payment was made.
last_reminder_sent_datetext- When the last reminder was sent.
line_itemslist- The invoice's lines.
notestext- Notes.
payment_expected_datetext- When payment is expected.
payment_madenumber- How much has been paid.
payment_reminder_enabledtrue/false- Whether payment reminders are on.
payment_termsnumber- Payment terms in days.
payment_terms_labeltext- The payment terms' label.
recurring_invoice_idtext- The recurring invoice it came from.
reference_numbertext- Your reference.
reminders_sentnumber- How many payment reminders were sent.
salesperson_idtext- The salesperson's id.
salesperson_nametext- The salesperson's name.
shipping_addressobject- A postal address.
shipping_chargenumber- The shipping charge.
statustext- draft, sent, viewed, overdue, partially_paid, paid or void.
sub_totalnumber- The total before tax.
tax_totalnumber- The tax.
taxeslist- The taxes.
template_idtext- The PDF template's id.
template_nametext- The PDF template's name.
termstext- Terms.
totalnumber- The invoice total.
write_off_amountnumber- The amount written off.
Example output
{
"balance": 240,
"currency_code": "USD",
"customer_id": "2000000002001",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"due_date": "2026-10-15",
"invoice_id": "2000000007037",
"invoice_number": "INV-000042",
"invoice_url": "https://zohosecurepay.com/invoice/bowman/secure?CInvoiceID=1",
"status": "draft",
"total": 240
}List contacts
List customers, optionally searched, filtered and sorted.
Inputs
- 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). - 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 Invoice 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": "2000000002001",
"contact_name": "Bowman & Co",
"contact_type": "customer",
"created_time": "2026-09-01T10:15:00-0700",
"currency_code": "USD",
"email": "ann@bowman.example",
"first_name": "Ann",
"last_modified_time": "2026-09-01T10:15:00-0700",
"last_name": "Bowman",
"outstanding_receivable_amount": 0,
"payment_terms": 15,
"payment_terms_label": "Net 15",
"status": "active"
}
],
"count": 1,
"has_more_page": false,
"page": 1,
"per_page": 200
}List customer payments
List payments received, optionally by method or date.
Inputs
- Search
search_texttext - Optional. Only records matching this text.
- Payment method
filter_bytext - Optional. Only payments made this way.One of:
PaymentMode.All(All),PaymentMode.Check(Check),PaymentMode.Cash(Cash),PaymentMode.BankTransfer(Bank transfer),PaymentMode.Paypal(PayPal),PaymentMode.CreditCard(Credit card),PaymentMode.GoogleCheckout(Google Checkout),PaymentMode.Credit(Credit),PaymentMode.Authorizenet(Authorize.Net),PaymentMode.BankRemittance(Bank remittance), and 5 more. - Payment date
datedate - Optional. Only payments made this day.
- 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 Invoice organization to use. Leave blank for your default organization.
Outputs
countnumber- How many customer payments are on this page.
customerpaymentslist- 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,
"customerpayments": [
{
"amount": 240,
"bcy_amount": 240,
"date": "2026-10-02",
"invoice_number": "INV-000042",
"payment_id": "2000000007201",
"payment_mode": "banktransfer",
"payment_number": "2"
}
],
"has_more_page": false,
"page": 1,
"per_page": 200
}List invoices
List invoices, optionally by status (such as overdue or unpaid), customer, date or due date.
Inputs
- Status
statustext - Optional. Only invoices in this status.One of:
draft,sent,viewed,overdue,unpaid,partially_paid(Partially paid),paid,void. - Customer ID
customer_idtext - Optional. Only this customer's invoices.
- Search
search_texttext - Optional. Only records matching this text.
- Invoice date
datedate - Optional. Only invoices dated this day.
- Due date
due_datedate - Optional. Only invoices due 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 Invoice 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": "2000000002001",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"due_date": "2026-10-15",
"invoice_id": "2000000007037",
"invoice_number": "INV-000042",
"invoice_url": "https://zohosecurepay.com/invoice/bowman/secure?CInvoiceID=1",
"status": "draft",
"total": 240
}
],
"page": 1,
"per_page": 200
}List items
List the products and services you bill for.
Inputs
- Search
search_texttext - Optional. Only records matching this text.
- Show
filter_bytext - Optional. Which items to include.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(Price),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 Invoice 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 design work",
"item_id": "2000000002011",
"name": "Design hour",
"product_type": "service",
"rate": 120,
"sku": "DES-HR",
"status": "active",
"unit": "hrs"
}
],
"page": 1,
"per_page": 200
}List quotes
List quotes (estimates), optionally for one customer or in one status. The filters apply to the page returned.
Inputs
- Customer ID
customer_idtext - Optional. Only this customer's quotes.
- Status
statustext - Optional. Only quotes in this status.One of:
draft,sent,accepted,declined,invoiced,expired. - 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 Invoice organization to use. Leave blank for your default organization.
Outputs
countnumber- How many quotes are on this page.
estimateslist- The quotes.
has_more_pagetrue/false- Whether another page is available.
pagenumber- This page's number.
per_pagenumber- The page size.
Example output
{
"count": 1,
"estimates": [
{
"currency_code": "USD",
"customer_id": "2000000002001",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"estimate_id": "2000000007101",
"estimate_number": "QT-000007",
"expiry_date": "2026-10-30",
"status": "draft",
"total": 240
}
],
"has_more_page": false,
"page": 1,
"per_page": 200
}Mark a quote as accepted
Record that the customer accepted a sent quote. A draft quote must be marked sent first.
Inputs
- Quote ID
estimate_idtextRequired - The quote's id, from 'List quotes' or 'Create a quote', or its address in Zoho Invoice.
- Organization
organization_idtext - Optional. The Zoho Invoice organization to use. Leave blank for your default organization.
Outputs
A quote's status change.
estimate_idtext- The quote's id.
messagetext- Zoho's confirmation message.
statustext- The new status.
Example output
{
"estimate_id": "2000000007101",
"message": "Estimate status has been changed to Accepted.",
"status": "accepted"
}Mark a quote as sent
Mark a draft quote as sent, without emailing it.
Inputs
- Quote ID
estimate_idtextRequired - The quote's id, from 'List quotes' or 'Create a quote', or its address in Zoho Invoice.
- Organization
organization_idtext - Optional. The Zoho Invoice organization to use. Leave blank for your default organization.
Outputs
A quote's status change.
estimate_idtext- The quote's id.
messagetext- Zoho's confirmation message.
statustext- The new status.
Example output
{
"estimate_id": "2000000007101",
"message": "Estimate status has been changed to Sent",
"status": "sent"
}Mark an invoice as sent
Mark a draft invoice as sent, without emailing it, so it counts as owed.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's id, from 'List invoices' or 'Create an invoice', or its address in Zoho Invoice.
- Organization
organization_idtext - Optional. The Zoho Invoice organization to use. Leave blank for your default organization.
Outputs
An invoice's status change.
invoice_idtext- The invoice's id.
messagetext- Zoho's confirmation message.
statustext- The new status.
Example output
{
"invoice_id": "2000000007037",
"message": "Invoice status has been changed to Sent.",
"status": "sent"
}Record a customer payment
Record a payment received and apply it to an invoice.
Inputs
- Customer ID
customer_idtextRequired - The customer's contact id, from 'List contacts' or 'Create a contact'.
- Invoice ID
invoice_idtextRequired - The invoice's id, from 'List invoices' or 'Create an invoice', or its address in Zoho Invoice.
- Amount
amountnumberRequired - The amount received.At least 0.
- Payment method
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. How much of the payment goes to the invoice. Defaults to the whole amount.At least 0.
- Reference number
reference_numbertext - Optional. Your own reference, such as a purchase order number.
- Description
descriptiontext - Optional. A note about the payment.
- Organization
organization_idtext - Optional. The Zoho Invoice organization to use. Leave blank for your default organization.
Outputs
A Zoho Invoice customer payment.
amountnumber- The amount received.
amount_refundednumber- How much has been refunded.
bank_chargesnumber- Bank charges.
currency_codetext- The currency, e.g. USD.
currency_symboltext- The currency symbol.
custom_fieldslist- Custom field values.
customer_idtext- The customer's id.
customer_nametext- The customer's name.
datetext- The payment date, YYYY-MM-DD.
descriptiontext- The description.
emailtext- The customer's email.
invoiceslist- The invoices it was applied to.
payment_idtext- The payment's id.
payment_modetext- How it was paid, e.g. cash.
reference_numbertext- Your reference.
statustext- success or failure.
Example output
{
"amount": 240,
"currency_code": "USD",
"customer_id": "2000000002001",
"customer_name": "Bowman & Co",
"date": "2026-10-02",
"invoices": [
{
"amount_applied": 240,
"balance_amount": 0,
"invoice_id": "2000000007037",
"invoice_number": "INV-000042"
}
],
"payment_id": "2000000007201",
"payment_mode": "banktransfer",
"status": "success"
}Record an expense
Record an expense, optionally billable to a customer so it can be added to their next invoice.
Inputs
- Amount
amountnumberRequired - How much was spent.At least 0.
- Category
account_idtext - Optional. The expense category. Leave blank for your first active category.
- Date
datedate - Optional. When it was spent. Defaults to today.
- Description
descriptiontext - Optional. What it was for, up to 100 characters.
- Reference number
reference_numbertext - Optional. Your own reference, such as a purchase order number.
- Customer ID
customer_idtext - Optional. The customer it was spent for. Required when billable.
- Billable
is_billabletrue/false - Optional. Bill this expense to the customer.Default:
false. - Tax
tax_idtext - Optional. The tax to apply.
- Organization
organization_idtext - Optional. The Zoho Invoice organization to use. Leave blank for your default organization.
Outputs
A Zoho Invoice expense.
account_idtext- The expense category's account id.
account_nametext- The expense category.
amountnumber- The amount.
bcy_totalnumber- The total in your base currency.
currency_codetext- The currency, e.g. USD.
currency_idtext- The currency's id.
custom_fieldslist- Custom field values.
customer_idtext- The customer billed.
customer_nametext- That customer's name.
datetext- The expense date, YYYY-MM-DD.
descriptiontext- The description.
exchange_ratenumber- The exchange rate.
expense_idtext- The expense's id.
expense_typetext- The expense type.
invoice_idtext- The invoice it was billed on.
invoice_numbertext- That invoice's number.
is_billabletrue/false- Whether it is billed to a customer.
is_inclusive_taxtrue/false- Whether the amount includes tax.
last_modified_timetext- When it was last changed.
project_idtext- The project's id.
project_nametext- The project's name.
reference_numbertext- Your reference.
statustext- The expense's status, e.g. unbilled.
sub_totalnumber- The amount before tax.
tax_amountnumber- The tax.
tax_idtext- The tax's id.
tax_nametext- The tax's name.
tax_percentagenumber- The tax rate.
totalnumber- The total.
Example output
{
"account_id": "2000000000391",
"account_name": "Office Supplies",
"amount": 35.5,
"currency_code": "USD",
"date": "2026-10-02",
"description": "Printer paper",
"expense_id": "2000000007301",
"is_billable": false,
"status": "nonbillable",
"total": 35.5
}Send a payment reminder
Email the customer a reminder to pay a sent, unpaid invoice.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's id, from 'List invoices' or 'Create an invoice', or its address in Zoho Invoice.
- To
to_mail_idstextRequired - Who to email: one or more addresses, separated by commas.
- CC
cc_mail_idstext - Optional. Addresses to copy, separated by commas.
- Subject
subjecttext - Optional. Leave blank for Zoho's template subject.
- Body
bodytext - Optional. The message. Leave blank for Zoho's template message.
- Organization
organization_idtext - Optional. The Zoho Invoice organization to use. Leave blank for your default organization.
Outputs
An email sent about an invoice.
cc_mail_idslist- Who was copied.
invoice_idtext- The invoice's id.
messagetext- Zoho's confirmation message.
subjecttext- The subject sent.
to_mail_idslist- Who it was sent to.
Example output
{
"cc_mail_ids": [],
"invoice_id": "2000000007037",
"message": "Your payment reminder has been sent.",
"subject": "Payment reminder - INV-000042",
"to_mail_ids": [
"ann@bowman.example"
]
}Update a contact
Change a customer's name, company, website, billing address, payment terms or notes. Blank fields keep their value.
Inputs
- Contact ID
contact_idtextRequired - The contact's id, from 'List contacts' or 'Create a contact', or the contact's address in Zoho Invoice.
- Display name
contact_nametext - Optional. A new display name.
- Company name
company_nametext - Optional.
- Website
websitetext - Optional.
- Street address
addresstext - Optional. The billing street address.
- City
citytext - Optional.
- State/region
statetext - Optional.
- Postal code
zip_codetext - Optional.
- Country
countrytext - Optional.
- Payment terms (days)
payment_termsnumber - Optional. How many days the customer has to pay, such as 15.At least 0.
- Notes
notestext - Optional. Internal notes about the customer.
- Organization
organization_idtext - Optional. The Zoho Invoice organization to use. Leave blank for your default organization.
Outputs
A Zoho Invoice contact.
billing_addressobject- A postal address.
company_nametext- The company name.
contact_idtext- The contact's id.
contact_nametext- The contact's display name.
contact_personslist- The contact persons.
contact_typetext- customer.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
currency_codetext- The currency, e.g. USD.
currency_idtext- The currency's id.
currency_symboltext- The currency symbol.
custom_fieldslist- Custom field values.
emailtext- The primary contact person's email.
facebooktext- Facebook profile.
first_nametext- The primary contact person's first name.
has_transactiontrue/false- Whether the contact has any transactions.
is_taxabletrue/false- Whether the contact is taxable.
last_modified_timetext- When it was last changed.
last_nametext- The primary contact person's last name.
mobiletext- The primary contact person's mobile.
notestext- Notes.
outstanding_receivable_amountnumber- What the contact owes.
payment_reminder_enabledtrue/false- Whether payment reminders are on.
payment_termsnumber- Payment terms in days.
payment_terms_labeltext- The payment terms' label, e.g. Net 15.
phonetext- The primary contact person's phone.
primary_contact_idtext- The primary contact person's id.
shipping_addressobject- A postal address.
statustext- active or inactive.
tax_idtext- The tax's id.
tax_nametext- The tax's name.
tax_percentagenumber- The tax rate.
twittertext- Twitter handle.
unused_credits_receivable_amountnumber- Unused credits.
websitetext- The website.
Example output
{
"company_name": "Bowman & Co",
"contact_id": "2000000002001",
"contact_name": "Bowman & Co",
"contact_type": "customer",
"created_time": "2026-09-01T10:15:00-0700",
"currency_code": "USD",
"email": "ann@bowman.example",
"first_name": "Ann",
"last_modified_time": "2026-09-01T10:15:00-0700",
"last_name": "Bowman",
"outstanding_receivable_amount": 0,
"payment_terms": 15,
"payment_terms_label": "Net 15",
"status": "active"
}Void an invoice
Cancel an invoice by marking it void. It stays on record but no longer counts as owed.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's id, from 'List invoices' or 'Create an invoice', or its address in Zoho Invoice.
- Organization
organization_idtext - Optional. The Zoho Invoice organization to use. Leave blank for your default organization.
Outputs
An invoice's status change.
invoice_idtext- The invoice's id.
messagetext- Zoho's confirmation message.
statustext- The new status.
Example output
{
"invoice_id": "2000000007037",
"message": "Invoice status has been changed to Void.",
"status": "void"
}