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.