Zoho Inventory
ERPAutomate Zoho Inventory order and stock management. Agents manage items, sales and purchase orders, invoices, payments, packages, and shipments, and monitor low-stock items across warehouses.
What This Integration Enables
An agent can sync products, stock levels, and price lists between Zoho Inventory and external storefronts or databases, and automate order-to-cash by creating sales orders, generating invoices, recording customer payments, and emailing invoices. It drives procure-to-pay by raising purchase orders, receiving stock, recording bills, and paying vendors, and it fulfills orders through packages and shipment orders while processing sales returns and credit notes. Eight polling triggers make Zoho Inventory a system that starts flows: new or updated sales orders, purchase orders, invoices, bills, items, contacts, and packages, plus On Low Stock Item. That last trigger is the one that turns a stockout from a surprise into a scheduled reorder. Managing inventory across multiple locations with transfer orders and stock adjustments keeps every warehouse honest.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Fulfill an Order Through a 3PL
When the On New Or Updated Sales Order trigger fires, the agent calls [ShipBob](/integrations/shipbob) Create Order to fulfill it, then emails the customer their tracking details through [Gmail](/integrations/gmail-service) Send Message. The order moves from placed to shipping without an ops person rekeying it into the warehouse system.
Reorder on Low Stock
When the On Low Stock Item trigger fires, the agent alerts the purchasing team through [Slack](/integrations/slack) Send Message To Channel, then calls Create Purchase Order to reorder from the vendor. Stockouts become reorders raised before an order is ever at risk.
Mirror Sales Into the Books
When the On New Or Updated Invoice trigger fires, the agent calls [QuickBooks Online](/integrations/quickbooks-online) Create Invoice to mirror the sale into the books, and after payment records it there too. On reorders above a spend threshold, the agent holds the purchase order and asks purchasing to approve before it is issued.
Human-in-Loop Highlight
A purchase order commits spend, and an automated reorder that misjudges demand ties up cash in stock you do not need. On reorders above a threshold you set, that commitment deserves a human. When the agent has prepared a purchase order above the limit, it treats issuing it as a [human-in-the-loop](/concepts/human-in-the-loop/) step: it pauses, shows the item, the quantity, the vendor, and the total spend, and routes the decision to purchasing through Slack or email. Purchasing approves, and the agent issues the order. Purchasing holds, and it waits. Small, routine reorders flow through automatically; the ones that move real money get a person before the spend is committed.
Agent Capabilities
110 actionsDiagnostics
1- Test Connection Verifies the OAuth connection is healthy by listing the organizations the connected account can access. Use to sanity-check setup before wiring downstream actions.
Contacts
7- Create Contact Creates a new customer or vendor contact. Supports primary contact details, billing address, shipping address, and contact persons.
- Get Contact Retrieves full details of a contact, including contact persons, addresses, and outstanding balances.
- Update Contact Updates an existing contact by merging supplied fields into the saved record. Use to change a subset of fields (e.g. adjust price, swap email) without re-sending the full payload.
- Delete Contact Permanently deletes a contact. Use when removing a test record; for production records prefer mark-inactive so historical references stay valid. Contacts with linked transactions cannot be deleted.
- Mark Contact Active Re-activates a contact previously marked inactive so it returns to pickers and reports. Use when restoring a customer or vendor relationship.
- Mark Contact Inactive Marks a contact inactive so it stops appearing in pickers but historical transactions stay intact. Preferred over delete for retiring a customer or vendor.
- List Contacts Lists contacts in the organization with optional filtering by type, status, and name.
Items
7- Create Item Creates a new inventory, service, or sales item. Inventory items track stock levels; service items don't.
- Get Item Retrieves an item with full detail: stock-on-hand and available-stock per location, pricing tiers, and custom fields. Use after listing or a trigger event to inspect a single item.
- Update Item Updates an existing item by merging supplied fields into the record. Use to change a subset (price, reorder level, description) without re-sending every field.
- Delete Item Permanently deletes an item. Use for cleanup; for production items prefer mark-inactive so historical line items remain valid. Items tied to transactions cannot be deleted.
- Mark Item Active Re-activates an item previously marked inactive so it returns to pickers and can be added to new transactions. Use when bringing a discontinued SKU back into rotation.
- Mark Item Inactive Marks an item inactive so it stops appearing in pickers and cannot be added to new transactions. Existing transactions remain intact. Preferred over delete for retiring an SKU.
- List Items Lists items in the organization, with optional filters for SKU, name, status, and stock level.
Item Groups
5- Create Item Group Creates a parent item group (variant container) with one or more variant items underneath.
- Get Item Group Retrieves an item group with every variant item underneath. Use to enumerate variants of a parent SKU.
- Update Item Group Updates an item group by merging supplied fields. Use when correcting or amending without re-sending the whole record.
- Delete Item Group Permanently deletes an item group AND all its variant items in one shot. Use carefully, to retire a single variant, delete that item instead.
- List Item Groups Lists item groups. Use to enumerate parent SKUs and their variants for batch processing or finding a group ID.
Composite Items
6- Create Composite Item Creates a composite item (kit/bundle) made up of one or more existing items at fixed quantities.
- Get Composite Item Retrieves a composite item (kit) with the component breakdown, every member item and its assembly quantity. Use to inspect kit composition before assembly.
- Update Composite Item Updates a composite item by merging supplied fields. Use when correcting or amending without re-sending the whole record.
- Delete Composite Item Permanently deletes a composite item (kit definition). Component items are unaffected. Use to retire a kit no longer offered for sale.
- Create Bundle Records an assembly event: consumes the components of a composite item and produces stock of the kit.
- Delete Bundle Reverses an assembly event by deleting the bundle record.
Inventory Adjustments
4- Create Inventory Adjustment Records a stock adjustment (e.g. cycle count, write-off, damage) against one or more items. Use type=quantity for stock changes and type=value for cost-only revaluation.
- Get Inventory Adjustment Retrieves an inventory adjustment record by ID. Use after listing/picker selection or a trigger event to read full details.
- Delete Inventory Adjustment Permanently deletes an inventory adjustment record and reverses its stock impact. Use to undo a miscounted adjustment.
- List Inventory Adjustments Lists inventory adjustments in the organization with optional filters.
Sales Orders
7- Create Sales Order Creates a sales order against an existing customer with one or more line items. Optionally specify a location, salesperson, discount, and shipping charge.
- Get Sales Order Retrieves a sales order with its line items, status history, and totals. Use after listing or a polling-trigger event to read full detail.
- Update Sales Order Updates an existing sales order by merging supplied fields. Use when partial-updating without re-sending the whole record. Cannot edit confirmed/voided orders without reopening.
- Delete Sales Order Permanently deletes a sales order. Use to clean up drafts; confirmed orders should be voided first via Mark Sales Order Void so stock impact unwinds correctly.
- Mark Sales Order Confirmed Confirms a draft sales order so it can be packaged and shipped. Use once line items, customer, and price are final, confirmation locks the order and reserves stock.
- Mark Sales Order Void Voids a sales order so it no longer affects stock or reports. Use to cancel an order after confirmation without losing its audit trail.
- List Sales Orders Lists sales orders in the organization with optional filters by status, customer, and date range.
Packages
5- Create Package Creates a package from a sales order. Packages must reference an existing sales order, the API requires salesorder_id.
- Get Package Retrieves a package record by ID. Use after listing/picker selection or a trigger event to read full details.
- Update Package Updates a package record (e.g. tracking, line items, notes).
- Delete Package Permanently deletes a package. Use to undo a packing mistake before the package is shipped; line items return to the sales order pool.
- List Packages Lists packages with optional status filter.
Shipment Orders
4- Create Shipment Order Creates a shipment order from one or more packages of a sales order. Shipments are separate from packages, packages get bagged into a shipment that the carrier collects.
- Get Shipment Order Retrieves a shipment order with linked packages, tracking number, carrier, and delivery status. Use to follow shipment progress.
- Mark Shipment Delivered Marks a shipment order as delivered, completing the order lifecycle. Use when carrier confirmation arrives out-of-band and Zoho should reflect final state.
- Delete Shipment Order Permanently deletes a shipment order. Underlying packages remain intact and can be re-shipped. Use to fix carrier/tracking-number mistakes before delivery.
Sales Returns
6- Create Sales Return Creates a sales return record. Optionally link it to the originating sales order; Zoho treats salesorder_id as optional.
- Get Sales Return Retrieves a sales return record by ID. Use after listing/picker selection or a trigger event to read full details.
- Update Sales Return Updates a sales return by merging supplied fields. Use when correcting or amending without re-sending the whole record.
- Delete Sales Return Permanently deletes a sales return record. Use only before the return is processed; for received returns, unwind via inventory adjustment instead.
- List Sales Returns Lists sales returns with optional date range.
- Receive Sales Return Records the physical receipt of returned goods against a sales return.
Invoices
10- Create Invoice Creates an invoice for a customer. Optionally associates the invoice with a sales order via `salesorder_id` in extraFields.
- Get Invoice Retrieves an invoice with all fields, applied payments, and credit-note offsets. Use to inspect AR detail after listing or a payment trigger.
- Update Invoice Updates an invoice by merging supplied fields. Use when correcting or amending without re-sending the whole record. Some fields are immutable once the invoice is sent.
- Delete Invoice Permanently deletes an invoice. Use only for accidental drafts; for sent invoices use void instead so the audit trail is preserved.
- Mark Invoice Sent Marks a draft invoice as sent without emailing it. Use when the invoice was delivered out-of-band (printed or exported) and you only need to advance status.
- Mark Invoice Void Voids an invoice so it no longer counts toward AR. Audit-safe alternative to deletion, use whenever an issued invoice was a mistake or will not be paid.
- Mark Invoice Draft Reverts an invoice back to draft status. Use to correct line items or details on an already-sent invoice before re-sending.
- Email Invoice Emails the invoice to one or more recipients with optional subject and body.
- Write Off Invoice Writes off an invoice's outstanding balance as bad debt.
- List Invoices Lists invoices with status, customer, and date filters.
Customer Payments
5- Record Customer Payment Records a customer payment and optionally applies it to one or more invoices.
- Get Customer Payment Retrieves a customer payment record by ID. Use after listing/picker selection or a trigger event to read full details.
- Update Customer Payment Updates a customer payment.
- Delete Customer Payment Permanently deletes a customer payment and releases any applied amounts back to the invoices. Use to correct mistakenly-recorded payments.
- List Customer Payments Lists customer payments with optional customer and date filters.
Credit Notes
6- Create Credit Note Creates a credit note for a customer (used for returns or goodwill).
- Get Credit Note Retrieves a credit note with line items, application history, and refunds. Use to inspect credit-note state.
- Update Credit Note Updates a credit note by merging supplied fields. Use when correcting or amending without re-sending the whole record.
- Delete Credit Note Permanently deletes a credit note. Cannot be undone; for applied credits, unapply or void so the audit trail survives. Cannot be undone; for applied credits, unapply or void instead so the audit trail survives.
- Apply Credit Note To Invoices Applies all or part of a credit note to one or more invoices.
- List Credit Notes Lists credit notes.
Purchase Orders
10- Create Purchase Order Creates a purchase order against a vendor with one or more line items.
- Get Purchase Order Retrieves a purchase order with line items, vendor info, and status. Use after listing or a trigger event for full detail.
- Update Purchase Order Updates a purchase order by merging supplied fields. Use when correcting or amending without re-sending the whole record.
- Delete Purchase Order Permanently deletes a purchase order. Use for draft PO cleanup; for issued POs cancel via Mark PO Cancelled first.
- Mark PO Issued Issues a draft PO so it can receive goods against it. Use once the PO has been approved internally and the vendor delivery is expected.
- Mark PO Cancelled Cancels an issued PO so it no longer expects deliveries. Use when a vendor order falls through or the order is no longer needed.
- List Purchase Orders Lists purchase orders with optional filters.
- Receive Purchase Order Records the physical receipt of items against a purchase order. Receives are separate from bills (financial liability).
- Get Purchase Receive Retrieves a purchase receive record by ID. Use after listing/picker selection or a trigger event to read full details.
- Delete Purchase Receive Permanently deletes a purchase receive record.
Bills
7- Create Bill Creates a vendor bill recording purchases received. Optionally references a PO via extraFields.purchaseorder_ids.
- Get Bill Retrieves a vendor bill with line items, payment history, and status. Use after listing or a trigger event for full detail.
- Update Bill Updates a bill by merging supplied fields. Use when correcting or amending without re-sending the whole record.
- Delete Bill Permanently deletes a bill. Use for draft cleanup; for posted bills void via Mark Bill Void to preserve the audit trail.
- Mark Bill Open Marks a draft bill as open and ready to pay. Use when finalizing a vendor bill staged via createBill in draft mode.
- Mark Bill Void Voids a vendor bill so it no longer counts toward AP. Use as the audit-safe alternative to deletion when a posted bill will not be paid.
- List Bills Lists vendor bills with optional filters.
Vendor Payments
4- Record Vendor Payment Records a vendor payment and optionally applies it to one or more bills.
- Get Vendor Payment Retrieves a vendor payment with applied bill breakdown. Use to inspect AP disbursement detail.
- Delete Vendor Payment Permanently deletes a vendor payment and releases any applied amounts back to the bills. Use to correct a mistakenly-recorded payment.
- List Vendor Payments Lists vendor payments with optional vendor and date filters.
Vendor Credits
5- Create Vendor Credit Creates a vendor credit (credit memo from a vendor) used to offset future bills.
- Get Vendor Credit Retrieves a vendor credit with line items and application history. Use to inspect open credit available against future bills.
- Delete Vendor Credit Permanently deletes a vendor credit. Cannot be undone; use only for accidental drafts.
- Apply Vendor Credit To Bills Applies all or part of a vendor credit to one or more bills.
- List Vendor Credits Lists vendor credits.
Transfer Orders
5- Create Transfer Order Creates a warehouse-to-warehouse transfer order. Uses location_id semantics (the modern Zoho term replacing warehouse_id).
- Get Transfer Order Retrieves a transfer order with line items, from/to locations, and in-transit status. Use to track stock movements between warehouses.
- Delete Transfer Order Permanently deletes a transfer order. Use to undo a not-yet-transferred move; for completed transfers, create a reverse transfer order instead.
- Mark Transfer Received Marks an in-transit transfer order as received at the destination, releasing stock from in-transit into available inventory at the destination location.
- List Transfer Orders Lists transfer orders with optional filters.
Locations
6- Enable Multi-Location One-time enables the multi-location (multi-warehouse) feature for the organization. Required before creating locations.
- Create Location Creates a new warehouse/location.
- Get Location Retrieves a location/warehouse with its users and address. Use to inspect warehouse configuration.
- Update Location Updates a location by merging supplied fields. Use when correcting or amending without re-sending the whole record.
- Delete Location Permanently deletes a location/warehouse. Inventory at the location must first be moved out via transfer order or adjusted to zero. Use to retire a closed warehouse.
- Mark Location Primary Sets a location as the organization's primary warehouse.
Triggers
8 triggersEvent Triggers
8- On New Or Updated Sales Order (Polling) Polls Zoho Inventory for new or updated sales orders on a schedule. Starts a flow to fulfill the order or notify the customer.
- On New Or Updated Purchase Order (Polling) Polls Zoho Inventory for new or updated purchase orders on a schedule. Starts a flow to receive stock or reconcile procurement.
- On New Or Updated Invoice (Polling) Polls Zoho Inventory for new or updated invoices on a schedule. Starts a flow to mirror the sale into your books.
- On New Or Updated Bill (Polling) Polls Zoho Inventory for new or updated bills on a schedule. Starts a flow to route or reconcile payables.
- On New Or Updated Item (Polling) Polls Zoho Inventory for new or updated items on a schedule. Starts a flow to sync product data to a storefront or database.
- On New Or Updated Contact (Polling) Polls Zoho Inventory for new or updated contacts on a schedule. Starts a flow to sync customers or vendors.
- On New Or Updated Package (Polling) Polls Zoho Inventory for new or updated packages on a schedule. Starts a flow to track fulfillment.
- On Low Stock Item (Polling) Polls Zoho Inventory for items that fall below their reorder level. Starts a flow to alert purchasing and raise a purchase order.
Start building with Zoho Inventory
$100 in credits. No card required. Connect in minutes.