Zoho Inventory
Zoho Inventory Website
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.
- Name - (Required)
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
- Purchase Order
- Contact (Vendor)
- Item
- Workflow
- Workflow log
- Activity Logs
Features of Zoho
Schedule
Settings > Schedules Zoho Schedule Instruction
issued PO
Only drafts can be marked as open.