Zoho Books

Zoho Books is a cloud accounting software for small businesses developed by ZOHO Corporation.

Data Integration: Skyvia supports importing data to and from Zoho Books, exporting Zoho Books data to CSV files, replicating Zoho Books data to relational databases and synchronizing Zoho Books data with other cloud apps and relational databases.

Backup: Skyvia Backup supports Zoho Books.

Query: Skyvia Query supports Zoho Books.

Zoho Books-Specific Features and Limitations

Some of the Zoho Books tables store complex structured data. These are the following tables: Bills, Invoices, Estimates, Expenses, CreditNotes, PurchaseOrders, SalesOrders, Journals, RecurringInvoices, RecurringExpenses, RetainerInvoices, VendorCredits. For example, an invoice or credit note 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:

    "item_id": "369175000000122053",
    "account_id": "369175000000000388",
    "account_name": "Sales",
    "sku": "",
    "salesorder_item_id": "",
    "project_id": "",
    "time_entry_ids": [],
    "expense_id": "",
    "item_type": "sales_and_purchases",
    "expense_receipt_name": "",
    "name": "ServiceItem",
    "description": "sample description",
    "item_order": 0,
    "bcy_rate": 148.92,
    "rate": 148.92,
    "quantity": 1,
    "unit": "kg",
    "discount_amount": 0,
    "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"
    "documents": [],
    "item_custom_fields": [],
    "bill_id": "",
    "bill_item_id": ""

For user convenience, lines of these objects are also available as separate records via read-only tables with names containing LineItems suffix, like InvoiceLineItems, ExpenseLineItems, etc. They allow you to view these lines in a tabular form with Query, export them to CSV with Export, import them from Zoho Books 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, Expenses, etc. For example, to import invoices from a CSV files to Zoho Books, 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 Books:

  • The following objects are not supported in Skyvia: SalesOrderAttachment, RetainerInvoicePayments, BankRules, TaxGroups, Account Details for BaseCurrencyAdjustment.
  • Not all objects support all the DML operations for data import. BaseCurrencyAdjustment, BillComments, BillsCredited, CreditedInvoices, CreditNoteComments, Employees, ProjectComments, VendorCreditComments objects support only INSERT and DELETE operations, and do not support the UPDATE operation.

By default, Zoho Books 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 Books Connections

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

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

  1. Click +NEW in the top menu.
  2. Open the Select Connector page by clicking Connection in the menu on the left.
  3. In the opened pane, click Zoho Books.
  4. In the Connection Editor page, specify a connection name that will be used to identify the connection.
  5. In the Data Center list, select your Zoho Books data center location to connect to: US, Europe, India, China or Australia.

    Connection Editor window

  6. If you have multiple organizations in your Zoho Books account, enter the numeric id of the organization to connect to in the Organization Id box. See how to find it below.
  7. Optionally, you can select the Suppress Extended Requests checkbox to reduce the number of API calls. However, beforehand read more about this option below.
  8. Click Sign In with Zoho.
  9. In the opened window, enter your Zoho Books email and click the Next button.

    Zoho Sign In window

  10. Enter your Zoho Books password and click the Sign In button.

Zoho Sign In window

  1. Click Accept.
  2. The refresh token is generated.

    Connection Editor window 2

  3. Click the Create Connection button to create the connection.

Getting Organization Id

To find your organization ID, in your Zoho Books account click Settings near your company profile icon in the top right corner.

Settings button

Then, in the settings, click Organization Profile.

Zoho Books Settings

In the organization profile, you can find your organization id in the header.

Zoho Books Organization Profile

Suppressing Extended Requests

For some objects, Zoho Books API returns only part of the fields when querying multiple records. In order to query values of additional fields, Skyvia performs additional extended requests. Such API requests can be performed for each record of such object. However, this can decrease performance and significantly increase the number of API calls used.

To reduce the number of API calls, you can select the Suppress Extended Requests checkbox. However, please note that some of the fields in such objects will not be available in Skyvia (will return empty values) even if they have values in Zoho Books because Zoho Books API does not return them without extended requests.

Supported Actions and Actions Specifics

Zoho Books connector supports the following actions: