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:
-
Log in to your Zoho Books account.
-
Click your Organization Name at the top right.

-
Copy your Organization ID.
Creating Connection
To create a connection to Zoho Books, do the following:
-
Select a data center location from the Data Center dropdown.

-
Enter your Organization ID if there are multiple organizations in your Zoho Books account.
-
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.