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.

Establishing Connection

To create a connection to Zoho Books, select your Data Center, sign in with Zoho, and specify your Organization ID.

Getting Credentials

Organization ID

To get your Organization ID:

  1. Log in to your Zoho Books account.

  2. Click your Organization Name at the top right.

    Zoho Organizations Menu

  3. Copy your Organization ID.

Creating Connection

To create a connection to Zoho Books, do the following:

  1. Select a data center location from the Data Center dropdown.

    Connection Editor window

  2. Enter your Organization ID if there are multiple organizations in your Zoho Books account.

  3. Click Sign In with Zoho and fill out your Zoho login credentials.

Additional Connection Parameters

Suppress Extended Requests

For some objects, Zoho Books API returns only part of the fields when querying multiple records. To retrieve missing fields, Skyvia sends additional extended requests for each record, which can increase API usage and affect performance.

The following objects contain fields that require extended requests:

OBJECT FIELD
Estimates, Invoices LineItems, BillAddr_*, ShipAddr_*, CustDefBillAddr_*
Contacts BillAddr_*, ShipAddr_*
CreditNotes, RecurringInvoices, SalesOrders LineItems, BillAddr_*, ShipAddr_*
CreditNoteRefunds, CustomerPaymentRefunds FromAccountId
CustomerPayments Invoices
Expenses LineItems, ProjectId, ProjectName
RecurringExpenses AccountId, Amount, StartDate, LineItems
Bills, RetainerInvoices LineItems, BillAddr_*
PurchaseOrders LineItems, BillAddr_*, DeliveryAddress_*
VendorCredits VendorId, LineItems
VendorCreditRefunds AccountId
VendorPaymentRefunds ToAccountId
Journals LineItems, CreatedDate, UpdatedDate

To reduce API calls, you can enable the Suppress Extended Requests option. However, this means certain fields will not be available in Skyvia and will return empty values, as Zoho Books API does not return them without extended requests.

Since the CreatedDate and UpdatedDate fields are used for incremental update replication, enabling Suppress Extended Requests will prevent incremental updates for objects that include these fields.

Connector Specifics

Object Peculiarities

BankTransactions

You can query transactions with all possible statuses (categorized, uncategorized, manually added, excluded, matched).

Use the Status field to filter records by a specific status. Consider that Zoho Books API doesn't support filter for the Status field. Thus, such query may consume extra API calls.

Objects With a Complex-Structured Data

A part of Zoho Books objects have a complex structure. Fields of such objects may contain other JSON objects or arrays. If a field contains a nested JSON object or array, Skyvia represents its data as a LineItems JSON field.

The content of the LineItems fields of the objects Bills, CreditNotes, Estimates, Expenses, Invoices, Journals, PurchaseOrders, RecurringExpenses, RecurringInvoices, RetainerInvoices, SalesOrders, and VendorCredits is additionally present in separate read-only objects with *LineItems suffix in their names (_LineItems objects), like InvoiceLineItems, ExpenseLineItems, etc. These objects represent the nested data in a tabular form. You can view them with Query, export them to CSV with Export, or import them from Zoho Books to another cloud application or database.

The *LineItems objects are available in backups, but you cannot restore data to these objects as they are read-only.

Nested Objects

To modify the nested values in some complex structured objects, you can use our Nested Objects mapping feature in the Import integrations. To enable nested objects during import, select the Nested Objects checkbox.

The Nested Objects feature works for the following Zoho Books objects:

Object Field
Contacts CustomFields, ContactPersons
Estimates, Expenses, Invoices, RecurringInvoices, SalesOrders, PurchaseOrders LineItems
Journals LineItems, Tags, LineItems.Tags
CustomerPayments Invoices

To replicate the nested values into separate tables when using Replication, select the Separate Tables for the Unwind Nested Objects option with the new replication runtime.

If the Nested Objects feature isn't supported for an object, and you need to modify its nested lines, then do the following. Map the LineItems field of the corresponding main object - Bills, CreditNotes, etc. to a JSON value. For example, to import bill lines from a CSV file to Zoho Books, map the LineItems field of the Bills object to a constant in JSON format.

Auto-generation of Numbers in Zoho Books UI

Zoho Books offers auto-generation of numbers when creating records in transaction objects, like Bills, CreditNotes, Invoices, Estimates, SalesOrders, and others. If this feature is enabled, it may cause errors when performing the Insert action in Import and Data Flow, or the Restore operation in Backup.

Backup and Restore

When you restore data in the Bills, CreditNotes, Invoices, Estimates, SalesOrders and other transaction objects, Skyvia inserts all the backed-up records into the source, including the number field values. Thus, when the auto-generation is enabled, Skyvia tries to insert the records with the existing number. Zoho Books returns an error trying to generate a new record number for such records automatically. To avoid errors while restoring records of transaction objects, disable the auto-generation of numbers for the objects you restore.

Import or Data Flow

If you insert records into the Bills, CreditNotes, Invoices, Estimates, SalesOrders and other transaction objects by Import or Data Flow, and map the number fields while the auto-generation is enabled, Zoho Books returns an error trying to generate a new record number for such records automatically. To avoid errors, remove mapping for the fields whose values are auto-generated or disable the auto-generation for the object you insert data into.

DML Operations Support

Skyvia supports the following DML operations for Zoho Books objects:

Operation Object
INSERT, UPDATE, DELETE BankAccounts, BankTransactions, Bills, ChartOfAccounts, ContactAddresses, ContactPersons, Contacts, CreditNoteRefunds, CreditNotes, Currency, CustomerPaymentRefunds, CustomerPayments, EstimateComments, Estimates, Expenses, Invoices, Items, Journals, OpeningBalance, Projects, PurchaseOrderComments, PurchaseOrders, RecurringExpenses, RecurringInvoices, RecurringInvoiceComments, RetainerInvoices, SalesOrderComments, SalesOrders, Tasks, TaxAuthorities, Taxes, TaxExemption, TimeEntries, Users, VendorCreditRefunds, VendorCredits, VendorPaymentRefunds, VendorPayments
INSERT, DELETE BaseCurrencyAdjustment, BillComments, BillsCredited, CreditedInvoices, CreditNoteComments, Employees, ProjectComments, VendorCreditComments
DELETE InvoicePayments

Zoho Books API Calls Limit

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

Filtering Specifics

Native filtering is supported for the following fields in the Invoices object:

Object Operator Field
Invoices = InvoiceNumber, CustomerName, ReferenceNumber
>, >=, <, <= Date, DueDate, UpdatedDate

Supported Actions

Skyvia supports all the common actions for Zoho Books.