# Zoho Books

## Pipeline Concepts

Before setting up the Pipeline, learn about Pipeline concepts [here](https://docs.sprinkledata.com/product/ingesting-your-data/pipelines)

## Step by Step Guide

### STEP-1: Configure Connection

To learn about Connection, refer [here](https://docs.sprinkledata.com/product/ingesting-your-data/pipelines)

* Log into Sprinkle application
* Navigate to Ingest -> Connections Tab -> New Connection ->&#x20;
* Select Zoho Books
* Provide all the mandatory details
  * *Name*: Name to identify this connection
  * *Advance Settings:* Refer [here](#advanced-connection-setting)
* Connect to Zoho
* Test Connection&#x20;
* Create

### STEP-2: Configure Pipeline

To learn about Pipeline, refer [here](https://docs.sprinkledata.com/product/ingesting-your-data/pipelines)

* Navigate to Ingest -> Pipeline Tab -> Add ->&#x20;
* Select Zoho Books
* Provide the name -> Create
* **Connection Tab**:&#x20;
  * From the drop-down, select the name of connection created in STEP-2
  * Update

### STEP-3: Create Dataset

**Datasets Tab**: To learn about Dataset, refer [here](https://docs.sprinkledata.com/product/ingesting-your-data/pipelines). Add Dataset for each report/dataset that you want to integrate, providing following details

* *Report Type* (Required) : Type of report

  * Bank Accounts&#x20;
  * Bank Accounts Rules&#x20;
  * Bank Transactions&#x20;
  * Base Currency Adjustment&#x20;
  * Base Currency Adjustment Accounts&#x20;
  * Bills&#x20;
  * Chart Of Accounts&#x20;
  * Chart Of Accounts Transactions&#x20;
  * Contacts&#x20;
  * Credit Notes&#x20;
  * Credit Notes Templates&#x20;
  * Currencies&#x20;
  * Current User&#x20;
  * Customer Payments&#x20;
  * Employees&#x20;
  * Estimates&#x20;
  * Estimates Templates&#x20;
  * Expenses&#x20;
  * Journals&#x20;
  * Invoices&#x20;
  * Invoices Templates&#x20;
  * Items&#x20;
  * Opening Balance&#x20;
  * Projects&#x20;
  * Purchase Orders&#x20;
  * Purchase Orders Templates&#x20;
  * Recurring Bills&#x20;
  * Recurring\_Expenses&#x20;
  * Recurring Invoices&#x20;
  * Retainer Invoices&#x20;
  * Retainer Invoices Templates&#x20;
  * SalesOrder&#x20;
  * SalesOrders Templates&#x20;
  * Taxes&#x20;
  * Tax Authorities&#x20;
  * Tax Exemptions&#x20;
  * Timer&#x20;
  * Time Entries&#x20;
  * Users&#x20;
  * Vendor Credits&#x20;
  * Vendor Credits Refunds&#x20;
  * Vendor Payments

* Flatten Level(Required) : Select One Level or Multi Level. In one level, flattening will not be applied on complex type. They will be stored as string. In multi level, flattening will be applied in complex level till they become simple type.

* *Destination Schema* (Required) : Data warehouse schema where the table will be ingested into

* *Destination Table name* (Required) : It is the table name to be created on the warehouse. If not given, sprinkle will create like ds\_\<Pipelinename>\_\<tablename>

* *Destination Create Table Clause*: Provide additional clauses to warehouse-create table queries such as clustering, partitioning, and more, useful for optimizing DML statements. [Learn more](https://docs.sprinkledata.com/product/ingesting-your-data/pipelines/databases/features/destination-create-table-clause) on how to use this field.

* Create

### STEP-4: Run and schedule Ingestion

In the **Ingestion Jobs** ta&#x62;**:**

* Trigger the Job, using Run button
* To schedule, enable Auto-Run. Change the frequency if needed

### Advanced Connection Setting

* **API Read Timeout (In seconds) :**  Maximum time of inactivity between two data packets when waiting for the server's response. The default value is 30 seconds.
* **API Connection Timeout (In seconds) :** Time period within which a connection between a client and a server must be established.
* **Retry Limit :**  Number of retries allowed when an API call fails. For example if an API call fails and retry limit is 5 then it will check 5 times for that API call and if it succeeded then it will stop checkin&#x67;**.**
* **Retry Sleep Time (In milliseconds) :** Given time, after which retry should happen in case an API call fails.
* **Version :** It gives information about the version of Zoho Books API being used.
* **Domain :** Select from dropdown ( .in, .com, .eu, .com.au )

## Dataset Fields

<details>

<summary>Bank Accounts</summary>

* account\_id&#x20;
* account\_name&#x20;
* account\_code&#x20;
* currency\_id&#x20;
* currency\_code&#x20;
* account\_type&#x20;
* uncategorized\_transactions&#x20;
* total\_unprinted\_checks&#x20;
* is\_active&#x20;
* balance&#x20;
* bank\_balance&#x20;
* bcy\_balance&#x20;
* bank\_name&#x20;
* is\_direct\_paypal

</details>

<details>

<summary>Bank Transactions</summary>

* transaction\_id&#x20;
* from\_account\_id&#x20;
* from\_account\_name&#x20;
* to\_account\_id&#x20;
* to\_account\_name&#x20;
* transaction\_type&#x20;
* currency\_id&#x20;
* currency\_code&#x20;
* payment\_mode&#x20;
* exchange\_rate&#x20;
* date&#x20;
* customer\_id&#x20;
* customer\_name&#x20;
* vendor\_id&#x20;
* reference\_number&#x20;
* description&#x20;
* bank\_charges tax\_id&#x20;
* documents&#x20;
* is\_inclusive\_tax&#x20;
* tax\_name tax\_percentage&#x20;
* tax\_amount&#x20;
* sub\_total tax\_authority\_id&#x20;
* tax\_authority\_name&#x20;
* tax\_exemption\_id&#x20;
* tax\_exemption\_code&#x20;
* total&#x20;
* bcy\_total&#x20;
* amount&#x20;
* vat\_treatment&#x20;
* product\_type&#x20;
* acquisition\_vat\_id&#x20;
* acquisition\_vat\_name&#x20;
* acquisition\_vat\_percentage&#x20;
* acquisition\_vat\_amount&#x20;
* reverse\_charge\_vat\_id&#x20;
* reverse\_charge\_vat\_name&#x20;
* reverse\_charge\_vat\_percentage&#x20;
* reverse\_charge\_vat\_amount&#x20;
* filed\_in\_vat\_return\_id&#x20;
* filed\_in\_vat\_return\_name&#x20;
* filed\_in\_vat\_return\_type&#x20;
* imported\_transactions&#x20;
* tags&#x20;
* line\_items

</details>

<details>

<summary>Base Currency Adjustment</summary>

* base\_currency\_adjustment\_id&#x20;
* adjustment\_date&#x20;
* exchange\_rate currency\_id&#x20;
* accounts&#x20;
* notes&#x20;
* currency\_code

</details>

<details>

<summary>Bills</summary>

* bill\_id&#x20;
* purchaseorder\_ids&#x20;
* vendor\_id&#x20;
* vendor\_name&#x20;
* vat\_treatment&#x20;
* vat\_reg\_no&#x20;
* source\_of\_supply&#x20;
* destination\_of\_supply&#x20;
* place\_of\_supply&#x20;
* permit\_number&#x20;
* gst\_no gst\_treatment&#x20;
* tax\_treatment&#x20;
* is\_pre\_gst&#x20;
* pricebook\_id&#x20;
* pricebook\_name&#x20;
* is\_reverse\_charge\_applied&#x20;
* unused\_credits\_payable\_amount&#x20;
* status&#x20;
* bill\_number&#x20;
* date&#x20;
* due\_date&#x20;
* payment\_terms&#x20;
* payment\_terms\_label&#x20;
* payment\_expected\_date&#x20;
* reference\_number&#x20;
* recurring\_bill\_id&#x20;
* due\_by\_days&#x20;
* due\_in\_days&#x20;
* currency\_id&#x20;
* currency\_code&#x20;
* currency\_symbol&#x20;
* documents&#x20;
* price\_precision&#x20;
* exchange\_rate&#x20;
* adjustment&#x20;
* adjustment\_description&#x20;
* custom\_fields&#x20;
* is\_tds\_applied&#x20;
* is\_item\_level\_tax\_calc&#x20;
* is\_inclusive\_tax&#x20;
* filed\_in\_vat\_return\_id&#x20;
* filed\_in\_vat\_return\_name&#x20;
* filed\_in\_vat\_return\_type&#x20;
* is\_abn\_quoted line\_items&#x20;
* sub\_total tax\_total total&#x20;
* payment\_made vendor\_credits\_applied&#x20;
* is\_line\_item\_invoiced&#x20;
* purchaseorders&#x20;
* taxes&#x20;
* acquisition\_vat\_summary&#x20;
* acquisition\_vat\_total&#x20;
* reverse\_charge\_vat\_summary&#x20;
* reverse\_charge\_vat\_total&#x20;
* balance&#x20;
* billing\_address&#x20;
* payments&#x20;
* vendor\_credits&#x20;
* created\_time&#x20;
* created\_by\_id&#x20;
* last\_modified\_time&#x20;
* reference\_id&#x20;
* notes&#x20;
* terms&#x20;
* attachment\_name&#x20;
* open\_purchaseorders\_count

</details>

<details>

<summary>Chart Of Accounts</summary>

* account\_id&#x20;
* account\_name&#x20;
* account\_code&#x20;
* account\_type&#x20;
* description&#x20;
* is\_user\_created&#x20;
* is\_system\_account&#x20;
* is\_active&#x20;
* can\_show\_in\_ze&#x20;
* parent\_account\_id&#x20;
* parent\_account\_name&#x20;
* depth&#x20;
* has\_attachment&#x20;
* is\_child\_present child\_count&#x20;
* documents&#x20;
* created\_time&#x20;
* is\_standalone\_account&#x20;
* last\_modified\_time

</details>

<details>

<summary>Contacts</summary>

* contact\_id&#x20;
* contact\_name&#x20;
* company\_name&#x20;
* has\_transaction&#x20;
* contact\_type&#x20;
* customer\_sub\_type&#x20;
* credit\_limit&#x20;
* is\_portal\_enabled&#x20;
* language\_code&#x20;
* is\_taxable tax\_id&#x20;
* tax\_name&#x20;
* tax\_percentage&#x20;
* tax\_authority\_id&#x20;
* tax\_exemption\_id&#x20;
* tax\_authority\_name&#x20;
* tax\_exemption\_code&#x20;
* place\_of\_contact&#x20;
* gst\_no vat\_treatment&#x20;
* tax\_treatment&#x20;
* gst\_treatment&#x20;
* is\_linked\_with\_zohocrm&#x20;
* website&#x20;
* owner\_id&#x20;
* primary\_contact\_id&#x20;
* payment\_terms&#x20;
* payment\_terms\_label&#x20;
* currency\_id&#x20;
* currency\_code&#x20;
* currency\_symbol&#x20;
* opening\_balance\_amount&#x20;
* exchange\_rate&#x20;
* outstanding\_receivable\_amount\_bcy&#x20;
* unused\_credits\_receivable\_amount&#x20;
* unused\_credits\_receivable\_amount\_bcy&#x20;
* status&#x20;
* payment\_reminder\_enabled&#x20;
* custom\_fields
* &#x20;billing\_address&#x20;
* shipping\_address&#x20;
* facebook&#x20;
* twitter&#x20;
* contact\_persons&#x20;
* default\_templates&#x20;
* notes&#x20;
* created\_time&#x20;
* last\_modified\_time

</details>

<details>

<summary>Credit Notes</summary>

* creditnote\_id&#x20;
* creditnote\_number&#x20;
* date&#x20;
* is\_pre\_gst&#x20;
* place\_of\_supply&#x20;
* vat\_treatment&#x20;
* vat\_reg\_no&#x20;
* gst\_no&#x20;
* gst\_treatment&#x20;
* tax\_treatment&#x20;
* status&#x20;
* customer\_id&#x20;
* customer\_name&#x20;
* custom\_fields&#x20;
* reference\_number&#x20;
* email&#x20;
* total&#x20;
* balance&#x20;
* line\_items&#x20;
* invoices&#x20;
* taxes&#x20;
* currency\_code&#x20;
* currency\_symbol&#x20;
* billing\_address&#x20;
* shipping\_address&#x20;
* created\_time&#x20;
* updated\_time&#x20;
* template\_id&#x20;
* template\_name&#x20;
* notes&#x20;
* terms

</details>

<details>

<summary>Credit Notes Templates</summary>

* template\_name&#x20;
* template\_id&#x20;
* template\_type

</details>

<details>

<summary>Currencies</summary>

* currency\_id&#x20;
* currency\_code&#x20;
* currency\_name&#x20;
* currency\_name\_formatted&#x20;
* currency\_symbol&#x20;
* price\_precision&#x20;
* currency\_format&#x20;
* is\_base\_currency&#x20;
* exchange\_rate&#x20;
* effective\_date

</details>

<details>

<summary>Customer Payments</summary>

* payment\_id&#x20;
* payment\_mode&#x20;
* amount&#x20;
* amount\_refunded&#x20;
* bank\_charges&#x20;
* date&#x20;
* status&#x20;
* reference\_number&#x20;
* description&#x20;
* customer\_id&#x20;
* customer\_name&#x20;
* email&#x20;
* invoices&#x20;
* currency\_code&#x20;
* currency\_symbol&#x20;
* custom\_fields

</details>

<details>

<summary>Estimates</summary>

* estimate\_id&#x20;
* estimate\_number&#x20;
* date&#x20;
* reference\_number&#x20;
* is\_pre\_gst&#x20;
* place\_of\_supply&#x20;
* gst\_no&#x20;
* gst\_treatment&#x20;
* tax\_treatment&#x20;
* status&#x20;
* customer\_id&#x20;
* customer\_name&#x20;
* contact\_persons&#x20;
* currency\_id&#x20;
* currency\_code&#x20;
* exchange\_rate&#x20;
* expiry\_date&#x20;
* discount&#x20;
* is\_discount\_before\_tax&#x20;
* discount\_type&#x20;
* is\_inclusive\_tax line\_items&#x20;
* shipping\_charge&#x20;
* adjustment&#x20;
* adjustment\_description&#x20;
* sub\_total&#x20;
* total&#x20;
* tax\_total&#x20;
* price\_precision&#x20;
* taxes&#x20;
* billing\_address&#x20;
* shipping\_address&#x20;
* notes&#x20;
* terms&#x20;
* custom\_fields&#x20;
* template\_id&#x20;
* template\_name&#x20;
* created\_time&#x20;
* last\_modified\_time&#x20;
* salesperson\_id&#x20;
* salesperson\_name&#x20;
* project

</details>

<details>

<summary>Estimates Templates</summary>

* template\_name&#x20;
* template\_id&#x20;
* template\_type

</details>

<details>

<summary>Expenses</summary>

* expense\_id&#x20;
* transaction\_id&#x20;
* transaction\_type&#x20;
* gst\_no&#x20;
* gst\_treatment&#x20;
* tax\_treatment&#x20;
* destination\_of\_supply&#x20;
* destination\_of\_supply\_state&#x20;
* place\_of\_supply&#x20;
* hsn\_or\_sac&#x20;
* source\_of\_supply&#x20;
* paid\_through\_account\_name&#x20;
* vat\_reg\_no&#x20;
* reverse\_charge\_tax\_id&#x20;
* reverse\_charge\_tax\_name&#x20;
* reverse\_charge\_tax\_percentage&#x20;
* reverse\_charge\_tax\_amount&#x20;
* tax\_amount&#x20;
* is\_itemized\_expense&#x20;
* is\_pre\_gst&#x20;
* trip\_id&#x20;
* trip\_number&#x20;
* reverse\_charge\_vat\_total&#x20;
* acquisition\_vat\_total&#x20;
* acquisition\_vat\_summary&#x20;
* reverse\_charge\_vat\_summary&#x20;
* expense\_item\_id&#x20;
* account\_id&#x20;
* account\_name&#x20;
* date&#x20;
* tax\_id&#x20;
* tax\_name&#x20;
* tax\_percentage&#x20;
* currency\_id&#x20;
* currency\_code&#x20;
* exchange\_rate&#x20;
* sub\_total&#x20;
* total&#x20;
* bcy\_total&#x20;
* amount&#x20;
* is\_inclusive\_tax&#x20;
* reference\_number&#x20;
* description&#x20;
* is\_billable&#x20;
* is\_personal&#x20;
* customer\_id&#x20;
* customer\_name&#x20;
* expense\_receipt\_name&#x20;
* expense\_receipt\_type&#x20;
* last\_modified\_time&#x20;
* status&#x20;
* invoice\_id&#x20;
* invoice\_number&#x20;
* project\_id&#x20;
* project\_name&#x20;
* mileage\_rate&#x20;
* mileage\_type&#x20;
* expense\_type&#x20;
* start\_reading&#x20;
* end\_reading

</details>

<details>

<summary>Invoices Templates</summary>

* template\_name&#x20;
* template\_id&#x20;
* template\_type

</details>

<details>

<summary>Items</summary>

* item\_id&#x20;
* name&#x20;
* status&#x20;
* description&#x20;
* rate&#x20;
* unit&#x20;
* tax\_id&#x20;
* tax\_name&#x20;
* hsn\_or\_sac&#x20;
* tax\_percentage&#x20;
* tax\_type&#x20;
* sku&#x20;
* product\_type&#x20;
* item\_tax\_preferences&#x20;
* warehouses

</details>

<details>

<summary>Opening Balance</summary>

* opening\_balance\_id&#x20;
* date&#x20;
* price\_precision&#x20;
* accounts&#x20;
* total

</details>

<details>

<summary>Projects</summary>

* project\_id&#x20;
* project\_name&#x20;
* customer\_id&#x20;
* customer\_name&#x20;
* currency\_code&#x20;
* description&#x20;
* status&#x20;
* billing\_type&#x20;
* rate&#x20;
* budget\_type
* total\_hours
* total\_amount
* billed\_hours
* billed\_amount
* un\_billed\_hours
* un\_billed\_amount
* billable\_hours
* billable\_amount
* non\_billable\_hours
* non\_billable\_amount
* cost\_budget\_amount
* is\_recurrence\_associated
* recurring\_invoices
* created\_time
* show\_in\_dashboard&#x20;
* tasks&#x20;
* users

</details>

<details>

<summary>Purchase Orders</summary>

* vendor\_id&#x20;
* contact\_persons&#x20;
* purchaseorder\_number&#x20;
* gst\_treatment&#x20;
* tax\_treatment&#x20;
* gst\_no&#x20;
* source\_of\_supply&#x20;
* destination\_of\_supply&#x20;
* place\_of\_supply&#x20;
* pricebook\_id&#x20;
* reference\_number&#x20;
* billing\_address\_id&#x20;
* crm\_owner\_id&#x20;
* crm\_custom\_reference\_id&#x20;
* template\_id&#x20;
* date&#x20;
* delivery\_date&#x20;
* due\_date&#x20;
* exchange\_rate&#x20;
* discount&#x20;
* discount\_account\_id&#x20;
* is\_discount\_before\_tax&#x20;
* is\_inclusive\_tax&#x20;
* notes&#x20;
* notes\_default&#x20;
* terms&#x20;
* terms\_default&#x20;
* ship\_via&#x20;
* delivery\_org\_address\_id&#x20;
* delivery\_customer\_id&#x20;
* attention&#x20;
* vat\_treatment&#x20;
* is\_update\_customer&#x20;
* salesorder\_id&#x20;
* line\_items&#x20;
* custom\_fields&#x20;
* documents

</details>

<details>

<summary>Purchase Orders Templates</summary>

* template\_name&#x20;
* template\_id&#x20;
* template\_type

</details>

<details>

<summary>SalesOrder Templates</summary>

* template\_name&#x20;
* template\_id&#x20;
* template\_type

</details>

<details>

<summary>Tax Authorities</summary>

* tax\_authority\_id&#x20;
* tax\_authority\_name&#x20;
* description&#x20;
* registration\_number&#x20;
* registration\_number\_label

</details>

<details>

<summary>Users</summary>

* user\_id&#x20;
* role\_id&#x20;
* name&#x20;
* email&#x20;
* is\_customer\_segmented&#x20;
* is\_vendor\_segmented&#x20;
* user\_role&#x20;
* user\_type&#x20;
* status&#x20;
* is\_current\_user&#x20;
* photo\_url&#x20;
* is\_employee

</details>
