Zoho Inventory

Modified on Thu, Oct 30, 2025 at 8:40 AM

Zoho Inventory
Zoho Inventory Website

Zoho Inventory Api


Connection
Zoho App

  • Client Type: Server-based Applications.
  • Protocol: OAuth 2.0.
  • Parameters:
    • Name - (Required)

      Connection name.

    • Organization - (Required)

      Connection identifier, each connection will have a different organization.

Trigger

Pull Triggers

  • Vendors
  • Items


Webhook Triggers

  • Receive Created Purchase Order.
  • Receive Created Vendor.
  • Receive Created Item.
  • Receive Updated Vendor.
  • Receive Updated Item.


Action

  • Create Bill


How to

Get Organizations

curl --request GET \

--url 'https://www.zohoapis.com/inventory/v1/organizations?organization_id=10234695' \

--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'


Register Webhook

Create Webhook -> Create Workflow

curl  --request POST \  

--url  'https://www.zohoapis.com/inventory/v1/settings/webhooks?organization_id=10234695'  \  

--header  'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'  \  

--header  'content-type: application/json'  \  

--data  '{"webhook_name":"test","entity":"purchaseorder","method":"POST","url":"https://webhook.site/d820282d-0e0f-4563-886a-6fbbda0c40cb","headers":[],"description":"123","connection_link_name":"","query_parameters":[],"body_type":"application/json","raw_data":"${JSONString}","form_data":[],"secret":""}'


curl  --request POST \  

--url  'https://www.zohoapis.com/inventory/v1/settings/workflows?organization_id=10234695'  \  

--header  'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'  \  

--header  'content-type: application/json'  \  

--data  '{"workflow_name":"test","entity":"purchaseorder","rule_type":"add","apply_rule_always":false,"day_difference":0,"rule":{"columns":[{"index":1,"field":"custom_field_4615558000000081161","value":"true","comparator":"equal","group":"vendor"}],"criteria_string":"1"},"instant_actions":[{"action_type":"webhook","action_id":"4615558000000085002"}],"time_based_actions":[]}'


Detect Connection

Parse x-com-zoho-organizationid in the header to get organizationid


Create Bill for Purchase Order

We need to retrieve the Purchase Order. For each line_item, we need to match the item_id on the PO to the item_id on the bill we created.

  • Purchase Order has Purchase Receives
    We need to get the “PurchaseReceives” (PR) in PO. For each line_item, we need to match the item_id on the PO to the item_id on the PR, then we match the line_item_id, quantity on the PR to the receive_item_id, quantity on the bill. If Some lines don't have receive_item_id, set all /bill/line_items/purchaseorder_item_id = empty

  • Purchase Order has no Purchase Receives

    Continue send bill without modify.


Check Data in Zoho

Header

Authorization:Zoho-oauthtoken 1000.88830d8190fe6c7d1cbcf3ba45a1916e.d8fda5e36b5d080a030475c777fdbcce


Features of Zoho

Schedule

Settings > Schedules Zoho Schedule Instruction


issued PO

Only drafts can be marked as open.












Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article