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
Getting Credentials
While creating a connection to Zoho Books, you need to enter Organization Id in case you work with a multiple organizations.
To get your organization ID:
-
Log in to your Zoho Books account.
-
Click Settings at the top right.
-
Click Organization Profile.
-
Look for your organization id in the profile header.
Creating Connection
To create a Zoho Books connection, 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. In order to query values of lacking 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.
The additional fields are the following:
OBJECT | FIELD |
---|---|
Estimates | LineItems, BillAddr_*, ShipAddr_*, CustDefBillAddr_* |
Contacts | BillAddr_*, ShipAddr_* |
SalesOrders | LineItems, BillAddr_*, ShipAddr_* |
Invoices | LineItems, BillAddr_*, ShipAddr_*, CustDefBillAddr_* |
RecurringInvoices | LineItems, BillAddr_*, ShipAddr_* |
CreditNotes | LineItems, BillAddr_*, ShipAddr_* |
CreditNoteRefunds | FromAccountId |
CustomerPayments | Invoices |
CustomerPaymentRefunds | FromAccountId |
Expenses | LineItems, ProjectId, ProjectName |
RecurringExpenses | AccountId, Amount, StartDate, LineItems |
RetainerInvoices | LineItems, BillAddr_* |
PurchaseOrders | LineItems, BillAddr_*, DeliveryAddress_* |
Bills | LineItems, BillAddr_* |
VendorCredits | VendorId, LineItems |
VendorCreditRefunds | AccountId |
VendorPaymentRefunds | ToAccountId |
Journals | LineItems |
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.
Connector Specifics
Objects With a Complex-Structured Data
Bills, Invoices, Estimates, Expenses, CreditNotes, PurchaseOrders, SalesOrders, Journals, RecurringInvoices, RecurringExpenses, RetainerInvoices, and VendorCredits objects store complex-structured data. Skyvia represents this information as a LineItems JSON field. Here is an example of the LineItems field value from the Invoice table:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[
{
"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.
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 |
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.
Fields with Nested Objects
The following objects: Contacts, Invoices, RecurringInvoices, Estimates, SalesOrders, Expenses, and PurchaseOrders have fields such as LineItems that contain an array of nested objects. Skvyia represents properties of these nested objects as separate fields, to ease the mapping process during Import and other tasks. To enable nested objects support during import, select the Nested Objects checkbox.
Nested Objects DML Support
Object Name | Field | Supported Operations |
---|---|---|
Contacts | CustomFields, ContactPersons | Insert, Update |
Invoices, RecurringInvoices, SalesOrders, PurchaseOrders | LineItems (required during Insert) | Insert, Update |
Expenses | LineItems | Insert, Update |
Invoices, RecurringInvoices, SalesOrders, PurchaseOrders | Tags inside LineItems | Insert, Update |
Invoices, RecurringInvoices, SalesOrders, PurchaseOrders | LineItemTaxes inside LineItems | Read-Only |
Contacts, Invoices, Estimates, Expenses | Tags, LineItemTaxes inside LineItems | Read-Only |
Supported Actions
Skyvia supports all the common actions for Zoho Books.