Connecting to Zoho Inventory

Zoho Inventory is a cloud inventory management software for growing businesses with order management, end-to-end tracking, warehouse management, etc., developed by ZOHO Corporation.  Skyvia supports importing data to and from Zoho Inventory, exporting Zoho Inventory data to CSV files, replicating Zoho Inventory data to relational databases, and synchronizing Zoho Inventory data with other cloud apps and relational databases.

Zoho Inventory-Specific Features and Limitations

Some of the Zoho Inventory tables store complex structured data. These are the following tables: Invoices, Bills, ItemAdjustments, PurchaseOrders, SalesOrders, TransferOrders. For example, an invoice or a purchase order can have several lines. Skyvia represents this information in such tables as a JSON field LineItems. Here is an example of the LineItems field value from the Invoice table:

[
  {
    "documents": [],
    "item_id": "369175000000122053",
    "is_combo_product": false,
    "account_id": "369175000000000388",
    "account_name": "Sales",
    "sku": "",
    "salesorder_item_id": "",
    "project_id": "",
    "time_entry_ids": [],
    "expense_id": "",
    "expense_receipt_name": "",
    "name": "ServiceItem",
    "description": "sample description",
    "item_order": 0,
    "bcy_rate": 148.92,
    "rate": 148.92,
    "quantity": 1,
    "unit": "kg",
    "discount": 0,
    "tax_id": "369175000000044076",
    "tax_name": "Tax_our",
    "tax_type": "tax",
    "tax_percentage": 15,
    "item_total": 148.92,
    "tags": [
      {
        "tag_option_id": "369175000000085213",
        "is_tag_mandatory": false,
        "tag_name": "testTag",
        "tag_id": "369175000000000333",
        "tag_option_name": "option1"
      }
    ],
    "item_custom_fields": [],
    "item_type": "sales_and_purchases"
  }
]

For user convenience, lines of these objects are also available as separate records via read-only tables with names containing LineItems suffix, like InvoiceLineItems, BillLineItems, etc. They allow you to view these lines in a tabular form with Query, export them to CSV with Export, import them from Zoho Inventory to another cloud application or database, where these lines should be stored in a separate table, etc.

Since these tables (that have the LineItems suffix in their name) are read-only, they are not available in Import packages as a target or in Synchronization packages. To modify lines of an invoice, expense, etc., you need to provide values in JSON format for the LineItems field of the corresponding main table - Invoices, Bills, etc. For example, to import invoices from a CSV files to Zoho Inventory, you need to specify invoice lines in the JSON format, like in the example above, in one of the CSV file columns, and import this file to the Invoice table. You need to map the LineItems field of the Invoices table to this column of the CSV file.

The tables with the LineItems suffix in their name are available in backup packages, but you cannot restore data to these tables, because they are read-only. Since they store the same information as the LineItems field of the corresponding main tables, you don't actually need to backup them. All the information in *LineItems tables is present in the corresponding main tables, and you can back up and restore data in the main table only.

Skyvia has the following limitations for Zoho Inventory:

The following objects are not supported in Skyvia: TaxGroup, ShipmentOrders, PurchaseRetrieves.
Not all objects support all the DML operations for data import. TransferOrders, ItemAdjustments, InvoiceCreditsApplied objects support only INSERT and DELETE operations, and do not support the UPDATE operation. The Organizations object supports INSERT and UPDATE, and does not support DELETE.

note Note

By default, Zoho Inventory has a limit of 1000 API calls for a day and 60 calls for a minute. Performing backup, replication, or querying all the data from various objects may quickly use all the API calls available. For example, querying LineItems field values uses additional requests.

Zoho Inventory Connections

When creating a Zoho Inventory connection you simply log in with Zoho Inventory, and OAuth authentication token is stored on the Skyvia server. Your Zoho Inventory account login and password are not stored on the Skyvia server.

To create a Zoho Inventory connection, perform the following steps:

1.Open the Connections page by clicking Connections in the menu on the left side of the page.
2.Click the New button.
3.In the opened pane click Zoho Inventory.
4.In the opened New Connection dialog box, specify a connection Name that will be used to identify the connection.
5.In the Data Center list select your Zoho Inventory data center location to connect to: US or Europe.
6.If you have multiple organizations in your Zoho Inventory account, enter the name of the organization to connect to in the Organization Id box.
7.Click Log In with Zoho.
8.In the opened window enter your Zoho Inventory credentials and click the Sign In button.
 
zoho-login
9.Click Generate Authtoken.
 
zoho-inventory-generate
10.After that, copy the authentication token.
 
zoho-inventory-token
11.Paste the copied text to the Access Token box.
 
zoho-inventory-filled
12. Click the Save button to save the connection.