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

ActionWhat it does
Adjust stockAdd or remove stock of an item, such as after a count or for damaged goods.
Confirm a sales orderMark a draft sales order as confirmed, so it can be packed.
Create a contactCreate a customer or vendor.
Create a purchase orderCreate a draft purchase order to restock items from a vendor.
Create a sales orderCreate a draft sales order for a customer.
Create an invoiceCreate a draft invoice.
Create an itemCreate a product or service, optionally with its opening stock.
Get a contactGet a customer's or vendor's details, addresses, contact persons and outstanding balance.
Get a sales orderGet a sales order with its lines and how much of each is packed, shipped and invoiced.
Get an item's stockGet an item's details and how many are in stock, in total and at each location.
Issue a purchase orderMark a draft purchase order as issued to the vendor.
List contactsList customers and vendors, optionally searched and sorted.
List invoicesList invoices, optionally by status or customer.
List itemsList items with their stock, optionally searched, filtered (for example to low stock) and sorted.
List purchase ordersList purchase orders with their status.
List sales ordersList sales orders with their status and how much is packed, shipped and invoiced.
Mark an invoice as sentMark a draft invoice as sent without emailing it, so payments can be recorded against it.
Pack a sales orderCreate a package for a confirmed sales order.
Record a customer paymentRecord a payment from a customer against one of their invoices.
Update an itemChange 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 IDitem_idtextRequired
The item's id, from 'List items' or 'Create an item', or the item's address in Zoho Inventory.
Quantity changequantity_adjustednumberRequired
How much to change the stock by, e.g. 10 to add ten or -3 to remove three.
ReasonreasontextRequired
Why the stock changed, such as Stock count or Damaged goods.
Datedatedate
Optional. The adjustment date. Defaults to today.
Locationlocation_idtext
Optional. The location (warehouse) the stock moves at. Leave blank for your primary location.
Descriptiondescriptiontext
Optional. More detail about the adjustment.
Reference numberreference_numbertext
Optional. Your own reference.
Organizationorganization_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 IDsalesorder_idtextRequired
The sales order's id, from 'List sales orders' or 'Create a sales order', or its address in Zoho Inventory.
Organizationorganization_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 namecontact_nametextRequired
The contact's display name. Must be unique.
Typecontact_typetext
Optional. Customer or vendor; purchase orders need a vendor. Defaults to customer.One of: customer, vendor. Default: customer.
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.
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 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 IDvendor_idtextRequired
The vendor's contact id, from 'List contacts' or 'Create a contact' with the type vendor.
Item IDitem_idtext
The item on the order's line, from 'List items' or 'Create an item'. Leave blank when giving several lines below.
Quantityquantitynumber
Optional. How many. Defaults to 1.
Unit costpurchase_ratenumber
Optional. The cost of one. Defaults to the item's purchase price.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 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.
Datedatedate
Optional. The document date. Defaults to today.
Expected delivery datedelivery_datedate
Optional.
Reference numberreference_numbertext
Optional. Your own reference.
Purchase order numberpurchaseorder_numbertext
Optional. Leave blank for Zoho's next number.
Deliver to locationlocation_idtext
Optional. Where the stock arrives. Leave blank for your primary location.
Notesnotestext
Optional. Notes shown on the document.
Terms & conditionstermstext
Optional. Terms shown on the document.
Organizationorganization_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 IDcustomer_idtextRequired
The customer's contact id, from 'List contacts' or 'Create a contact'.
Item IDitem_idtext
The item on the order's line, from 'List items' or 'Create an item'. Leave blank when giving several lines below.
Quantityquantitynumber
Optional. How many. Defaults to 1.
Unit priceratenumber
Optional. The price of one. Defaults to the item's selling price.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 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.
Datedatedate
Optional. The document date. Defaults to today.
Expected shipment dateshipment_datedate
Optional.
Reference numberreference_numbertext
Optional. Your own reference.
Sales order numbersalesorder_numbertext
Optional. Leave blank for Zoho's next number.
Locationlocation_idtext
Optional. The location (warehouse) the stock moves at. Leave blank for your primary location.
Notesnotestext
Optional. Notes shown on the document.
Terms & conditionstermstext
Optional. Terms shown on the document.
Organizationorganization_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 IDsalesorder_idtext
Optional. Invoice this sales order: its customer and every line not yet invoiced. The line fields below are then ignored.
Customer IDcustomer_idtext
The customer's contact id. Optional when a sales order is given.
Item IDitem_idtext
Optional. The item on the invoice's line.
Quantityquantitynumber
Optional. How many. Defaults to 1.
Unit priceratenumber
Optional. The price of one. Defaults to the item's selling price.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 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 datedatedate
Optional. Defaults to today.
Due datedue_datedate
Optional. Defaults to the customer's payment terms.
Reference numberreference_numbertext
Optional. Your own reference.
Locationlocation_idtext
Optional. The location (warehouse) the stock moves at. Leave blank for your primary location.
Notesnotestext
Optional. Notes shown on the document.
Terms & conditionstermstext
Optional. Terms shown on the document.
Email it to the customer nowsendtrue/false
Optional. Off creates a draft; mark it sent later with 'Mark an invoice as sent'.Default: false.
Organizationorganization_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

