Zoho Inventory
App · E-Commerce · 20 actions
Inventory and order management. Track stock, create items, sales orders, packages, invoices and purchase orders, and record customer payments.
Actions
| Action | What it does |
|---|---|
| Adjust stock | Add or remove stock of an item, such as after a count or for damaged goods. |
| Confirm a sales order | Mark a draft sales order as confirmed, so it can be packed. |
| Create a contact | Create a customer or vendor. |
| Create a purchase order | Create a draft purchase order to restock items from a vendor. |
| Create a sales order | Create a draft sales order for a customer. |
| Create an invoice | Create a draft invoice. |
| Create an item | Create a product or service, optionally with its opening stock. |
| Get a contact | Get a customer's or vendor's details, addresses, contact persons and outstanding balance. |
| Get a sales order | Get a sales order with its lines and how much of each is packed, shipped and invoiced. |
| Get an item's stock | Get an item's details and how many are in stock, in total and at each location. |
| Issue a purchase order | Mark a draft purchase order as issued to the vendor. |
| List contacts | List customers and vendors, optionally searched and sorted. |
| List invoices | List invoices, optionally by status or customer. |
| List items | List items with their stock, optionally searched, filtered (for example to low stock) and sorted. |
| List purchase orders | List purchase orders with their status. |
| List sales orders | List sales orders with their status and how much is packed, shipped and invoiced. |
| Mark an invoice as sent | Mark a draft invoice as sent without emailing it, so payments can be recorded against it. |
| Pack a sales order | Create a package for a confirmed sales order. |
| Record a customer payment | Record a payment from a customer against one of their invoices. |
| Update an item | Change an item's name, prices, description, SKU, reorder level or tax. |
Adjust stock
Add or remove stock of an item, such as after a count or for damaged goods. A positive quantity adds stock; a negative one removes it.
Inputs
- Item ID
item_idtextRequired - The item's id, from 'List items' or 'Create an item', or the item's address in Zoho Inventory.
- Quantity change
quantity_adjustednumberRequired - How much to change the stock by, e.g. 10 to add ten or -3 to remove three.
- Reason
reasontextRequired - Why the stock changed, such as Stock count or Damaged goods.
- Date
datedate - Optional. The adjustment date. Defaults to today.
- Location
location_idtext - Optional. The location (warehouse) the stock moves at. Leave blank for your primary location.
- Description
descriptiontext - Optional. More detail about the adjustment.
- Reference number
reference_numbertext - Optional. Your own reference.
- Organization
organization_idtext - Optional. The Zoho Inventory organization to use. Leave blank for your default organization.
Outputs
A Zoho Inventory stock adjustment.
adjustment_typetext- quantity.
datetext- The adjustment date, YYYY-MM-DD.
descriptiontext- The adjustment's description.
inventory_adjustment_idtext- The adjustment's id.
line_itemslist- The adjusted items.
location_idtext- The location's id.
location_nametext- The location's name.
reasontext- Why the stock changed.
reason_idtext- The reason's id.
reference_numbertext- Your reference.
totalnumber- The value of the adjustment.
Example output
{
"adjustment_type": "quantity",
"date": "2026-09-30",
"inventory_adjustment_id": "4815000000049001",
"line_items": [
{
"item_id": "4815000000044208",
"location_id": "4815000000000132",
"name": "Bamboo cutting board",
"quantity_adjusted": 10
}
],
"reason": "Stock count"
}Confirm a sales order
Mark a draft sales order as confirmed, so it can be packed.
Inputs
- Sales order ID
salesorder_idtextRequired - The sales order's id, from 'List sales orders' or 'Create a sales order', or its address in Zoho Inventory.
- Organization
organization_idtext - Optional. The Zoho Inventory organization to use. Leave blank for your default organization.
Outputs
A sales order's status change.
messagetext- Zoho's confirmation message.
salesorder_idtext- The sales order's id.
statustext- The new status.
Example output
{
"message": "Sales order status has been changed to 'Confirmed'",
"salesorder_id": "4815000000045091",
"status": "confirmed"
}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; purchase orders need a vendor. Defaults to customer.One of:
customer,vendor. Default:customer. - 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.
- 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 Inventory organization to use. Leave blank for your default organization.
Outputs
A Zoho Inventory 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 people at the contact.
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.
currency_idtext- The contact's currency id.
custom_fieldslist- Custom field values.
emailtext- The primary contact person's email.
first_nametext- The primary contact person's first name.
has_transactiontrue/false- Whether it has any transactions.
last_modified_timetext- When it was last changed.
last_nametext- The primary contact person's last name.
location_idtext- The contact's location id.
location_nametext- The contact's location name.
mobiletext- The primary contact person's mobile.
notestext- 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.
primary_contact_idtext- The primary contact person's id.
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": "4815000000044080",
"contact_name": "Bowman & Co",
"contact_type": "customer",
"created_time": "2026-09-01T10:15:00-0700",
"currency_code": "USD",
"email": "orders@bowman.example",
"last_modified_time": "2026-09-01T10:15:00-0700",
"outstanding_receivable_amount": 0,
"status": "active"
}Create a purchase order
Create a draft purchase order to restock items from a vendor. Issue it to send it on.
Inputs
- Vendor ID
vendor_idtextRequired - The vendor's contact id, from 'List contacts' or 'Create a contact' with the type vendor.
- Item ID
item_idtext - The item on the order's line, from 'List items' or 'Create an item'. Leave blank when giving several lines below.
- Quantity
quantitynumber - Optional. How many. Defaults to 1.
- Unit cost
purchase_ratenumber - Optional. The cost of one. Defaults to the item's purchase price.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 an order with several, e.g. [{"item_id": "4815000000044208", "quantity": 10, "purchase_rate": 11}]. Each line takes item_id, name, description, quantity, purchase_rate, tax_id, location_id. When given it replaces the single-line fields above.
- Date
datedate - Optional. The document date. Defaults to today.
- Expected delivery date
delivery_datedate - Optional.
- Reference number
reference_numbertext - Optional. Your own reference.
- Purchase order number
purchaseorder_numbertext - Optional. Leave blank for Zoho's next number.
- Deliver to location
location_idtext - Optional. Where the stock arrives. Leave blank for your primary location.
- Notes
notestext - Optional. Notes shown on the document.
- Terms & conditions
termstext - Optional. Terms shown on the document.
- Organization
organization_idtext - Optional. The Zoho Inventory organization to use. Leave blank for your default organization.
Outputs
A Zoho Inventory purchase order.
attentiontext- Who to address it to.
billed_statustext- Whether it has been billed.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
currency_codetext- The currency, e.g. USD.
datetext- The order date, YYYY-MM-DD.
delivery_datetext- The expected delivery date.
last_modified_timetext- When it was last changed.
line_itemslist- The order's lines.
location_idtext- The location's id.
location_nametext- The location's name.
notestext- Notes.
purchaseorder_idtext- The purchase order's id.
purchaseorder_numbertext- The purchase order number, e.g. PO-00003.
reference_numbertext- Your reference.
ship_viatext- The shipping method.
statustext- The status, e.g. draft or issued.
sub_totalnumber- The total before tax.
tax_totalnumber- The tax.
termstext- Terms.
totalnumber- The order total.
vendor_idtext- The vendor's id.
vendor_nametext- The vendor's name.
Example output
{
"currency_code": "USD",
"date": "2026-09-30",
"purchaseorder_id": "4815000000048011",
"purchaseorder_number": "PO-00003",
"status": "draft",
"total": 55,
"vendor_id": "4815000000044090",
"vendor_name": "Timber Supply Ltd"
}Create a sales order
Create a draft sales order for a customer. Confirm it before packing it.
Inputs
- Customer ID
customer_idtextRequired - The customer's contact id, from 'List contacts' or 'Create a contact'.
- Item ID
item_idtext - The item on the order's 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 - Optional. The price of one. Defaults to the item's selling price.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 an order with several, e.g. [{"item_id": "4815000000044208", "quantity": 2, "rate": 150}]. Each line takes item_id, name, description, quantity, rate, tax_id, location_id. When given it replaces the single-line fields above.
- Date
datedate - Optional. The document date. Defaults to today.
- Expected shipment date
shipment_datedate - Optional.
- Reference number
reference_numbertext - Optional. Your own reference.
- Sales order number
salesorder_numbertext - Optional. Leave blank for Zoho's next number.
- Location
location_idtext - Optional. The location (warehouse) the stock moves at. Leave blank for your primary location.
- Notes
notestext - Optional. Notes shown on the document.
- Terms & conditions
termstext - Optional. Terms shown on the document.
- Organization
organization_idtext - Optional. The Zoho Inventory organization to use. Leave blank for your default organization.
Outputs
A Zoho Inventory sales order.
adjustmentnumber- The adjustment.
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.
custom_fieldslist- Custom field values.
customer_idtext- The customer's id.
customer_nametext- The customer's name.
datetext- The order date, YYYY-MM-DD.
discounttext- The discount.
last_modified_timetext- When it was last changed.
line_itemslist- The order's lines.
location_idtext- The location's id.
location_nametext- The location's name.
notestext- Notes.
reference_numbertext- Your reference.
salesorder_idtext- The sales order's id.
salesorder_numbertext- The sales order number, e.g. SO-00012.
salesperson_idtext- The salesperson's id.
salesperson_nametext- The salesperson's name.
shipment_datetext- The expected shipment date.
shipping_addressobject- A postal address.
shipping_chargenumber- The shipping charge.
statustext- The status, e.g. draft or confirmed.
sub_totalnumber- The total before tax.
tax_totalnumber- The tax.
termstext- Terms.
totalnumber- The order total.
Example output
{
"currency_code": "USD",
"customer_id": "4815000000044080",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"line_items": [
{
"item_id": "4815000000044208",
"item_total": 48,
"line_item_id": "4815000000045095",
"name": "Bamboo cutting board",
"quantity": 2,
"quantity_invoiced": 0,
"quantity_packed": 0,
"quantity_shipped": 0,
"rate": 24
}
],
"salesorder_id": "4815000000045091",
"salesorder_number": "SO-00012",
"status": "draft",
"total": 48
}Create an invoice
Create a draft invoice. Give a sales order to invoice everything on it not yet invoiced, or give the lines yourself.
Inputs
- Sales order ID
salesorder_idtext - Optional. Invoice this sales order: its customer and every line not yet invoiced. The line fields below are then ignored.
- Customer ID
customer_idtext - The customer's contact id. Optional when a sales order is given.
- Item ID
item_idtext - Optional. The item on the invoice's line.
- Quantity
quantitynumber - Optional. How many. Defaults to 1.
- Unit price
ratenumber - Optional. The price of one. Defaults to the item's selling price.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 an order with several, e.g. [{"item_id": "4815000000044208", "quantity": 2, "rate": 150}]. Each line takes item_id, name, description, quantity, rate, tax_id, location_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.
- Location
location_idtext - Optional. The location (warehouse) the stock moves at. Leave blank for your primary location.
- Notes
notestext - Optional. Notes shown on the document.
- Terms & conditions
termstext - Optional. Terms shown on the document.
- Email it to the customer now
sendtrue/false - Optional. Off creates a draft; mark it sent later with 'Mark an invoice as sent'.Default:
false. - Organization
organization_idtext - Optional. The Zoho Inventory organization to use. Leave blank for your default organization.
Outputs
A Zoho Inventory invoice.
adjustmentnumber- The adjustment.
balancenumber- How much 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.
customer_idtext- The customer's 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-facing link to the invoice.
last_modified_timetext- When it was last changed.
line_itemslist- The invoice's lines.
location_idtext- The location's id.
location_nametext- The location's name.
notestext- Notes.
payment_madenumber- How much has been paid.
payment_termsnumber- Payment terms in days.
payment_terms_labeltext- The payment terms' name.
reference_numbertext- Your reference.
shipping_addressobject- A postal address.
shipping_chargenumber- The shipping charge.
statustext- draft, sent, viewed, overdue, unpaid, partially_paid, paid or void.
sub_totalnumber- The total before tax.
tax_totalnumber- The tax.
termstext- Terms.
totalnumber- The invoice total.
Example output
{
"balance": 48,
"currency_code": "USD",
"customer_id": "4815000000044080",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"due_date": "2026-10-15",
"invoice_id": "4815000000046077",
"invoice_number": "INV-000042",
"status": "draft",
"total": 48
}Create an item
Create a product or service, optionally with its opening stock.
Inputs
- Name
nametextRequired - The item's name.
- Item type
item_typetext - Optional. Inventory items track stock. Defaults to inventory.One of:
inventory(Inventory (tracks stock)),sales_and_purchases(Sales and purchases (no stock)),sales(Sales only (no stock)),purchases(Purchases only (no stock)). Default:inventory. - Goods or service
product_typetext - Optional. Defaults to goods.One of:
goods,service. Default:goods. - SKU
skutext - Optional. The stock keeping unit; must be unique.
- Unit
unittext - Optional. The unit it is counted in, such as pcs or kg.
- Selling price
ratenumber - Optional. The price you sell one for.At least 0.
- Purchase price
purchase_ratenumber - Optional. The price you buy one for.At least 0.
- Sales description
descriptiontext - Optional. Shown on sales orders and invoices.
- Purchase description
purchase_descriptiontext - Optional. Shown on purchase orders.
- Reorder level
reorder_levelnumber - Optional. The stock level at which to reorder.At least 0.
- Tax
tax_idtext - Optional. The tax to apply.
- Preferred vendor ID
vendor_idtext - Optional. The vendor's contact id.
- Opening stock
opening_stocknumber - Optional. How many you have now. Inventory items only.At least 0.
- Opening stock value per unit
opening_stock_ratenumber - Optional. What each unit of the opening stock is worth.At least 0.
- Location
location_idtext - Optional. Where the opening stock is. Leave blank for your primary location.
- Organization
organization_idtext - Optional. The Zoho Inventory organization to use. Leave blank for your default organization.
Outputs
A Zoho Inventory item.
actual_available_stocknumber- Total stock available after committed orders. Summed from the locations when Zoho does not send it.
available_stocknumber- Total stock available to sell. Summed from the locations when Zoho does not send it.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
custom_fieldslist- Custom field values.
descriptiontext- The sales description.
eantext- The EAN code.
isbntext- The ISBN.
item_idtext- The item's id.
item_typetext- inventory, sales, purchases or sales_and_purchases.
last_modified_timetext- When it was last changed.
locationslist- Stock per location.
nametext- The item's name.
part_numbertext- The part number.
product_typetext- goods or service.
purchase_descriptiontext- The purchase description.
purchase_ratenumber- The purchase price.
ratenumber- The selling price.
reorder_levelnumber- The stock level at which to reorder.
skutext- The stock keeping unit.
statustext- active or inactive.
stock_on_handnumber- Total stock on hand. Summed from the locations when Zoho does not send it.
tax_idtext- The tax's id.
tax_nametext- The tax's name.
tax_percentagenumber- The tax rate.
unittext- The unit it is counted in, e.g. pcs.
upctext- The UPC code.
vendor_idtext- The preferred vendor's id.
vendor_nametext- The preferred vendor's name.
Example output
{
"actual_available_stock": 38,
"available_stock": 38,
"created_time": "2026-09-01T10:15:00-0700",
"item_id": "4815000000044208",
"item_type": "inventory",
"last_modified_time": "2026-09-01T10:15:00-0700",
"locations": [
{
"is_primary": true,
"location_actual_available_stock": 38,
"location_available_stock": 38,
"location_id": "4815000000000132",
"location_name": "Main warehouse",
"location_stock_on_hand": 40
}
],
"name": "Bamboo cutting board",
"product_type": "goods",
"purchase_rate": 11,
"rate": 24,
"reorder_level": 5,
"sku": "BCB-001",
"status": "active",
"stock_on_hand": 40,
"unit": "pcs"
}Get a contact
Get a customer's or vendor's details, addresses, contact persons and outstanding balance.
Inputs
- Contact ID
contact_idtextRequired - The contact's id, from 'List contacts' or 'Create a contact', or the contact's address in Zoho Inventory.
- Organization
organization_idtext - Optional. The Zoho Inventory organization to use. Leave blank for your default organization.
Outputs
A Zoho Inventory 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 people at the contact.
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.
currency_idtext- The contact's currency id.
custom_fieldslist- Custom field values.
emailtext- The primary contact person's email.
first_nametext- The primary contact person's first name.
has_transactiontrue/false- Whether it has any transactions.
last_modified_timetext- When it was last changed.
last_nametext- The primary contact person's last name.
location_idtext- The contact's location id.
location_nametext- The contact's location name.
mobiletext- The primary contact person's mobile.
notestext- 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.
primary_contact_idtext- The primary contact person's id.
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": "4815000000044080",
"contact_name": "Bowman & Co",
"contact_type": "customer",
"created_time": "2026-09-01T10:15:00-0700",
"currency_code": "USD",
"email": "orders@bowman.example",
"last_modified_time": "2026-09-01T10:15:00-0700",
"outstanding_receivable_amount": 0,
"status": "active"
}Get a sales order
Get a sales order with its lines and how much of each is packed, shipped and invoiced.
Inputs
- Sales order ID
salesorder_idtextRequired - The sales order's id, from 'List sales orders' or 'Create a sales order', or its address in Zoho Inventory.
- Organization
organization_idtext - Optional. The Zoho Inventory organization to use. Leave blank for your default organization.
Outputs
A Zoho Inventory sales order.
adjustmentnumber- The adjustment.
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.
custom_fieldslist- Custom field values.
customer_idtext- The customer's id.
customer_nametext- The customer's name.
datetext- The order date, YYYY-MM-DD.
discounttext- The discount.
last_modified_timetext- When it was last changed.
line_itemslist- The order's lines.
location_idtext- The location's id.
location_nametext- The location's name.
notestext- Notes.
reference_numbertext- Your reference.
salesorder_idtext- The sales order's id.
salesorder_numbertext- The sales order number, e.g. SO-00012.
salesperson_idtext- The salesperson's id.
salesperson_nametext- The salesperson's name.
shipment_datetext- The expected shipment date.
shipping_addressobject- A postal address.
shipping_chargenumber- The shipping charge.
statustext- The status, e.g. draft or confirmed.
sub_totalnumber- The total before tax.
tax_totalnumber- The tax.
termstext- Terms.
totalnumber- The order total.
Example output
{
"currency_code": "USD",
"customer_id": "4815000000044080",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"line_items": [
{
"item_id": "4815000000044208",
"item_total": 48,
"line_item_id": "4815000000045095",
"name": "Bamboo cutting board",
"quantity": 2,
"quantity_invoiced": 0,
"quantity_packed": 0,
"quantity_shipped": 0,
"rate": 24
}
],
"salesorder_id": "4815000000045091",
"salesorder_number": "SO-00012",
"status": "draft",
"total": 48
}Get an item's stock
Get an item's details and how many are in stock, in total and at each location.
Inputs
- Item ID
item_idtextRequired - The item's id, from 'List items' or 'Create an item', or the item's address in Zoho Inventory.
- Organization
organization_idtext - Optional. The Zoho Inventory organization to use. Leave blank for your default organization.
Outputs
A Zoho Inventory item.
actual_available_stocknumber- Total stock available after committed orders. Summed from the locations when Zoho does not send it.
available_stocknumber- Total stock available to sell. Summed from the locations when Zoho does not send it.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
custom_fieldslist- Custom field values.
descriptiontext- The sales description.
eantext- The EAN code.
isbntext- The ISBN.
item_idtext- The item's id.
item_typetext- inventory, sales, purchases or sales_and_purchases.
last_modified_timetext- When it was last changed.
locationslist- Stock per location.
nametext- The item's name.
part_numbertext- The part number.
product_typetext- goods or service.
purchase_descriptiontext- The purchase description.
purchase_ratenumber- The purchase price.
ratenumber- The selling price.
reorder_levelnumber- The stock level at which to reorder.
skutext- The stock keeping unit.
statustext- active or inactive.
stock_on_handnumber- Total stock on hand. Summed from the locations when Zoho does not send it.
tax_idtext- The tax's id.
tax_nametext- The tax's name.
tax_percentagenumber- The tax rate.
unittext- The unit it is counted in, e.g. pcs.
upctext- The UPC code.
vendor_idtext- The preferred vendor's id.
vendor_nametext- The preferred vendor's name.
Example output
{
"actual_available_stock": 38,
"available_stock": 38,
"created_time": "2026-09-01T10:15:00-0700",
"item_id": "4815000000044208",
"item_type": "inventory",
"last_modified_time": "2026-09-01T10:15:00-0700",
"locations": [
{
"is_primary": true,
"location_actual_available_stock": 38,
"location_available_stock": 38,
"location_id": "4815000000000132",
"location_name": "Main warehouse",
"location_stock_on_hand": 40
}
],
"name": "Bamboo cutting board",
"product_type": "goods",
"purchase_rate": 11,
"rate": 24,
"reorder_level": 5,
"sku": "BCB-001",
"status": "active",
"stock_on_hand": 40,
"unit": "pcs"
}Issue a purchase order
Mark a draft purchase order as issued to the vendor.
Inputs
- Purchase order ID
purchaseorder_idtextRequired - The purchase order's id, from 'List purchase orders' or 'Create a purchase order'.
- Organization
organization_idtext - Optional. The Zoho Inventory organization to use. Leave blank for your default organization.
Outputs
A purchase order's status change.
messagetext- Zoho's confirmation message.
purchaseorder_idtext- The purchase order's id.
statustext- The new status.
Example output
{
"message": "The purchase order has been marked as issued.",
"purchaseorder_id": "4815000000048011",
"status": "issued"
}List contacts
List customers and vendors, optionally searched and sorted. Choosing a type keeps only those contacts from each page.
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). - 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 Inventory 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": "4815000000044080",
"contact_name": "Bowman & Co",
"contact_type": "customer",
"created_time": "2026-09-01T10:15:00-0700",
"currency_code": "USD",
"email": "orders@bowman.example",
"last_modified_time": "2026-09-01T10:15:00-0700",
"outstanding_receivable_amount": 0,
"status": "active"
}
],
"count": 1,
"has_more_page": false,
"page": 1,
"per_page": 200
}List invoices
List invoices, optionally by status or customer.
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 invoices.
- Search
search_texttext - Optional. Only records matching this text.
- 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 Inventory 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": 48,
"currency_code": "USD",
"customer_id": "4815000000044080",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"due_date": "2026-10-15",
"invoice_id": "4815000000046077",
"invoice_number": "INV-000042",
"status": "draft",
"total": 48
}
],
"page": 1,
"per_page": 200
}List items
List items with their stock, optionally searched, filtered (for example to low stock) and sorted.
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),Status.Lowstock(Low stock),ItemType.Inventory(Inventory items),ItemType.Service(Services). - Sort by
sort_columntext - Optional. The field to sort by.One of:
name,sku,rate(Selling price),purchase_rate(Purchase price),created_time(Created),last_modified_time(Last modified),reorder_level(Reorder level),stock_on_hand(Stock on hand). - Sort order
sort_ordertext - Optional. Ascending or descending.One of:
A(Ascending),D(Descending). - Location
location_idtext - Optional. Only items stocked at this location.
- 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 Inventory 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": [
{
"actual_available_stock": 38,
"available_stock": 38,
"created_time": "2026-09-01T10:15:00-0700",
"item_id": "4815000000044208",
"item_type": "inventory",
"last_modified_time": "2026-09-01T10:15:00-0700",
"locations": [
{
"is_primary": true,
"location_actual_available_stock": 38,
"location_available_stock": 38,
"location_id": "4815000000000132",
"location_name": "Main warehouse",
"location_stock_on_hand": 40
}
],
"name": "Bamboo cutting board",
"product_type": "goods",
"purchase_rate": 11,
"rate": 24,
"reorder_level": 5,
"sku": "BCB-001",
"status": "active",
"stock_on_hand": 40,
"unit": "pcs"
}
],
"page": 1,
"per_page": 200
}List purchase orders
List purchase orders with their status. Giving a vendor keeps only their orders from each page.
Inputs
- Vendor ID
vendor_idtext - Optional. Only this vendor's orders.
- 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 Inventory organization to use. Leave blank for your default organization.
Outputs
countnumber- How many purchase orders are on this page.
has_more_pagetrue/false- Whether another page is available.
pagenumber- This page's number.
per_pagenumber- The page size.
purchaseorderslist- The purchase orders.
Example output
{
"count": 1,
"has_more_page": false,
"page": 1,
"per_page": 200,
"purchaseorders": [
{
"currency_code": "USD",
"date": "2026-09-30",
"purchaseorder_id": "4815000000048011",
"purchaseorder_number": "PO-00003",
"status": "draft",
"total": 55,
"vendor_id": "4815000000044090",
"vendor_name": "Timber Supply Ltd"
}
]
}List sales orders
List sales orders with their status and how much is packed, shipped and invoiced. Giving a customer keeps only their orders from each page.
Inputs
- Customer ID
customer_idtext - Optional. Only this customer's orders.
- 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 Inventory organization to use. Leave blank for your default organization.
Outputs
countnumber- How many sales orders are on this page.
has_more_pagetrue/false- Whether another page is available.
pagenumber- This page's number.
per_pagenumber- The page size.
salesorderslist- The sales orders.
Example output
{
"count": 1,
"has_more_page": false,
"page": 1,
"per_page": 200,
"salesorders": [
{
"currency_code": "USD",
"customer_id": "4815000000044080",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"salesorder_id": "4815000000045091",
"salesorder_number": "SO-00012",
"status": "draft",
"total": 48
}
]
}Mark an invoice as sent
Mark a draft invoice as sent without emailing it, so payments can be recorded against it.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's id, from 'List invoices' or 'Create an invoice'.
- Organization
organization_idtext - Optional. The Zoho Inventory 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": "4815000000046077",
"message": "Invoice status has been changed to Sent.",
"status": "sent"
}Pack a sales order
Create a package for a confirmed sales order. By default every line is packed at the quantity not yet packed.
Inputs
- Sales order ID
salesorder_idtextRequired - The sales order's id, from 'List sales orders' or 'Create a sales order', or its address in Zoho Inventory.
- Packing date
datedate - Optional. Defaults to today.
- Package number
package_numbertext - Optional. Leave blank for Zoho's next number.
- Notes
notestext - Optional. Notes shown on the document.
- Lines to pack (advanced)
line_itemslist - Optional. Pack only some lines, e.g. [{"so_line_item_id": "4815000000045095", "quantity": 1}]. The ids are the sales order's line_item_id values.
- Organization
organization_idtext - Optional. The Zoho Inventory organization to use. Leave blank for your default organization.
Outputs
A Zoho Inventory package.
billing_addressobject- A postal address.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
customer_idtext- The customer's id.
customer_nametext- The customer's name.
datetext- The packing date, YYYY-MM-DD.
last_modified_timetext- When it was last changed.
line_itemslist- The packed lines.
notestext- Notes.
package_idtext- The package's id.
package_numbertext- The package number, e.g. PKG-00007.
salesorder_idtext- The sales order's id.
salesorder_numbertext- The sales order number.
shipping_addressobject- A postal address.
total_quantitynumber- How many units the package holds.
Example output
{
"customer_id": "4815000000044080",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"line_items": [
{
"item_id": "4815000000044208",
"name": "Bamboo cutting board",
"quantity": 2,
"so_line_item_id": "4815000000045095"
}
],
"package_id": "4815000000046021",
"package_number": "PKG-00007",
"salesorder_id": "4815000000045091",
"salesorder_number": "SO-00012",
"total_quantity": 2
}Record a customer payment
Record a payment from a customer against one of their invoices.
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'.
- Amount
amountnumberRequired - The amount received.At least 0.
- Paid by
payment_modetextRequired - How the customer paid.One of:
cash,check,creditcard(Credit card),banktransfer(Bank transfer),bankremittance(Bank remittance),others(Other). Default:cash. - Payment date
datedate - Optional. Defaults to today.
- Amount applied to the invoice
amount_appliednumber - Optional. Defaults to the whole amount; the rest stays as the customer's credit.At least 0.
- Reference number
reference_numbertext - Optional. Your own reference.
- Description
descriptiontext - Optional. A note about the payment.
- Organization
organization_idtext - Optional. The Zoho Inventory organization to use. Leave blank for your default organization.
Outputs
A Zoho Inventory customer payment.
account_idtext- The account it was deposited to.
account_nametext- That account's name.
amountnumber- The amount received.
bank_chargesnumber- Bank charges.
currency_codetext- The currency, e.g. USD.
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- The payment's status.
unused_amountnumber- How much is not applied to any invoice.
Example output
{
"amount": 48,
"customer_id": "4815000000044080",
"customer_name": "Bowman & Co",
"date": "2026-09-30",
"invoices": [
{
"amount_applied": 48,
"invoice_id": "4815000000046077",
"invoice_number": "INV-000042"
}
],
"payment_id": "4815000000047003",
"payment_mode": "cash"
}Update an item
Change an item's name, prices, description, SKU, reorder level or tax. Blank fields keep their current value. To change stock, use 'Adjust stock'.
Inputs
- Item ID
item_idtextRequired - The item's id, from 'List items' or 'Create an item', or the item's address in Zoho Inventory.
- Name
nametext - Optional. The new name.
- Selling price
ratenumber - Optional. The new selling price.At least 0.
- Purchase price
purchase_ratenumber - Optional. The new purchase price.At least 0.
- Sales description
descriptiontext - Optional.
- SKU
skutext - Optional. Must be unique.
- Reorder level
reorder_levelnumber - Optional. The stock level at which to reorder.At least 0.
- Tax
tax_idtext - Optional. The tax to apply.
- Organization
organization_idtext - Optional. The Zoho Inventory organization to use. Leave blank for your default organization.
Outputs
A Zoho Inventory item.
actual_available_stocknumber- Total stock available after committed orders. Summed from the locations when Zoho does not send it.
available_stocknumber- Total stock available to sell. Summed from the locations when Zoho does not send it.
created_timetext- When it was created, e.g. 2026-09-01T10:15:00-0700.
custom_fieldslist- Custom field values.
descriptiontext- The sales description.
eantext- The EAN code.
isbntext- The ISBN.
item_idtext- The item's id.
item_typetext- inventory, sales, purchases or sales_and_purchases.
last_modified_timetext- When it was last changed.
locationslist- Stock per location.
nametext- The item's name.
part_numbertext- The part number.
product_typetext- goods or service.
purchase_descriptiontext- The purchase description.
purchase_ratenumber- The purchase price.
ratenumber- The selling price.
reorder_levelnumber- The stock level at which to reorder.
skutext- The stock keeping unit.
statustext- active or inactive.
stock_on_handnumber- Total stock on hand. Summed from the locations when Zoho does not send it.
tax_idtext- The tax's id.
tax_nametext- The tax's name.
tax_percentagenumber- The tax rate.
unittext- The unit it is counted in, e.g. pcs.
upctext- The UPC code.
vendor_idtext- The preferred vendor's id.
vendor_nametext- The preferred vendor's name.
Example output
{
"actual_available_stock": 38,
"available_stock": 38,
"created_time": "2026-09-01T10:15:00-0700",
"item_id": "4815000000044208",
"item_type": "inventory",
"last_modified_time": "2026-09-01T10:15:00-0700",
"locations": [
{
"is_primary": true,
"location_actual_available_stock": 38,
"location_available_stock": 38,
"location_id": "4815000000000132",
"location_name": "Main warehouse",
"location_stock_on_hand": 40
}
],
"name": "Bamboo cutting board",
"product_type": "goods",
"purchase_rate": 11,
"rate": 24,
"reorder_level": 5,
"sku": "BCB-001",
"status": "active",
"stock_on_hand": 40,
"unit": "pcs"
}