NamenametextRequired
The item's name.
Item typeitem_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 serviceproduct_typetext
Optional. Defaults to goods.One of: goods, service. Default: goods.
SKUskutext
Optional. The stock keeping unit; must be unique.
Unitunittext
Optional. The unit it is counted in, such as pcs or kg.
Selling priceratenumber
Optional. The price you sell one for.At least 0.
Purchase pricepurchase_ratenumber
Optional. The price you buy one for.At least 0.
Sales descriptiondescriptiontext
Optional. Shown on sales orders and invoices.
Purchase descriptionpurchase_descriptiontext
Optional. Shown on purchase orders.
Reorder levelreorder_levelnumber
Optional. The stock level at which to reorder.At least 0.
Taxtax_idtext
Optional. The tax to apply.
Preferred vendor IDvendor_idtext
Optional. The vendor's contact id.
Opening stockopening_stocknumber
Optional. How many you have now. Inventory items only.At least 0.
Opening stock value per unitopening_stock_ratenumber
Optional. What each unit of the opening stock is worth.At least 0.
Locationlocation_idtext
Optional. Where the opening stock is. Leave blank for your primary location.
Organizationorganization_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 IDcontact_idtextRequired
The contact's id, from 'List contacts' or 'Create a contact', or the contact's address in Zoho Inventory.
Organizationorganization_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 IDsalesorder_idtextRequired
The sales order's id, from 'List sales orders' or 'Create a sales order', or its address in Zoho Inventory.
Organizationorganization_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 IDitem_idtextRequired
The item's id, from 'List items' or 'Create an item', or the item's address in Zoho Inventory.
Organizationorganization_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 IDpurchaseorder_idtextRequired
The purchase order's id, from 'List purchase orders' or 'Create a purchase order'.
Organizationorganization_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

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).
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 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

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 invoices.
Searchsearch_texttext
Optional. Only records matching this text.
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 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

Searchsearch_texttext
Optional. Only records matching this text.
Showfilter_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 bysort_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 ordersort_ordertext
Optional. Ascending or descending.One of: A (Ascending), D (Descending).
Locationlocation_idtext
Optional. Only items stocked at this location.
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 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 IDvendor_idtext
Optional. Only this vendor's orders.
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 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 IDcustomer_idtext
Optional. Only this customer's orders.
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 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 IDinvoice_idtextRequired
The invoice's id, from 'List invoices' or 'Create an invoice'.
Organizationorganization_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 IDsalesorder_idtextRequired
The sales order's id, from 'List sales orders' or 'Create a sales order', or its address in Zoho Inventory.
Packing datedatedate
Optional. Defaults to today.
Package numberpackage_numbertext
Optional. Leave blank for Zoho's next number.
Notesnotestext
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.
Organizationorganization_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 IDcustomer_idtextRequired
The customer's contact id, from 'List contacts' or 'Create a contact'.
Invoice IDinvoice_idtextRequired
The invoice's id, from 'List invoices' or 'Create an invoice'.
AmountamountnumberRequired
The amount received.At least 0.
Paid bypayment_modetextRequired
How the customer paid.One of: cash, check, creditcard (Credit card), banktransfer (Bank transfer), bankremittance (Bank remittance), others (Other). Default: cash.
Payment datedatedate
Optional. Defaults to today.
Amount applied to the invoiceamount_appliednumber
Optional. Defaults to the whole amount; the rest stays as the customer's credit.At least 0.
Reference numberreference_numbertext
Optional. Your own reference.
Descriptiondescriptiontext
Optional. A note about the payment.
Organizationorganization_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 IDitem_idtextRequired
The item's id, from 'List items' or 'Create an item', or the item's address in Zoho Inventory.
Namenametext
Optional. The new name.
Selling priceratenumber
Optional. The new selling price.At least 0.
Purchase pricepurchase_ratenumber
Optional. The new purchase price.At least 0.
Sales descriptiondescriptiontext
Optional.
SKUskutext
Optional. Must be unique.
Reorder levelreorder_levelnumber
Optional. The stock level at which to reorder.At least 0.
Taxtax_idtext
Optional. The tax to apply.
Organizationorganization_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"
}

On this page