Querying, updating, and deleting data with the Easysoft Zoho Books ODBC driver
Contents
- Base tables
- Comment tables and views
-
WHEREclause limitations - Using the Easysoft Zoho Books ODBC driver under Microsoft Access
- Zoho Books API limitations
- Special tables
-
Zoho Books tables
-
Bank_Account -
Bank_Rule -
Bank_Transaction -
Bill -
Chart_Of_Account -
Contact -
Credit_Note -
Currency -
Customer_Payments -
Delivery_Challan -
Employee -
Estimate -
Expense -
Invoice -
Item -
Journal -
Opening_Balance -
Organization -
Project -
Purchase_Order -
Recurring_Bill -
Recurring_Expense -
Recurring_Invoice -
Retainer_Invoice -
Salesorder -
Salesreceipt -
Task -
Tax -
Time_Entry -
Users -
Vendor_Credit -
Vendor_Payment
-
- Appendix A
- Appendix B
Base tables
These tables correlate with their equivalent Zoho Books API call.
| Name | SELECT |
INSERT |
UPDATE |
DELETE |
|---|---|---|---|---|
Bank_Account
|
✓ | ✓ | ✓ | ✓ |
Bank_Rule
|
✕1 | ✕1 | ✕1 | ✕1 |
Bank_Transaction
|
✕1 | ✕1 | ✕1 | ✕1 |
Bill
|
✓2 | ✓ | ✓ | ✓ |
Chart_Of_Account
|
✓2 | ✓ | ✓ | ✓ |
Contact
|
✓2 | ✓ | ✓ | ✓ |
Credit_Note
|
✓2 | ✓ | ✓ | ✓ |
Currency
|
✓ | ✓ | ✓ | ✓ |
Customer_Payment
|
✓2 | ✓ | ✓ | ✓ |
Delivery_Challan
|
✓2 | ✓ | ✓ | ✓ |
Employee
|
✓2 | ✓ | ||
Estimate
|
✓2 | ✓ | ✓ | ✓ |
Expense
|
✓2 | ✓ | ✓ | ✓ |
Invoice
|
✓2 | ✓ | ✓ | ✓ |
Item
|
✓2 | ✓ | ✓ | ✓ |
Journal
|
✓2 | ✓ | ✓ | ✓ |
Opening_Balance
|
✓3 | ✓3 | ✓3 | ✓3 |
Organization
|
✓2 | ✓ | ✓ | ✓ |
Project
|
✓2 | ✓ | ✓ | ✓ |
Purchase_Order
|
✓2 | ✓ | ✓ | ✓ |
Recurring_Bill
|
✓2 | ✓ | ✓ | ✓ |
Recurring_Expense
|
✓2 | ✓ | ✓ | ✓ |
Recurring_Invoice
|
✓2 | ✓ | ✓ | ✓ |
Retainer_Invoice
|
✓2 | ✓ | ✓ | ✓ |
Salesorder
|
✓2 | ✓ | ✓ | ✓ |
Salesreceipt
|
✓2 | ✓ | ✓ | ✓ |
Task
|
✓2 | ✓ | ✓ | ✓ |
Tax
|
✓2 | ✓ | ✓ | ✓ |
Time_Entry
|
✓2 | ✓ | ✓ | ✓ |
Users
|
✓2 | ✓ | ✓ | ✓ |
Vendor_Credit
|
✓2 | ✓ | ✓ | ✓ |
Vendor_Payment
|
✓2 | ✓ | ✓ | ✓ |
1 Issue with underlying Zoho API call. Refer to the notes for the affected tables.
2 SELECT query limitations. Refer to the notes for the affected tables.
3 SQL statement limitations. Refer to the notes for the affected tables.
Comment tables and views
| Tables | Views |
|---|---|
Bill_Comment |
Contact_Comments |
Credit_Note_Comment |
Expense_Comment |
Estimate_Comment |
Journal_Comments |
Invoice_Comment |
Opening_Balance_Comments |
Project_Comment |
Recurring_Invoice_Comments |
Purchase_Order_Comment |
Vendor_Credit_Comments |
Retainer_Invoice_Comment |
Vendor_Payment_Comments |
Salesorder_Comment |
– |
Vendor_Credit_Comment |
– |
All Easysoft comment tables support SELECT, INSERT, and DELETE statements. The Bill_Comment, Credit_Note_Comment, Project_Comment, and Vendor_Credit_Comment tables don't support UPDATE statements as the underlying Zoho Books APIs for these tables don't currently support updates.
Views are SELECT only.
Comments automatically generated by Zoho Books can't be updated or deleted.
SELECT statements
To retrieve all comments for a record:
SELECT
*
FROM
Invoice_Comment
WHERE
Invoice_Id = '579676000000050234'
You need to pass in the Id column and value for the record you want to get the comments from. Each table or view has its own Id column for example the Bill_Comment table has Bill_Id.
UPDATE statements
You can update a comment by passing in both the Id and Comment_Id columns for the table. For example:
UPDATE Invoice_Comment
SET
Description = 'Invoice updated. 2'
WHERE
Invoice_Id = '579676000000050234'
AND Comment_Id = '579676000000061089'
If you try to update a system generated comment or history record, you'll get the error:
[Easysoft Zoho Books ODBC Driver]Error <4073: You cannot edit system generated or customer comments.
INSERT statements
You can insert a comment by running:
INSERT INTO
Invoice_Comment (
Invoice_Id,
Description,
Show_Comment_To_Clients,
Payment_Expected_Date
)
VALUES
(
'579676000000050234',
'Comment visible to customer',
1,
'2024-08-29'
)
The columns Show_Comment_To_Clients and Payment_Expected_Date are only applicable to the table Invoice_Comment and are optional.
DELETE statements
You can delete a comment by running:
DELETE FROM Invoice_Comment
WHERE
Invoice_Id = '579676000000050234'
AND Comment_Id = '579676000000165022'
Both the Id and Comment_Id columns are required. If you try to delete a system generated comment, history record, or customer comment you'll get the error:
[Easysoft Zoho Books ODBC Driver]Error <4073: You cannot delete system generated or customer comments.>
WHERE clause limitations
Any of the columns in a table or view can be used in a WHERE clause. This can lead to incorrect result sets being returned. To ilustrate this issue, here's a very simple query:
SELECT
Contact_Id,
Contact_Name,
Opening_Balance_Amount
FROM
Contact
WHERE
Contact_Id = '579676000000093092'
This correctly returns one row from my test organization, which has a non-zero opening balance:
| Contact_Id | Contact_Name | Opening_Balance_Amount |
| 579676000000093092 | Jones Inc | 299.00 |
Now to show the problem. This query returns no rows:
SELECT
Contact_Id,
Contact_Name,
Opening_Balance_Amount
FROM
Contact
WHERE
Opening_Balance_Amount <> 0
I'll try to explain the reason for no rows.
The Easysoft Zoho Books ODBC driver has to use the Zoho Books API to access data in Zoho Books. In the Zoho Books API, there are two methods that can be used to get data from Contact: LIST and GET. If you specify the Id column (in my example, this is Contact_Id = '579676000000093092') the GET method is called.
The GET method gets one record from Zoho Books and costs 1 API call. It gets almost all the data relating to that record including the Opening_Balance_Amount.
When you do not specify the Id column, the Easysoft Zoho Books ODBC driver has to call the LIST method. This is where the problem occurs. The LIST method costs 1 API call for each array of rows returned. An array can contain up to a maximum 200 rows. In the case of the query that returns no rows, you can't query the Opening_Balance_Amount column with the LIST method. So in this case, the Easysoft Zoho Books ODBC driver gets all the rows but when filtered locally Opening_Balance_Amount always contains null, and so NOT results are <> 0. This costs 1 API call per 200 rows in the Contact table.
To work around this, you need to get the Zoho Books ODBC driver to make both LIST and GET calls. To do this, you need to use the table in the query twice. For example:
SELECT
l.Contact_Id,
l.Contact_Name,
g.Opening_Balance_Amount
FROM
Contact l,
Contact g
WHERE
g.Contact_Id = l.Contact_id
AND g.Opening_Balance_Amount <> 0
Contact l This is the first table queried. The LIST method is called and Contact_Id is returned for all records.
Contact g The second table is called. Passing in the Contact_Id forces the Easysoft Zoho Books ODBC driver to use the GET method, which does return Opening_Balance_Amount. This can then be filtered locally and the correct rows are returned.
Why doesn't the Easysoft Zoho Books ODBC driver use both methods to get the rows?
The answer is down to the number of API calls it would need to make to get all data for all the rows. The LIST method costs 1 API call per 200 rows and GET costs 1 API call per row. If you have a table that has 1000 rows of data, you need to 1005 API calls to get all the data by using LIST (5) and GET (1000).
One advantage the LIST method has over the GET method is that LIST can be called with some common query parameters for most of the API calls, which reduces the total number of API calls that need to be made to get data out. LIST also gives you most of what you need without giving you the full details.
In this example, I want to get a list of all customers starting with S that have an outstanding balance of over 1000. I want the following columns:
SELECT
Contact_Id,
Contact_Name,
First_Name,
Last_Name,
Email,
Outstanding_Receivable_Amount
FROM
Contact
WHERE
Contact_Name LIKE 'S%'
AND Outstanding_Receivable_Amount > 1000
AND Contact_Type = 'customer'
Let's say that out of the 1000 contacts, 80 contacts start with the letter S and only 20 of those have an Outstanding_Receivable_Amount of over 1000. In the above example, all the columns being returned can come from a LIST call.
The Contact API LIST call allows the driver to filter by Contact_Name, which means that in this test case, the Easysoft Zoho Books ODBC driver would only use 1 API call to get the 80 contacts from Zoho. The Outstanding_Receivable_Amount and Contact_Type would then be filtered locally to return just the 20 rows expected.
Which columns work under LIST and GET?
This document contains a full list of all base tables, the available columns and API types, along with whether they can be used with LIST or GET.
Zoho Books supports several regions:
- Australia
- Bahrain
- Canada
- Global
- India
- Saudi Arabia
- UAE
- UK
- USA
Use Appendix B to find out whether the table, column, or method is available in your region. For example, the Item table has a column named Tax_Name. In all regions apart from Canada, you can filter on this column with either LIST or GET. If you want to filter on this column with Canadian Zoho Books data, you can only use the GET method.
Appendix B also shows API data types:
Array |
A JSON array returned as a long string. |
Boolean |
BIT field returned as 0 or -1. |
Date |
DATE returned as a string with the format yyyy-mm-dd |
| JSON data | Type not returned, check the Zoho Books API documentation. |
Number |
Integer or double. |
Object |
JSON object returned as a long string. |
String |
String data up to 254 characters. |
Timestamp |
String in the format yyyy-mm-dd hh:nn:ss. |
Some of the data returned under LIST differs from GET. Refer to Project for an example of this.
Using the Easysoft Zoho Books ODBC driver under Microsoft Access
You can link all tables and views without any issue in all versions of Microsoft Access from 2013 onwards. What you need to be aware of is what happens if you open a table directly in Microsoft Access rather than run a query or SQL statements.
When you open a base table such as Contact in Microsoft Access, Access sends this query to the Easysoft driver:
SELECT Contact_Id FROM Contact
This causes the driver to ask Zoho for a list of all Contact_Id values. This costs 1 Zoho Books API call for every 200 records you have. When the first 10 rows are passed back from the Easysoft driver to Microsoft Access, Access then sends a second query to the driver:
SELECT
*
FROM
Contact
WHERE
Contact_Id = X1
OR Contact_Id = X2
OR Contact_Id = X3
OR Contact_Id = X4
OR Contact_Id = X5
OR Contact_Id = X6
OR Contact_Id = X7
OR Contact_Id = X8
OR Contact_Id = X9
OR Contact_Id = X10
where X1 to X10 are the 10 Contact_Id values passed back from the first query.
This is where the problem lies. The query uses 10 API calls.
The next 10 rows from the first query are passed from the Easysoft driver to Access and then the second query is sent again from Access to the Easysoft driver, using another 10 API calls.
If your contact table has, say, 1000 rows, by the time you have all the data returned you've used 1005 API calls.
Zoho Books API limitations
This is a list of problems I've found while testing the Zoho Books ODBC driver and writing this document. As these limitations are at the Zoho Books end, there's nothing we can do about them other than hope they go away, as Zoho release new API versions.
These limitations were found using API version 3.
DELETE employee
The example shown in the API documentation does not actually work and does not specify the employee_id. Reported to Zoho Books support on 5-Aug-2024.
Attachments
Getting a list of file attachments such as a receipt attached to an expense is restricted to getting the first attachment only.
INSERTing attachments does not currently work. Reported to Zoho Books support on 5-Aug-2024.
Exchange rates
Getting exchange rates without supplying the exchange_rate_id does not return the correct rate. Reported to Zoho Books support on 5-Aug-2024.
Error 45
[Easysoft Zoho Books ODBC Driver]Error 45: The API call for this organization has exceeded the maximum call rate limit of <n>>
You are limited to <n> API calls per Zoho Books organization. When you reach this limit, you need to wait until some of the API calls pass the 24 hour mark before you can use the Easysoft driver again. <n> is defined by your Zoho Books subscription type.
Organization
There is currently no Zoho Books API documentation on this.
Project
The views that the Easysoft Zoho Books ODBC driver presents use the Zoho Books Project API. The [<Get a Project>] view uses the Project_User API. The [<List Users>] view uses Project_Users API. The result sets that these return are different. For example, [<Get a Project>]:
GET https://www.zohoapis.com/books/v3/projects/579676000000161054/users?organization_id=20099941201
returns the user array:
{
"user_id": "579676000000050001",
"is_current_user": true,
"user_name": "zoho2",
"email": "test@easysoft.com",
"user_role": "admin",
"role_id": "579676000000000679",
"status": "active",
"rate": 0.00,
"budget_hours": 0,
"budget_hours_in_time": "00:00",
"total_hours": "00:04",
"billed_hours": "00:00",
"un_billed_hours": "00:04",
"billable_hours": "00:04",
"non_billable_hours": "00:00",
"staff_role": "staff",
"staff_status": "active"
},
Using [<List Users>] returns:
{
"user_id": "579676000000050001",
"is_current_user": true,
"user_name": "zoho2",
"email": "test@easysoft.com",
"user_role": "admin",
"role_id": "579676000000000679",
"user_photo_url": "https://contacts.zoho.eu/file?t=user&ID=20099940566&fs=thumb",
"status": "active",
"rate": 0.00,
"is_timer_running": false,
"timer_started_date": "",
"timer_running_task": "",
"budget_hours": 0,
"budget_hours_in_time": "00:00",
"un_billed_hours": "00:00",
"billed_hours": "00:00",
"total_hours": "00:00"
},
In the two sample responses, the total_hours and un_billed_hours columns have different values. This is reason why we provide two views so you can choose the one that contains the data you need.
Sales_Receipts
This is not included in the Zoho Books API documentation.
Zoho Books trials
If you use Zoho Books on a trial license, the Zoho Books API still allows you to read the data in read-only mode after the trial expires. If you try doing things like bulk email through the API, the error message returned does not indicate that your trial has expired.
Special tables
API table
This table can be used to directly access the Zoho Books API:
| Column | Description | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
URL |
For Zoho Books API version 3, all URLs start with /books/v3/. |
||||||||||||||||||
Method |
GET, PUT, POST, or DELETE |
||||||||||||||||||
Code |
HTTP status code as integer:
|
||||||||||||||||||
RequestType |
If NULL, JSON is expected if the RequestBody is used. |
||||||||||||||||||
RequestBody |
Data to be sent to the API. | ||||||||||||||||||
ResponseType |
The type of data in the response. For example, application/json;charset=UTF-8. |
||||||||||||||||||
ResponseBody |
Data returned from the API. |
You can use SELECT statements to access the API. The GET method selects data, POST or PUT inserts or update data and DELETE removes data.
Use a WHERE clause containing the URL, method, and when required RequestBody. For example:
SELECT
*
FROM
API
WHERE
URL = '/books/v3/bankaccounts/rules?account_id=576438000000118001'
AND Method = 'GET'
SELECT
*
FROM
API
WHERE
URL = '/books/v3/bankaccounts/'
AND Method = 'GET'
SELECT
*
FROM
API
WHERE
URL = '/books/v3/bankaccounts/576438000000118001'
AND Method = 'GET'
SELECT
*
FROM
API
WHERE
URL = 'ContactGroups/fd33e5d2-3f95-4b1b-a405-7ed7067b9c22/Contacts'
AND Method = 'DELETE'
If you have more than one Zoho Books organization, you have to specify which organization_id you're using. For example:
SELECT
*
FROM
API
WHERE
URL = '/books/v3/bankaccounts/?organization_id=20100353410'
AND Method = 'GET'
Specify the columns in the URL and Method in the WHERE clause. Otherwise, you'll get an error.
If you send invalid JSON in the RequestBody, the API will try to process the request and the appropriate response will be sent back.
Warning PUT and POST work in different ways in the Zoho Books API. Make sure you check the API documentation to be 100% sure you're using the correct method when inserting or updating records.
Error code 404
Zoho Books returns 404 for any error that occurs. For example:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/estimates/576438000000189002/comments'
AND Method = 'GET'
The Estimate_Id value (576438000000189002) is not a valid estimate. You need to check the ResponseBody column:
Code: 404
ResponseType: application/json;charset=UTF-8
ResponseBody: {"code":1002,"message":"Quote does not exist."}
Likewise:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/invoices/576438000000189002/comments'
AND Method = 'GET'
Code: 404 ResponseType: application/json;charset=UTF-8 ResponseBody: {"code":5,"message":"Invalid URL Passed"}
In the ResponseBody, the code number returned is often the same across different URLs so if something doesn't exist you will get a 1002 code:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/invoices/576438000000189002'
AND Method = 'GET'
Code: 404 ResponseType: application/json;charset=UTF-8 ResponseBody: {"code":1002,"message":"Resource does not exist."}
LastId table
Use this table to find out what's going on at the Zoho Books API end after you've run an INSERT, UPDATE, or DELETE statement.
The table contains the following columns:
| Column name | Description |
|---|---|
Code |
API status code (0 is OK). |
Message |
API response message. For example, The account has been created. |
Operation |
INSERT, UPDATE, or DELETE. The type of SQL statement that ran. |
Api |
The Zoho Books API called. |
Key |
Key column name. |
Value |
Key column value. |
Full message |
JSON response sent back from the API. |
Successful inserts will always update the LastID table.
UPDATE and DELETE statements only change this table if at least one record is updated or deleted. If more than one record is updated or deleted, only the Id of the last record altered will be returned. If you attempt to update or delete but the statement does not alter any records, no data will be returned.
The data returned from the LastId table is only applicable to the last action on the current connection.
JSON formatted columns
Some of the columns used in the INSERT or UPDATE statements need to be in an JSON format such as the Bill table's Line_Items column. For example:
[
{
"line_item_id": "576438000000131023",
"account_id": "576438000000000415",
"account_name": "IT and Internet Expenses",
"description": "Dell Laser Printer",
"bcy_rate": 100,
"rate": 100,
"quantity": 1,
"tax_type": "tax",
"tax_percentage": 0,
"item_total": 100,
"item_order": 1,
"is_billable":False
},
{
"line_item_id": "576438000000136009",
"account_id": "576438000000000415",
"account_name": "IT and Internet Expenses",
"description": "Dell Computer",
"bcy_rate": 1233,
"rate": 1233,
"quantity": 4,
"tax_type": "tax",
"tax_percentage": 0,
"item_total": 4932,
"item_order": 2,
"is_billable": False
},
{
"line_item_id": "576438000000137009",
"account_id": "576438000000000415",
"account_name": "IT and Internet Expenses",
"description": "Dell Laser Paper",
"bcy_rate": 3,
"rate": 3.5,
"quantity": 16,
"tax_type": "tax",
"tax_percentage": 0,
"item_total": 56,
"item_order": 3,
"is_billable": False
}
]
In this example, I have only shown the lines that contain data. NULLs or empty strings have been left out.
In the Zoho Books API, JSON has this format:
- Data is in name/value pairs.
- Data is separated by commas.
- Curly braces (
{}) hold objects. - Square brackets (
[]) hold arrays.
In the example data shown above, the square brackets round the data denote an array that's separated by commas. Each {<group of objects>} denotes one of the lines on the bill and "quantity":16 is a data name/value pair.
All the data names in the Zoho Books API are in lower case. JSON is case sensitive when it comes to these names so putting them in upper or mixed case will result in some strange errors.
In the API we connect to, JSON values must be one of the following data types:
- String
- Number
- Boolean
- Array
- Object
Timestamps are returned as a string in the ISO 8601 YYYY-MM-DDThh:mm:ssTZD format. For example:
"last_modified_time":"2024-06-19T08:04:44-0400"
Dates are returned as a string in the YYYY-MM-DD format. For example:
"date":"2024-06-05"
In some of the JSON returned, you may get something like:
"tags":[]
This denotes an empty array.
String data needs to be escaped.
- Backslash becomes
\\ - Backspace becomes
\b - Form feed becomes
\f - Newline becomes
\n - Carriage return becomes
\r - Tab becomes
\t - Double quote becomes
\"
If you need to clear the contents of a JSON column, you need to set the value to [].
UPDATE Invoice
SET
Contact_Persons = '[]'
WHERE
Invoice_Id = '579676000000050260'
Setting the value to empty string ('') or NULL will not work as the Zoho Books API does not support this.
DELETE statements
Where the table supports a DELETE statement, there are two methods that can be used to delete records. Directly by specifying the table. For example:
DELETE FROM Bank_Account
WHERE
Account_Id = '579676000000088102'
Indirectly by using the API table. For example:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/bankaccounts/579676000000109001'
AND Method = 'DELETE'
If you're just deleting one record and you have the Id of the record you want to delete, the API method is faster and uses fewer API calls than going by using the table.
But if you want to delete multiple records at the same time, you can go through the table and send something like:
DELETE FROM Bank_Account
WHERE
Balance = 0
This deletes all records matching the specified criteria.
Note Once a DELETE statement or API Method = 'DELETE' is called, any rows that match will be deleted. There is no undo option and no way of getting the rows back.
Zoho Books tables
Bank_Account
Supports: SELECT, INSERT, UPDATE, and DELETE
SELECT statements
The Zoho Books API always sends back the Account_Number column as xxxx followed by the last 4 digits of your account number.
INSERT statements
You can create new Bank_Account records by sending:
INSERT INTO
Bank_Account (
Account_Name,
Account_Type,
Account_Number,
Routing_Number,
Currency_Code
)
VALUES
(
'Test COOP Account',
'bank',
'80000009823',
'123456789',
'GBP'
)
UPDATE statements
You can, for example, change the Account_Name of a Bank_Account record by sending:
UPDATE Bank_Account
SET
Account_Name = 'COOP Account'
WHERE
Account_Id = '576438000000114002'
DELETE statements
You can delete a Bank_Account record by sending:
DELETE FROM Bank_Account
WHERE
Account_Id = '576438000000114002'
Using the API table to delete an account
You can also delete a single record by running:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/bankaccounts/579676000000109001'
AND Method = 'DELETE'
Using the API table to deactivate or activate an account
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/bankaccounts/579676000000109001/status/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
inactive |
Deactivates the account. |
active |
Activates the account. |
Using the API table to import bank or credit card statements
Create the JSON data you want to import in this format:
{
"account_id": "579676000000107014",
"start_date": "2024-07-01",
"end_date": "2024-09-01",
"transactions": [
{
"transaction_id": "B00001",
"date": "2024-08-01",
"debit_or_credit": "credit",
"amount": 100,
"payee": "Bowman and Co",
"description": "Electronics purchase",
"reference_number": "Ref-2134"
},
{
"transaction_id": "B00001",
"date": "2024-07-01",
"debit_or_credit": "credit",
"amount": 200,
"payee": "Bowman and Co",
"description": "Electronics purchase x2",
"reference_number": "Ref-1134"
}
]
}
Then call the API table by using:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/bankstatements'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
The response back if that works is:
Code: 201
ResponseType: application/json;charset=UTF-8
ResponseBody:
{
"code":0,
"message":"Your bank statement has been imported."
}
Using the API table to get the last statement
Run something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/bankaccounts/579676000000107014/statement/lastimported'
AND Method = 'GET'
Using the API table to delete a record.
Run something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/bankaccounts/579676000000107014/statement/579676000000108021'
AND Method = 'DELETE'
Bank_Rule
Supports: Nothing
Bank_Rule in the Zoho Books API does not function correctly.
Do not use this table.
Bank_Transaction
Supports: Nothing
Do not use this table.
Bill
Supports: SELECT, INSERT, UPDATE, and DELETE
UPDATE statements
UPDATE statements can be used to change some of the header details such as Due_Date:
UPDATE Bill
SET
Due_Date = '2024-06-21'
WHERE
Bill_Id = '576438000000118046'
UPDATE statements can't be used to change a Billing_Address_City as this is part of the Customer address and it needs to be changed in the Customer record. If you attempt to change a column that's not updatable, the Zoho Books API may return 200 (Success) but nothing changes.
UPDATE can also be used to add, amend, and delete line items. When you update Line_Items you can add, update, and delete lines at the same time. Zoho simply replaces the lines in your bill with the JSON data you send.
Adding a line item
The easiest way to add an additional line item is to get the JSON column back from Zoho by running:
SELECT
Line_Items
FROM
Bill
WHERE
bill_id = '576438000000118046'
The JSON returned will be in the format:
[{row 1 data},{row 2 data},{row n data}]
There will be one object per row of data. Change the JSON data returned so that between the last } and ] add a comma and then your JSON object:
{
"item_order": 3,
"account_name": "IT and Internet Expenses",
"account_id": "576438000000000415",
"description": "Dell Laser Paper",
"rate": 3.50,
"quantity": 16,
"item_total": 56.00
}
Then send the JSON back by using:
UPDATE Bill
SET
Line_Items = '<JSON_Data>'
WHERE
bill_id = '576438000000118046'
Removing a line item
The easiest way to remove a line item is to get the JSON column back from Zoho Books by running:
SELECT
Line_Items
FROM
Bill
WHERE
bill_id = '576438000000118046'
The JSON array returned will contain a set of objects that each have the data name line_item_id on:
[
{
"line_item_id": "1"
},
{
"line_item_id": "2"
},
{
"line_item_id": "n"
}
]
If you remove the comma and object "{ "line_item_id": "2"} then send an UPDATE statement, the line will be removed.
Amending a line item
This is the same as removing a line item but instead of taking an object out, you simply change one or more of the data name: data value sets.
INSERT statements
Insert statements are very straightforward, but make sure that the Vendor_Id sent is a valid Contact_Id in the Contact table where Contact_Type = 'vendor'.
JLine=[
{
"item_order": 1,
"account_name": "IT and Internet Expenses",
"account_id": "576438000000000415",
"description": "Dell Laser Paper",
"rate": 3.50,
"quantity": 16,
"item_total": 56.00
}
]
SQL="INSERT INTO Bill (Bill_Number, Vendor_Id, [Date], Due_Date, Currency_Code, Line_Items) VALUES ('BILL-002', '576438000000118013', '2024-06-25', '2024-07-25', 'USD', '" & JLine & "')"
Date and Due_Date need to be passed in in the format yyyy-mm-dd.
DELETE statements
DELETEs can be done by using an SQL DELETE statement or by using the API table. For example:
DELETE FROM Bill
WHERE
Bill_Id = '579676000000088074'
SELECT
*
FROM
API
WHERE
URL = 'books/v3/bills/579676000000089067'
AND Method = 'DELETE'
DELETE statements are not limited to Bill_Id. You can delete a range of Bills by using:
DELETE FROM Bill
WHERE
[Date] = '2024-07-01'
But be careful as this type of query will delete all bills it finds that match the specified WHERE clause criteria.
Using the API table to mark a record as open or void
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/bills/579676000000081095/status/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
open |
Markopen |
void |
Markvoid This only works if the bill is not already paid. |
Using the API table to submit or approve a bill
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/bills/579676000000081095/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
submit |
Submit for approval |
approve |
Approve |
submit and approve only work if they have been turned on in the Zoho Books company you're connecting to. If they're not turned on, the ResponseBody is:
{
"code": 21016,
"message": "You have not enabled the Approval feature for this organization. Please enable it in Settings."
}
Using the API table to apply credit to a bill
You need to have both the Bill_Id and Vendor_Credit_Id to be able to carry this out. First, create the JSON data to allocate the amounts to each bill.
{
"apply_vendor_credits": [
{
"vendor_credit_id": "579676000000098059",
"amount_applied": 25
}
]
}
Then apply it to the bill by using:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/bills/579676000000098003/credits'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
Both the vendor credit and bill must be related to the same contact record.
Using the API table to add comments
First create the JSON data you want to add:
{
"description": "Test add comment.",
}
Send the comment:
SELECT
ResponseBody
FROM
api
WHERE
url = 'books/v3/bills/579676000000081095/comments'
AND Method = 'POST'
and RequestBody = '<JSON_Data>'
The ResponseBody will contain the message Comments added.
Using the API table to update comments
Updating bill comments is not currently supported in the Zoho Books API.
Using the API table to list bill comments and history
This example lists all the comments and history for the Bill_Id sent.
SELECT
*
FROM
API
WHERE
URL = 'books/v3/bills/579676000000081095/comments'
AND Method = 'GET'
This API call lists all the comments and history for the Bill_Id sent.
SELECT
*
FROM
Bill_Comment
WHERE
Bill_Id = '579676000000081095'
Using the API table to delete bill comments
This example deletes the selected comment from a bill.
SELECT
*
FROM
API
WHERE
URL = 'books/v3/bills/579676000000081095/comments/579676000000102002'
AND Method = 'DELETE'
Chart_Of_Account
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
INSERT statements can be very simple:
INSERT INTO
Chart_Of_Account (Account_Name, Description, Account_Type)
values
('Test Account', 'Easysoft test COA', 'income')
If you need to add an opening balance to the account you create, refer to Opening_Balance.
UPDATE statements
Use something like the following:
UPDATE Chart_Of_Account
SET
Description = 'Testing the COA'
WHERE
Account_Id = '579676000000106021'
DELETE statements
Use something like the following:
DELETE FROM Chart_Of_Account
WHERE
Account_Name = 'Test Account'
Alternatively, use the API table if you have the Account_Id:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/chartofaccounts/579676000000107086'
AND Method = 'DELETE'
Using the API table to mark an account record as active or inactive
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/chartofaccounts/579676000000107086/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
inactive |
Make inactive. |
active |
Activate. |
Using the API table to list account transactons
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/chartofaccounts/transactions?account_id=579676000000000352&amount.less_than=25384.04'
AND Method = 'GET'
Listing transactons
This example SQL query returns a list of transactions for an account's invoices:
SELECT
*
FROM
Chart_Of_Account_Transaction
WHERE
Account_Id = '579676000000000376'
AND Transaction_Type = 'invoice'
The Account_Id must be specified.
Contact
Supports: SELECT, INSERT, UPDATE, and DELETE
This table is where your customer and vendor (supplier) information is stored. The column Contact_Type denotes the type of contact you have (customer or vendor). A contact can only be of one type. If you have both a customer and vendor with the same name, you need to create two records.
There are two JSON columns in this table, Contact_Persons, which is an array that can contain one or more people's details and Addresses.
INSERT statements
When inserting a new record into the Contact table, the only field required in the API is Contact_Name. For example:
INSERT INTO
Contact (Contact_Name)
VALUES
('J. Jones Lumber')
The API assumes you're creating a customer rather than a vendor. In my test organization, the API defaults are:
Contact_Type:customerCustomer_Sub_Type:businessIs_Linked_With_Zohocrm:0Payment_Terms:0Payment_Terms_Label:Due On ReceiptCurrency_Id:576438000000000059Currency_Code:USDOutstanding_Receivable_Amount:0Outstanding_Receivable_Amount_Bcy:0Unused_Credits_Receivable_Amount:0Unused_Credits_Receivable_Amount_Bcy:0Status:activeTrack_1099:0
UPDATE statements
UPDATE statements work in two ways depending on the column type. With the exception of the Status column, the other non-JSON columns can be updated as long as the Zoho Books API supports this. For example:
UPDATE Contact
SET
Company_Name = 'J. Jones Lumber'
WHERE
Contact_Id = '576438000000152001'
To alter the Status column, refer to Contact table.
The JSON column Contact_Persons can be updated by sending a JSON string. This can be used to add, edit, or delete people associated with the contact record.
When sending JSON data back to Contact_Persons, you must make sure that you do not send:
is_primary_contact:false
The Zoho Books API only supports sending true. If you don't want to make a person record true, don't specify is_primary_contact in your JSON data.
The Contact_Persons column
In this test, I select Contact_Persons from my Contact record, which returns:
[
{
"contact_person_id": "576438000000153022",
"is_added_in_portal": false,
"salutation": "Mr.",
"is_portal_invitation_accepted": false,
"email": "tim.tester@easysoft.com",
"first_name": "Tim",
"last_name": "Tester",
"phone": "555-222-8888",
"can_invite": true,
"is_primary_contact": true,
"is_sms_enabled_for_cp": false,
"photo_url": "https://secure.gravatar.com/avatar/63c1cb7cfeb56dc678156af6fe48cca3?&d=mm",
"communication_preference": {
"is_sms_enabled": false,
"is_email_enabled": true,
"is_whatsapp_enabled": false
}
},
{
"contact_person_id": "576438000000153029",
"is_added_in_portal": false,
"salutation": "Mr.",
"is_portal_invitation_accepted": false,
"email": "j.jones@easysoft.com",
"first_name": "John",
"last_name": "Jones",
"phone": "555-666-9999",
"designation": "Boss",
"can_invite": true,
"is_primary_contact": false,
"is_sms_enabled_for_cp": false,
"photo_url": "https://secure.gravatar.com/avatar/4f6761051027e0cf9cc43c08596dd77a?&d=mm",
"communication_preference": {
"is_sms_enabled": false,
"is_email_enabled": true,
"is_whatsapp_enabled": false
}
}
]
Next, I remove all occurrences of "is_primary_contact":false, as the API does not support that. I then add a comma between the last } and ] followed by a new record:
{
"email": "tina.tester@easysoft.com",
"salutation": "Mrs",
"first_name": "Tina",
"last_name": "Tester"
}
Then I send the data using:
UPDATE Contact
SET
Contact_Persons = '<JSON_Data>'
WHERE
Contact_Id = '576438000000152001'
To alter a person's details, select the Contact_Persons column, remove all occurrences of "is_primary_contact":false, alter the other parts you want, and then send this to Zoho Books by using an UPDATE statement.
To remove a person's details, select the data, which has this format:
[{person 1 data},{person 2 data},{person n data}]
Remove all occurrences of "is_primary_contact":false. Remove the block of data round the person you want to delete and then execute the update.
Each time an update is sent, the current record is replaced with the data you send, so you can add, edit, and delete all at the same time.
Using the API table to activate or deactivate a record
Contacts can only be made active or inactive by using the API table. Updating the Status column in the table is not supported by the Zoho Books API. Here's an example of making a contact inactive:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/contacts/576438000000059118/inactive'
AND Method = 'POST'
When the change is made, the ResponseBody column returns:
{"code":0,"message":"The contact has been marked as inactive."}
Using the API table to turn portal access on or off
To turn on portal access, create a JSON data record containing the person or persons you need to give access to:
{"contact_persons":[{"contact_person_id":576438000000158066}]}
Then in the SQL you send:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/contacts/576438000000059118/portal/disable'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
Replace disable with enable to turn on portal access. Note The contact_person_id needs to be a contact person in the contact record you're sending. Assuming it works, the ResponseBody contain:
{"code":0,"message":"You have disabled the portal for the contact"}
Using the API table to turn payment reminders on or off
Using the API table, send:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/contacts/576438000000059118/paymentreminder/disable'
AND Method = 'POST'
Change disable to enable to turn on reminders and the ResponseBody will return:
{"code":0,"message":"All reminders associated with this contact have been enabled."}
Using the API table to get statement content
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/contacts/576438000000059118/statements/email'
AND Method = 'GET'
SELECT
*
FROM
API
WHERE
URL = 'books/v3/contacts/576438000000059118/statements/email?start_date=2024-01-01&end_date=2024-02-01'
If you don't supply a start_date and end_date, the statement is for the current month.
The ResponseBody contains:
{
"message": "success",
"data": {
"contact_name": "Customer - USD",
"file_name_without_extension": "statement_Customer-USD",
"from_email": "test@test.co.uk",
"subject": "Account Statement from 01 Jan 2024 to 01 Feb 2024",
"file_name": "statement_3MBrookingsIT-USD.pdf",
"filter_by": "Status.All",
"contact_id": "576438000000059118",
"body":"<br>Dear Customer - USD,
<br><br><span>It's been a great experience working with you.<br></span>Attached with this email is a list of all transactions for the period between <b>01 Jan 2024</b> to <b>01 Feb 2024</b><span>.<br></span><span>If you have any questions,
just drop us an email or call us.</span><br><br><br>Regards,
<br>zoho1<br>ESL Test<br><br><br>","entity_id": "576438000000059118",
"to_mails_str": "test@test.co.uk",
"from_emails": [
{
"is_org_email_id": false,
"user_name": "zoho1",
"organization_contact_id": "576438000000049001",
"email": "test@easysoft.com",
"selected": true
}
],
"to_contacts": [
{
"last_name": "Smith",
"contact_person_id": "576438000000158066",
"salutation": "Mr.",
"first_name": "A",
"email": "a.smith@test.co.uk",
"selected": true
},
{
"last_name": "Smith",
"contact_person_id": "576438000000158068",
"salutation": "Mrs.",
"first_name": "T",
"email": "t.smith@ test.co.uk",
"selected": false
}
],
"emailtemplates": [
{
"email_template_id": "576438000000000024",
"name": "Default",
"selected": true
}
],
"from_address": "null"
}
}
Blank lines have been removed to save space.
Using the API table to send an email statement
First create the JSON data:
{
"to_mail_ids": [
"test@easysoft.com",
"another@easysoft.com"
],
"cc_mail_ids": [
"support@easysoft.com"
],
"subject": "Test credit note from ZB",
"body": "This is a test body text to check the example code."
}
To get Zoho Books to send the email:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/creditnotes/576438000000160023/ statements/email and Method' = 'POST'
AND RequestBody = '<JSON_Data>'
The ResponseBody will contain:
{"code":0,"message":"Statement has been sent to the customer."}
Using the API table to list comments
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/contacts/576438000000059118/comments'
AND Method = 'GET'
The ResponseBody will contain:
{
"message": "success",
"contact_comments": [
{
"comment_id": "576438000000158081",
"contact_id": "576438000000059118",
"contact_name": "Customer - USD",
"comments_html_format": "Customer Statement was sent",
"description": "Customer Statement was sent",
"commented_by_id": "576438000000049001",
"commented_by": "zoho1",
"date": "2024-07-02",
"date_description": "39 minutes ago",
"time": "6:00 AM",
"transaction_type": "contact",
"is_entity_deleted": false,
"operation_type": "updated"
},
{
"comment_id": "576438000000162031",
"contact_id": "576438000000059118",
"contact_name": "Customer - USD",
"comments_html_format": "Automated payment reminder disabled",
"description": "Automated payment reminder disabled",
"commented_by_id": "576438000000049001",
"commented_by": "zoho1",
"date": "2024-07-02",
"date_description": "about an hour ago",
"time": "5:00 AM",
"is_entity_deleted": false,
"operation_type": "updated"
},
{
"comment_id": "576438000000160071",
"contact_id": "576438000000059118",
"contact_name": "Customer - USD",
"comments_html_format": "Portal enabled for test@test.co.uk",
"description": "Portal enabled for test@test.co.uk",
"commented_by_id": "576438000000049001",
"commented_by": "zoho1",
"date": "2024-07-02",
"date_description": "2 hours ago",
"time": "4:35 AM",
"is_entity_deleted": false,
"operation_type": "updated"
}
],
"page_context": {
"page": 1,
"per_page": 200,
"has_more_page": false,
"customer_name": "Customer - USD",
"applied_filter": "RecentActivity.All",
"sort_column": "date",
"sort_order": "D"
}
}
The ResponseBody above has been reduced to just a sample of the data returned.
To list comments, use something like:
SELECT
*
FROM
Contact_Comment
WHERE
Contact_Id = '579676000000093175'
Using the API table to list refunds
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/contacts/576438000000059118/refunds'
AND Method = 'GET'
Using the API table to turn 1099 tracking on or off
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/contacts/576438000000059118/track1099'
AND Method = 'POST'
Change track1099 to untrack1099 to stop the 1099 tracking.
Using the API table to manage addresses
Addresses can only be created, edited, or deleted by using the API table.
Adding an address
Before you send the SQL, you need to create a new JSON group of objects that contains the address details. For example:
{
"phone": "505-111-2222",
"attention": "Paul Smith",
"address": "The Main Office",
"street2": "Big Lumber Yard",
"city": "Ripon",
"state": "Colorado",
"state_code": "CO",
"zip": 22334,
"country_code": "US"
}
Then send it through the API table by using a POST method:
SELECT
*
FROM
API
WHERE
URL = '/books/v3/contacts/576438000000152001/address'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
where 576438000000152001 is the Contact_Id of the contact to add the address to and <JSON_Data> is the address group. Assuming this works, the Response column contains:
{
"code": 0,
"message": "The address has been created.",
"address_info": {
"address_id": "576438000000149024",
"address_type": "",
"attention": "Paul Smith",
"address": "The Main Office",
"street2": "Big Lumber Yard",
"city": "Ripon",
"state_code": "",
"state": "Colorado",
"zip": "22334",
"country": "",
"country_code": "",
"phone": "505-111-2222",
"fax": "",
"latitude": "",
"longitude": "",
"update_existing_transactions_address": ""
}
}
Editing an address
To edit an address, you need to know the Contact_Id of the contact record and the Address_Id of the record being edited.
{
"phone": "505-111-2222",
"attention": "Paul Smith",
"address": "Admin Office",
"street2": "Big Lumber Yard",
"city": "Ripon",
"state": "Colorado",
"state_code": "CO",
"zip": 22334,
"country_code": "US"
}
This time, I have just changed the address part. This is then sent by using the PUT method with the address_id in the URL:
SELECT
*
FROM
API
WHERE
URL = '/books/v3/contacts/576438000000152001/address/576438000000149024'
AND Method = 'PUT'
AND RequestBody = '<JSON_Data>'
If this succeeds, the Response column contains:
{
"code": 0,
"message": "The address has been updated.",
"address_info": {
"address_id": "576438000000149024",
"address_type": "",
"attention": "Paul Smith",
"address": "Admin Office",
"street2": "Big Lumber Yard",
"city": "Ripon",
"state_code": "",
"state": "Colorado",
"zip": "22334",
"country": "",
"country_code": "",
"phone": "505-111-2222",
"fax": "",
"latitude": "",
"longitude": "",
"update_existing_transactions_address": ""
}
}
Deleting an address
To delete an address, you need to know the Contact_Id of the contact record and the address_id of the record being edited.
SELECT
*
FROM
API
WHERE
URL = '/books/v3/contacts/576438000000152001/address/576438000000149024'
AND Method = 'DELETE'
If it works, the Response column contains:
{"code":0,"message":"The address has been deleted."}
Credit_Note
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
You can create new credit notes by executing an INSERT statement. To create a new credit note, you need the minimum of Customer_Id, Currency_Id, Date, and Line_Items. The Creditnote_Number is only needed if you don't have auto numbering turned on in Zoho Books. Here is the <JSON_Data> I'm passing in:
[
{
"account_id": "576438000000000376",
"tax_type": "tax",
"item_id": "576438000000080083",
"name": "1000-99-9999-99-99-99-07",
"tax_id": "576438000000056007",
"item_order": 1,
"description": "Easysoft Contract - Renewal",
"quantity": 1,
"unit": "pcs",
"item_total": 404.73,
"sales_rate": 1,
"rate": 404.73,
"tax_percentage": 10,
"account_name": "Sales",
"tax_name": "10% Tax",
"pricing_scheme": "unit",
"item_type": "sales"
}
]
The SQL being sent is:
INSERT INTO
Credit_Note (Customer_Id, Currency_Id, [Date], Line_Items)
values
(
'576438000000066678',
'576438000000000059',
'2021-06-14',
'<JSON_Data>'
)
UPDATE statements
You can update an existing credit note by sending an UPDATE statement:
UPDATE Credit_Note
SET
[Date] = '2024-01-01'
WHERE
Creditnote_Id = '576438000000159004'
DELETE statements
You can delete a credit note by sending:
DELETE FROM Credit_Note
WHERE
Creditnote_Id = '576438000000159004'
As long as the Creditnote_Id is valid, the record will be deleted.
Using the API table to get a credit note
Using the API table, you can get a credit note PDF encoded in Base64. For example:
SELECT
ResponseBody
FROM
api
WHERE
url = 'books/v3/creditnotes/576438000000160023?accept=pdf'
AND Method = 'GET'
Using the API table to email a credit note
First, create the JSON data containing the email details for the credit note recipients.
{
"to_mail_ids": [
"test@easysoft.com",
"another@easysoft.com"
],
"cc_mail_ids": [
"support@easysoft.com"
],
"subject": "Test credit note from Zoho Books",
"body": "This is a test body text to check the example code."
}
To send the credit note to these email addresses:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/creditnotes/576438000000160023/email'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
The ResponseBody will contain:
{"code":0,"message":"Your credit note has been sent."}
Using the API table to access email history
Email history can only be accessed through the API table. You need to pass a CreditNote_Id into the URL. For example:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/creditnotes/576438000000156003/emailhistory/'
AND Method = 'GET'
This returns:
{
"code": 0,
"message": "success",
"email_history": [
{
"mailhistory_id": "576438000000156061",
"from": "zoho1@test.co.uk",
"to_mail_ids": "j.smith@easysoft.com",
"subject": "Credit Note - CN-00001 from ESL Test",
"date": "2024-06-28",
"type": 28
},
{
"mailhistory_id": "576438000000156071",
"from": "zoho1@ test.co.uk",
"to_mail_ids": "support@easysoft.com",
"subject": "Credit Note - CN-00001 from ESL Test",
"date": "2024-06-28",
"type": 28
}
]
}
Using the API table to mark a credit note status (void, draft, or open)
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/creditnotes/576438000000156003/status/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description | ResponseBody message |
|---|---|---|
void |
Void a credit note. | The credit note has been marked as void. |
draft |
Convert credit note to draft. | The credit note has been marked as Draft. |
open |
Convert to open. | Status of the credit note has been changed to open. |
Using the API table to submit, approve, or get the email history of a credit note
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/creditnotes/576438000000156003/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description | ResponseBody message |
|---|---|---|
submit |
Submit a credit note for approval. | The Credit Note has been successfully submitted for approval. |
approve |
Approve a credit note | You have approved the Credit Note. |
email history |
Email history. Note Change the Method value from POST to GET. |
Refer to Using the API table to submit, approve, or get the email history of a credit note.
|
submit and approve only work if they have been enabled in the Zoho Books company you're connecting to. If they are not allowed, the ResponseBody is:
{
"code": 21016,
"message": "You have not enabled the Approval feature for this organization. Please enable it in Settings."
}
Using the API table to update billing or shipping address
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/creditnotes/576438000000156003/address/<X>'
AND Method = 'PUT'
AND RequestBody = '<JSON_Data>'
where <X> is one of:
| Value | Description | ResponseBody message |
|---|---|---|
billing |
Update billing address. | Billing address updated |
shipping |
Update shipping address. | Shipping address updated |
The JSON data is in the format:
{
"address":"Suite 125,
McMillan Avenue","city": "San Francisco",
"state": "CA",
"zip": 94134,
"country": "USA",
"fax": "+1-925-924-9600"
}
Using the API table to apply credit notes to an invoice
First, you need to build some JSON data in this format:
{
"invoices": [
{
"Invoice_Id": "576438000000105717",
"amount_applied": 445.2
},
{
"Invoice_Id": "576438000000105718",
"amount_applied": 100
}
]
}
This tells Zoho Books which invoices you want to apply a credit to. The only thing you need to keep in mind is that the total of the amount_applied must be less than or equal to the amount of credit on your credit note.
Then send this to Zoho Books through the API table by using:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/creditnotes/576438000000159024/invoices'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
If this works, each invoice in the list will have the amount_applied deducted from the invoice total. If the new total is 0, the invoice will be marked as paid. If the new total is not 0, the balance will be updated accordingly.
The ResponseBody will return:
{
"code": 0,
"message": "Credits have been applied to the invoice(s).",
"apply_to_invoices": {
"invoices": [
{
"Invoice_Id": "576438000000105717",
"amount_applied": 445.200,
"apply_date": "2021-06-14"
},
":[{"Invoice_Id":"576438000000105718","amount_applied":100.00,"apply_date":"2021-06-14"}]}
}
Using the API table to list invoices credited
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/creditnotes/576438000000159024/invoices'
AND Method = 'GET'
The ResponseBody is:
{
"code": 0,
"message": "success",
"invoices_credited": [
{
"creditnote_id": "576438000000159024",
"Invoice_Id": "576438000000105717",
"creditnote_Invoice_Id": "576438000000159064",
"date": "2021-06-14",
"invoice_number": "39439",
"creditnote_number": "CN-00005",
"credited_amount": 445.20
}
]
}
Using the API table to delete invoices credited
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/creditnotes/576438000000159024/invoices'
AND Method = 'DELETE'
The ResponseBody returns the message Credits applied to an invoice have been deleted.
Using the API table to add a comment to a credit note
Use this JSON data format for the comment:
{
"description": "Testing a comment description"
}
Then send this to Zoho Books through the API table by using:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/creditnotes/576438000000159024/comments'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
The ResponseBody will return:
{
"code": 0,
"message": "Comments added.",
"comment": {
"comment_id": "576438000000162035",
"comment_type": "internal",
"creditnote_id": "576438000000159024",
"comments_html_format": "Testing a comment description",
"description": "Testing a comment description",
"commented_by_id": "576438000000049001",
"commented_by": "zoho1",
"date": "2024-07-03"
}
}
Using the API table to list credit note comments and history
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/creditnotes/576438000000159024/comments'
AND Method = 'GET'
The ResponseBody is:
{
"code": 0,
"message": "success",
"comments": [
{
"comment_id": "576438000000162035",
"creditnote_id": "576438000000159024",
"comments_html_format": "Testing a comment description",
"description": "Testing a comment description",
"commented_by_id": "576438000000049001",
"commented_by": "zoho1",
"comment_type": "internal",
"date": "2024-07-03",
"date_description": "3 minutes ago",
"time": "4:55 AM",
"operation_type": "",
"transaction_id": "",
"transaction_type": ""
},
{
"comment_id": "576438000000159066",
"creditnote_id": "576438000000159024",
"description": "Credits applied to invoice 39439",
"commented_by_id": "576438000000049001",
"commented_by": "zoho1",
"comment_type": "system",
"date": "2024-07-02",
"date_description": "19 hours ago",
"time": "9:13 AM",
"operation_type": "Added",
"transaction_id": "576438000000159064",
"transaction_type": "creditnote_invoice"
},
{
"comment_id": "576438000000159034",
"creditnote_id": "576438000000159024",
"description": "Credit note created for $445.20",
"commented_by_id": "576438000000049001",
"commented_by": "zoho1",
"comment_type": "system",
"date": "2024-07-01",
"date_description": "yesterday",
"time": "6:02 AM",
"operation_type": "Added",
"transaction_id": "",
"transaction_type": "creditnote"
}
]
}
Currency
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
You can create a new currency with:
INSERT INTO
Currency (
Currency_Code,
Currency_Name,
Currency_Symbol,
Price_Precision,
Currency_Format
)
VALUES
(
'UAH',
'Ukraine Hryvnia',
'₴',
'2',
'1,234,567.89'
)
UPDATE statements
You can update a currency with:
UPDATE Currency
SET
Currency_Name = 'Ukraine Hryvnia'
WHERE
Currency_Code = 'UAH'
DELETE statements
You can delete a currency with:
DELETE FROM Currency
WHERE
Currency_Code = 'UAH'
Or you can use the API table instead:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/settings/currencies/579676000000122020'
AND Method = 'DELETE'
Using the API table to create an exchange rate
First create some JSON data that contains:
{
"effective_date": "2024-02-01",
"rate": 1.521234
}
Then send it by using the API table:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/settings/currencies/579676000000121014/exchangerates'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
The ResponseBody will contain the exchange_rate_id.
Using the API table to update an exchange rate
To update an exchange rate, use the JSON data in the format shown earlier and send it to Zoho Books with:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/settings/currencies/579676000000121004/exchangerates/579676000000122004'
AND Method = 'PUT'
AND RequestBody = '<JSON_Data>'
The second Id value in the URL is the exchange_rate_id of the record you want to update.
Using the API table to list exchange rates
To do this, either use the exchange_rate_id as part of the URL:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/settings/currencies/579676000000121014/exchangerates/579676000000122031'
AND Method = 'GET'
or use:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/settings/currencies/579676000000121014/exchangerates'
AND Method = 'GET'
Note If you try the second method, you'll find that the rate returned does not match the rate returned by using the first method. I have reported this issue to Zoho Books support (5-Aug-2024). If the status changes, I'll update this document to reflect that.
Customer_Payments
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
To create new payments, first create the JSON data for the invoice details to be paid:
[
{
"Invoice_Id": "576438000000104809",
"invoice_number": "39440",
"date": "2024-07-03",
"invoice_amount": "373.76",
"amount_applied": "373.76",
"balance_amount": "0"
}
]
You can pay several invoices at once by adding a new block to the array such as [{Inv 1},{Inv 2],{Inv <n>}].
Then run the INSERT statement:
INSERT INTO
Customer_Payment (Customer_Id, Payment_Mode, Amount, Invoices)
VALUES
(
'576438000000072770',
'cash',
373.76,
'<JSON)Data>'
)
UPDATE statements
You can update all columns. Here's an example of updating a description:
UPDATE Customer_Payment
SET
Description = 'Customer paid at till'
WHERE
Payment_Id = '576438000000168003'
DELETE statements
Use something like:
DELETE FROM Customer_Payment
WHERE
Payment_Id = '576438000000168003'
Or:
SELECT
*
FROM
API
WHERE
url = 'books/v3/customerpayments/579676000000107086'
AND Method = 'DELETE'
Using the API table to refund an excess customer payment
Create some JSON data containing the refund details:
{
"date": "2024-07-03",
"refund_mode": "cash",
"amount": 1000,
"from_account_id": "576438000000000346"
}
Then:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/customerpayments/576438000000172004/refunds'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
The ResponseBody contains:
The refund information for this payment has been saved.
Using the API table to update a refund
These work in the same way as described in Refund an excess customer payment, but in the SQL, change the Method from POST to PUT.
Using the API table to retrieve refund details
SELECT
*
FROM
API
WHERE
URL = 'books/v3/customerpayments/576438000000172004/refunds'
AND Method = 'GET'
The ResponseBody will contain a JSON list of refunds against the Payment_Id sent.
Using the API table to delete a refund
SELECT
*
FROM
API
WHERE
URL = 'books/v3/customerpayments/576438000000172004/refunds'
AND Method = 'DELETE'
The Delivery_Challan
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
You can create a new record by firstly creating the JSON data required for the line item details:
[
{
"description": "A5 Notepad",
"rate": 9.99,
"quantity": 3
}
]
Then run the INSERT statement:
INSERT INTO
Delivery_Challan (
[Date],
Challan_Type,
Reference_Number,
Currency_Code,
Customer_Id,
Tax_Treatment,
Place_Of_Supply,
Line_Items
)
VALUES
(
'2024-09-01',
'job work',
'DelChallan2',
'BHD',
'633066000000053001',
'vat_registered',
'BH',
'{"description":"A5 Notepad","rate":9.99,"quantity":3}'
)
UPDATE statements
This example adds an additional line to the Line_Item column. First, I change the JSON data from the INSERT example to have two lines:
[
{
"account_id": "548752000000000430",
"description": "A5 Notepad",
"rate": 9.99,
"quantity": 3
},
{
"account_id": "548752000000000430",
"description": "A3 Paper box 100",
"rate": 9.99,
"quantity": 1
}
]
Then:
UPDATE Delivery_Challan
SET
line_item = '<JSON_Data>'
WHERE
deliverychallan_id = '576438000000176002'
DELETE statements
DELETE FROM Delivery_Challan
WHERE
deliverychallan_id = '633066000000051395'
Using the API table to mark an item as delivered or returned
SELECT
*
FROM
API
WHERE
URL = 'books/v3/deliverychallans/633066000000051423/status/<X>?organization_id=20100804129'
AND Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
delivered |
Mark as delivered. |
returned |
Mark as returned. |
Employee
Supports: SELECT and INSERT
SELECT statements
If you use the Name column in the WHERE clause:
SELECT
*
FROM
Employee
WHERE
Name = 'Easysoft Support'
The columns are returned, but the Email column is always sent back from the API containing NULL.
If you pass in the Employee_Id, you get back:
SELECT
*
FROM
Employee
WHERE
Employee_Id = '576438000000109002'
You'll get this error from the Zoho Books API:
Error <37: The HTTP method GET is not allowed for the requested resource>.
INSERT statement
INSERT statements are supported. For example:
INSERT INTO
Employee (Name, Email)
VALUES
('Easysoft Support 2', 'support2@easysoft.com')
Inserting the same email address results in the error:
Code: 118356 Message: Employee has already been enrolled with support@easysoft.com
Inserting the same name is valid as long as the email is not already in the table.
Deleting employees
According to the Xero Books API documentation, you should be able to delete an employee. However, the example they give does not work and also does not specify which employee they are deleting.
Estimate
Supports: SELECT, INSERT, UPDATE, and DELETE
An estimate is a quote or a proposal for the products you sell or the services you render to your clients to take your business forward.
INSERT statements
In this example, I'm going to insert four lines in groups of two. Two of the lines will have a discounted percentage applied. To do this, I first create the Line_Items as <JSON_Data>:
[
{
"header_name": "Leads",
"description": "USB-C",
"rate": 2.75,
"quantity": 33,
"discount": "5.00%",
"tax_id": "576438000000056007"
},
{
"header_name": "Leads",
"description": "USB-B",
"rate": 0.68,
"quantity": 127,
"discount": "11.5%",
"tax_id": "576438000000056007"
},
{
"header_name": "Paper",
"description": "A4 (5 x per box)",
"rate": 9.99,
"quantity": 5,
"tax_id": "576438000000056007"
},
{
"header_name": "Paper",
"description": "A5 (10 x per box)",
"rate": 6.87,
"quantity": 12,
"tax_id": "576438000000056007"
}
]
To group each item, header_name must be used for each of the items added. In this example the tax_id is the Id of my 10% tax. Note there are no total values that need to be supplied, rate, quantity, and tax_id are all that's needed. discount is optional.
Then send that to Zoho Books by using:
INSERT INTO
Estimate ([Date], Customer_Id, Line_Items)
VALUES
(
'2024-07-08',
'576438000000059096',
'<JSON_Data>'
)
The estimate_number number will automatically be inserted by Zoho Books with the next new number in the sequence. Keep in mind that if you delete an estimate, the number will not be freed up. Square brackets are only needed round columns that are reserved words such as date.
UPDATE statements
Let's say you need to change the quantity of the A5 paper line in the previous insert. To do this, change the JSON data and send with an UPDATE query:
UPDATE Estimate
SET
Line_Items = '<JSON_Data>'
WHERE
Estimate_Id = '576438000000182002'
The total and tax totals are automatically updated by Zoho.
To remove or add a line, alter the JSON data and send the update again.
DELETE statements
This example deletes all estimates on a given date:
DELETE FROM Estimate
WHERE
[Date] = '2024-07-08'
To do this by using the API table:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/estimates/579676000000107086'
AND Method = 'DELETE'
Using the API table to mark an estimate as sent, accepted, or declined
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/estimates/576438000000182002/status/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
sent |
Mark a draft estimate as sent. |
accepted |
Mark a sent estimate as accepted if the customer has accepted it. |
declined |
Mark a sent estimate as declined if the customer has rejected it. |
If Zoho Books is configured to automatically generate invoices when a quote is accepted, setting the status to accepted results in this response:
Code: 200
ResponseType: application/json;charset=UTF-8
ResponseBody: {
"code": 0,
"message": "Quote status has been changed to Invoiced.",
"data": {
"Invoice_Id": "576438000000199003"
}
}
Using the API table to email an estimate
First, create the JSON data contain the email details you want to use to send the data.
{
"to_mail_ids": [
"test@easysoft.com",
"annother@easysoft.com"
],
"cc_mail_ids": [
"support@easysoft.com"
],
"subject": "Test credit note from ZB",
"body": "This is a test body text to check the example code."
}
To get Zoho Books to send the email:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/estimates/576438000000189001/email/'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
The ResponseBody contains:
{
"code": 0,
"message": "Your quote has been sent."
}
Using the API table to email multiple estimates
Emailing multiple estimates only works if all the estimates in Zoho Books have a contact person assigned to the estimate_id values you pass in:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/estimates/email/?estimate_ids=576438000000189001,576438000000189019'
AND Method = 'POST'
576438000000189001,576438000000189019 is a list of comma separated Estimate_Id values. You can specify up to a 10 of these.
The ResponseBody will contain:
{
"code": 0,
"message": "Your mails are scheduled to be sent in a few minutes. We will notify you once it is done."
}
If you pass in an invalid estimate_id or there's another problem, the only way feedback you get is on the Zoho Books web site under the Notificationssection. This section will contain something like:
We're facing a roadblock while sending Estimates. Unable to send the following Estimate(s) as no contact person was associated to it: QT-000008, QT-000009.
Using the API table to bulk export estimates
This API call returns up to 25 estimates in a single PDF:
SELECT
ResponseBody
FROM
api
WHERE
url = 'books/v3/estimates/email/pdf?estimate_ids=576438000000189002,576438000000189019'
AND Method = 'GET'
The ResponseBody contains a single PDF in Base64 encoded format.
Using the API table to bulk print estimates
This API call returns up to 25 estimate details in one go.
SELECT
ResponseBody
FROM
api
WHERE
url = 'books/v3/estimates/email/?estimate_ids=576438000000189002,576438000000189019'
AND Method = 'GET'
Any estimate_id values passed in that are not valid are ignored and only valid entries are returned in the ResponseBody:
{
"code": 0,
"message": "success",
"estimates": [
{
"estimate_id": "576438000000189019",
"zcrm_potential_id": "",
"zcrm_potential_name": "",
"customer_name": "Pension Funds - USD",
"customer_id": "576438000000059096",
"company_name": "Pension Funds - USD",
"status": "sent",
"color_code": "",
"current_sub_status_id": "",
"current_sub_status": "sent",
"estimate_number": "QT-000009",
"reference_number": "",
"date": "2024-07-09",
"currency_id": "576438000000000059",
"Currency_Code": "USD",
"total": 324.53,
"created_time": "2024-07-10T05:05:18-0400",
"last_modified_time": "2024-07-10T06:39:38-0400",
"accepted_date": "",
"declined_date": "",
"expiry_date": "",
"has_attachment": false,
"is_viewed_by_client": false,
"client_viewed_time": "",
"is_emailed": true,
"is_viewed_in_mail": false,
"template_type": "",
"template_id": "",
"mail_first_viewed_time": "",
"mail_last_viewed_time": "",
"salesperson_id": "",
"salesperson_name": ""
}
],
"page_context": {
"page": 1,
"per_page": 200,
"has_more_page": false,
"report_name": "Quotes",
"applied_filter": "Status.All",
"sort_column": "created_time",
"sort_order": "D",
"search_criteria": [
{
"column_name": "estimate_ids",
"search_text_0": "576438000000189002",
"search_text_1": "576438000000189019",
"search_text_formatted_0": "576438000000189002",
"search_text_formatted_1": "576438000000189019",
"comparator": "in"
}
]
}
}
Using the API table to add comments to an estimate
This API call lets you add a comment to an estimate and chose whether you want your customer to be able to refer to that comment. First, create the JSON for the comment:
{
"description": "PDF sent to customer 10-Jul-2024",
"show_comment_to_clients": true
}
Send the comment:
SELECT
ResponseBody
FROM
api
WHERE
url = 'books/v3/estimates/576438000000189019/comments'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
The ResponseBody contains the message Comments added.
Using the API table to list comments and history for an estimate
This API call lists all the comments and history for the Estimate_Id sent.
SELECT
ResponseBody
FROM
api
WHERE
url = 'books/v3/estimates/576438000000189019/comments'
AND Method = 'GET'
Data is returned in descending date order:
{
"code": 0,
"message": "success",
"comments": [
{
"comment_id": "576438000000195002",
"estimate_id": "576438000000189019",
"description": "PDF sent to customer 10-Jul-2024",
"commented_by_id": "576438000000049001",
"commented_by": "zoho1",
"comment_type": "user",
"date": "2024-07-11",
"date_description": "4 minutes ago",
"time": "3:11 AM",
"operation_type": "",
"transaction_id": "",
"transaction_type": ""
},
{
"comment_id": "576438000000192045",
"estimate_id": "576438000000189019",
"description": "Quote emailed to test@easysoft.com",
"commented_by_id": "576438000000049001",
"commented_by": "zoho1",
"comment_type": "system",
"date": "2024-07-10",
"date_description": "17 hours ago",
"time": "9:23 AM",
"operation_type": "updated",
"transaction_id": "",
"transaction_type": "email"
},
{
"comment_id": "576438000000191018",
"estimate_id": "576438000000189019",
"description": "Quote updated.",
"commented_by_id": "576438000000049001",
"commented_by": "zoho1",
"comment_type": "system",
"date": "2024-07-10",
"date_description": "20 hours ago",
"time": "6:38 AM",
"operation_type": "updated",
"transaction_id": "",
"transaction_type": "estimate"
},
{
"comment_id": "576438000000189039",
"estimate_id": "576438000000189019",
"description": "Quote marked as sent",
"commented_by_id": "576438000000049001",
"commented_by": "zoho1",
"comment_type": "system",
"date": "2024-07-10",
"date_description": "21 hours ago",
"time": "5:32 AM",
"operation_type": "updated",
"transaction_id": "",
"transaction_type": "estimate"
},
{
"comment_id": "576438000000189029",
"estimate_id": "576438000000189019",
"description": "Quote created for $324.53",
"commented_by_id": "576438000000049001",
"commented_by": "zoho1",
"comment_type": "system",
"date": "2024-07-10",
"date_description": "22 hours ago",
"time": "5:05 AM",
"operation_type": "Added",
"transaction_id": "",
"transaction_type": "estimate"
}
]
}
Using the API table to DELETE comments
This API call deletes the estimate comment based on the Estimate_Id and the Comment_Id:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/estimates/576438000000189019/comments/576438000000198001'
AND Method = 'DELETE'
Code: 200 ResponseType: application/json;charset=UTF-8 ResponseBody:
{
"code": 0,
"message": "The comment has been deleted."
}
Expense
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
First, create the JSON data for the expense:
[
{
"account_id": "576438000000000406",
"account_name": "Air Travel Expense",
"description": "New York to LA",
"tax_amount": 10,
"tax_type": "tax",
"tax_percentage": 10,
"item_total": 100,
"amount": 110,
"item_order": 1
},
{
"account_id": "576438000000000406",
"account_name": "Air Travel Expense",
"description": "LA to Miami",
"tax_amount": 30,
"tax_type": "tax",
"tax_percentage": 10,
"item_total": 300,
"amount": 330,
"item_order": 2
}
]
Then run the INSERT statement:
INSERT INTO
Expense (
Transaction_Type,
Account_Id,
Account_Name,
Vendor_Id,
Vendor_Name,
Currency_Code,
Line_Items
)
VALUES
(
'expense',
'576438000000000406',
'Air Travel Expense',
'576438000000166003',
'Air Travel USA',
'USD',
'<JSON DATA>'
)
UPDATE statements
You can update some of the columns but only if the expense in question is not itemized. If you try to edit one of these Zoho Books, returns Error <115124: Itemized expense cannot be edited.>
UPDATE Expense
SET
[Date] = '2024-07-01'
WHERE
Expense_Id = '576438000000170042'
DELETE statements
Use something like:
DELETE FROM Expense
WHERE
Expense_Id = '576438000000168003'
Or by using the API table:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/expenses/579676000000113002'
AND Method = 'DELETE'
Using the API table to get expense receipts
To do this by using the API table:
SELECT
Code,
ResponseType,
ResponseBody
FROM
api
WHERE
url = 'books/v3/expenses/576438000000170042/receipt'
AND Method = 'GET'
The ResponseBody column contains the data Base64 encoded. The ResponseType denotes the type of receipt downloaded.
Using the API table to delete expense receipts
To do this by using the API table:
SELECT
Code,
ResponseType,
ResponseBody
FROM
api
WHERE
url = 'books/v3/expenses/576438000000170042/receipt'
AND Method = 'DELETE'
Invoice
Supports: SELECT, INSERT, UPDATE, and DELETE
SELECT statement
The Zoho Books Invoices API call lets get data back in JSON, HTML, or PDF. For example:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/invoices/576438000000197002/?accept=pdf'
AND Method = 'GET'
Valid values for accept are json, pdf, or html.
INSERT, UPDATE, and DELETE statements
Except for changing the SQL table name from Estimate to Invoice, invoice works in exactly the same way as documented in this section.
UPDATE statements
Let's say you need to change the quantity of a line in the Line_Items column:
{
"line_item_id": "576438000000205017",
"tax_name": "10% Tax",
"item_order": 8,
"quantity": 2.0,
"header_name": "Storage",
"description": "8TB Surveillance Hard Drive",
"account_id": "576438000000000376",
"rate": 169.13999999999999,
"tax_id": "576438000000056007",
"bcy_rate": 169.13999999999999,
"account_name": "Sales",
"pricing_scheme": "unit",
"header_id": "576438000000197034",
"tax_type": "tax",
"tax_percentage": 10,
"item_total": 338.27999999999997,
"line_item_taxes": [
{
"tax_id": "576438000000056007",
"tax_name": "10% Tax (10%)",
"tax_amount": 33.810000000000002
}
]
}
Alter the data and send it back by using:
UPDATE Invoice SET Line_Items = '<JSON DATA>' WHERE Invoice_Id = '576438000000205001'
Running SELECT * FROM LastId after this update returns:
Code: 0 Message: Invoice information has been updated. Operation: UPDATE Api: invoice Key: Invoice_Id Value: 576438000000205001
Delete an invoice
DELETE FROM Invoice WHERE Invoice_Id = '576438000000205001'
Running SELECT * FROM LastId after this update returns:
Code: 0
Message: The invoice has been deleted.
Operation: DELETE
Api: invoice
Key: Invoice_Id
Value: 576438000000205001
FullMessage: {"code": 0, "message": "The invoice has been deleted."}
Using the API table to approve an invoice
Depending on your Zoho Books settings, invoices might have to be approved before they can be sent:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/invoices/576438000000206025/approve'
API response columns:
Code: 201
ResponseType: application/json;charset=UTF-8
ResponseBody: {
"code": 0,
"message": "The invoice(s) has been approved successfully."
}
Using the API table to mark invoices as sent, void, or draft
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/invoices/576438000000206025/status/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
sent |
Mark a draft invoice as sent. |
void |
Mark an invoice status as void. |
draft |
Mark a void invoice as draft. |
The ResponseBody is:
Code: 201
ResponseType: application/json;charset=UTF-8
ResponseBody: {
"code": 0,
"message": "The invoice(s) has been approved successfully."
}
Using the API table to email an invoice
Create some JSON data that specifies the email recipients:
{
"to_mail_ids": [
"test1@easysoft.com",
"test2@easysoft.com"
],
"cc_mail_ids": [
"test3@easysoft.com"
],
"subject": "Invoice Email Test",
"body": "ZB Email containing accepted Invoice"
}
The body part of the JSON can be plain text or HTML. To send the invoice:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/invoices/576438000000206025/email'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
If you want the email to include the customer's statement after /email, add:
?send_customer_statement=true
Using the API table to get email sent details
SELECT
*
FROM
API
WHERE
URL = 'books/v3/invoices/576438000000206025/email'
AND Method = 'GET'
The ResponseBody will contain all the details about the last email sent.
Using the API table to send payment reminders
This is the same <JSON_Data> layout as in Using the API table to email an invoice but the API url changes at the end from /email to /paymentreminder.
Using the API table to get payment reminder email content
This is the same method as shown in Using the API table to get email sent details. In url, change the end from /email to /paymentreminder.
Using the API table to generate bulk invoice reminders
Bulk invoice reminders can only be sent to contacts added to the customer record and check on the invoice. If the invoice does not have a contact selected, you'll not be able to use Bulk Remind. Only open and overdue invoices can be bulk sent:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/invoices/paymentreminder?Invoice_Ids=<IDs>'
AND Method = 'POST'
where <IDs> is a comma separated list of up to 10 invoice IDs. For example:
579676000000054079,579676000000050364,579676000000053106
If this succeeds, the ResponseBody contains:
{
"code": 0,
"message": "Success! All reminders have been sent."
}
Otherwise, the ResponseBody returns something like:
{
"code": 0,
"message": "Success! All reminders have been sent.",
"info": {
"email_errors_info": [
{
"code": 4083,
"ids": [
"579676000000050364",
"579676000000053106",
"579676000000053080",
"579676000000050312",
"579676000000053054",
"579676000000050286",
"579676000000053028",
"579676000000053002"
],
"message":"Unable to send payment reminder as no contact person was found for the invoice(s): INV-000015,
INV-000014,
INV-000011,
INV-000010,
INV-000009,
INV-000007,
INV-000006,
INV-000003"
}
],
"email_success_info": {
"message": "We were able to send 2 reminders. However, we faced a glitch while sending the rest of them.",
"sent_count": 2
}
}
}
Using the API table to bulk export invoices
This API call returns up to 25 estimates in a single PDF:
SELECT
ResponseBody
FROM
api
WHERE
url = 'books/v3/invoices/pdf?Invoice_Ids=579676000000053002,579676000000054079,579676000000053106,'
AND Method = 'GET'
The ResponseBody contains a single PDF in Base64 encoded format.
Using the API table to bulk export and print invoices
This is the same as the previous export but includes the print flag, so you're prompted with the print window when you open the PDF:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/invoices/print?Invoice_Ids=579676000000053002,579676000000054079,579676000000053106'
Using the API table to generate payment reminders
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/invoices/579676000000053002/paymentreminder/disable'
Change disable to enable to turn on the reminder.
Using the API table to write off or cancel write off
SELECT
*
FROM
API
WHERE
URL = 'books/v3/invoices/579676000000053002/writeoff'
AND Method = 'POST'
SELECT
*
FROM
API
WHERE
URL = 'books/v3/invoices/579676000000053002/writeoff/cancel'
Using the API table to list payments
SELECT
*
FROM
API
WHERE
URL = 'books/v3/invoices/579676000000050234/payments'
The ResponseBody returns all the payments against the Invoice_Id sent:
{
"code": 0,
"message": "success",
"payments": [
{
"payment_id": "579676000000063535",
"payment_number": "9",
"Invoice_Id": "579676000000050234",
"invoice_payment_id": "579676000000063539",
"payment_mode": "cash",
"description": "",
"date": "2024-07-17",
"reference_number": "",
"exchange_rate": 1.00,
"amount": 2000.00,
"tax_amount_withheld": 0.00,
"online_transaction_id": "",
"is_single_invoice_payment": true
},
{
"payment_id": "579676000000060144",
"payment_number": "10",
"Invoice_Id": "579676000000050234",
"invoice_payment_id": "579676000000060148",
"payment_mode": "cash",
"description": "",
"date": "2024-07-17",
"reference_number": "",
"exchange_rate": 1.00,
"amount": 2000.00,
"tax_amount_withheld": 0.00,
"online_transaction_id": "",
"is_single_invoice_payment": true
}
]
}
Using the API table to add comments
This API call allows you to add a comment to an invoice and choose whether or not you want your customer to be able to refer to that. First, create the JSON data for the comment:
{
"description": "Spoke to customer 22-Jul-2024",
"show_comment_to_clients": true
}
Send the comment:
SELECT
ResponseBody
FROM
api
WHERE
url = 'books/v3/invoices/579676000000050364/comments'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
The ResponseBody contains the message Comments added.
Using the API table to UPDATE comments
Use the same format as shown in the previous example for your JSON data.
SELECT
ResponseBody
FROM
api
WHERE
url = 'books/v3/invoices/579676000000050364/comments/579676000000078003'
AND Method = 'PUT'
AND RequestBody = '<JSON_Data>'
The second ID (579676000000078003) is the one for the comment you're updating.
Using the API table to list comments and history
This API call lists all the comments and history for the Invoice_Id sent.
SELECT
ResponseBody
FROM
api
WHERE
url = 'books/v3/invoices/579676000000050364/comments'
AND Method = 'GET'
Using the API table to delete comments
Use something like:
SELECT
ResponseBody
FROM
api
WHERE
url = 'books/v3/invoices/579676000000050364/comments/579676000000078003'
AND Method = 'DELETE'
Item
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
This example inserts an item that's purchased and sold as goods:
INSERT INTO
Item (
[Name],
Description,
Tax_Id,
Item_Type,
Product_Type,
Unit_Id,
Rate,
Account_Id,
Purchase_Rate,
Purchase_Description,
Purchase_Account_Id,
Vendor_Id
)
VALUES
(
'1TB Hard Disk',
'WD 1TB HDD 3.5"',
'579676000000050178',
'sales_and_purchases',
'goods',
'579676000000050038',
'299',
'579676000000000376',
'249',
'1 x WD 1TB HDD 3.5"',
'579676000000000509',
'579676000000081069'
)
As long as you have the IDs for the columns (vendor_id, for example) there's no need to put in the column (vendor_name, for example) as this will be automatically filled in by Zoho Books.
DELETE statements
This statement deletes all items that match a particular name:
DELETE FROM Item
WHERE
[Name] = '1TB Hard Disk'
You can do this by using the API table if you have the Item_Id:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/items/579676000000131010'
AND Method = 'DELETE'
UPDATE statements
This example adds 10% onto the sales price for all goods:
UPDATE Item
SET
Rate = Rate * 1.1
WHERE
product_type = 'goods'
Using the API table to mark an invoice as active or inactive
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/items/579676000000089003/status/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
active |
Active |
inactive |
Inactive. |
Journal
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
Create the JSON data for Line_Items. There needs to be at least one debit and one credit line:
[
{
"account_id": 579676000000000397,
"customer_id": 579676000000050204,
"description": "Standard cheque charge",
"tax_id": 579676000000050182,
"debit_or_credit": "debit",
"amount": 4.99
},
{
"account_id": 579676000000000501,
"customer_id": 579676000000050204,
"description": "Bank charge",
"debit_or_credit": "credit",
"amount": 4.99
}
]
Then send it by using:
INSERT INTO
Journal (
Reference_Number,
Journal_Date,
Journal_Type,
Currency_Id,
Notes,
Vat_Treatment,
Tax_Treatment,
Product_Type,
Line_Items
)
VALUES
(
'Bank charge 2',
'2024-08-06',
'both',
'579676000000000065',
'Standard cheque processing charge.',
'non_eu',
'non_eu',
'service',
'<JSON_Data>'
)
UPDATE statements
Alter the JSON data for Line_Items to reflect the amount you want to change. For example:
[
{
"account_id": 579676000000000397,
"customer_id": 579676000000050204,
"description": "Standard cheque charge",
"tax_id": 579676000000050182,
"debit_or_credit": "debit",
"amount": 5.99
},
{
"account_id": 579676000000000501,
"customer_id": 579676000000050204,
"description": "Bank charge",
"debit_or_credit": "credit",
"amount": 5.99
}
]
Then send the update by using:
UPDATE Journal
SET
Line_Items = '<JSON_Data>'
WHERE
Journal_id = '579676000000130007'
DELETE statements
DELETE FROM Journal
WHERE
Journal_Id = '579676000000130007'
Or use the API table:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/journals/579676000000130007/'
AND Method = 'DELETE'
Using the API table to mark a journal as published
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/journals/579676000000130007/status/publish'
AND Method = 'POST'
Opening_Balance
Supports: SELECT, INSERT, UPDATE, and DELETE
This table contains one row of data when you have customers, suppliers, or accounts with opening balances only. All the opening balances for customers, suppliers, and accounts are in the JSON data in the Accounts column. This JSON data shows the total amount for each account. If you have more than one customer with an opening balance and you need to find out a particular customer's opening balance, check the Contact table's Opening_Balance_Amount column instead.
INSERT statements
You can only insert one record into the opening balance table. If you already have a record in there you need to update it. To insert the first record, first, create the JSON data:
[
{
"account_id": 579676000000138031,
"debit_or_credit": "credit",
"exchange_rate": 1,
"currency_id": 579676000000000065,
"amount": 1223441.22
}
]
Then send it using:
INSERT INTO
Opening_Balance ([date], [accounts])
values
('2024-07-16', '<JSON_Data>')
UPDATE statements
Updating the opening balance accounts is a little tricky as the data returned in the Accounts column has all the opening balance details for bank accounts, customers, and suppliers. For example:
[
{
"accounts_list": [
{
"bcy_amount_formatted": "£ 1,223,441.22",
"branch_id": "",
"exchange_rate": 1.0,
"product_name": "",
"Currency_Code": "GBP",
"debit_or_credit": "credit",
"product_id": "",
"account_split_id": "579676000000142036",
"account_id": "579676000000138031",
"product_stock_rate": 0,
"product_stock_rate_formatted": "£ 0.00",
"product_stock": 0,
"bcy_amount": 1223441.22,
"account_name": "Test Bank Account",
"branch_name": "",
"currency_id": "579676000000000065"
},
{
"bcy_amount_formatted": "£ 14, 400.00",
"branch_id": "",
"exchange_rate": 1.2,
"product_name": "",
"Currency_Code": "USD",
"debit_or_credit": "credit",
"product_id": "",
"account_split_id": "579676000000142038",
"account_id": "579676000000107014",
"product_stock_rate": 0,
"product_stock_rate_formatted": "£ 0.00",
"product_stock": 0,
"bcy_amount": 14400.0,
"account_name": "Test COOP USD 32",
"branch_name": "",
"currency_id": "579676000000000059"
}
],
"account_type": "asset",
"account_type_formatted": "Asset"
},
{
"accounts_list": [
{
"debit_or_credit": "debit",
"product_name": "",
"bcy_amount_formatted": "£ 299.00",
"account_id": "579676000000000352",
"product_stock_rate": 0,
"product_stock_rate_formatted": "£ 0.00",
"product_stock": 0,
"bcy_amount": 299.0,
"product_id": "",
"account_name": "Accounts Receivable"
}
],
"account_type": "accounts_receivable",
"account_type_formatted": "Accounts Receivable"
},
{
"accounts_list": [
{
"bcy_amount_formatted": "£ 1,237,
542.22","branch_id": "",
"exchange_rate": 1.0,
"product_name": "",
"Currency_Code": "GBP",
"debit_or_credit": "debit",
"product_id": "",
"account_split_id": "579676000000145099",
"account_id": "579676000000000499",
"product_stock_rate": 0,
"product_stock_rate_formatted": "£ 0.00",
"product_stock": 0,
"bcy_amount": 1237542.22,
"account_name": "Opening Balance Adjustments",
"branch_name": "",
"currency_id": "579676000000000065"
}
],
"account_type": "liability",
"account_type_formatted": "Liability"
}
]
It's only the first two sections that can be changed. After removing the other sections, you end up with JSON data in this format:
[
{
"exchange_rate": 1.0,
"debit_or_credit": "credit",
"account_split_id": "579676000000142036",
"account_id": "579676000000138031",
"bcy_amount": 1223441.22,
"currency_id": "579676000000000065"
},
{
"exchange_rate": 1.2,
"debit_or_credit": "credit",
"account_split_id": "579676000000142038",
"account_id": "579676000000107014",
"bcy_amount": 14400.0,
"currency_id": "579676000000000059"
}
]
Then use:
UPDATE Opening_Balance
SET
Accounts = '<JSON_Data>'
If you need to adjust a customer or supplier opening balance, use:
UPDATE Contact
SET
Opening_Balance_Amount = 299
WHERE
Contact_Id = '579676000000093092'
This updates the opening balance at the Zoho Books API end.
DELETE statement
You can only delete a record if no customer or suppliers have an opening balance.
DELETE FROM Opening_Balance
Or use the API table:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/settings/openingbalances/'
AND Method = 'DELETE'
Organization
Supports: SELECT, INSERT, UPDATE, and DELETE
This table can be used to create, amend, and delete organizations in Zoho Books. There is currently no Zoho Books API documentation on this API call.
INSERT statements
This appears to be the minimum needed to create a new organization:
INSERT INTO
Organization (
Name,
Contact_Name,
Email,
Version,
Currency_Code,
Time_Zone,
Address_State_Code
)
VALUES
(
'ESL Two (India)',
'zoho2',
'zoho2@fastphotography.co.uk',
'india',
'INR',
'Asia/Calcutta',
'CG'
)
UPDATE statements
This changes the first line in the organization's address:
UPDATE Organization
SET
Address_Street_Address1 = 'Building 1'
WHERE
organization_id = '20100387237'
DELETE statements
Use something like:
DELETE FROM Organization
WHERE
Organization_Id = '20100386941'
This can also be done by calling the API table:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/organizations/20100386834'
AND Method = 'DELETE'
Project
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
To create a project:
INSERT INTO
Project (
Project_Name,
Customer_Id,
Currency_Id,
Billing_Rate_Frequency,
Billing_Type,
Rate,
Description
)
VALUES
(
'PROJ-00002',
'579676000000093092',
'579676000000000059',
'hourly',
'based_on_project_hours',
'99.99',
'Create Zoho Books API Examples'
)
UPDATE statements
This changes the rate:
UPDATE Project
SET
Rate = 110
WHERE
project_id = '579676000000151003'
DELETE statements
Use something like:
DELETE FROM Project
WHERE
project_id = '579676000000151003'
This can also be done with the API table:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/projects/579676000000152003?organization_id=20099941201'
AND Method = 'DELETE'
Using the API table to mark a project as active or inactive
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/projects/579676000000149075/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
inactive |
Make inactive. |
active |
Activate. |
Using the API table to clone projects
Create the JSON data for the project to clone:
{
"project_name": "PROJ-00003",
"description": "Cloned Example"
}
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/projects/579676000000149075/clone?organization_id=20099941201'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
Using the API table to invite users to a project
Create JSON data in the form:
{
"user_name": "Paul West",
"email": "test27@easysoft.com",
"user_role": "staff",
"rate": "0",
"budget_hours": "0",
"cost_rate": "35"
}
Then use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/projects/579676000000149075/users/invite?organization_id=20099941201'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
Using the API table to list invited users
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/projects/579676000000149075/users?organization_id=20099941201'
AND Method = 'GET'
Only users that have accepted the invitation are listed.
Using the API table to assign users to a project
Assigns an existing user to a project. First, create the list of users in some JSON data:
{
"users": [
{
"user_id": "579676000000156001"
},
{
"user_id": "579676000000155001"
},
{
"user_id": "579676000000050001"
}
],
"cost_rate": 100
}
The cost_rate is also required. Any number of users can be added at once. Then send it through the API table:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/projects/579676000000149075/users?organization_id=20099941201'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
Using the API table to update a project user
Create JSON data in the form:
{
"user_role": "admin"
}
You only need to put in the items that need to be updated. Send the JSON data to the API by using:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/projects/579676000000149075/users/579676000000156001?organization_id=20099941201'
AND Method = 'PUT'
AND RequestBody = '<JSON_Data>'
The second ID (579676000000156001) is the user_id of the user you want to update.
Using the API table to get a project user's details
To do this, pass in the user_id. SELECT it from the API by using:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/projects/579676000000149075/users/579676000000156001?organization_id=20099941201'
AND Method = 'GET'
Using the API table to delete a project user
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/projects/579676000000149075/users/579676000000156001?organization_id=20099941201'
AND Method = 'DELETE'
Purchase_Order
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
Create the JSON data for Line_Items:
[
{
"description": "2TB Hard Disk",
"rate": 99,
"quantity": 3,
"account_id": "579676000000000415",
"tax_id": "579676000000050178"
}
]
Then send it by using:
INSERT INTO
Purchase_Order (Vendor_Id, [Date], Line_Items)
VALUES
('579676000000081069', '2024-07-30', '<JSON_Data>')
If you leave out the Purchaseorder_Number column, this will be auto populated with the next number in the sequence.
UPDATE statements
This example changes the quantity from 3 to 4:
UPDATE Purchase_Order
SET
Line_Items = REPLACE (Line_Items, '{"quantity": 3', '{"quantity": 4')
WHERE
purchaseorder_id = '579676000000092047'
DELETE statements
Use something like:
DELETE FROM Purchase_Order
WHERE
PurchaseOrder_Id = '579676000000092047'
Alternatively, use the API table. For example:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/purchaseorders/579676000000091014'
AND Method = 'DELETE'
Using the API table to mark a purchase order as open, billed, or cancelled
Call the API table by using:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/purchaseorders/579676000000089003/status/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
open |
Mark as open. |
billed |
Mark as billed. This only works if the purchase order you created can be billed to a customer. |
| cancelled | Cancel a purchase order. |
Using the API table to submit or approve purchase orders
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/purchaseorders/579676000000089003/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
submit |
Submit for approval. |
approve |
Approve a credit note. |
Submit and approve only work if they have been turned on in the Zoho Books company that you're connecting to.
Using the API table to add purchase order comments
Create the JSON data containing the comment:
{
"description": "Spoke to customer 22-Jul-2024"
}
Then use the API table to send it:
SELECT ResponseBody FROM api WHERE url = 'books/v3/purchaseorders/579676000000088014/comments' AND Method = 'POST' AND RequestBody = '<JSON_Data>'
If successful, the ResponseBody will contain:
{
"code": 0,
"message": "Comments added.",
"comment": {
"comment_id": "579676000000107005",
"purchaseorder_id": "579676000000088014",
"comments_html_format": "Spoke to customer 22-Jul-2024",
"description": "Spoke to customer 22-Jul-2024",
"commented_by_id": "579676000000050001",
"commented_by": "zoho2",
"comment_type": "internal",
"date": "2024-08-01",
"date_description": "few seconds ago",
"time": "8:30 AM"
}
}
To update the comment, change the JSON data and use the API table to send it. Include the comment ID:
SELECT
ResponseBody
FROM
api
WHERE
url = 'books/v3/purchaseorders/579676000000088014/comments/579676000000116023'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
To delete a comment:
SELECT
ResponseBody
FROM
api
WHERE
url = 'books/v3/purchaseorders/579676000000088014/comments/579676000000107005'
AND Method = 'DELETE'
Recurring_Bill
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
You can create a new recurring bill by creating the JSON data required for the line item details:
[
{
"account_id": "548752000000000430",
"description": "A5 Notepad",
"rate": 9.99,
"quantity": 3
}
]
Then run the INSERT statement:
INSERT INTO Recurring_Bill (Recurrence_Name, Start_Date, End_Date, Recurrence_Frequency, Repeat_Every, Vendor_Id, Line_Items) VALUES ('A5 notepads' , '2024-07-08' , '2026-12-12' , 'months' , '1' , '548752000000052031' , '<JSON_Data>')
recurrence_name values need to be unique.
UPDATE statements
This example adds an additional line to the Line_Item column:
[
{
"account_id": "548752000000000430",
"description": "A5 Notepad",
"rate": 9.99,
"quantity": 3
},
{
"account_id": "548752000000000430",
"description": "A3 Paper box 100",
"rate": 9.99,
"quantity": 1
}
]
Then use:
UPDATE Recurring_Bill
SET
Line_Item = '<JSON_Data>'
WHERE
Recurring_Bill_Id = '576438000000176002'
DELETE statements
DELETE FROM Recurring_Bill WHERE Recurring_Bill_Id = '576438000000176002'
Using the API table to stop a recurring expense
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/recurringbills/576438000000180001/status/stop'
AND Method = 'POST'
Using the API table to resume a recurring expense
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/recurringbills/576438000000180001/status/resume'
AND Method = 'POST'
The ResponseBody message is "The recurring expense has been activated."
Using the API table to list recurring bill history
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/recurringbills/576438000000173123/comments'
and Method = 'GET'
Recurring_Expense
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
To create a new recurring expense, first create the JSON data required for the line item details:
[
{
"account_id": "576438000000173094",
"account_name": "Cleaning",
"description": "Weekly Outside Window Clean",
"amount": 100
}
]
Then run the INSERT statement:
INSERT INTO
Recurring_Expense (
Recurrence_Name,
Start_Date,
End_Date,
Recurrence_Frequency,
Repeat_Every,
Vendor_Id,
Paid_Through_Account_Id,
Line_Item
)
VALUES
(
'Window Clean',
'2024-07-08',
'2024-12-12',
'weeks',
'1',
'576438000000173100',
'576438000000118006',
'<JSON DATA>'
)
Recurrence_Name values need to be unique.
UPDATE statements
This example adds an additional line to the Line_Item column. Create the JSON data:
[
{
"account_id": "576438000000173094",
"account_name": "Cleaning",
"description": "Weekly Outside Window Clean",
"amount": 100
},
{
"account_id": "576438000000173094",
"account_name": "Cleaning",
"description": "Weekly Inside Window Clean",
"amount": 150
}
]
then:
UPDATE Recurring_Expense
SET
Line_Item = '<JSON_Data>'
WHERE
Recurring_Expense_Id = '576438000000176002'
The Recurring_Expense table does support multiple lines and the total gets increased. However, you can only refer to item lines two and beyond if you select the data through the Zoho Books API.
DELETE statements
DELETE FROM Recurring_Expense
WHERE
Recurring_Expense_Id = '576438000000176002'
Using the API table to stop recurring expense
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/recurringexpenses/576438000000180001/status/stop'
AND Method = 'POST'
The ResponseBody message is "The recurring expense has been stopped."
Using the API table to resume recurring expenses
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/recurringexpenses/576438000000180001/status/resume'
AND Method = 'POST'
The ResponseBody message says "The recurring expense has been activated."
Using the API table to list child expenses
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/recurringexpenses/576438000000173123/expenses'
AND Method = 'GET'
The ResponseBody returns:
{
"code": 0,
"message": "success",
"expensehistory": [
{
"expense_id": "576438000000173133",
"date": "2024-07-05",
"account_name": "Cleaning",
"vendor_name": "Clare's Cleaners",
"paid_through_account_name": "COOP Account 4",
"customer_name": "",
"total": 63.87,
"status": "nonbillable"
},
{
"expense_id": "576438000000174001",
"date": "2024-07-06",
"account_name": "Cleaning",
"vendor_name": "Clare's Cleaners",
"paid_through_account_name": "COOP Account 4",
"customer_name": "",
"total": 64.05,
"status": "nonbillable"
},
{
"expense_id": "576438000000175001",
"date": "2024-07-07",
"account_name": "Cleaning",
"vendor_name": "Clare's Cleaners",
"paid_through_account_name": "COOP Account 4",
"customer_name": "",
"total": 63.98,
"status": "nonbillable"
},
{
"expense_id": "576438000000175047",
"date": "2024-07-08",
"account_name": "Cleaning",
"vendor_name": "Clare's Cleaners",
"paid_through_account_name": "COOP Account 4",
"customer_name": "",
"total": 64.12,
"status": "nonbillable"
}
],
"page_context": {
"page": 1,
"per_page": 200,
"has_more_page": false,
"report_name": "expense history",
"sort_column": "expense_account",
"sort_order": "D"
}
}
In this example, I had one daily expense record. The expensehistory array shows each of the transactions created. These transactions were created in the GBP currency, but the test company default is USD so the total amount changes each day to reflect the changes in exchange rate.
Using the API table to list recurring expense history
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/recurringexpenses/576438000000173123/comments'
AND Method = 'GET'
ResponseBody returns:
{
"code": 0,
"message": "success",
"comments": [
{
"comment_id": "576438000000175055",
"recurring_expense_id": "576438000000173123",
"description": "Expense Created for £50.00",
"commented_by_id": "",
"commented_by": "Zoho Books",
"date": "2024-07-08",
"date_description": "22 hours ago",
"time": "6:15 AM",
"operation_type": "Added",
"transaction_id": "576438000000175047",
"transaction_type": "expense"
},
{
"comment_id": "576438000000175009",
"recurring_expense_id": "576438000000173123",
"description": "Expense Created for £50.00",
"commented_by_id": "",
"commented_by": "Zoho Books",
"date": "2024-07-07",
"date_description": "yesterday",
"time": "6:14 AM",
"operation_type": "Added",
"transaction_id": "576438000000175001",
"transaction_type": "expense"
},
{
"comment_id": "576438000000174009",
"recurring_expense_id": "576438000000173123",
"description": "Expense Created for £50.00",
"commented_by_id": "",
"commented_by": "Zoho Books",
"date": "2024-07-06",
"date_description": "2 days ago",
"time": "6:14 AM",
"operation_type": "Added",
"transaction_id": "576438000000174001",
"transaction_type": "expense"
},
{
"comment_id": "576438000000173141",
"recurring_expense_id": "576438000000173123",
"description": "Expense Created for £50.00",
"commented_by_id": "576438000000049001",
"commented_by": "zoho1",
"date": "2024-07-05",
"date_description": "4 days ago",
"time": "2:44 AM",
"operation_type": "Added",
"transaction_id": "576438000000173133",
"transaction_type": "expense"
},
{
"comment_id": "576438000000173125",
"recurring_expense_id": "576438000000173123",
"description": "Recurring expense created for £50.00",
"commented_by_id": "576438000000049001",
"commented_by": "zoho1",
"date": "2024-07-05",
"date_description": "4 days ago",
"time": "2:44 AM",
"operation_type": "Added",
"transaction_id": "",
"transaction_type": "recurring_expense"
}
]
}
In this example, the history returned relates to the child expenses created previously.
Recurring_Invoice
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
To create a new recurring invoice, first create the JSON data required for the line item details:
[
{
"description": "Cloud Storage Monthly",
"rate": 9.99,
"quantity": 3,
"tax_id": "579676000000050178"
}
]
Then run:
INSERT INTO
Recurring_Invoice (
customer_id,
Line_Items,
recurrence_name,
recurrence_frequency,
Repeat_Every,
start_date,
end_date
)
VALUES
(
'579676000000050204',
'<JSON_Data>',
'Monthly Cloud Charge',
'weeks',
'1',
'2024-07-29',
'2024-12-30'
)
Recurrence_Name values need to be unique.
UPDATE statements
This example changes the occurrence to two weeks:
UPDATE Recurring_Invoice
SET
Repeat_Every = '2'
WHERE
Recurring_Invoice_Id = '579676000000076008'
DELETE statements
DELETE FROM Recurring_Invoice
WHERE
Recurring_Invoice_Id = '579676000000076008'
Or use the API table:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/recurringinvoices/579676000000114023/'
AND Method = 'DELETE'
Using the API table to stop recurring invoice
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/recurringinvoices/579676000000076008/status/stop'
AND Method = 'POST'
The ResponseBody message is: "The recurring invoice has been stopped."
Using the API table to resume recurring invoices
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/recurringinvoices/579676000000076008/status/resume'
AND Method = 'POST'
ResponseBody message is: "The recurring invoice has been activated."
Using the API table to list recurring invoice history
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/recurringinvoices/579676000000076008/comments'
AND Method = 'GET'
Retainer_Invoice
Supports: SELECT, INSERT, UPDATE, and DELETE
SELECT, INSERT, and UPDATE statements
The Retainer_Invoice table works in the same way as the Invoice table.
Using the API table to select retainer invoices
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/retainerinvoices/579676000000081041'
AND Method = 'GET'
DELETE statements
Use something like:
DELETE FROM Retainer_Invoice
WHERE
RetainerInvoice_Id = '579676000000091002'
This can also be done with the API table. For example:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/retainerinvoices/579676000000091014'
AND Method = 'DELETE'
Using the API table to mark retainer invoices as sent, void, or draft
Call the API table using:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/retainerinvoices/579676000000089003/status/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
void |
Void a retainer invoice. |
draft |
Convert to draft. |
sent |
Convert to open. |
Using the API table to submit or approve retainer invoices
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/retainerinvoices/579676000000089003/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
submit |
Submit for approval. |
approve |
Approve a credit note |
submit and approve only work if they have been turned on in the Zoho Books company you're connecting to.
Using the API table to manage recurring invoice comments
Refer to this section (remember to specify retainerinvoices instead of invoices).
Salesorder
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
Create the JSON data for line items:
[
{
"description": "2TB Hard Disk",
"rate": 99,
"quantity": 3,
"account_id": "579676000000000415",
"tax_id": "579676000000050178"
}
]
Then send it using:
INSERT INTO
Salesorder (Customer_Id, [Date], Line_Items)
values
('579676000000050204', '2024-07-30', '<JSON_Data>')
If you leave out the Salesorder_Number column, this will be autopopulated with the next number in the sequence.
UPDATE statements
This example update changes the quantity from 3 to 4:
UPDATE Salesorder
SET
Line_Items = REPLACE (
Line_Items,
'{""quantity"": 3',
'{""quantity"": 4'
)
WHERE
Salesorder_Id = '579676000000119019'
DELETE statements
Use something like:
DELETE FROM Salesorder
WHERE
Salesorder_Id = '579676000000119019'
This can also be done by calling the API table. For example:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/salesorders/579676000000116031'
AND Method = 'DELETE'
Using the API table to mark a sales order as open or void
Call the API table by using:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/salesorders/579676000000089003/status/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
open |
Mark open. |
void |
Mark void. |
Using the API table to submit or approve sales orders
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/salesorders/579676000000089003/<X>'
AND Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
submit |
Submit for approval. |
approve |
Approve a credit note. |
submit and approve only work if they have been turned on in the Zoho Books company you're connecting to.
Using the API table to manage sales order comments
Refer to this section and change purchaseorders to salesorders.
Salesreceipt
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
You can create a new sales receipt by firstly creating the <JSON_Data> required for the line item details:
[
{
"description": "2TB Hard Disk",
"rate": 99,
"quantity": 3,
"account_id": "593625000000000503"
}
]
Then run the INSERT statement:
INSERT INTO
Salesreceipt (Customer_Id, [Date], Line_Items)
VALUES
('593625000000054001', '2024-08-17', '<JSON_Data>')
UPDATE statements
Alter the JSON data from the INSERT and send it back by using:
UPDATE Salesreceipt
SET
Line_Items = '<JSON_Data>'
WHERE
sales_receipt_id = '593625000000065001'
DELETE statements
DELETE FROM Salesreceipt
WHERE
Sales_Receipt_Id = '593625000000065001'
Or:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/salesreceipts/593625000000065001?organization_id=20100449894'
AND Method = 'DELETE'
Task
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
You can create a task and assign it to a project by running:
INSERT INTO
Task (Project_Id, Task_Name, Description)
values
(
'579676000000093167',
'QA Test',
'Test the source code developed'
)
UPDATE statements
You can update tasks by running:
UPDATE Task
SET
description = description + '.'
WHERE
Project_Id = '579676000000093167'
AND Task_Id = '579676000000160004'
Project_Id is mandatory.
DELETE statements
Directly in the driver using:
DELETE FROM Task
WHERE
Project_Id = '579676000000093167'
AND Task_id = '579676000000164003'
You need to give it both IDs.
This can also be done by calling the API table. For example:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/projects/579676000000093167/tasks/579676000000160004?organization_id=20099941201'
AND Method = 'DELETE'
Tax
Supports: SELECT, INSERT, UPDATE, and DELETE
These examples were created under a Zoho Books organization set up for UK taxes.
INSERT statements
You can create a new tax time entry by running:
INSERT INTO
Tax (Tax_Name, Tax_Percentage)
VALUES
('S Reduced rate', 17.5)
UPDATE statements
You can update the Tax_Percentage by running:
UPDATE Tax SET Tax_Percentage=17.75 WHERE Tax_Id = '579676000000165002'
DELETE statements
Use something like:
DELETE FROM Tax WHERE tax_name = 'S Reduced rate'
This can also be done by calling the API table. For example:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/settings/taxes/579676000000169001?organization_id=20099941201'
AND Method = 'DELETE'
Time_Entry
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
You can create a time entry and add time by running:
INSERT INTO
Time_Entry (Project_ID, Task_Id, Log_Date, Log_Time)
VALUES
(
'579676000000093167',
'579676000000093228',
'2024-08-14',
'02:00'
)
Both Project_Id and Task_Id are required. The log_time has to be in the format hh:mm.
UPDATE statements
You can update the Log_Time by running:
UPDATE Time_Entry SET Log_Time = '03:00' WHERE Time_Entry_Id = '579676000000160017'
DELETE statements
Use something like:
DELETE FROM Time_Entry WHERE Time_Entry_Id = '579676000000160017'
This can also be done by using the API table. For example:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/projects/timeentries/579676000000160021?organization_id=20099941201'
AND Method = 'DELETE'
Using the API table to start a timer
You can ONLY start the timer for the user account you're logged in as. To do this, first create a blank Time_Entry record by sending:
INSERT INTO
Time_Entry (Project_Id, Task_Id, User_Id, Log_Date)
VALUES
(
'579676000000149075',
'579676000000161018',
'579676000000156001',
'2024-08-14'
)
The user_id value passed in must be the same user_id as you're connected as with the Easysoft Zoho Books ODBC driver. If you use LastId after the insert, the column value contains the Time_Entry_Id of the record created. Start the timer by passing that column in by using the API table:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/projects/timeentries/time_entry_id/timer/start?organization_id=20099941201'
AND Method = 'POST'
where Time_Entry_Id is the ID value rather than the name.
Using the API table to get an active timer
If you have an active timer running, you can get the details through the API table by calling:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/projects/timeentries/runningtimer/me?organization_id=20099941201'
AND Method = 'GET'
Using the API table to stop a timer
If you have an active timer running, you can stop it with:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/projects/timeentries/timer/stop?organization_id=20099941201'
AND Method = 'POST'
Users
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
INSERT statements can be very simple:
INSERT INTO
Users ([Name], Email, Role_Id, Billing_Rate)
VALUES
(
'Sally Smedley',
's.smedley@easysoft.com',
'579676000000000682',
150
)
UPDATE statements
Use something like:
UPDATE Users
SET
Billing_Rate = 159
WHERE
User_Id = '579676000000160069'
DELETE statements
Use something like:
DELETE FROM Users
WHERE
User_Id = '579676000000160069'
Or you can use the API table, if you have the Account_Id:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/users/579676000000160069?organization_id=20099941201'
AND Method = 'DELETE'
Using the API table to mark a user as active or inactive
Use something like:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/users/579676000000160069/<X>?organization_id=20099941201'
and Method = 'POST'
where <X> is one of:
| Value | Description |
|---|---|
inactive |
Make inactive. |
active |
Activate. |
Vendor_Credit
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
To create new vendor credits, first create the JSON data required for the line_item details to be credited:
[
{
"account_id": "593625000000000388",
"description": "Dell Laser Paper",
"rate": 3.50,
"quantity": 2
}
]
Then run:
INSERT INTO
Vendor_Credit (Vendor_Credit_Number, Vendor_Id, [Date], Line_Items)
VALUES
(
'VC-000001',
'593625000000055001',
'2024-08-19',
'<JSON_Data>'
)
UPDATE statements
Alter the JSON data from the previous example and then use:
UPDATE Vendor_Credit
SET
Line_Items = '" & EscQuotes(JSON DATA) & "'
WHERE
Vendor_Credit_Id = '593625000000067162'
DELETE statements
DELETE FROM Vendor_Credit
WHERE
vendor_credit_id = '593625000000067162'
Or use the API table:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/vendorcredits/593625000000064222?organization_id=20100449894'
AND Method = 'DELETE'
Using the API table to create a refund
Create the JSON for the refund:
{
"date": "2024-08-19",
"refund_mode": "cash",
"reference_number":VC Payment 1,
"amount": 1,
"account_id": 593625000000054023
}
Then send it by using the API table:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/vendorcredits/593625000000064260/refunds?organization_id=20100449894'
AND Method = 'POST'
AND RequestBody = '<JSON_Data>'
Using the API table to DELETE refunds
SELECT
*
FROM
API
WHERE
URL = 'books/v3/vendorcredits/593625000000064260/refunds/593625000000064278?organization_id=20100449894'
AND Method = 'DELETE'
The second ID used is the vendor_credit_refund_id.
Vendor_Payment
Supports: SELECT, INSERT, UPDATE, and DELETE
INSERT statements
First, create the JSON data required for the bill to be paid:
[
{
"bill_id": "593625000000068005",
"amount_applied": 5
},
{
"bill_id": "593625000000069005",
"amount_applied": 1
}
]
Then run:
INSERT INTO
Vendor_Payment (Vendor_Id, Payment_Mode, [Date], Amount, Bills)
VALUES
(
'593625000000055001',
'cash',
'2024-08-19',
6,
'<JSON_Data>'
)
UPDATE statements
Alter the JSON data from the insert example and send it back using:
UPDATE Vendor_Payment
SET
Amount = 6,
Bills = '<JSON_Data>'
WHERE
Payment_Id = '593625000000064094'
DELETE statements
DELETE FROM Vendor_Payment
WHERE
Payment_Id = '593625000000067040'
Or use API table:
SELECT
*
FROM
API
WHERE
URL = 'books/v3/Vendor_Payment/593625000000067040?organization_id=20100449894'
AND Method = 'DELETE'
Appendix A
SQL functionality
Supported string functions
| Function | Description |
|---|---|
ASCII(string_exp)
|
Returns the ASCII code value of the leftmost character of string_exp as an integer.
|
BIT_LENGTH(string_exp)
|
Returns the length in bits of the string expression. |
CHAR(code)
|
Returns the character that has the ASCII code value specified by code. The value of code should be between 0 and 255, otherwise the return value is data source-dependent.
|
CHAR_LENGTH(string_exp)
|
Returns the length in characters of the string expression, if the string expression is of a character data type, otherwise returns the length in bytes of the string expression (the smallest integer not less than the number of bits divided by 8). This is the same function as CHARACTER_LENGTH.
|
CHARACTER_LENGTH
|
Refer to CHAR_LENGTH
|
CONCAT(string_exp1, string_exp2)
|
Returns a character string that is the result of concatenating string_exp2 to string_exp1. The resulting string is DBMS-dependent.
|
DIFFERENCE(string_exp1, string_exp2)
|
Returns an integer value that indicates the difference between the values returned by the SOUNDEX function for string_exp1 and string_exp2.
|
INSERT(string_exp1, start, length, string_exp2)
|
Returns a character string where length characters have been deleted from string_exp1 beginning at start and where string_exp2 has been inserted into string_exp, beginning at start.
|
LCASE(string_exp)
|
Returns a string equal to that in string_exp with all uppercase characters converted to lowercase.
|
LEFT(string_exp, count)
|
Returns the leftmost count characters of string_exp.
|
LENGTH(string_exp)
|
Returns the number of characters in string_exp, excluding trailing blanks.
|
LOCATE(string_exp1, string_exp2[,start])
|
Returns the starting position of the first occurrence of string_exp1 within string_exp2. The search for the first occurrence of string_exp1 begins with the first character position in string_exp2 unless the optional argument, start, is specified. If start is specified, the search begins with the character position indicated by the value of start. The first character position in string_exp2 is indicated by the value1. If string_exp1 is not found within string_exp2, the value 0 is returned.
|
LTRIM(string_exp)
|
Returns the characters of string_exp, with leading blanks removed.
|
OCTET_LENGTH(string_exp)
|
Returns the length in bytes of the string expression. The result is the smallest integer not less than the number of bits divided by 8. |
POSITION(char_exp IN char_exp)
|
Returns the position of the first character expression in the second character expression. The result is an exact numeric with an implementation-defined precision and a scale of 0. |
REPEAT(string_exp, count)
|
Returns a character string composed of string_exp repeated count times.
|
REPLACE(string_exp1, string_exp2, string_exp3)
|
Search string_exp1 for occurrences of string_exp2 and replace with string_exp3.
|
RIGHT(string_exp, count)
|
Returns the rightmost count characters of string_exp.
|
RTRIM(string_exp)
|
Returns the characters of string_exp with trailing blanks removed.
|
SOUNDEX(string_exp)
|
Returns a data source-dependent character string representing the sound of the words in string_exp.
|
SPACE(count)
|
Returns a character string consisting of count spaces.
|
SUBSTRING(string_exp, start, length)
|
Returns a character string that is derived from string_exp beginning at the character position specified by start for length characters.
|
TRIM
|
This is an SQL-92 version of the ODBC LTRIM and RTRIM functions.
|
UCASE(string_exp)
|
Returns a string equal to that in string_exp with all lowercase characters converted to uppercase.
|
Supported numeric functions
| Function | Description |
|---|---|
ABS(numeric_exp)
|
Returns the absolute value of numeric_exp.
|
ACOS(float_exp)
|
Returns the arccosine of float_exp as an angle, expressed in radians.
|
ASIN(float_exp)
|
Returns the arcsine of float_exp as an angle, expressed in radians.
|
ATAN(float_exp)
|
Returns the arctangent of float_exp as an angle, expressed in radians.
|
| ATAN2(float_exp1, float_exp2) |
Returns the arctangent of the x and y coordinates, specified by float_exp1 and float_exp2 respectively, as an angle expressed in radians.
|
CEILING(numeric_exp)
|
Returns the smallest integer greater than or equal to numeric_exp.
|
COS(float_exp)
|
Returns the cosine of float_exp where float_exp is an angle expressed in radians.
|
COT(float_exp)
|
Returns the cotangent of float_exp where float_exp is an angle expressed in radians.
|
DEGREES(numeric_exp)
|
Returns the number of degrees converted from numeric_exp radians.
|
EXP(float_exp)
|
Returns the exponential value of float_exp.
|
FLOOR(numeric_exp)
|
Returns the largest integer less than or equal to numeric_exp.
|
LOG(float_exp)
|
Returns the natural logarithm of float_exp.
|
LOG10(float_exp)
|
Returns the base 10 logarithm of float_exp.
|
MOD(integer_exp1, integer_exp2)
|
Returns the remainder (modulus) of integer_exp1 divided by integer_exp2.
|
PI()
|
Returns the constant value of pi as a floating point value. |
POWER(numeric_exp, integer_exp)
|
Returns the value of numeric_exp to the power of integer_exp.
|
RADIANS(numeric_exp)
|
Returns the number of radians converted from numeric_exp degrees.
|
RAND([integer_exp])
|
Returns a random floating point value using integer_exp as the optional seed value.
|
ROUND(numeric_exp, integer_exp)
|
Returns numeric_exp rounded to integer_exp places right of the decimal point. If integer_exp is negative, numeric_exp is rounded to integer_exp places to the left of the decimal point.
|
SIGN(numeric_exp)
|
Returns an indicator of the sign of numeric_exp. If numeric_exp is less than zero, -1 is returned. If numeric_exp equals zero, 0 is returned. If numeric_exp is greater than zero, 1 is returned.
|
SIN(float_exp)
|
Returns the sine of float_exp, where float_exp is an angle expressed in radians.
|
SQRT(float_exp)
|
Returns the square root of float_exp.
|
TAN(float_exp)
|
Returns the tangent of float_exp where float_exp is an angle expressed in radians.
|
TRUNCATE(numeric_exp, integer_exp)
|
Returns numeric_exp truncated to integer_exp places right of the decimal point. If integer_exp is negative, numeric_exp is truncated to integer_exp places to the left of the decimal point.
|
Supported date and time functions
| Function | Description |
|---|---|
CURRENT_DATE()
|
Returns the current date. |
CURRENT_TIME[(time-precision)]
|
Returns the current local time. The time-precision argument determines the seconds precision of the returned value.
|
CURRENT_TIMESTAMP[(timestamp-precision)]
|
Returns the current local date and local time as a timestamp value. The timestamp-precision argument determines the seconds precision of the returned timestamp.
|
CURDATE()
|
Returns the current date. |
CURTIME()
|
Returns the current local time. |
DAYNAME(date_exp)
|
Returns a character string containing the data source-specific name of the day for the day portion of date_exp.
|
DAYOFMONTH(date_exp)
|
Returns the day of the month based on the month field in date_exp as an integer value in the range 1-31.
|
DAYOFWEEK(date_exp)
|
Returns the day of the week based on the week field in date_exp as an integer value in the range of 1–7 where 1 represents Sunday.
|
DAYOFYEAR(date_exp)
|
Returns the day of the year based on the year field in date_exp as an integer value in the range of 1–366.
|
EXTRACT(extract-field FROM extract-sourc)
|
Returns the extract-field portion of the extract-source. The extract-source argument is a datetime or interval expression. The extract-field argument can be one of the YEAR, MONTH, DAY, HOUR, MINUTE, or SECOND keywords. The precision of the returned value is implementation-defined. The scale is 0 unless SECOND is specified, in which case the scale is not less that the fractional seconds precision of the extract-source field.
|
HOUR(time_exp)
|
Returns the hour based on the hour field in time_exp as an integer value in the range of 0–23.
|
MINUTE(time_exp)
|
Returns the minute based on the minute field in time_exp as an integer value in the range of 0–59.
|
MONTH(date_exp)
|
Returns the month based on the month field in date_exp as an integer value in the range 1–12.
|
MONTHNAME(date_exp)
|
Returns a character string containing the data source-specific name of the month for the month portion of date_exp.
|
NOW()
|
Returns the current date and time as a timestamp value. |
QUARTER(date_exp)
|
Returns the quarter in date_exp as an integer value in the range of 1–4.
|
SECOND(time_exp)
|
Returns the second based on the second field in time_exp as an integer value in the range of 0–59.
|
TIMESTAMPADD(interval, integer_exp, timestamp_exp)
|
Returns the timestamp calculated by adding integer_exp intervals of type interval to timestamp_exp. Valid values of interval are the following keywords: SQL_TSI_FRAC_SECOND, SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, or SQL_TSI_YEAR where fractional seconds are expressed in billionths of a second. If time_stamp is a time value and interval specifies days, weeks, months, quarters, or years, the date portion of timestamp_exp is set to the current date before calculating the resulting timestamp. If timestamp_exp is a date value and interval specifies fractional seconds, seconds, minutes, or hours, the time portion of timestamp_exp is set to 0 before calculating the resulting timestamp. An application determines which intervals a data source supports by calling SQLGetInfo with the SQL_TIMEDATE_ADD_INTERVALS option.
|
TIMESTAMPDIFF(interval, timestamp_exp1, timestamp_exp2)
|
Returns the integer number of intervals of type interval by which timestamp_exp2 is greater than timestamp_exp1. The keywords SQL_TSI_FRAC_SECOND, SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, or SQL_TSI_YEAR are valid values of interval, where fractional seconds are expressed in billionths of a second. If either timestamp expression is a time value and interval specifies days, weeks, months, quarters, or years, the date portion of that timestamp is set to the current date before calculating the difference between timestamps. If either timestamp expression is a date value and interval specifies fractional seconds, seconds, minutes, or hours, the time portion of that timestamp is set to 0 before calculating the difference between timestamps. An application determines which intervals a data source supports by calling SQLGetInfo with the SQL_TIMEDATE_DIFF_INTERVALS option.
|
WEEK(date_exp)
|
Returns the week of the year based on the week field in date_exp as an integer value in the range of 1–53.
|
YEAR(date_exp)
|
Returns the year based on the year field in date_exp as an integer value. The range is data source-dependent.
|
Appendix B
Zoho Books tables and columns
Bank_Account
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Account_Id | String | ✓ | ✓ |
| 1 | Account_Name | String | ✓ | ✓ |
| 2 | Account_Code | String | ✓ | ✓ |
| 3 | Currency_Id | String | ✓ | ✓ |
| 4 | Currency_Code | String | ✓ | ✓ |
| 5 | Currency_Symbol | String | ✓ | |
| 6 | Price_Precision | Number | ✓ | |
| 7 | Account_Type | String | ✓ | ✓ |
| 8 | Account_Number | String | ✓ | ✓ |
| 9 | Uncategorized_Transactions | Number | ✓ | ✓ |
| 10 | Total_Unprinted_Checks | Number | ✓ | ✓ |
| 11 | Is_Active | Boolean | ✓ | ✓ |
| 12 | Is_Feeds_Subscribed | Boolean | ||
| 13 | Is_Feeds_Active | Boolean | ||
| 14 | Balance | Number | ✓ | ✓ |
| 15 | Bank_Balance | Number | ✓ | ✓ |
| 16 | Bcy_Balance | Number | ✓ | ✓ |
| 17 | Bank_Name | String | ✓ | ✓ |
| 18 | Routing_Number | String | ✓ | ✓ |
| 19 | Is_Primary_Account | Boolean | ✓ | ✓ |
| 20 | Is_Paypal_Account | Boolean | ✓ | ✓ |
| 21 | Description | String | ✓ | |
| 22 | Refresh_Status_Code | String | ||
| 23 | Feeds_Last_Refresh_Date | Date | ✓ | ✓ |
| 24 | Service_Id | String | ||
| 25 | Is_System_Account | Boolean | ||
| 26 | Is_Show_Warning_For_Feeds_Refresh | Boolean | ||
| 27 | Can_Access_All_Branches | Boolean | ✓ | |
| 28 | Last_Import_Duplicate_Count | Number | ✓ | |
| 29 | Can_Show_In_Ze | Boolean | ✓ | |
| 30 | Sort_Code | String | GB | |
| 31 | Latest_Transaction_Date | Date | ✓ | |
| 32 | Iban_Number | String | DE, GB | DE, GB |
| 33 | Is_Direct_Paypal | Boolean | ✓ | ✓ |
| 34 | Can_Show_Paypal_Direct_Integ_Banner | Boolean | ✓ | |
| 35 | Can_Access_All_Locations | Boolean | ✓ | |
| 36 | Payout_Bank_Name | String | ✓ | |
| 37 | Partner_Bank_Source | String | ✓ | ✓ |
| 38 | Feed_Status | String | ✓ | ✓ |
| 39 | Migrate_To_Partner_Bank | String | ✓ | |
| 40 | Institution_Id | String | ✓ | |
| 41 | Institution_Name | String | ✓ | |
| 42 | Is_Pdf_Password_Stored | Boolean | ✓ | |
| 43 | Partner_Bank_Source_Formatted | String | ✓ | ✓ |
| 44 | Is_Feeds_Owner | Boolean | ✓ | |
| 45 | Consent_Info_Consent_Remaining_Days | String | ✓ | ✓ |
| 46 | Consent_Info_Is_Consent_Expired | String | ✓ | ✓ |
| 47 | Is_Beta_Feed | Boolean | ✓ | ✓ |
| 48 | Swift_Code | String | DE, AU, GB | DE, AU, GB |
Bill
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Bill_Id | String | ✓ | ✓ |
| 1 | Purchaseorder_Ids | Array | ✓ | |
| 2 | Vendor_Id | String | ✓ | ✓ |
| 3 | Vendor_Name | String | ✓ | ✓ |
| 4 | Vat_Treatment | String | GB | |
| 5 | Vat_Reg_No | String | ||
| 6 | Source_Of_Supply | String | IN | |
| 7 | Destination_Of_Supply | String | IN | |
| 8 | Place_Of_Supply | String | BH, DE, SA, AE, OM | |
| 9 | Permit_Number | String | BH, SA, AE, OM | |
| 10 | Gst_No | String | IN | |
| 11 | Gst_Treatment | String | IN | |
| 12 | Tax_Treatment | String | BH, DE, SA, AE, OM, IN, GB | |
| 13 | Is_Pre_Gst | Boolean | IN | |
| 14 | Pricebook_Id | String | ||
| 15 | Pricebook_Name | String | ||
| 16 | Is_Reverse_Charge_Applied | Boolean | BH, DE, SA, AE, OM, IN, GB | |
| 17 | Unused_Credits_Payable_Amount | Number | ✓ | |
| 18 | Status | String | ✓ | ✓ |
| 19 | Bill_Number | String | ✓ | ✓ |
| 20 | Date | String | ✓ | ✓ |
| 21 | Due_Date | Date | ✓ | ✓ |
| 22 | Payment_Terms | Number | ✓ | |
| 23 | Payment_Terms_Label | String | ✓ | |
| 24 | Payment_Expected_Date | Date | ✓ | |
| 25 | Reference_Number | String | ✓ | ✓ |
| 26 | Recurring_Bill_Id | String | ✓ | |
| 27 | Due_By_Days | Number | ✓ | |
| 28 | Due_In_Days | Number | ✓ | |
| 29 | Currency_Id | String | ✓ | ✓ |
| 30 | Currency_Code | String | ✓ | ✓ |
| 31 | Currency_Symbol | String | ✓ | |
| 32 | Price_Precision | Number | ✓ | ✓ |
| 33 | Exchange_Rate | Number | ✓ | ✓ |
| 34 | Adjustment | Number | ✓ | |
| 35 | Adjustment_Description | String | ✓ | |
| 36 | Is_Tds_Applied | Boolean | ||
| 37 | Is_Item_Level_Tax_Calc | Boolean | ✓ | |
| 38 | Is_Inclusive_Tax | Boolean | ✓ | |
| 39 | Filed_In_Vat_Return_Id | String | BH, DE, SA, AE, OM, AU, CA, IN, GB | |
| 40 | Filed_In_Vat_Return_Name | String | BH, DE, SA, AE, OM, AU, CA, IN, GB | |
| 41 | Filed_In_Vat_Return_Type | String | BH, DE, SA, AE, OM, AU, CA, IN, GB | |
| 42 | Is_Abn_Quoted | String | AU | AU |
| 43 | Sub_Total | Number | ✓ | |
| 44 | Tax_Total | Number | ✓ | |
| 45 | Total | Number | ✓ | ✓ |
| 46 | Payment_Made | Number | ✓ | |
| 47 | Vendor_Credits_Applied | Number | ✓ | |
| 48 | Is_Line_Item_Invoiced | Boolean | ✓ | |
| 49 | Acquisition_Vat_Total | Number | ||
| 50 | Reverse_Charge_Vat_Total | Number | ||
| 51 | Balance | Number | ✓ | ✓ |
| 52 | Billing_Address_Id | String | ✓ | |
| 53 | Billing_Address_Address | String | ✓ | |
| 54 | Billing_Address_Street2 | String | ✓ | |
| 55 | Billing_Address_City | String | ✓ | |
| 56 | Billing_Address_State | String | ✓ | |
| 57 | Billing_Address_Zip | String | ✓ | |
| 58 | Billing_Address_Country | String | ✓ | |
| 59 | Billing_Address_Fax | String | ✓ | |
| 60 | Billing_Address_Attention | String | ✓ | |
| 61 | Created_Time | Timestamp | ✓ | ✓ |
| 62 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 63 | Created_By_Id | String | ✓ | |
| 64 | Reference_Id | String | ✓ | |
| 65 | Notes | String | ✓ | |
| 66 | Terms | String | ✓ | |
| 67 | Attachment_Name | String | ✓ | ✓ |
| 68 | Open_Purchaseorders_Count | Number | ✓ | |
| 69 | Subject_Content | String | ✓ | |
| 70 | Tds_Calculation_Type | String | ✓ | |
| 71 | Billing_Address_Phone | String | ✓ | |
| 72 | Approver_Id | String | ✓ | |
| 73 | Current_Sub_Status | String | ✓ | ✓ |
| 74 | Template_Id | String | ✓ | |
| 75 | Contact_Category | String | ✓ | |
| 76 | Discount_Amount | Number | ✓ | |
| 77 | Is_Viewed_By_Client | Boolean | ✓ | ✓ |
| 78 | Tax_Override_Preference | String | GO, AU, CA, GB | |
| 79 | Discount_Applied_On_Amount | Number | ✓ | |
| 80 | Source | String | ✓ | |
| 81 | Client_Viewed_Time | Timestamp | ✓ | ✓ |
| 82 | Submitted_Date | Date | ✓ | |
| 83 | Orientation | String | ✓ | |
| 84 | Can_Send_In_Mail | Boolean | ✓ | |
| 85 | Submitter_Id | String | ✓ | |
| 86 | Current_Sub_Status_Id | String | ✓ | ✓ |
| 87 | Color_Code | String | ✓ | ✓ |
| 88 | Submitted_By_Name | String | ✓ | |
| 89 | Submitted_By_Photo_Url | String | ✓ | |
| 90 | Unprocessed_Payment_Amount | Number | ✓ | ✓ |
| 91 | Discount_Setting | String | ✓ | |
| 92 | Discount_Account_Name | String | ✓ | |
| 93 | Currency_Name_Formatted | String | ✓ | |
| 94 | Is_Tally_Bill | Boolean | ✓ | ✓ |
| 95 | Submitted_By_Email | String | ✓ | |
| 96 | Tax_Rounding | String | ✓ | |
| 97 | Is_Uber_Bill | Boolean | ✓ | ✓ |
| 98 | Track_Discount_In_Account | Boolean | ✓ | |
| 99 | Is_Bill_Reconciliation_Violated | Boolean | ✓ | ✓ |
| 100 | Submitted_By | String | ✓ | |
| 101 | Discount | Number | ✓ | |
| 102 | Is_Discount_Before_Tax | Boolean | ✓ | |
| 103 | Discount_Account_Id | String | ✓ | |
| 104 | Discount_Type | String | ✓ | |
| 105 | Sub_Total_Inclusive_Of_Tax | Number | ✓ | |
| 106 | Entity_Type | String | ✓ | ✓ |
| 107 | Last_Modified_Id | String | ✓ | |
| 108 | Page_Width | String | ✓ | |
| 109 | Template_Name | String | ✓ | |
| 110 | Page_Height | String | ✓ | |
| 111 | Template_Type | String | ✓ | |
| 112 | Is_Approval_Required | Boolean | ✓ | |
| 113 | Can_Create_Bill_Of_Entry | Boolean | DE, OM, GB | |
| 114 | Tds_Total | Number | ✓ | |
| 115 | Due_Days | String | ✓ | |
| 116 | Has_Attachment | Boolean | ✓ | |
| 117 | Reference_Invoice_Type | String | IN | |
| 118 | Gst_Return_Details_Return_Period | String | IN | |
| 119 | Gst_Return_Details_Status | String | IN | |
| 120 | Can_Amend_Transaction | Boolean | IN | |
| 121 | Bill_Order_Type | String | ✓ | |
| 122 | Invoice_Conversion_Type | String | IN | |
| 123 | Is_Tds_Amount_In_Percent | Boolean | IN | |
| 124 | Tax_Account_Id | String | IN | |
| 125 | Tds_Percent | String | IN | |
| 126 | Tds_Amount | Number | IN | |
| 127 | Tax_Override | Boolean | IN | |
| 128 | Tds_Override_Preference | String | GO, IN | |
| 129 | Tax_On_Discount_Preference | String | AU | |
| 130 | Is_Discount_Tax_Inclusive | Boolean | AU | |
| 131 | Reference_Bill_Id | String | SA, IN | |
| 132 | Abn | String | AU | |
| 133 | Tax_Reg_No | String | BH, DE, SA, AE, OM | |
| 134 | Line_Items | Array | ✓ | |
| 135 | Documents | Array | ✓ | |
| 136 | Purchaseorders | Array | ✓ | |
| 137 | Taxes | Array | ✓ | |
| 138 | Acquisition_Vat_Summary | JSONData | ||
| 139 | Reverse_Charge_Vat_Summary | JSONData | ||
| 140 | Payments | Array | ✓ | |
| 141 | Vendor_Credits | Array | ✓ | |
| 142 | Sub_Statuses | Array | ✓ | |
| 143 | Unallocated_Landed_Costs | Array | ✓ | |
| 144 | Allocated_Landed_Costs | Array | ✓ | |
| 145 | Approvers_List | Array | ✓ | |
| 146 | Tds_Summary | JSONData | IN | |
| 147 | Credit_Notes | JSONData | SA, IN |
Chart_Of_Account
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Account_Id | String | ✓ | ✓ |
| 1 | Account_Name | String | ✓ | ✓ |
| 2 | Account_Code | String | ✓ | ✓ |
| 3 | Account_Type | String | ✓ | ✓ |
| 4 | Account_Type_Formatted | String | ✓ | |
| 5 | Is_Active | Boolean | ✓ | ✓ |
| 6 | Currency_Id | String | ||
| 7 | Currency_Code | String | ||
| 8 | Description | String | ✓ | ✓ |
| 9 | Is_System_Account | Boolean | ✓ | ✓ |
| 10 | Is_Involved_In_Transaction | Boolean | ✓ | |
| 11 | Can_Show_In_Ze | Boolean | ✓ | |
| 12 | Include_In_Vat_Return | Boolean | GB | |
| 13 | Parent_Account_Id | String | ✓ | ✓ |
| 14 | Parent_Account_Name | String | ✓ | ✓ |
| 15 | Created_Time | Timestamp | ✓ | |
| 16 | Last_Modified_Time | Timestamp | ✓ | |
| 17 | Closing_Balance | Number | ✓ | |
| 18 | Closing_Balance_Formatted | String | ✓ | |
| 19 | Isdebit | Boolean | ✓ | |
| 20 | Status | String | ✓ | |
| 21 | Is_User_Created | Boolean | ✓ | |
| 22 | Child_Count | String | ✓ | |
| 23 | Has_Attachment | Boolean | ✓ | |
| 24 | Depth | Number | ✓ | |
| 25 | Is_Child_Present | Boolean | ✓ | |
| 26 | Is_Standalone_Account | Boolean | ✓ | |
| 27 | Include_In_Bas | Boolean | AU | |
| 28 | Documents | Array | ✓ | ✓ |
| 29 | Transactions | Array | ✓ |
Contact
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Contact_Id | String | ✓ | ✓ |
| 1 | Contact_Name | String | ✓ | ✓ |
| 2 | Company_Name | String | ✓ | ✓ |
| 3 | Has_Transaction | Boolean | ✓ | |
| 4 | Contact_Type | String | ✓ | ✓ |
| 5 | Customer_Sub_Type | String | ✓ | ✓ |
| 6 | Credit_Limit | Number | ||
| 7 | Is_Portal_Enabled | Boolean | ||
| 8 | Language_Code | String | ✓ | ✓ |
| 9 | Is_Taxable | Boolean | ||
| 10 | Tax_Id | String | GO, AU, CA, IN, US | |
| 11 | Tds_Tax_Id | String | IN | |
| 12 | Tax_Name | String | GO, AU, CA, IN, US | |
| 13 | Tax_Percentage | Number | GO, AU, CA, IN, US | |
| 14 | Tax_Authority_Id | String | ||
| 15 | Tax_Exemption_Id | String | ||
| 16 | Tax_Authority_Name | String | ||
| 17 | Tax_Exemption_Code | String | ||
| 18 | Place_Of_Contact | String | DE, IN | DE, IN |
| 19 | Gst_No | String | IN | IN |
| 20 | Vat_Treatment | String | DE, GB | GB |
| 21 | Tax_Treatment | String | BH, SA, AE, OM | BH, DE, SA, AE, OM, IN, GB |
| 22 | Tax_Regime | String | ||
| 23 | Is_Tds_Registered | Boolean | ||
| 24 | Gst_Treatment | String | IN | IN |
| 25 | Is_Linked_With_Zohocrm | Boolean | ✓ | ✓ |
| 26 | Website | String | ✓ | ✓ |
| 27 | Owner_Id | String | ✓ | |
| 28 | Primary_Contact_Id | String | ✓ | |
| 29 | Payment_Terms | Number | ✓ | ✓ |
| 30 | Payment_Terms_Label | String | ✓ | ✓ |
| 31 | Currency_Id | String | ✓ | ✓ |
| 32 | Currency_Code | String | ✓ | ✓ |
| 33 | Currency_Symbol | String | ✓ | |
| 34 | Opening_Balance_Amount | Number | ✓ | |
| 35 | Exchange_Rate | String | ✓ | |
| 36 | Outstanding_Receivable_Amount | Number | ✓ | ✓ |
| 37 | Outstanding_Receivable_Amount_Bcy | Number | ✓ | ✓ |
| 38 | Unused_Credits_Receivable_Amount | Number | ✓ | ✓ |
| 39 | Unused_Credits_Receivable_Amount_Bcy | Number | ✓ | ✓ |
| 40 | Status | String | ✓ | ✓ |
| 41 | Payment_Reminder_Enabled | Boolean | ✓ | |
| 42 | Billing_Address_Attention | String | ✓ | |
| 43 | Billing_Address_Address | String | ✓ | |
| 44 | Billing_Address_Street2 | String | ✓ | |
| 45 | Billing_Address_State_Code | String | ✓ | |
| 46 | Billing_Address_City | String | ✓ | |
| 47 | Billing_Address_State | String | ✓ | |
| 48 | Billing_Address_Zip | String | ✓ | |
| 49 | Billing_Address_Country | String | ✓ | |
| 50 | Billing_Address_Fax | String | ✓ | |
| 51 | Billing_Address_Phone | String | ✓ | |
| 52 | Billing_Address_Country_Code | String | ✓ | |
| 53 | Billing_Address_Address_Id | String | ✓ | |
| 54 | Billing_Address_County | String | ✓ | |
| 55 | Shipping_Address_Attention | String | ✓ | |
| 56 | Shipping_Address_Address | String | ✓ | |
| 57 | Shipping_Address_Street2 | String | ✓ | |
| 58 | Shipping_Address_State_Code | String | ✓ | |
| 59 | Shipping_Address_City | String | ✓ | |
| 60 | Shipping_Address_State | String | ✓ | |
| 61 | Shipping_Address_Zip | String | ✓ | |
| 62 | Shipping_Address_Country | String | ✓ | |
| 63 | Shipping_Address_Fax | String | ✓ | |
| 64 | Shipping_Address_Phone | String | ✓ | |
| 65 | Shipping_Address_Latitude | String | ✓ | |
| 66 | Shipping_Address_Address_Id | String | ✓ | |
| 67 | Shipping_Address_County | String | ✓ | |
| 68 | Shipping_Address_Country_Code | String | ✓ | |
| 69 | Shipping_Address_Longitude | String | ✓ | |
| 70 | Notes | String | ✓ | |
| 71 | Created_Time | Timestamp | ✓ | ✓ |
| 72 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 73 | Vat_Reg_No | String | BH, SA, AE, OM, AU, IN, GB | |
| 74 | Tax_Reg_No | String | BH, DE, SA, AE, OM, IN, GB | |
| 75 | Country_Code | String | BH, DE, SA, AE, OM, AU, IN, GB | |
| 76 | Avatax_Exempt_No | String | ||
| 77 | Avatax_Use_Code | String | ||
| 78 | String | ✓ | ✓ | |
| 79 | String | ✓ | ✓ | |
| 80 | Track_1099 | Boolean | US | US |
| 81 | Tax_Id_Type | String | US | |
| 82 | Tax_Id_Value | String | US | |
| 83 | First_Name | String | ✓ | ✓ |
| 84 | String | ✓ | ✓ | |
| 85 | Opening_Balance_Amount_Bcy | String | ✓ | |
| 86 | Portal_Status | String | ✓ | ✓ |
| 87 | Documents | Array | ✓ | |
| 88 | Contact_Tax_Information | String | ✓ | |
| 89 | Is_Credit_Limit_Migration_Completed | Boolean | ✓ | |
| 90 | Price_Precision | Number | ✓ | |
| 91 | Department | String | ✓ | |
| 92 | Ach_Supported | Boolean | ✓ | ✓ |
| 93 | Last_Name | String | ✓ | ✓ |
| 94 | Designation | String | ✓ | |
| 95 | Outstanding_Payable_Amount | Number | ✓ | ✓ |
| 96 | Is_Bcy__Contact | Boolean | ✓ | |
| 97 | Language_Code_Formatted | String | ✓ | ✓ |
| 98 | Is_Crm_Customer | Boolean | ✓ | |
| 99 | Created_Date | Date | ✓ | |
| 100 | Invited_By | String | ✓ | |
| 101 | Contact_Salutation | String | ✓ | |
| 102 | Unused_Retainer_Payments | Number | ✓ | |
| 103 | Is_Client_Review_Asked | Boolean | ✓ | |
| 104 | Consent_Date | Date | ✓ | |
| 105 | Zohopeople_Client_Id | String | ✓ | |
| 106 | Phone | String | ✓ | ✓ |
| 107 | Mobile | String | ✓ | ✓ |
| 108 | Is_Consent_Agreed | Boolean | ✓ | |
| 109 | Source | String | ✓ | ✓ |
| 110 | Owner_Name | String | ✓ | |
| 111 | Credit_Limit_Exceeded_Amount | Number | ✓ | |
| 112 | Portal_Receipt_Count | Number | ✓ | |
| 113 | Zcrm_Vendor_Id | String | ✓ | |
| 114 | Outstanding_Ob_Payable_Amount | Number | ✓ | |
| 115 | Is_Sms_Enabled | Boolean | ✓ | |
| 116 | Allow_Parent_For_Payment_And_View | Boolean | ✓ | |
| 117 | Crm_Owner_Id | String | ✓ | |
| 118 | Opening_Balances | Array | ✓ | |
| 119 | Can_Show_Customer_Ob | Boolean | ✓ | |
| 120 | Can_Show_Vendor_Ob | Boolean | ✓ | |
| 121 | Outstanding_Ob_Receivable_Amount | Number | ✓ | |
| 122 | Outstanding_Payable_Amount_Bcy | Number | ✓ | ✓ |
| 123 | Unused_Credits_Payable_Amount_Bcy | Number | ✓ | ✓ |
| 124 | Vpa_List | Array | ✓ | |
| 125 | Contact_Category | String | ✓ | |
| 126 | Unused_Credits_Payable_Amount | Number | ✓ | ✓ |
| 127 | Is_Client_Review_Settings_Enabled | Boolean | ✓ | |
| 128 | Sales_Channel | String | ✓ | |
| 129 | Entity_Address_Id | String | ✓ | |
| 130 | Pricebook_Id | String | ✓ | |
| 131 | Pricebook_Name | String | ✓ | |
| 132 | Associated_With_Square | Boolean | ✓ | |
| 133 | Created_By_Name | String | ✓ | |
| 134 | Customer_Name | String | ✓ | |
| 135 | Last_Modified_Time_Formatted | Timestamp | ✓ | |
| 136 | Vendor_Name | String | ✓ | |
| 137 | Contact_Type_Formatted | String | ✓ | |
| 138 | Portal_Status_Formatted | String | ✓ | |
| 139 | Has_Attachment | Boolean | ✓ | |
| 140 | Created_Time_Formatted | Timestamp | ✓ | |
| 141 | Zcrm_Account_Id | String | ||
| 142 | Zcrm_Contact_Id | String | ||
| 143 | Msme_Type | String | IN | |
| 144 | Legal_Name | String | IN | |
| 145 | Trader_Name | String | IN | |
| 146 | Pan_No | String | IN | IN |
| 147 | Udyam_Reg_No | String | IN | |
| 148 | Tax_Rule_Id | String | DE, CA | |
| 149 | Tax_Rule_Name | String | DE, CA | |
| 150 | Is_Abn_Quoted | Boolean | AU | |
| 151 | Gcc_Vat_Treatment | String | BH, SA, AE, OM | |
| 152 | Siret_Number | String | GO | |
| 153 | Place_Of_Contact_Formatted | String | DE, IN | |
| 154 | Contact_Number | String | DE | DE |
| 155 | Tax_Number | String | DE | |
| 156 | Buyer_Reference_Number | String | DE | |
| 157 | Buyer_Id_Value | String | SA | |
| 158 | Buyer_Id_Label | String | SA | |
| 159 | Default_Templates_PTU_Template_Name | String | ||
| 160 | Default_Templates_Retainerinvoice_Email_Template_Id | String | ✓ | |
| 161 | Default_Templates_Creditnote_Email_Template_Name | String | ✓ | |
| 162 | Default_Templates_Salesorder_Template_Name | String | ✓ | |
| 163 | Default_Templates_Bill_Template_Name | String | ✓ | |
| 164 | Default_Templates_PTU_Email_Template_Name | String | ||
| 165 | Default_Templates_Purchaseorder_Template_Name | String | ✓ | |
| 166 | Default_Templates_PTU_Email_Template_Id | String | ||
| 167 | Default_Templates_Retainerinvoice_Template_Name | String | ✓ | |
| 168 | Default_Templates_Bill_Template_Id | String | ✓ | |
| 169 | Default_Templates_Invoice_Template_Name | String | ✓ | |
| 170 | Default_Templates_Estimate_Template_Name | String | ✓ | |
| 171 | Default_Templates_Creditnote_Template_Name | String | ✓ | |
| 172 | Default_Templates_Retainerinvoice_Template_Id | String | ✓ | |
| 173 | Default_Templates_Retainerinvoice_Email_Template_Name | String | ✓ | |
| 174 | Default_Templates_Purchaseorder_Email_Template_Id | String | ✓ | |
| 175 | Default_Templates_PTU_Template_Id | String | ||
| 176 | Default_Templates_Retainerinvoice_PTU_Template_Id | String | ||
| 177 | Default_Templates_Retainerinvoice_PTU_Template_Name | String | ||
| 178 | Default_Templates_Invoice_Email_Template_Name | String | ✓ | |
| 179 | Default_Templates_Estimate_Email_Template_Name | String | ✓ | |
| 180 | Default_Templates_Purchaseorder_Email_Template_Name | String | ✓ | |
| 181 | Default_Templates_Salesorder_Email_Template_Name | String | ✓ | |
| 182 | Default_Templates_Payment_Remittance_Email_Template_Id | String | ✓ | |
| 183 | Default_Templates_Payment_Remittance_Email_Template_Name | String | ✓ | |
| 184 | Default_Templates_Retainerinvoice_PTU_Email_Template_Id | String | ||
| 185 | Default_Templates_Retainerinvoice_PTU_Email_Template_Name | String | ||
| 186 | Default_Templates_Invoice_Template_Id | String | ✓ | |
| 187 | Default_Templates_Estimate_Template_Id | String | ✓ | |
| 188 | Default_Templates_Creditnote_Template_Id | String | ✓ | |
| 189 | Default_Templates_Purchaseorder_Template_Id | String | ✓ | |
| 190 | Default_Templates_Salesorder_Template_Id | String | ✓ | |
| 191 | Default_Templates_Invoice_Email_Template_Id | String | ✓ | |
| 192 | Default_Templates_Estimate_Email_Template_Id | String | ✓ | |
| 193 | Default_Templates_Creditnote_Email_Template_Id | String | ✓ | |
| 194 | Default_Templates_Salesorder_Email_Template_Id | String | ✓ | |
| 195 | Default_Templates_Statement_Template_Id | String | ✓ | |
| 196 | Default_Templates_Statement_Template_Name | String | ✓ | |
| 197 | Contact_Persons | Array | ✓ | |
| 198 | Addresses | Array | ✓ | |
| 199 | Vendor_Currency_Summaries | Array | ✓ | |
| 200 | Cards | Array | ✓ | |
| 201 | Checks | Array | ✓ | |
| 202 | Bank_Accounts | Array | ✓ | |
| 203 | Tags | Array | ✓ | |
| 204 | Customer_Currency_Summaries | JSONData |
Credit_Note
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Creditnote_Id | String | ✓ | ✓ |
| 1 | Creditnote_Number | String | ✓ | ✓ |
| 2 | Date | String | ✓ | ✓ |
| 3 | Is_Pre_Gst | Boolean | IN | |
| 4 | Place_Of_Supply | String | BH, DE, SA, AE, OM, IN | |
| 5 | Vat_Treatment | String | GB | |
| 6 | Vat_Reg_No | String | ||
| 7 | Gst_No | String | IN | |
| 8 | Cfdi_Usage | String | ||
| 9 | Cfdi_Reference_Type | String | ||
| 10 | Gst_Treatment | String | IN | |
| 11 | Tax_Treatment | String | BH, DE, SA, AE, OM, IN, GB | |
| 12 | Status | String | ✓ | ✓ |
| 13 | Customer_Id | String | ✓ | ✓ |
| 14 | Customer_Name | String | ✓ | ✓ |
| 15 | Reference_Number | String | ✓ | ✓ |
| 16 | String | |||
| 17 | Total | Number | ✓ | ✓ |
| 18 | Balance | Number | ✓ | ✓ |
| 19 | Currency_Id | String | ✓ | ✓ |
| 20 | Currency_Code | String | ✓ | ✓ |
| 21 | Currency_Symbol | String | ✓ | |
| 22 | Created_Time | Timestamp | ✓ | ✓ |
| 23 | Updated_Time | Timestamp | ||
| 24 | Template_Id | String | ✓ | ✓ |
| 25 | Template_Name | String | ✓ | |
| 26 | Notes | String | ✓ | |
| 27 | Terms | String | ✓ | |
| 28 | Customer_Name_Sec_Lang | String | SA | |
| 29 | Is_Simplified_Invoice | String | SA | |
| 30 | Tax_Reg_No | String | BH, DE, SA, AE, OM | |
| 31 | Special_Transaction_Type | String | SA | |
| 32 | Reason_For_Credit_Debit_Note | String | SA | |
| 33 | Billing_Address_Attention | String | ✓ | |
| 34 | Billing_Address_Address | String | ✓ | |
| 35 | Billing_Address_Street2 | String | ✓ | |
| 36 | Billing_Address_State_Code | String | ||
| 37 | Billing_Address_City | String | ✓ | |
| 38 | Billing_Address_State | String | ✓ | |
| 39 | Billing_Address_Zip | String | ✓ | |
| 40 | Billing_Address_Country | String | ✓ | |
| 41 | Billing_Address_Fax | String | ✓ | |
| 42 | Billing_Address_Phone | String | ✓ | |
| 43 | Billing_Address_Additional_Number | String | SA | |
| 44 | Billing_Address_District | String | SA | |
| 45 | Billing_Address_Attention_Sec_Lang | String | SA | |
| 46 | Billing_Address_Additional_Number_Sec_Lang | String | SA | |
| 47 | Billing_Address_Address_Sec_Lang | String | SA | |
| 48 | Billing_Address_State_Sec_Lang | String | SA | |
| 49 | Billing_Address_Street2_Sec_Lang | String | SA | |
| 50 | Billing_Address_City_Sec_Lang | String | SA | |
| 51 | Billing_Address_District_Sec_Lang | String | SA | |
| 52 | Billing_Address_Zip_Sec_Lang | String | SA | |
| 53 | Billing_Address_Country_Sec_Lang | String | SA | |
| 54 | Billing_Address_Phone_Sec_Lang | String | SA | |
| 55 | Billing_Address_Fax_Sec_Lang | String | SA | |
| 56 | Shipping_Address_Attention | String | ✓ | |
| 57 | Shipping_Address_Address | String | ✓ | |
| 58 | Shipping_Address_Street2 | String | ✓ | |
| 59 | Shipping_Address_State_Code | String | ||
| 60 | Shipping_Address_City | String | ✓ | |
| 61 | Shipping_Address_State | String | ✓ | |
| 62 | Shipping_Address_Zip | String | ✓ | |
| 63 | Shipping_Address_Country | String | ✓ | |
| 64 | Shipping_Address_Fax | String | ✓ | |
| 65 | Shipping_Address_Phone | String | ✓ | |
| 66 | Shipping_Address_Additional_Number_Sec_Lang | String | SA | |
| 67 | Shipping_Address_Attention_Sec_Lang | String | SA | |
| 68 | Shipping_Address_Address_Sec_Lang | String | SA | |
| 69 | Shipping_Address_Street2_Sec_Lang | String | SA | |
| 70 | Shipping_Address_State_Sec_Lang | String | SA | |
| 71 | Shipping_Address_City_Sec_Lang | String | SA | |
| 72 | Shipping_Address_District_Sec_Lang | String | SA | |
| 73 | Shipping_Address_Zip_Sec_Lang | String | SA | |
| 74 | Shipping_Address_Country_Sec_Lang | String | SA | |
| 75 | Shipping_Address_Phone_Sec_Lang | String | SA | |
| 76 | Shipping_Address_Fax_Sec_Lang | String | SA | |
| 77 | Created_By_Id | String | ✓ | |
| 78 | Submitted_Date | Date | ✓ | |
| 79 | Client_Viewed_Time | Timestamp | ✓ | ✓ |
| 80 | Tds_Calculation_Type | String | ✓ | |
| 81 | Salesperson_Id | String | ✓ | ✓ |
| 82 | Page_Width | String | ✓ | |
| 83 | Submitter_Id | String | ✓ | |
| 84 | Bcy_Shipping_Charge_Tax | String | DE, GO, AU, CA, IN, GB, US | |
| 85 | Current_Sub_Status_Id | String | ✓ | ✓ |
| 86 | Current_Sub_Status | String | ✓ | ✓ |
| 87 | Filed_In_Vat_Return_Name | String | BH, DE, SA, AE, OM, AU, CA, IN, GB | |
| 88 | Shipping_Charge_Tax_Exemption_Id | String | DE, AU, CA, IN, GB, US | |
| 89 | Salesperson_Name | String | ✓ | ✓ |
| 90 | Submitted_By_Email | String | ✓ | |
| 91 | Is_Emailed | Boolean | ✓ | ✓ |
| 92 | Currency_Name_Formatted | String | ✓ | |
| 93 | Shipping_Charge_Inclusive_Of_Tax | Number | DE, GO, AU, CA, IN, GB, US | |
| 94 | Shipping_Charge_Exclusive_Of_Tax_Formatted | String | DE, GO, AU, CA, IN, GB, US | |
| 95 | Is_Viewed_By_Client | Boolean | ✓ | ✓ |
| 96 | Last_Modified_By_Id | String | ✓ | |
| 97 | Filed_In_Vat_Return_Id | String | BH, DE, SA, AE, OM, AU, CA, IN, GB | |
| 98 | Invoice_Id | String | ✓ | |
| 99 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 100 | Subject_Content | String | ✓ | |
| 101 | Shipping_Charge_Inclusive_Of_Tax_Formatted | String | DE, GO, AU, CA, IN, GB, US | |
| 102 | Invoice_Number | String | All except KW, QA, GO | |
| 103 | Is_Child_Present | Boolean | ✓ | |
| 104 | Shipping_Charge_Tax | String | DE, GO, AU, CA, IN, GB, US | |
| 105 | Reverse_Charge_Tax_Total | Number | BH, DE, IN, GB | |
| 106 | Shipping_Charge_Tax_Id | String | DE, GO, AU, CA, IN, GB, US | |
| 107 | Filed_In_Vat_Return_Type | String | BH, DE, SA, AE, OM, AU, CA, IN, GB | |
| 108 | Contact_Category | String | ✓ | |
| 109 | Adjustment | Number | ✓ | |
| 110 | Is_Taxable | Boolean | All except KW, QA, GO | |
| 111 | Tax_Rounding | String | ✓ | |
| 112 | Color_Code | String | ✓ | ✓ |
| 113 | Discount_Type | String | ✓ | |
| 114 | Template_Type | String | ✓ | ✓ |
| 115 | Shipping_Charge_Tax_Type | String | DE, GO, AU, CA, IN, GB, US | |
| 116 | Submitted_By_Name | String | ✓ | |
| 117 | Page_Height | String | ✓ | |
| 118 | Discount | Number | ✓ | |
| 119 | Orientation | String | ✓ | |
| 120 | Price_Precision | Number | ✓ | |
| 121 | Exchange_Rate | Number | ✓ | ✓ |
| 122 | Is_Inclusive_Tax | Boolean | ✓ | |
| 123 | Discount_Applied_On_Amount | Number | ✓ | |
| 124 | Approver_Id | String | ✓ | |
| 125 | Is_Discount_Before_Tax | Boolean | ✓ | |
| 126 | Is_Reverse_Charge_Applied | Boolean | ||
| 127 | Submitted_By | String | ✓ | |
| 128 | Submitted_By_Photo_Url | String | ✓ | |
| 129 | Shipping_Charge_Tax_Name | String | DE, GO, AU, CA, IN, GB, US | |
| 130 | Shipping_Charge_Tax_Percentage | String | DE, GO, AU, CA, IN, GB, US | |
| 131 | Total_Credits_Used | Number | ✓ | |
| 132 | Shipping_Charge_Tax_Exemption_Code | String | DE, AU, CA, IN, GB, US | |
| 133 | Shipping_Charge_Exclusive_Of_Tax | Number | DE, GO, AU, CA, IN, GB, US | |
| 134 | Transaction_Rounding_Type | String | ✓ | |
| 135 | Shipping_Charge_Tax_Formatted | String | DE, GO, AU, CA, IN, GB, US | |
| 136 | Shipping_Charge | Number | ✓ | |
| 137 | Adjustment_Description | String | ✓ | |
| 138 | Roundoff_Value | Number | ✓ | |
| 139 | Sub_Total | Number | ✓ | |
| 140 | Sub_Total_Inclusive_Of_Tax | Number | ✓ | |
| 141 | Tax_Total | Number | ✓ | |
| 142 | Total_Refunded_Amount | Number | ✓ | |
| 143 | Txn_Posting_Date | Date | ✓ | ✓ |
| 144 | Shipping_Charge_Sac_Code | String | IN | |
| 145 | Gst_Reason | String | IN | |
| 146 | Gst_Return_Details_Status | String | IN | |
| 147 | Gst_Return_Details_Return_Period | String | IN | |
| 148 | Reason_For_Creditnote | String | IN | |
| 149 | Reference_Invoice_Type | String | IN | |
| 150 | Tax_Specification | String | IN | |
| 151 | Tax_Override_Preference | String | GO, CA, US | |
| 152 | Applied_Invoices | String | ✓ | |
| 153 | Has_Attachment | Boolean | ✓ | |
| 154 | Tds_Override_Preference | String | GO, IN | |
| 155 | Is_Eway_Bill_Required | Boolean | IN | |
| 156 | Discount_Amount | Number | ||
| 157 | Discount_Account_Id | String | ✓ | |
| 158 | Discount_Account_Name | String | ✓ | |
| 159 | Is_Cancellation_Invoice | String | DE | DE |
| 160 | Contact_Number | String | DE | |
| 161 | Invoices | JSONData | ||
| 162 | Taxes | Array | ✓ | |
| 163 | Line_Items | Array | ✓ | |
| 164 | Contact_Persons_Associated | Array | ✓ | |
| 165 | Invoices_Credited | Array | ✓ | |
| 166 | Approvers_List | Array | ✓ | |
| 167 | Contact_Persons | Array | ✓ | |
| 168 | Sub_Statuses | Array | ✓ | |
| 169 | Documents | Array | ✓ | |
| 170 | Ewaybills | JSONData | IN | |
| 171 | Tds_Summary | JSONData | IN | |
| 172 | Creditnote_Refunds | Array | ✓ |
Currency
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Currency_Id | String | ✓ | ✓ |
| 1 | Currency_Code | String | ✓ | ✓ |
| 2 | Currency_Name | String | ✓ | ✓ |
| 3 | Currency_Symbol | String | ✓ | ✓ |
| 4 | Currency_Name_Formatted | String | ✓ | ✓ |
| 5 | Price_Precision | Number | ✓ | ✓ |
| 6 | Currency_Format | String | ✓ | ✓ |
| 7 | Is_Base_Currency | Boolean | ✓ | ✓ |
| 8 | Exchange_Rate | Number | ✓ | |
| 9 | Effective_Date | Date | ✓ |
Customer_Payment
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Payment_Id | String | ✓ | ✓ |
| 1 | Payment_Mode | String | ✓ | ✓ |
| 2 | Amount | Number | ✓ | ✓ |
| 3 | Amount_Refunded | Number | ||
| 4 | Bank_Charges | Number | ✓ | |
| 5 | Date | String | ✓ | ✓ |
| 6 | Status | String | ||
| 7 | Reference_Number | String | ✓ | ✓ |
| 8 | Description | String | ✓ | ✓ |
| 9 | Customer_Id | String | ✓ | ✓ |
| 10 | Customer_Name | String | ✓ | ✓ |
| 11 | String | |||
| 12 | Currency_Code | String | ✓ | |
| 13 | Currency_Symbol | String | ✓ | |
| 14 | Account_Name | String | ✓ | ✓ |
| 15 | Exchange_Rate | Number | ✓ | |
| 16 | Documents | Array | ✓ | ✓ |
| 17 | Currency_Id | String | ✓ | |
| 18 | Payment_Number | String | ✓ | ✓ |
| 19 | Payment_Link_Id | String | ✓ | |
| 20 | Created_Time | Timestamp | ✓ | ✓ |
| 21 | Updated_Time | Timestamp | ✓ | |
| 22 | Is_Client_Review_Settings_Enabled | Boolean | ✓ | |
| 23 | Payment_Number_Prefix | String | ✓ | |
| 24 | Customer_Advance_Account_Id | String | ✓ | |
| 25 | Card_Type | String | ✓ | |
| 26 | Payment_Number_Suffix | String | ✓ | |
| 27 | Tax_Treatment | String | BH, DE, SA, AE, OM, IN, GB | |
| 28 | Can_Send_In_Mail | Boolean | ✓ | |
| 29 | Offline_Created_Date_With_Time | Date | ✓ | |
| 30 | Template_Type | String | ✓ | |
| 31 | Account_Id | String | ✓ | ✓ |
| 32 | Account_Type | String | ✓ | |
| 33 | Customer_Advance_Account_Name | String | ✓ | |
| 34 | Unused_Amount | Number | ✓ | ✓ |
| 35 | Tax_Account_Id | String | ✓ | ✓ |
| 36 | Is_Payment_Details_Required | Boolean | ✓ | |
| 37 | Tax_Account_Name | String | ✓ | ✓ |
| 38 | Online_Transaction_Id | String | ✓ | |
| 39 | Tax_Amount_Withheld | Number | ✓ | ✓ |
| 40 | Can_Send_Payment_Sms | Boolean | ✓ | |
| 41 | Payment_Gateway | String | ✓ | ✓ |
| 42 | Settlement_Status | String | ✓ | ✓ |
| 43 | Payment_Refunds | Array | ✓ | |
| 44 | Last_Four_Digits | String | ✓ | ✓ |
| 45 | Template_Id | String | ✓ | |
| 46 | Template_Name | String | ✓ | |
| 47 | Page_Width | String | ✓ | |
| 48 | Page_Height | String | ✓ | |
| 49 | Orientation | String | ✓ | |
| 50 | Attachment_Name | String | ✓ | |
| 51 | Is_Pre_Gst | Boolean | IN | |
| 52 | Product_Description | String | DE, IN | DE, IN |
| 53 | Tds_Type | String | IN | |
| 54 | Tds_Tax_Id | String | IN | |
| 55 | Txn_Posting_Date | Date | ✓ | ✓ |
| 56 | Payment_Status | String | ✓ | ✓ |
| 57 | Tax_Id | String | IN | |
| 58 | Tax_Percentage | String | IN | |
| 59 | Tax_Type | String | IN | |
| 60 | Gst_Treatment | String | IN | |
| 61 | Gst_Return_Details_Return_Period | String | IN | |
| 62 | Gst_Return_Details_Status | String | IN | |
| 63 | Place_Of_Supply | String | BH, DE, SA, AE, OM, IN | |
| 64 | Gst_No | String | IN | |
| 65 | Tax_Name | String | IN | |
| 66 | Is_Advance_Payment | Boolean | IN | IN |
| 67 | Invoice_Numbers | String | ✓ | |
| 68 | Last_Modified_Time | Timestamp | ✓ | |
| 69 | RetainerInvoice_Id | String | ✓ | |
| 70 | Payment_Mode_Formatted | String | ✓ | |
| 71 | Custom_Fields_List | String | ✓ | |
| 72 | Bcy_Amount | Number | ✓ | |
| 73 | Bcy_Unused_Amount | Number | ✓ | |
| 74 | Bcy_Refunded_Amount | Number | ✓ | |
| 75 | Has_Attachment | Boolean | ✓ | |
| 76 | Gateway_Transaction_Id | String | ✓ | |
| 77 | Applied_Invoices | Array | ✓ | |
| 78 | Payment_Type | String | ✓ | |
| 79 | Contact_Number | String | DE | |
| 80 | Invoices | Array | ✓ | |
| 81 | Imported_Transactions | Array | ✓ |
Delivery_Challan
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Deliverychallan_Id | String | ✓ | ✓ |
| 1 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 2 | Total | Number | ✓ | ✓ |
| 3 | Customer_Name | String | ✓ | ✓ |
| 4 | Date | String | ✓ | ✓ |
| 5 | Zcrm_Potential_Id | String | ✓ | ✓ |
| 6 | Status | String | ✓ | |
| 7 | Bcy_Total | Number | ✓ | |
| 8 | Zcrm_Potential_Name | String | ✓ | ✓ |
| 9 | Customer_Id | String | ✓ | ✓ |
| 10 | Company_Name | String | ✓ | |
| 11 | Challan_Status | String | ✓ | ✓ |
| 12 | Currency_Code | String | ✓ | ✓ |
| 13 | Deliverychallan_Number | String | ✓ | ✓ |
| 14 | Reference_Number | String | ✓ | ✓ |
| 15 | Currency_Id | String | ✓ | ✓ |
| 16 | Created_Time | Timestamp | ✓ | ✓ |
| 17 | Has_Attachment | Boolean | ✓ | |
| 18 | Tax_Rounding | String | ✓ | |
| 19 | Tax_Total | Number | ✓ | |
| 20 | Created_By_Id | String | ✓ | |
| 21 | Currency_Symbol | String | ✓ | |
| 22 | Has_Qty_Returned | Boolean | ✓ | |
| 23 | Tax_Treatment | String | BH, SA, AE, OM, IN | |
| 24 | Sub_Total | Number | ✓ | |
| 25 | Tax_Reg_No | String | BH, SA, AE, OM | |
| 26 | Challan_Type | String | ✓ | |
| 27 | Place_Of_Supply | String | BH, SA, AE, OM, IN | |
| 28 | Discount_Applied_On_Amount | Number | ✓ | |
| 29 | Is_Inclusive_Tax | Boolean | ✓ | |
| 30 | Discount | Number | ✓ | |
| 31 | Discount_Type | String | ✓ | |
| 32 | Page_Height | String | ✓ | |
| 33 | Is_Taxable | String | BH, SA, AE, OM, IN | |
| 34 | Exchange_Rate | Number | ✓ | |
| 35 | Page_Width | String | ✓ | |
| 36 | Is_Discount_Before_Tax | Boolean | ✓ | |
| 37 | Source | String | ✓ | |
| 38 | Sub_Total_Inclusive_Of_Tax | Number | ✓ | |
| 39 | Adjustment | Number | ✓ | |
| 40 | Adjustment_Description | String | ✓ | |
| 41 | Transaction_Rounding_Type | String | ✓ | |
| 42 | Price_Precision | Number | ✓ | |
| 43 | Template_Id | String | ✓ | |
| 44 | Shipping_Address_Address | String | ✓ | |
| 45 | Shipping_Address_Zip | String | ✓ | |
| 46 | Shipping_Address_City | String | ✓ | |
| 47 | Shipping_Address_Street2 | String | ✓ | |
| 48 | Shipping_Address_State | String | ✓ | |
| 49 | Shipping_Address_Country | String | ✓ | |
| 50 | Shipping_Address_Fax | String | ✓ | |
| 51 | Shipping_Address_Attention | String | ✓ | |
| 52 | Shipping_Address_Phone | String | ✓ | |
| 53 | Notes | String | ✓ | |
| 54 | Template_Type | String | ✓ | |
| 55 | Terms | String | ✓ | |
| 56 | Template_Name | String | ✓ | |
| 57 | Orientation | String | ✓ | |
| 58 | Attachment_Name | String | ✓ | |
| 59 | Discount_Amount | String | IN | |
| 60 | Is_Pre_Gst | String | IN | |
| 61 | Invoice_Conversion_Type | String | IN | |
| 62 | Gst_No | String | IN | |
| 63 | Gst_Treatment | String | IN | |
| 64 | Tax_Specification | String | IN | |
| 65 | Is_Eway_Bill_Required | String | IN | |
| 66 | Line_Items | Array | ✓ | |
| 67 | Taxes | Array | ✓ | |
| 68 | Documents | Array | ✓ | |
| 69 | Contact_Persons | Array | ✓ | |
| 70 | Ewaybills | String | IN |
Estimate
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Estimate_Id | String | ✓ | ✓ |
| 1 | Estimate_Number | String | ✓ | ✓ |
| 2 | Date | String | ✓ | ✓ |
| 3 | Reference_Number | String | ✓ | ✓ |
| 4 | Is_Pre_Gst | Boolean | IN | |
| 5 | Place_Of_Supply | String | BH, DE, SA, AE, OM, IN | |
| 6 | Gst_No | String | IN | |
| 7 | Gst_Treatment | String | IN | |
| 8 | Tax_Treatment | String | BH, DE, SA, AE, OM, IN, GB | |
| 9 | Status | String | ✓ | ✓ |
| 10 | Customer_Id | String | ✓ | ✓ |
| 11 | Customer_Name | String | ✓ | ✓ |
| 12 | Currency_Id | String | ✓ | ✓ |
| 13 | Currency_Code | String | ✓ | ✓ |
| 14 | Exchange_Rate | Number | ✓ | |
| 15 | Expiry_Date | Date | ✓ | ✓ |
| 16 | Discount | Number | ✓ | |
| 17 | Is_Discount_Before_Tax | Boolean | ✓ | |
| 18 | Discount_Type | String | ✓ | |
| 19 | Is_Inclusive_Tax | Boolean | ✓ | |
| 20 | Shipping_Charge | Number | ✓ | |
| 21 | Adjustment | Number | ✓ | |
| 22 | Adjustment_Description | String | ✓ | |
| 23 | Sub_Total | Number | ✓ | |
| 24 | Total | Number | ✓ | ✓ |
| 25 | Tax_Total | Number | ✓ | |
| 26 | Price_Precision | Number | ✓ | |
| 27 | Billing_Address_Address | String | ✓ | |
| 28 | Billing_Address_Street2 | String | ✓ | |
| 29 | Billing_Address_City | String | ✓ | |
| 30 | Billing_Address_State | String | ✓ | |
| 31 | Billing_Address_Zip | String | ✓ | |
| 32 | Billing_Address_Country | String | ✓ | |
| 33 | Billing_Address_Phone | String | ✓ | |
| 34 | Billing_Address_Fax | String | ✓ | |
| 35 | Billing_Address_Attention | String | ✓ | |
| 36 | Shipping_Address_Address | String | ✓ | |
| 37 | Shipping_Address_Street2 | String | ✓ | |
| 38 | Shipping_Address_City | String | ✓ | |
| 39 | Shipping_Address_State | String | ✓ | |
| 40 | Shipping_Address_Zip | String | ✓ | |
| 41 | Shipping_Address_Country | String | ✓ | |
| 42 | Shipping_Address_Phone | String | ✓ | |
| 43 | Shipping_Address_Fax | String | ✓ | |
| 44 | Shipping_Address_Attention | String | ✓ | |
| 45 | Customer_Default_Billing_Address_Zip | String | ✓ | |
| 46 | Customer_Default_Billing_Address_Country | String | ✓ | |
| 47 | Customer_Default_Billing_Address_Fax | String | ✓ | |
| 48 | Customer_Default_Billing_Address_Address | String | ✓ | |
| 49 | Customer_Default_Billing_Address_State | String | ✓ | |
| 50 | Customer_Default_Billing_Address_City | String | ✓ | |
| 51 | Customer_Default_Billing_Address_Phone | String | ✓ | |
| 52 | Customer_Default_Billing_Address_Street2 | String | ✓ | |
| 53 | Customer_Default_Billing_Address_State_Code | String | ✓ | |
| 54 | Notes | String | ✓ | |
| 55 | Terms | String | ✓ | |
| 56 | Template_Id | String | ✓ | ✓ |
| 57 | Template_Name | String | ✓ | |
| 58 | Created_Time | Timestamp | ✓ | ✓ |
| 59 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 60 | Salesperson_Id | String | ✓ | ✓ |
| 61 | Salesperson_Name | String | ✓ | ✓ |
| 62 | Project_Project_Id | String | ||
| 63 | Project_Project_Name | String | ||
| 64 | Discount_Percent | Number | ✓ | |
| 65 | Shipping_Charge_Exclusive_Of_Tax_Formatted | String | DE, GO, AU, CA, IN, GB, US | |
| 66 | Sub_Total_Inclusive_Of_Tax | Number | ✓ | |
| 67 | Currency_Symbol | String | ✓ | |
| 68 | Is_Converted_To_Open | Boolean | ✓ | |
| 69 | Zcrm_Potential_Id | String | ✓ | ✓ |
| 70 | Created_Date | Date | ✓ | |
| 71 | Zcrm_Potential_Name | String | ✓ | ✓ |
| 72 | Contact_Category | String | ✓ | |
| 73 | Vat_Treatment | String | GB | |
| 74 | Current_Sub_Status_Id | String | ✓ | ✓ |
| 75 | Color_Code | String | ✓ | ✓ |
| 76 | Current_Sub_Status | String | ✓ | ✓ |
| 77 | Is_Taxable | Boolean | All except KW, QA, GO | |
| 78 | Is_Transaction_Created | Boolean | ✓ | |
| 79 | Shipping_Charge_Tax_Formatted | String | DE, GO, AU, CA, IN, GB, US | |
| 80 | Shipping_Charge_Inclusive_Of_Tax_Formatted | String | DE, GO, AU, CA, IN, GB, US | |
| 81 | Submitted_By | String | ✓ | |
| 82 | Submitted_By_Name | String | ✓ | |
| 83 | Shipping_Charge_Tax_Type | String | DE, GO, AU, CA, IN, GB, US | |
| 84 | Last_Modified_By_Id | String | ✓ | |
| 85 | Discount_Applied_On_Amount | Number | ✓ | |
| 86 | Submitted_By_Photo_Url | String | ✓ | |
| 87 | Estimate_Type | String | ✓ | |
| 88 | Shipping_Charge_Exclusive_Of_Tax | Number | DE, GO, AU, CA, IN, GB, US | |
| 89 | Shipping_Charge_Tax_Id | String | DE, GO, AU, CA, IN, GB, US | |
| 90 | Submitted_By_Email | String | ✓ | |
| 91 | Is_Viewed_By_Client | Boolean | ✓ | ✓ |
| 92 | Client_Viewed_Time | Timestamp | ✓ | ✓ |
| 93 | Tax_Rounding | String | ✓ | |
| 94 | Tds_Calculation_Type | String | ✓ | |
| 95 | Shipping_Charge_Inclusive_Of_Tax | Number | DE, GO, AU, CA, IN, GB, US | |
| 96 | Estimate_Url | String | ✓ | |
| 97 | Is_Reverse_Charge_Applied | Boolean | ||
| 98 | Submitter_Id | String | ✓ | |
| 99 | Shipping_Charge_Tax_Exemption_Id | String | DE, AU, CA, IN, GB, US | |
| 100 | Submitted_Date | Date | ✓ | |
| 101 | Roundoff_Value | Number | ✓ | |
| 102 | Approver_Id | String | ✓ | |
| 103 | Shipping_Charge_Tax_Name | String | DE, GO, AU, CA, IN, GB, US | |
| 104 | Orientation | String | ✓ | |
| 105 | Bcy_Sub_Total | Number | ✓ | |
| 106 | Shipping_Charge_Tax_Percentage | String | DE, GO, AU, CA, IN, GB, US | |
| 107 | Shipping_Charge_Tax_Exemption_Code | String | DE, AU, CA, IN, GB, US | |
| 108 | Shipping_Charge_Tax | String | DE, GO, AU, CA, IN, GB, US | |
| 109 | Bcy_Shipping_Charge | Number | ✓ | |
| 110 | Bcy_Adjustment | Number | ✓ | |
| 111 | Bcy_Shipping_Charge_Tax | String | DE, GO, AU, CA, IN, GB, US | |
| 112 | Transaction_Rounding_Type | String | ✓ | |
| 113 | Page_Height | String | ✓ | |
| 114 | Sub_Total_Exclusive_Of_Discount | Number | ✓ | |
| 115 | Discount_Total | Number | ✓ | |
| 116 | Bcy_Discount_Total | Number | ✓ | |
| 117 | Bcy_Total | Number | ✓ | |
| 118 | Bcy_Tax_Total | Number | ✓ | |
| 119 | Reverse_Charge_Tax_Total | Number | BH, DE, IN, GB | |
| 120 | Template_Type | String | ✓ | ✓ |
| 121 | Page_Width | String | ✓ | |
| 122 | Created_By_Id | String | ✓ | |
| 123 | Attachment_Name | String | ✓ | |
| 124 | Can_Send_In_Mail | Boolean | ✓ | |
| 125 | Can_Send_Estimate_Sms | Boolean | ✓ | |
| 126 | Allow_Partial_Payments | Boolean | ✓ | |
| 127 | Accept_Retainer | Boolean | ✓ | |
| 128 | Retainer_Percentage | String | ✓ | |
| 129 | Subject_Content | String | ✓ | |
| 130 | Invoice_Conversion_Type | String | IN | |
| 131 | Tds_Override_Preference | String | GO, IN | |
| 132 | Tax_Override_Preference | String | GO, CA, US | |
| 133 | Tax_Specification | String | IN | |
| 134 | Shipping_Charge_Sac_Code | String | IN | |
| 135 | Is_Progressive_Quote | Boolean | ✓ | |
| 136 | Tax_Reg_No | String | BH, DE, SA, AE, OM | |
| 137 | Declined_Date | Date | ✓ | |
| 138 | Company_Name | String | ✓ | |
| 139 | Has_Attachment | Boolean | ✓ | |
| 140 | Is_Emailed | Boolean | ✓ | |
| 141 | Accepted_Date | Date | ✓ | |
| 142 | Contact_Number | String | DE | |
| 143 | Taxes | Array | ✓ | |
| 144 | Line_Items | Array | ✓ | |
| 145 | Contact_Persons | Array | ✓ | |
| 146 | Contact_Persons_Details | Array | ✓ | |
| 147 | Documents | Array | ✓ | |
| 148 | Approvers_List | Array | ✓ | |
| 149 | Sub_Statuses | Array | ✓ | |
| 150 | Salesorders | Array | ✓ | |
| 151 | Invoice_Ids | Array | ✓ | |
| 152 | Subscription_Ids | Array | ✓ | |
| 153 | Retainerinvoices | Array | ✓ | |
| 154 | Payment_Options | Object | ✓ | |
| 155 | Tds_Summary | JSONData | IN | |
| 156 | Payment_Options_Payment_Gateways | Array | ✓ |
Expense
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Expense_Id | String | ✓ | ✓ |
| 1 | Transaction_Id | String | ||
| 2 | Transaction_Type | String | ✓ | |
| 3 | Gst_No | String | IN | |
| 4 | Gst_Treatment | String | IN | |
| 5 | Tax_Treatment | String | BH, DE, SA, AE, OM, IN, GB | |
| 6 | Destination_Of_Supply | String | IN | |
| 7 | Destination_Of_Supply_State | String | IN | |
| 8 | Place_Of_Supply | String | BH, DE, SA, AE, OM | |
| 9 | Hsn_Or_Sac | String | IN | |
| 10 | Source_Of_Supply | String | IN | |
| 11 | Paid_Through_Account_Name | String | ✓ | ✓ |
| 12 | Vat_Reg_No | String | DE, GB | |
| 13 | Reverse_Charge_Tax_Id | String | BH, DE, SA, AE, OM, IN, GB | |
| 14 | Reverse_Charge_Tax_Name | String | ||
| 15 | Reverse_Charge_Tax_Percentage | Number | ||
| 16 | Reverse_Charge_Tax_Amount | Number | ||
| 17 | Tax_Amount | Number | ✓ | |
| 18 | Is_Itemized_Expense | Boolean | ||
| 19 | Is_Pre_Gst | String | IN | |
| 20 | Trip_Id | String | ✓ | |
| 21 | Trip_Number | String | ✓ | |
| 22 | Reverse_Charge_Vat_Total | Number | ||
| 23 | Acquisition_Vat_Total | Number | ||
| 24 | Expense_Item_Id | String | ✓ | |
| 25 | Account_Id | String | ✓ | |
| 26 | Account_Name | String | ✓ | ✓ |
| 27 | Date | String | ✓ | ✓ |
| 28 | Tax_Id | String | ✓ | |
| 29 | Tax_Name | String | ✓ | |
| 30 | Tax_Percentage | Number | ✓ | |
| 31 | Currency_Id | String | ✓ | ✓ |
| 32 | Currency_Code | String | ✓ | ✓ |
| 33 | Exchange_Rate | Number | ✓ | ✓ |
| 34 | Sub_Total | Number | ✓ | |
| 35 | Total | Number | ✓ | ✓ |
| 36 | Bcy_Total | Number | ✓ | ✓ |
| 37 | Amount | Number | ✓ | |
| 38 | Is_Inclusive_Tax | Boolean | ✓ | |
| 39 | Reference_Number | String | ✓ | ✓ |
| 40 | Description | String | ✓ | ✓ |
| 41 | Is_Billable | Boolean | ✓ | ✓ |
| 42 | Is_Personal | Boolean | ✓ | ✓ |
| 43 | Customer_Id | String | ✓ | ✓ |
| 44 | Customer_Name | String | ✓ | ✓ |
| 45 | Expense_Receipt_Name | String | ✓ | ✓ |
| 46 | Expense_Receipt_Type | String | ✓ | |
| 47 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 48 | Status | String | ✓ | ✓ |
| 49 | Invoice_Id | String | ✓ | |
| 50 | Invoice_Number | String | ✓ | |
| 51 | Project_Id | String | ✓ | |
| 52 | Project_Name | String | ✓ | |
| 53 | Mileage_Rate | Number | ✓ | ✓ |
| 54 | Mileage_Type | String | ✓ | ✓ |
| 55 | Expense_Type | String | ✓ | ✓ |
| 56 | Start_Reading | String | ✓ | ✓ |
| 57 | End_Reading | String | ✓ | ✓ |
| 58 | Vendor_Id | String | ✓ | ✓ |
| 59 | Vendor_Name | String | ✓ | ✓ |
| 60 | Vat_Treatment | String | GB | |
| 61 | Is_Recurring_Applicable | Boolean | ✓ | |
| 62 | Tax_Exemption_Id | String | BH, DE, SA, AE, OM, AU, IN, GB | |
| 63 | Report_Name | String | ✓ | ✓ |
| 64 | Fuel_Type | String | GB | |
| 65 | Fcy_Surcharge_Amount | Number | ✓ | |
| 66 | Zcrm_Potential_Name | String | ✓ | |
| 67 | Created_By_Id | String | ✓ | |
| 68 | Vehicle_Name | String | ✓ | |
| 69 | Markup_Percent | Number | ✓ | |
| 70 | Transaction_Type_Formatted | String | ✓ | |
| 71 | User_Email | String | ✓ | |
| 72 | Paid_Through_Account_Id | String | ✓ | |
| 73 | Filed_In_Vat_Return_Type | String | BH, DE, SA, AE, OM, AU, CA, IN, GB | |
| 74 | Approver_Id | String | ✓ | |
| 75 | Product_Type | String | BH, DE, SA, AE, OM, IN, GB | |
| 76 | Filed_In_Vat_Return_Name | String | BH, DE, SA, AE, OM, AU, CA, IN, GB | |
| 77 | Mileage_Unit | String | ✓ | ✓ |
| 78 | Is_Reverse_Charge_Applied | Boolean | BH, DE, SA, AE, OM, IN, GB | |
| 79 | User_Name | String | ✓ | |
| 80 | Itc_Eligibility | String | BH, SA, AE, OM, IN, GB | |
| 81 | Filed_In_Vat_Return_Id | String | BH, DE, SA, AE, OM, AU, CA, IN, GB | |
| 82 | Tax_Exemption_Code | String | BH, DE, SA, AE, OM, AU, IN, GB | |
| 83 | Vehicle_Type | String | DE, GB | |
| 84 | Last_Modified_By_Id | String | ✓ | |
| 85 | Employee_Name | String | ✓ | |
| 86 | Is_Surcharge_Applicable | Boolean | ✓ | |
| 87 | Created_Time | Timestamp | ✓ | ✓ |
| 88 | Employee_Id | String | ✓ | |
| 89 | Employee_Email | String | ✓ | |
| 90 | Report_Number | String | ✓ | ✓ |
| 91 | Vehicle_Id | String | ✓ | |
| 92 | Fuel_Rate | Number | GB | |
| 93 | Fuel_Element | Number | GB | |
| 94 | Engine_Capacity_Range | String | GB | |
| 95 | Report_Id | String | ✓ | ✓ |
| 96 | User_Id | String | ✓ | |
| 97 | Approver_Name | String | ✓ | |
| 98 | Approver_Email | String | ✓ | |
| 99 | Report_Status | String | ✓ | |
| 100 | Is_Reimbursable | Boolean | ✓ | |
| 101 | Location | String | ✓ | |
| 102 | Merchant_Id | String | ✓ | |
| 103 | Merchant_Name | String | ✓ | |
| 104 | Payment_Mode | String | ✓ | |
| 105 | Bcy_Surcharge_Amount | Number | ✓ | |
| 106 | Zcrm_Potential_Id | String | ✓ | |
| 107 | Total_Without_Tax | Number | ✓ | |
| 108 | Bcy_Total_Without_Tax | Number | ✓ | |
| 109 | Distance | Number | ✓ | |
| 110 | Has_Attachment | Boolean | ✓ | |
| 111 | Gst_Treatment_Code | String | IN | |
| 112 | Gst_Return_Details_Return_Period | String | IN | |
| 113 | Gst_Return_Details_Status | String | IN | |
| 114 | Invoice_Conversion_Type | String | IN | |
| 115 | Tax_Override | Boolean | IN | |
| 116 | Tax_Override_Preference | String | GO, US | |
| 117 | Tax_Reg_No | String | BH, DE, SA, AE, OM | |
| 118 | Custom_Fields_List | String | ✓ | |
| 119 | Acquisition_Vat_Summary | JSONData | ||
| 120 | Reverse_Charge_Vat_Summary | JSONData | ||
| 121 | Taxes | Array | ✓ | |
| 122 | Line_Items | Array | ✓ | |
| 123 | Documents | Array | ✓ | |
| 124 | Imported_Transactions | Array | ✓ | |
| 125 | Tags | Array | ✓ |
Invoice
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Invoice_Id | String | ✓ | ✓ |
| 1 | Ach_Payment_Initiated | Boolean | ✓ | ✓ |
| 2 | Invoice_Number | String | ✓ | ✓ |
| 3 | Is_Pre_Gst | Boolean | IN | IN |
| 4 | Place_Of_Supply | String | BH, DE, SA, AE, OM, IN | |
| 5 | Gst_No | String | IN | |
| 6 | Gst_Treatment | String | IN | |
| 7 | Cfdi_Usage | String | ||
| 8 | Cfdi_Reference_Type | String | ||
| 9 | Reference_Invoice_Id | String | ||
| 10 | Vat_Treatment | String | GB | |
| 11 | Tax_Treatment | String | BH, DE, SA, AE, OM, IN, GB | |
| 12 | Vat_Reg_No | String | DE, GB | |
| 13 | Date | String | ✓ | ✓ |
| 14 | Status | String | ✓ | ✓ |
| 15 | Payment_Terms | Number | ✓ | |
| 16 | Payment_Terms_Label | String | ✓ | |
| 17 | Due_Date | Date | ✓ | ✓ |
| 18 | Payment_Expected_Date | Date | ✓ | ✓ |
| 19 | Last_Payment_Date | Date | ✓ | ✓ |
| 20 | Reference_Number | String | ✓ | ✓ |
| 21 | Customer_Id | String | ✓ | ✓ |
| 22 | Customer_Name | String | ✓ | ✓ |
| 23 | Currency_Id | String | ✓ | ✓ |
| 24 | Currency_Code | String | ✓ | ✓ |
| 25 | Exchange_Rate | Number | ✓ | ✓ |
| 26 | Discount | Number | ✓ | |
| 27 | Is_Discount_Before_Tax | Boolean | ✓ | |
| 28 | Discount_Type | String | ✓ | |
| 29 | Is_Inclusive_Tax | Boolean | ✓ | |
| 30 | Recurring_Invoice_Id | String | ✓ | |
| 31 | Is_Viewed_By_Client | Boolean | ✓ | ✓ |
| 32 | Has_Attachment | Boolean | ✓ | |
| 33 | Client_Viewed_Time | Timestamp | ✓ | ✓ |
| 34 | Shipping_Charge | Number | ✓ | ✓ |
| 35 | Adjustment | Number | ✓ | ✓ |
| 36 | Adjustment_Description | String | ✓ | |
| 37 | Sub_Total | Number | ✓ | |
| 38 | Tax_Total | Number | ✓ | |
| 39 | Total | Number | ✓ | ✓ |
| 40 | Payment_Reminder_Enabled | Boolean | ✓ | |
| 41 | Payment_Made | Number | ✓ | |
| 42 | Credits_Applied | Number | ✓ | |
| 43 | Tax_Amount_Withheld | Number | ✓ | |
| 44 | Balance | Number | ✓ | ✓ |
| 45 | Write_Off_Amount | Number | ✓ | ✓ |
| 46 | Allow_Partial_Payments | Boolean | ✓ | |
| 47 | Price_Precision | Number | ✓ | |
| 48 | Is_Emailed | Boolean | ✓ | ✓ |
| 49 | Reminders_Sent | Number | ✓ | ✓ |
| 50 | Last_Reminder_Sent_Date | Date | ✓ | ✓ |
| 51 | Billing_Address_Address | String | ✓ | ✓ |
| 52 | Billing_Address_Street | String | ✓ | |
| 53 | Billing_Address_Street2 | String | ✓ | ✓ |
| 54 | Billing_Address_City | String | ✓ | ✓ |
| 55 | Billing_Address_State | String | ✓ | ✓ |
| 56 | Billing_Address_Zip | String | ✓ | |
| 57 | Billing_Address_Country | String | ✓ | ✓ |
| 58 | Billing_Address_Phone | String | ✓ | ✓ |
| 59 | Billing_Address_Fax | String | ✓ | ✓ |
| 60 | Billing_Address_Attention | String | ✓ | ✓ |
| 61 | Billing_Address_Additional_Number | String | SA | |
| 62 | Billing_Address_District_Sec_Lang | String | SA | |
| 63 | Billing_Address_Attention_Sec_Lang | String | SA | |
| 64 | Billing_Address_Address_Sec_Lang | String | SA | |
| 65 | Billing_Address_District | String | SA | |
| 66 | Billing_Address_Phone_Sec_Lang | String | SA | |
| 67 | Billing_Address_Additional_Number_Sec_Lang | String | SA | |
| 68 | Billing_Address_City_Sec_Lang | String | SA | |
| 69 | Billing_Address_Street2_Sec_Lang | String | SA | |
| 70 | Billing_Address_Fax_Sec_Lang | String | SA | |
| 71 | Billing_Address_State_Sec_Lang | String | SA | |
| 72 | Billing_Address_Zip_Sec_Lang | String | SA | |
| 73 | Billing_Address_Country_Sec_Lang | String | SA | |
| 74 | Shipping_Address_Address | String | ✓ | ✓ |
| 75 | Shipping_Address_Street | String | ✓ | |
| 76 | Shipping_Address_Street2 | String | ✓ | ✓ |
| 77 | Shipping_Address_State_Code | String | ||
| 78 | Shipping_Address_City | String | ✓ | ✓ |
| 79 | Shipping_Address_State | String | ✓ | ✓ |
| 80 | Shipping_Address_Zip | String | ✓ | |
| 81 | Shipping_Address_Country | String | ✓ | ✓ |
| 82 | Shipping_Address_Phone | String | ✓ | ✓ |
| 83 | Shipping_Address_Fax | String | ✓ | ✓ |
| 84 | Shipping_Address_Attention | String | ✓ | ✓ |
| 85 | Shipping_Address_Additional_Number | String | SA | |
| 86 | Shipping_Address_District_Sec_Lang | String | SA | |
| 87 | Shipping_Address_Attention_Sec_Lang | String | SA | |
| 88 | Shipping_Address_Address_Sec_Lang | String | SA | |
| 89 | Shipping_Address_District | String | SA | |
| 90 | Shipping_Address_Phone_Sec_Lang | String | SA | |
| 91 | Shipping_Address_Additional_Number_Sec_Lang | String | SA | |
| 92 | Shipping_Address_City_Sec_Lang | String | SA | |
| 93 | Shipping_Address_Street2_Sec_Lang | String | SA | |
| 94 | Shipping_Address_Fax_Sec_Lang | String | SA | |
| 95 | Shipping_Address_State_Sec_Lang | String | SA | |
| 96 | Shipping_Address_Zip_Sec_Lang | String | SA | |
| 97 | Shipping_Address_Country_Sec_Lang | String | SA | |
| 98 | Notes | String | ✓ | |
| 99 | Terms | String | ✓ | |
| 100 | Template_Id | String | ✓ | ✓ |
| 101 | Template_Name | String | ✓ | |
| 102 | Created_Time | Timestamp | ✓ | ✓ |
| 103 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 104 | Attachment_Name | String | ✓ | |
| 105 | Can_Send_In_Mail | Boolean | ✓ | |
| 106 | Salesperson_Id | String | ✓ | ✓ |
| 107 | Salesperson_Name | String | ✓ | ✓ |
| 108 | Invoice_Url | String | BH, SA, AE, OM, IN | ✓ |
| 109 | Reason | String | ||
| 110 | Is_Autobill_Enabled | Boolean | ✓ | |
| 111 | Offline_Created_Date_With_Time | Date | ✓ | |
| 112 | Shipping_Charge_Tax_Exemption_Id | String | DE, AU, CA, IN, GB, US | |
| 113 | Submitted_By_Photo_Url | String | ✓ | |
| 114 | Is_Reverse_Charge_Applied | Boolean | DE, IN, GB | |
| 115 | Invoice_Source | String | ✓ | |
| 116 | String | ✓ | ✓ | |
| 117 | Computation_Type | String | ✓ | |
| 118 | Shipping_Charge_Tax_Percentage | String | DE, GO, AU, CA, IN, GB, US | |
| 119 | Transaction_Rounding_Type | String | ✓ | |
| 120 | Created_By_Name | String | ✓ | |
| 121 | Currency_Symbol | String | ✓ | ✓ |
| 122 | Currency_Name_Formatted | String | ✓ | |
| 123 | Discount_Total | Number | ✓ | |
| 124 | Is_Backorder | String | ✓ | |
| 125 | Shipping_Charge_Exclusive_Of_Tax | Number | DE, GO, AU, CA, IN, GB, US | |
| 126 | Submitted_By_Email | String | ✓ | |
| 127 | Subject_Content | String | ✓ | |
| 128 | Shipping_Charge_Inclusive_Of_Tax_Formatted | String | DE, GO, AU, CA, IN, GB, US | |
| 129 | Shipping_Charge_Tax_Name | String | DE, GO, AU, CA, IN, GB, US | |
| 130 | Payment_Discount | Number | ✓ | |
| 131 | Zcrm_Potential_Id | String | ✓ | ✓ |
| 132 | Bcy_Discount_Total | Number | ✓ | |
| 133 | Zcrm_Potential_Name | String | ✓ | ✓ |
| 134 | Shipping_Charge_Tax_Id | String | DE, GO, AU, CA, IN, GB, US | |
| 135 | Ecomm_Operator_Name | String | ✓ | |
| 136 | Inprocess_Transaction_Present | Boolean | ✓ | |
| 137 | Reader_Offline_Payment_Initiated | Boolean | ✓ | |
| 138 | Ach_Supported | Boolean | ✓ | |
| 139 | Shipping_Charge_Inclusive_Of_Tax | Number | DE, GO, AU, CA, IN, GB, US | |
| 140 | Discount_Percent | Number | ✓ | |
| 141 | Bcy_Shipping_Charge_Tax | String | DE, GO, AU, CA, IN, GB, US | |
| 142 | Bcy_Tax_Total | Number | ✓ | |
| 143 | Shipping_Charge_Tax_Type | String | DE, GO, AU, CA, IN, GB, US | |
| 144 | Bcy_Shipping_Charge | Number | ✓ | |
| 145 | Discount_Applied_On_Amount | Number | ✓ | |
| 146 | Filed_In_Vat_Return_Id | String | BH, DE, SA, AE, OM, AU, CA, IN, GB | |
| 147 | Shipping_Charge_Tax_Exemption_Code | String | DE, AU, CA, IN, GB, US | |
| 148 | Contact_Category | String | ✓ | |
| 149 | Shipping_Charge_Tax | String | DE, GO, AU, CA, IN, GB, US | |
| 150 | Shipping_Charge_Tax_Formatted | String | DE, GO, AU, CA, IN, GB, US | |
| 151 | Shipping_Charge_Exclusive_Of_Tax_Formatted | String | DE, GO, AU, CA, IN, GB, US | |
| 152 | Color_Code | String | ✓ | ✓ |
| 153 | Bcy_Adjustment | Number | ✓ | |
| 154 | Bcy_Sub_Total | Number | ✓ | |
| 155 | Qr_Code_Qr_Source | String | ✓ | |
| 156 | Qr_Code_Qr_Value | String | ✓ | |
| 157 | Qr_Code_Qr_Description | String | ✓ | |
| 158 | Qr_Code_Is_Qr_Enabled | Boolean | ✓ | |
| 159 | Bcy_Total | Number | ✓ | |
| 160 | Reverse_Charge_Tax_Total | Number | BH, DE, IN, GB | |
| 161 | Roundoff_Value | Number | ✓ | |
| 162 | Sub_Total_Inclusive_Of_Tax | Number | ✓ | |
| 163 | Tax_Reg_No | String | BH, DE, SA, AE, OM, IN, GB | |
| 164 | Is_Taxable | Boolean | All except KW, QA, GO | |
| 165 | Tax_Rounding | String | ✓ | |
| 166 | Orientation | String | ✓ | |
| 167 | Filed_In_Vat_Return_Name | String | BH, DE, SA, AE, OM, AU, CA, IN, GB | |
| 168 | Salesorder_Number | String | ✓ | |
| 169 | Filed_In_Vat_Return_Type | String | BH, DE, SA, AE, OM, AU, CA, IN, GB | |
| 170 | Tds_Calculation_Type | String | ✓ | |
| 171 | Can_Send_Invoice_Sms | Boolean | ✓ | |
| 172 | Stop_Reminder_Until_Payment_Expected_Date | Boolean | ✓ | |
| 173 | Submitted_Date | Date | ✓ | |
| 174 | Ecomm_Operator_Id | String | ✓ | |
| 175 | Schedule_Time | Timestamp | ✓ | ✓ |
| 176 | Created_By_Id | String | ✓ | |
| 177 | Txn_Posting_Date | Date | ✓ | ✓ |
| 178 | Merchant_Id | String | ✓ | |
| 179 | Merchant_Name | String | ✓ | |
| 180 | Salesorder_Id | String | ✓ | |
| 181 | Includes_Package_Tracking_Info | Boolean | ✓ | |
| 182 | Next_Reminder_Date_Formatted | Date | ✓ | |
| 183 | Submitter_Id | String | ✓ | |
| 184 | Approver_Id | String | ✓ | |
| 185 | Submitted_By | String | ✓ | |
| 186 | Submitted_By_Name | String | ✓ | |
| 187 | Template_Type | String | ✓ | ✓ |
| 188 | Unused_Retainer_Payments | Number | ✓ | |
| 189 | Created_Date | Date | ✓ | |
| 190 | Last_Modified_By_Id | String | ✓ | |
| 191 | Page_Width | String | ✓ | |
| 192 | Page_Height | String | ✓ | |
| 193 | Sales_Channel | String | ✓ | |
| 194 | Current_Sub_Status_Id | String | ✓ | ✓ |
| 195 | Current_Sub_Status | String | ✓ | ✓ |
| 196 | Estimate_Id | String | ✓ | |
| 197 | Is_Client_Review_Settings_Enabled | Boolean | ✓ | |
| 198 | Contact_Credit_Limit | Number | ✓ | |
| 199 | Contact_Customer_Balance | Number | ✓ | |
| 200 | Contact_Unused_Customer_Credits | Number | ✓ | |
| 201 | Contact_Is_Credit_Limit_Migration_Completed | Boolean | ✓ | |
| 202 | Customer_Default_Billing_Address_Zip | String | ✓ | |
| 203 | Customer_Default_Billing_Address_Country | String | ✓ | |
| 204 | Customer_Default_Billing_Address_Phone | String | ✓ | |
| 205 | Customer_Default_Billing_Address_Street2 | String | ✓ | |
| 206 | Customer_Default_Billing_Address_Address | String | ✓ | |
| 207 | Customer_Default_Billing_Address_Fax | String | ✓ | |
| 208 | Customer_Default_Billing_Address_City | String | ✓ | |
| 209 | Customer_Default_Billing_Address_State | String | ✓ | |
| 210 | Customer_Default_Billing_Address_State_Code | String | ✓ | |
| 211 | Billing_Address_Zipcode | String | ✓ | |
| 212 | Due_Days | String | ✓ | |
| 213 | Project_Name | String | ✓ | |
| 214 | Company_Name | String | ✓ | |
| 215 | Shipping_Address_Zipcode | String | ✓ | |
| 216 | Created_By | String | ✓ | |
| 217 | Country | String | ✓ | |
| 218 | Phone | String | ✓ | |
| 219 | Updated_Time | Timestamp | ✓ | |
| 220 | Transaction_Type | String | ✓ | |
| 221 | Is_Export_With_Payment | Boolean | ||
| 222 | Is_Eway_Bill_Required | Boolean | IN | |
| 223 | Reason_For_Debit_Note | String | GO, IN | |
| 224 | Merchant_Gst_No | String | IN | |
| 225 | Can_Generate_Ewaybill_Using_Irn | Boolean | IN | |
| 226 | Tds_Override_Preference | String | GO, IN | |
| 227 | Shipping_Charge_Sac_Code | String | IN | |
| 228 | Type | String | BH, SA, AE, KW, OM, QA, GO, IN | BH, SA, AE, KW, OM, QA, GO, IN |
| 229 | Reference_Invoice_Type | String | IN | |
| 230 | Tax_Specification | String | IN | |
| 231 | Tax_Override_Preference | String | GO, CA, US | |
| 232 | Gst_Return_Details_Return_Period | String | IN | |
| 233 | Gst_Return_Details_Status | String | IN | |
| 234 | Ecomm_Operator_Gst_No | String | IN | |
| 235 | No_Of_Copies | Number | BH, SA, AE, KW, OM, QA, GO, IN | BH, SA, AE, KW, OM, QA, GO, IN |
| 236 | Show_No_Of_Copies | Boolean | BH, SA, AE, KW, OM, QA, GO, IN | BH, SA, AE, KW, OM, QA, GO, IN |
| 237 | Reference_Invoice_Reference_Invoice_Id | String | BH, SA, AE, KW, OM, QA, GO, IN | |
| 238 | Discount_Account_Id | String | ✓ | |
| 239 | Discount_Account_Name | String | ✓ | |
| 240 | Mail_First_Viewed_Time | String | ||
| 241 | Mail_Last_Viewed_Time | String | ||
| 242 | Is_Viewed_In_Mail | Boolean | ||
| 243 | Customer_Name_Sec_Lang | String | SA | |
| 244 | Special_Transaction_Type | String | SA | |
| 245 | Gcc_Vat_Treatment | String | BH, SA, AE, OM | |
| 246 | Supply_Date | String | SA | |
| 247 | Is_Simplified_Invoice | Boolean | SA | |
| 248 | Hsn_Or_Sac | String | IN | |
| 249 | Contact_Number | String | DE | |
| 250 | Preceding_Invoice_Id | String | DE | |
| 251 | Is_Correction_Invoice | String | DE | |
| 252 | Tax_Exemption_Code | String | AU, CA, US | |
| 253 | Tax_Exemption_Id | String | AU, CA, US | |
| 254 | Tax_Authority_Id | String | AU, CA, US | |
| 255 | Tax_Authority_Name | String | AU, CA, US | |
| 256 | Line_Items | Array | ✓ | |
| 257 | Contact_Persons | Array | ✓ | |
| 258 | Payment_Options | Object | ✓ | |
| 259 | Contact_Persons_Details | Array | ✓ | |
| 260 | Salesorders | Array | ✓ | |
| 261 | Customer_Custom_Fields | Array | ✓ | |
| 262 | Approvers_List | Array | ✓ | |
| 263 | Shipping_Bills | Array | ✓ | |
| 264 | Documents | Array | ✓ | ✓ |
| 265 | Taxes | Array | ✓ | |
| 266 | Sub_Statuses | Array | ✓ | |
| 267 | Deliverychallans | Array | ✓ | |
| 268 | Tds_Summary | JSONData | IN | |
| 269 | Debit_Notes | JSONData | GO, IN | |
| 270 | Payment_Options_Payment_Gateways | Array | ✓ | |
| 271 | Ewaybills | JSONData | IN |
Item
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Item_Id | String | ✓ | ✓ |
| 1 | Name | String | ✓ | ✓ |
| 2 | Status | String | ✓ | ✓ |
| 3 | Description | String | ✓ | ✓ |
| 4 | Rate | Number | ✓ | ✓ |
| 5 | Unit | String | ✓ | ✓ |
| 6 | Tax_Id | String | All except DE, CA | ✓ |
| 7 | Purchase_Tax_Rule_Id | String | DE, CA | |
| 8 | Sales_Tax_Rule_Id | String | DE, CA | DE, CA |
| 9 | Tax_Name | String | All except DE, CA | ✓ |
| 10 | Hsn_Or_Sac | String | IN | IN |
| 11 | Sat_Item_Key_Code | String | ||
| 12 | Unitkey_Code | String | ||
| 13 | Tax_Percentage | Number | All except DE, CA | ✓ |
| 14 | Tax_Type | String | ✓ | |
| 15 | Sku | String | ✓ | ✓ |
| 16 | Product_Type | String | ✓ | ✓ |
| 17 | Vendor_Id | String | ✓ | |
| 18 | Offline_Created_Date_With_Time | Date | ✓ | |
| 19 | Image_Name | String | ✓ | ✓ |
| 20 | Crm_Owner_Id | String | ✓ | |
| 21 | Created_At | String | ✓ | |
| 22 | Maximum_Order_Quantity | String | ✓ | |
| 23 | Pricing_Scheme | String | ✓ | |
| 24 | Account_Name | String | ✓ | ✓ |
| 25 | Purchase_Description | String | ✓ | ✓ |
| 26 | Brand | String | ✓ | |
| 27 | Manufacturer | String | ✓ | |
| 28 | Source | String | ✓ | ✓ |
| 29 | Created_Time | Timestamp | ✓ | ✓ |
| 30 | Is_Default_Tax_Applied | Boolean | ✓ | |
| 31 | Image_Type | String | ✓ | ✓ |
| 32 | Is_Linked_With_Zohocrm | Boolean | ✓ | ✓ |
| 33 | Zcrm_Product_Id | String | ✓ | ✓ |
| 34 | Tax_Information_End_Date | String | ||
| 35 | Tax_Information_Country_Code | String | ||
| 36 | Tax_Information_Tax_Specification | String | ||
| 37 | Tax_Information_Status | String | ||
| 38 | Tax_Information_Tax_Specific_Type | String | ||
| 39 | Tax_Information_Is_Non_Advol_Tax | Boolean | ||
| 40 | Tax_Information_Tax_Groups_Details | JSONData | ||
| 41 | Tax_Information_Type | String | ||
| 42 | Tax_Information_Type_Formatted | String | ||
| 43 | Tax_Information_Text | String | ||
| 44 | Tax_Information_Percentage | Number | ||
| 45 | Tax_Information_Id | String | ||
| 46 | Tax_Information_Start_Date | String | ||
| 47 | Unit_Id | String | ✓ | |
| 48 | Account_Id | String | ✓ | ✓ |
| 49 | Associated_Template_Id | String | ✓ | |
| 50 | Purchase_Account_Id | String | ✓ | ✓ |
| 51 | Purchase_Account_Name | String | ✓ | ✓ |
| 52 | Tax_Exemption_Code | String | All except GO, KW, QA | All except GO, KW, QA |
| 53 | Tax_Status | String | ✓ | |
| 54 | Purchase_Rate | Number | ✓ | ✓ |
| 55 | Tax_Country_Code | String | ✓ | |
| 56 | Is_Taxable | Boolean | All except GO, KW, QA | All except GO, KW, QA |
| 57 | Tax_Exemption_Id | String | All except GO, KW, QA | All except GO, KW, QA |
| 58 | Item_Type | String | ✓ | ✓ |
| 59 | Pricebook_Rate | Number | ✓ | |
| 60 | Sales_Rate | Number | ✓ | |
| 61 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 62 | Include_In_Tax_Return | Boolean | AU, GB | |
| 63 | Minimum_Order_Quantity | String | ✓ | |
| 64 | Is_Fulfillable | Boolean | ✓ | |
| 65 | Vendor_Name | String | ✓ | |
| 66 | Tax_Start_Date | String | IN | |
| 67 | Tax_End_Date | String | IN | |
| 68 | Taxability_Type | String | IN | |
| 69 | Tax_Information | String | ✓ | |
| 70 | Is_Tax_Expired | String | IN | |
| 71 | Tax_Groups_Details | String | ✓ | |
| 72 | Name_Sec_Lang | String | SA | |
| 73 | Purchase_Tax_Percentage | Number | GO, CA | |
| 74 | Purchase_Tax_Name | String | GO, CA | |
| 75 | Purchase_Tax_Information | Object | ✓ | |
| 76 | Purchase_Tax_Information_Tax_Specification | String | DE, CA | |
| 77 | Purchase_Tax_Information_Type_Formatted | String | DE, CA | |
| 78 | Purchase_Tax_Information_Country_Code | String | DE, CA | |
| 79 | Purchase_Tax_Information_Status | String | DE, CA | |
| 80 | Purchase_Tax_Information_Tax_Specific_Type | String | DE, CA | |
| 81 | Purchase_Tax_Information_Type | String | DE, CA | |
| 82 | Purchase_Tax_Information_End_Date | String | DE, CA | |
| 83 | Purchase_Tax_Information_Is_Non_Advol_Tax | Boolean | DE, CA | |
| 84 | Purchase_Tax_Information_Tax_Groups_Details | JSONData | DE, CA | |
| 85 | Purchase_Tax_Information_Percentage | Number | DE, CA | |
| 86 | Purchase_Tax_Information_Text | String | DE, CA | |
| 87 | Purchase_Tax_Information_Id | String | DE, CA | |
| 88 | Purchase_Tax_Information_Start_Date | String | DE, CA | |
| 89 | Purchase_Tax_Exemption_Code | String | DE, CA | |
| 90 | Sales_Tax_Rule_Name | String | DE, CA | |
| 91 | Purchase_Tax_Exemption_Id | String | DE, CA | |
| 92 | Purchase_Tax_Id | String | GO, CA | |
| 93 | Purchase_Tax_Type | String | GO, CA | |
| 94 | Purchase_Tax_Rule_Name | String | DE, CA | |
| 95 | Has_Attachment | Boolean | ✓ | |
| 96 | Item_Name | String | ✓ | |
| 97 | Image_Document_Id | String | ✓ | |
| 98 | Item_Tax_Preferences | JSONData | IN | IN |
| 99 | Warehouses | JSONData | ||
| 100 | Documents | Array | ✓ | |
| 101 | Default_Price_Brackets | Array | ✓ | |
| 102 | Price_Brackets | Array | ✓ | |
| 103 | Tags | Array | ✓ | |
| 104 | Sales_Channels | Array | ✓ | |
| 105 | Preferred_Vendors | Array | ✓ |
Journal
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Journal_Id | String | ✓ | ✓ |
| 1 | Entry_Number | String | ✓ | ✓ |
| 2 | Reference_Number | String | ✓ | ✓ |
| 3 | Notes | String | ✓ | ✓ |
| 4 | Currency_Id | String | ✓ | ✓ |
| 5 | Currency_Code | String | ✓ | |
| 6 | Currency_Symbol | String | ✓ | |
| 7 | Exchange_Rate | Number | ✓ | |
| 8 | Journal_Date | Date | ✓ | ✓ |
| 9 | Journal_Type | String | ✓ | ✓ |
| 10 | Vat_Treatment | String | GB | |
| 11 | Product_Type | String | DE, OM, GB | |
| 12 | Include_In_Vat_Return | Boolean | AU, GB | |
| 13 | Is_Bas_Adjustment | Boolean | AU | |
| 14 | Line_Item_Total | Number | ✓ | |
| 15 | Total | Number | ✓ | ✓ |
| 16 | Bcy_Total | Number | ✓ | ✓ |
| 17 | Price_Precision | Number | ✓ | |
| 18 | Created_Time | Timestamp | ✓ | |
| 19 | Last_Modified_Time | Timestamp | ✓ | |
| 20 | Status | String | ✓ | ✓ |
| 21 | Journal_Number_Suffix | String | ✓ | |
| 22 | Tax_Treatment | String | DE, GB | |
| 23 | Journal_Template_Name | String | ✓ | |
| 24 | Journal_Number_Prefix | String | ✓ | |
| 25 | Journal_Transaction_Type | String | DE, GO, GB | |
| 26 | Available_Receivables_Credits | Number | ✓ | |
| 27 | Available_Payables_Credits | Number | ✓ | |
| 28 | Reverse_Charge_Vat_Total | Number | ||
| 29 | Is_Accrual_Journal | Boolean | ✓ | |
| 30 | Project_Id | String | ✓ | |
| 31 | Project_Name | String | ✓ | |
| 32 | Custom_Fields | String | ✓ | |
| 33 | Branch_Difference | Array | ✓ | |
| 34 | Created_By_Name | String | ✓ | |
| 35 | Entity_Type | String | ✓ | |
| 36 | Created_By_Id | String | ✓ | |
| 37 | Line_Items | Array | ✓ | |
| 38 | Taxes | Array | ✓ | |
| 39 | Bills_Credited | Array | ✓ | |
| 40 | Reverse_Charge_Vat_Summary | JSONData | ||
| 41 | Documents | Array | ✓ | |
| 42 | Comments | Array | ✓ | |
| 43 | Imported_Transactions | Array | ✓ | |
| 44 | Invoices_Credited | Array | ✓ |
Opening_Balance
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Opening_Balance_Id | String | ✓ | ✓ |
| 1 | Date | String | ✓ | ✓ |
| 2 | Price_Precision | Number | ✓ | ✓ |
| 3 | Total | Number | ✓ | ✓ |
| 4 | Total_Formatted | String | ✓ | ✓ |
| 5 | Date_Formatted | String | ✓ | ✓ |
| 6 | Can_Show_Customer_Ob | Boolean | ✓ | ✓ |
| 7 | Can_Show_Vendor_Ob | Boolean | ✓ | ✓ |
| 8 | Accounts | Array | ✓ | ✓ |
| 9 | Comments | Array | ✓ | ✓ |
Organization
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Organization_Id | String | ✓ | ✓ |
| 1 | Name | String | ✓ | ✓ |
| 2 | Contact_Name | String | ✓ | ✓ |
| 3 | String | ✓ | ✓ | |
| 4 | Is_Default_Org | Boolean | ✓ | ✓ |
| 5 | Language_Code | String | ✓ | ✓ |
| 6 | Fiscal_Year_Start_Month | String | ✓ | ✓ |
| 7 | Account_Created_Date | Date | ✓ | ✓ |
| 8 | Time_Zone | String | ✓ | ✓ |
| 9 | Is_Org_Active | Boolean | ✓ | ✓ |
| 10 | Currency_Id | String | ✓ | ✓ |
| 11 | Currency_Code | String | ✓ | ✓ |
| 12 | Currency_Symbol | String | ✓ | ✓ |
| 13 | Currency_Format | String | ✓ | ✓ |
| 14 | Price_Precision | Number | ✓ | ✓ |
| 15 | Is_Retainerinvoice_Enabled | Boolean | ✓ | |
| 16 | Previous_Invoicing_Option | String | ✓ | |
| 17 | Role_Id | String | ✓ | |
| 18 | Custom_Field_Type | Number | ✓ | ✓ |
| 19 | Weight_Unit | String | ✓ | |
| 20 | User_Role | String | ✓ | |
| 21 | Is_Sez | Boolean | ✓ | |
| 22 | Business_Type | String | ✓ | |
| 23 | Is_Trial_Period_Extended | Boolean | ✓ | ✓ |
| 24 | Is_Portal_Enabled | Boolean | ✓ | |
| 25 | Logo_Url | String | ✓ | |
| 26 | Date_Format | String | ✓ | |
| 27 | Store_Logo_Url | String | ✓ | |
| 28 | Field_Separator | String | ✓ | ✓ |
| 29 | Is_Estimate_Enabled | Boolean | ✓ | |
| 30 | Is_Public_Domain | Boolean | ✓ | |
| 31 | Primary_Domain_Name | String | ✓ | |
| 32 | Can_Show_Authentication_Warning | Boolean | ✓ | |
| 33 | Remit_To_Address | String | ✓ | |
| 34 | Tax_Id_Label | String | ✓ | |
| 35 | Fiscal_Year_Start_Date | Number | ✓ | |
| 36 | Service_User_Number | String | ||
| 37 | Is_Free_Zone | Boolean | ✓ | ✓ |
| 38 | Industry_Type | String | ✓ | |
| 39 | Industry_Size | String | ✓ | |
| 40 | Is_Designated_Zone | Boolean | ✓ | ✓ |
| 41 | Is_Project_Enabled | Boolean | ✓ | |
| 42 | Previous_Product_Option | String | ✓ | |
| 43 | Company_Id_Label | String | ✓ | |
| 44 | Store_Url | String | ✓ | |
| 45 | Company_Id_Value | String | ✓ | |
| 46 | Tax_Basis | String | ✓ | |
| 47 | Is_New_Customer_Custom_Fields | Boolean | ✓ | |
| 48 | Tax_Id_Value | String | ✓ | |
| 49 | Version | String | ✓ | ✓ |
| 50 | Unverified_Emails_Count | Number | ✓ | |
| 51 | Fax | String | ✓ | |
| 52 | Status | String | ✓ | |
| 53 | Is_Registered_For_Gst | Boolean | ✓ | ✓ |
| 54 | Address_Country | String | ✓ | |
| 55 | Address_Street_Address1 | String | ✓ | |
| 56 | Address_City | String | ✓ | |
| 57 | Address_Street_Address2 | String | ✓ | |
| 58 | Address_Longitude | String | ✓ | |
| 59 | Address_State | String | ✓ | |
| 60 | Address_State_Code | String | ✓ | |
| 61 | Address_Zip | String | ✓ | |
| 62 | Address_Latitude | String | ✓ | |
| 63 | Tax_Settings_Tax_Reg_No | String | ✓ | |
| 64 | Tax_Settings_Is_Tax_Registered | Boolean | ✓ | |
| 65 | Tax_Settings_Tax_Registered_Date | String | BH, DE, SA, AE | |
| 66 | Tax_Settings_Tax_Reg_No_Label | String | BH, DE, SA, AE | |
| 67 | Tax_Settings_International_Trade_Enabled | String | BH, DE, SA, AE | |
| 68 | Tax_Settings_Flat_Rate_Scheme | String | ||
| 69 | Tax_Settings_Flat_Rate_Percentage | String | ||
| 70 | Tax_Settings_Tax_Return_Start_Date | String | BH, DE, SA, AE | |
| 71 | Phone | String | ✓ | ✓ |
| 72 | Org_Address | String | ✓ | |
| 73 | Website | String | ✓ | |
| 74 | Dimension_Unit | String | ✓ | |
| 75 | Is_Late_Fee_Disabled | Boolean | ✓ | |
| 76 | Portal_Name | String | ✓ | |
| 77 | Is_Purchaseorder_Enabled | Boolean | ✓ | |
| 78 | Is_Salesorder_Enabled | Boolean | ✓ | |
| 79 | Mode | String | ✓ | ✓ |
| 80 | Payments_Url | String | ✓ | |
| 81 | Is_Composition_Scheme_Enabled | String | ||
| 82 | Tax_Group_Enabled | Boolean | ✓ | |
| 83 | Source | Number | ✓ | |
| 84 | IsOrgNotSupported | Boolean | ✓ | |
| 85 | Is_Registered_For_Tax | Boolean | ✓ | |
| 86 | Partners_Domain | String | ✓ | |
| 87 | State | String | ✓ | |
| 88 | Country | String | ✓ | |
| 89 | Digital_Signature_Mode | String | ✓ | |
| 90 | Country_Code | String | ✓ | |
| 91 | Org_Settings | Boolean | ✓ | |
| 92 | Is_Ziedition | Boolean | ✓ | |
| 93 | Account_Created_Date_Formatted | Date | ✓ | |
| 94 | Is_Tax_Registered | Boolean | ✓ | |
| 95 | Zoho_One_Org | String | ✓ | |
| 96 | Org_Type | String | ✓ | |
| 97 | Is_Sku_Enabled | Boolean | ✓ | |
| 98 | State_Code | String | ✓ | |
| 99 | Zi_Zb_Edition | Number | ✓ | |
| 100 | User_Status | Number | ✓ | |
| 101 | Org_Created_App_Source | Number | ✓ | |
| 102 | Zi_Zb_Client | Number | ✓ | |
| 103 | Can_Show_Document_Tab | Boolean | ✓ | |
| 104 | Is_Solo_Org | Boolean | ✓ | |
| 105 | Sales_Tax_Type | String | ✓ | |
| 106 | Version_Formatted | String | ✓ | |
| 107 | Is_Gst_India_Version | Boolean | ✓ | |
| 108 | User_Status_Formatted | String | ✓ | |
| 109 | Is_Sales_Inclusive_Tax_Enabled | Boolean | ✓ | |
| 110 | Is_Search460_Enabled | String | ✓ | |
| 111 | Is_International_Trade_Enabled | Boolean | ✓ | |
| 112 | Time_Zone_Formatted | String | ✓ | |
| 113 | Can_Change_Timezone | Boolean | ✓ | |
| 114 | Is_Quick_Setup_Completed | Boolean | ✓ | |
| 115 | Is_Dsign_Required | Boolean | ✓ | |
| 116 | Can_Sign_Invoice | Boolean | ✓ | |
| 117 | Is_User_Dsign_Mandatory | Boolean | ✓ | |
| 118 | Plan_Type | Number | ✓ | |
| 119 | IsOrgActive | Boolean | ✓ | |
| 120 | Plan_Name | String | ✓ | |
| 121 | Is_Hsn_Or_Sac_Enabled | Boolean | ✓ | |
| 122 | Plan_Period | String | ✓ | |
| 123 | Is_Trial_Expired | Boolean | ✓ | |
| 124 | Is_Invoice_Pmt_Tds_Allowed | Boolean | ✓ | |
| 125 | Is_Scan_Preference_Enabled | Boolean | ✓ | |
| 126 | Is_User_Accountant | Boolean | ✓ | |
| 127 | Org_Action | String | ✓ | |
| 128 | AppList | Array | ✓ | |
| 129 | Is_Zpayroll_Grid | Boolean | ✓ | |
| 130 | Is_Po_Enabled | String | ||
| 131 | Is_Inventory_Enabled | String | ||
| 132 | Is_Trial_Extended | String | ||
| 133 | Zi_Migration_Status | String | ||
| 134 | Is_Bill_Of_Supply_Enabled | String | ||
| 135 | Org_Joined_App_List | Array | ✓ | ✓ |
Project
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Project_Id | String | ✓ | ✓ |
| 1 | Project_Name | String | ✓ | ✓ |
| 2 | Customer_Id | String | ✓ | ✓ |
| 3 | Customer_Name | String | ✓ | ✓ |
| 4 | Currency_Code | String | ✓ | |
| 5 | Description | String | ✓ | ✓ |
| 6 | Status | String | ✓ | ✓ |
| 7 | Billing_Type | String | ✓ | ✓ |
| 8 | Rate | Number | ✓ | ✓ |
| 9 | Budget_Type | String | ✓ | |
| 10 | Total_Hours | String | ✓ | ✓ |
| 11 | Total_Amount | Number | ✓ | |
| 12 | Billed_Hours | String | ✓ | |
| 13 | Billed_Amount | Number | ✓ | |
| 14 | Un_Billed_Hours | String | ✓ | |
| 15 | Un_Billed_Amount | Number | ✓ | |
| 16 | Billable_Hours | String | ✓ | ✓ |
| 17 | Billable_Amount | Number | ✓ | |
| 18 | Non_Billable_Hours | String | ✓ | |
| 19 | Cost_Budget_Amount | Number | ✓ | |
| 20 | Is_Recurrence_Associated | String | ||
| 21 | Created_Time | Timestamp | ✓ | ✓ |
| 22 | Last_Modified_Time | Timestamp | ✓ | |
| 23 | Show_In_Dashboard | Boolean | ✓ | |
| 24 | Project_Head_Id | String | ✓ | |
| 25 | Unused_Retainer_Payments | Number | ✓ | |
| 26 | Budget_Amount | Number | ✓ | |
| 27 | Customer_Email | String | ✓ | |
| 28 | Created_By_Id | String | ✓ | |
| 29 | Budget_Threshold | Number | ✓ | |
| 30 | Is_From_Zoho_Projects | Boolean | ✓ | |
| 31 | Currency_Id | String | ✓ | |
| 32 | Project_Code | String | ✓ | ✓ |
| 33 | Customer_Vat_Treatment | String | GB | |
| 34 | Customer_First_Name | String | ✓ | |
| 35 | Hours_Per_Day | String | ✓ | |
| 36 | Photo_Url | String | ✓ | |
| 37 | Billing_Rate_Frequency | String | ✓ | |
| 38 | Is_Budget_Threshold_Notification_Enabled | Boolean | ✓ | |
| 39 | Is_Client_Approval_Needed | Boolean | ✓ | |
| 40 | Zohoworkerly_Project_Id | String | ✓ | |
| 41 | Is_User_Approval_Needed | Boolean | ✓ | |
| 42 | Project_Head_Name | String | ✓ | |
| 43 | Is_Valid_Project_Head | Boolean | ✓ | |
| 44 | Budget_Threshold_Formatted | String | ✓ | |
| 45 | Is_Expense_Inclusive | Number | ✓ | |
| 46 | Total_Amount_Expense_Inclusive | String | ✓ | |
| 47 | Last_Modified_By_Id | String | ✓ | |
| 48 | Non_Billable_Amount | Number | ✓ | |
| 49 | Is_From_Zoho_People | Boolean | ✓ | |
| 50 | Has_Active_Recurring_Profiles | Boolean | ✓ | |
| 51 | Zohopeople_Project_Id | String | ✓ | |
| 52 | Can_Be_Invoiced | Boolean | ✓ | |
| 53 | Other_Service_App_Source | String | ✓ | |
| 54 | Has_Attachment | Boolean | ✓ | |
| 55 | Users_Working | Number | ✓ | |
| 56 | Recurring_Invoices | String | ||
| 57 | Tasks | Array | ✓ | |
| 58 | Users | Array | ✓ | |
| 59 | Documents | Array | ✓ | |
| 60 | Accounts_Budgets | Array | ✓ |
Purchase_Order
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Purchaseorder_Id | String | ✓ | ✓ |
| 1 | Vat_Treatment | String | GB | |
| 2 | Gst_No | String | IN | |
| 3 | Gst_Treatment | String | IN | |
| 4 | Tax_Treatment | String | BH, DE, SA, AE, OM, IN, GB | |
| 5 | Is_Pre_Gst | String | IN | |
| 6 | Source_Of_Supply | String | IN | |
| 7 | Destination_Of_Supply | String | IN | |
| 8 | Place_Of_Supply | String | BH, DE, SA, AE, OM | |
| 9 | Pricebook_Id | String | ||
| 10 | Pricebook_Name | String | ||
| 11 | Is_Reverse_Charge_Applied | String | BH, DE, SA, AE, OM, IN, GB | |
| 12 | Purchaseorder_Number | String | ✓ | ✓ |
| 13 | Date | String | ✓ | ✓ |
| 14 | Expected_Delivery_Date | Date | ✓ | |
| 15 | Discount | Number | ✓ | |
| 16 | Discount_Account_Id | String | ✓ | |
| 17 | Is_Discount_Before_Tax | Boolean | ✓ | |
| 18 | Reference_Number | String | ✓ | ✓ |
| 19 | Status | String | ✓ | ✓ |
| 20 | Vendor_Id | String | ✓ | ✓ |
| 21 | Vendor_Name | String | ✓ | ✓ |
| 22 | Crm_Owner_Id | String | ||
| 23 | Currency_Id | String | ✓ | ✓ |
| 24 | Currency_Code | String | ✓ | ✓ |
| 25 | Currency_Symbol | String | ✓ | |
| 26 | Exchange_Rate | Number | ✓ | |
| 27 | Delivery_Date | Date | ✓ | ✓ |
| 28 | Is_Emailed | Boolean | ✓ | |
| 29 | Is_Inclusive_Tax | Boolean | ✓ | |
| 30 | Sub_Total | Number | ✓ | |
| 31 | Tax_Total | Number | ✓ | |
| 32 | Total | Number | ✓ | ✓ |
| 33 | Acquisition_Vat_Total | String | ||
| 34 | Reverse_Charge_Vat_Total | String | ||
| 35 | Billing_Address_Address | String | ✓ | |
| 36 | Billing_Address_Street2 | String | ✓ | |
| 37 | Billing_Address_City | String | ✓ | |
| 38 | Billing_Address_State | String | ✓ | |
| 39 | Billing_Address_Zip | String | ✓ | |
| 40 | Billing_Address_Country | String | ✓ | |
| 41 | Billing_Address_Fax | String | ✓ | |
| 42 | Billing_Address_Attention | String | ✓ | |
| 43 | Notes | String | ✓ | |
| 44 | Terms | String | ✓ | |
| 45 | Ship_Via | String | ✓ | |
| 46 | Ship_Via_Id | String | ✓ | |
| 47 | Attention | String | ✓ | |
| 48 | Delivery_Org_Address_Id | String | ✓ | |
| 49 | Delivery_Customer_Id | String | ✓ | |
| 50 | Delivery_Address_Zip | String | ✓ | |
| 51 | Delivery_Address_Is_Verifiable | String | SA | |
| 52 | Delivery_Address_State | String | ✓ | |
| 53 | Delivery_Address_Address1 | String | ✓ | |
| 54 | Delivery_Address_Address2 | String | ✓ | |
| 55 | Delivery_Address_Is_Valid | String | SA | |
| 56 | Delivery_Address_City | String | ✓ | |
| 57 | Delivery_Address_Country | String | ✓ | |
| 58 | Delivery_Address_Address | String | ✓ | |
| 59 | Delivery_Address_Email | String | SA | |
| 60 | Delivery_Address_Is_Primary | String | SA | |
| 61 | Delivery_Address_Organization_Address_Id | String | ✓ | |
| 62 | Delivery_Address_Phone | String | ✓ | |
| 63 | Delivery_Address_Is_Verified | String | SA | |
| 64 | Price_Precision | Number | ✓ | ✓ |
| 65 | Attachment_Name | String | ✓ | |
| 66 | Can_Send_In_Mail | Boolean | ✓ | |
| 67 | Template_Id | String | ✓ | |
| 68 | Template_Name | String | ✓ | |
| 69 | Page_Width | String | ✓ | |
| 70 | Page_Height | String | ✓ | |
| 71 | Orientation | String | ✓ | |
| 72 | Template_Type | String | ✓ | |
| 73 | Created_By_Id | String | ✓ | |
| 74 | Created_Time | Timestamp | ✓ | ✓ |
| 75 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 76 | Can_Mark_As_Bill | Boolean | ✓ | |
| 77 | Can_Mark_As_Unbill | Boolean | ✓ | |
| 78 | Order_Status | String | ✓ | ✓ |
| 79 | Tds_Calculation_Type | String | ✓ | |
| 80 | Submitted_By_Name | String | ✓ | |
| 81 | Contact_Category | String | ✓ | |
| 82 | Payment_Terms | Number | ✓ | |
| 83 | Tax_Rounding | String | ✓ | |
| 84 | Current_Sub_Status_Id | String | ✓ | ✓ |
| 85 | Client_Viewed_Time | Timestamp | ✓ | ✓ |
| 86 | Is_Viewed_By_Client | Boolean | ✓ | ✓ |
| 87 | Is_Adv_Tracking_In_Receive | Boolean | ✓ | |
| 88 | Billed_Status | String | ✓ | ✓ |
| 89 | Billing_Address_Id | String | ✓ | |
| 90 | Color_Code | String | ✓ | ✓ |
| 91 | Sub_Total_Inclusive_Of_Tax | Number | ✓ | |
| 92 | Submitted_Date | Date | ✓ | |
| 93 | Current_Sub_Status | String | ✓ | ✓ |
| 94 | Billing_Address_Phone | String | ✓ | |
| 95 | Submitted_By_Email | String | ✓ | |
| 96 | Has_Qty_Cancelled | Boolean | ✓ | |
| 97 | Total_Quantity | Number | ✓ | |
| 98 | Submitted_By_Photo_Url | String | ✓ | |
| 99 | Tax_Override_Preference | String | GO, AU, CA, GB | |
| 100 | Discount_Applied_On_Amount | Number | ✓ | |
| 101 | Adjustment | Number | ✓ | |
| 102 | Adjustment_Description | String | ✓ | |
| 103 | Discount_Amount | Number | ✓ | |
| 104 | Submitter_Id | String | ✓ | |
| 105 | Discount_Type | String | ✓ | |
| 106 | Payment_Terms_Label | String | ✓ | |
| 107 | Submitted_By | String | ✓ | |
| 108 | Approver_Id | String | ✓ | |
| 109 | Delivery_Customer_Address_Id | String | ✓ | |
| 110 | Has_Attachment | Boolean | ✓ | |
| 111 | Company_Name | String | ✓ | |
| 112 | Due_In_Days | String | ✓ | |
| 113 | Quantity_Marked_As_Received | Number | ✓ | |
| 114 | Delivery_Days | String | ✓ | |
| 115 | Due_By_Days | String | ✓ | |
| 116 | Quantity_Yet_To_Receive | Number | ✓ | |
| 117 | Tax_Override | String | IN | |
| 118 | Tds_Override_Preference | String | GO, IN | |
| 119 | Tds_Summary | String | IN | |
| 120 | Is_Discount_Tax_Inclusive | String | AU | |
| 121 | Tax_Reg_No | String | BH, DE, SA, AE, OM | |
| 122 | Documents | Array | ✓ | |
| 123 | Contact_Persons | Array | ✓ | |
| 124 | Line_Items | Array | ✓ | |
| 125 | Taxes | Array | ✓ | |
| 126 | Acquisition_Vat_Summary | String | ||
| 127 | Reverse_Charge_Vat_Summary | String | ||
| 128 | Bills | Array | ✓ | |
| 129 | Sub_Statuses | Array | ✓ | |
| 130 | Approvers_List | Array | ✓ | |
| 131 | Salesorders | Array | ✓ | |
| 132 | Receives | Array | ✓ |
Recurring_Bill
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Recurring_Bill_Id | String | ✓ | ✓ |
| 1 | Recurrence_Name | String | ✓ | ✓ |
| 2 | Recurrence_Frequency | String | ✓ | ✓ |
| 3 | Next_Bill_Date | Date | ✓ | ✓ |
| 4 | Status | String | ✓ | ✓ |
| 5 | Total | Number | ✓ | ✓ |
| 6 | Last_Sent_Date | Date | ✓ | ✓ |
| 7 | Vendor_Id | String | ✓ | ✓ |
| 8 | Vendor_Name | String | ✓ | ✓ |
| 9 | Start_Date | Date | ✓ | ✓ |
| 10 | End_Date | Date | ✓ | ✓ |
| 11 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 12 | Repeat_Every | Number | ✓ | ✓ |
| 13 | Created_Time | Timestamp | ✓ | ✓ |
| 14 | Tax_Rounding | String | ✓ | |
| 15 | Currency_Code | String | ✓ | |
| 16 | Is_Item_Level_Tax_Calc | Boolean | ✓ | |
| 17 | Discount_Setting | String | ✓ | |
| 18 | Reference_Id | String | ✓ | |
| 19 | Vat_Treatment | String | GB | |
| 20 | Adjustment_Description | String | ✓ | |
| 21 | Contact_Category | String | ✓ | |
| 22 | Is_Reverse_Charge_Applied | String | BH, DE, SA, AE, OM, IN, GB | |
| 23 | Tax_Treatment | String | BH, DE, SA, AE, OM, IN, GB | |
| 24 | Tds_Calculation_Type | String | ✓ | |
| 25 | Tds_Tax_Name | String | ✓ | |
| 26 | Currency_Id | String | ✓ | |
| 27 | Payment_Terms | Number | ✓ | |
| 28 | Payment_Terms_Label | String | ✓ | |
| 29 | Discount_Amount | Number | ✓ | |
| 30 | Price_Precision | Number | ✓ | |
| 31 | Is_Inclusive_Tax | Boolean | ✓ | |
| 32 | Template_Id | String | ✓ | |
| 33 | Exchange_Rate | Number | ✓ | |
| 34 | Terms | String | ✓ | |
| 35 | Last_Modified_By_Id | String | ✓ | |
| 36 | Track_Discount_In_Account | Boolean | ✓ | |
| 37 | Discount_Account_Id | String | ✓ | |
| 38 | Subject_Content | String | ✓ | |
| 39 | Discount | Number | ✓ | |
| 40 | Sub_Total | Number | ✓ | |
| 41 | Tax_Total | Number | ✓ | |
| 42 | Adjustment | Number | ✓ | |
| 43 | Discount_Type | String | ✓ | |
| 44 | Discount_Applied_On_Amount | Number | ✓ | |
| 45 | Notes | String | ✓ | |
| 46 | Is_Discount_Before_Tax | Boolean | ✓ | |
| 47 | Created_By_Id | String | ✓ | |
| 48 | Template_Name | String | ✓ | |
| 49 | Tds_Percent | String | IN | |
| 50 | Tds_Amount | String | IN | |
| 51 | Source_Of_Supply | String | IN | |
| 52 | Destination_Of_Supply | String | IN | |
| 53 | Gst_No | String | IN | |
| 54 | Gst_Treatment | String | IN | |
| 55 | Tds_Tax_Id | String | IN | |
| 56 | Tax_Account_Id | String | IN | |
| 57 | Is_Pre_Gst | String | IN | |
| 58 | Is_Tds_Amount_In_Percent | String | IN | |
| 59 | Tds_Section | String | IN | |
| 60 | Tax_Override | String | IN | |
| 61 | Tds_Override_Preference | String | GO, IN | |
| 62 | Place_Of_Supply | String | BH, DE, SA, AE, OM | |
| 63 | Tax_Reg_No | String | BH, DE, SA, AE, OM | |
| 64 | Permit_Number | String | BH, SA, AE, OM | |
| 65 | Abn | String | AU | |
| 66 | Is_Discount_Tax_Inclusive | String | AU | |
| 67 | Is_Abn_Quoted | String | AU | |
| 68 | Tax_On_Discount_Preference | String | AU | |
| 69 | Billing_Address_Id | String | ✓ | |
| 70 | Billing_Address_Address | String | ✓ | |
| 71 | Billing_Address_Country | String | ✓ | |
| 72 | Billing_Address_Street2 | String | ✓ | |
| 73 | Billing_Address_City | String | ✓ | |
| 74 | Billing_Address_Fax | String | ✓ | |
| 75 | Billing_Address_State | String | ✓ | |
| 76 | Billing_Address_Zip | String | ✓ | |
| 77 | Billing_Address_Phone | String | ✓ | |
| 78 | Billing_Address_Attention | String | ✓ | |
| 79 | Tds_Summary | String | IN | |
| 80 | Taxes | Array | ✓ | |
| 81 | Line_Items | Array | ✓ |
Recurring_Expense
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Recurring_Expense_Id | String | ✓ | ✓ |
| 1 | Recurrence_Name | String | ✓ | ✓ |
| 2 | Start_Date | Date | ✓ | |
| 3 | End_Date | Date | ✓ | |
| 4 | Is_Pre_Gst | String | IN | |
| 5 | Source_Of_Supply | String | IN | |
| 6 | Destination_Of_Supply | String | IN | |
| 7 | Place_Of_Supply | String | BH, DE, SA, AE, OM | |
| 8 | Gst_No | String | IN | |
| 9 | Gst_Treatment | String | IN | |
| 10 | Tax_Treatment | String | BH, DE, SA, AE, OM, IN, GB | |
| 11 | Destination_Of_Supply_State | String | IN | |
| 12 | Hsn_Or_Sac | String | IN | |
| 13 | Vat_Treatment | String | GB | |
| 14 | Reverse_Charge_Tax_Id | String | BH, DE, SA, AE, OM, IN, GB | |
| 15 | Reverse_Charge_Tax_Name | String | ||
| 16 | Reverse_Charge_Tax_Percentage | String | ||
| 17 | Reverse_Charge_Tax_Amount | String | ||
| 18 | Is_Reverse_Charge_Applied | String | BH, DE, SA, AE, OM, IN, GB | |
| 19 | Acquisition_Vat_Total | String | ||
| 20 | Reverse_Charge_Vat_Total | String | ||
| 21 | Recurrence_Frequency | String | ✓ | ✓ |
| 22 | Repeat_Every | Number | ✓ | ✓ |
| 23 | Amount | Number | ✓ | |
| 24 | Total | Number | ✓ | ✓ |
| 25 | Sub_Total | Number | ✓ | |
| 26 | Bcy_Total | Number | ✓ | |
| 27 | Product_Type | String | BH, DE, SA, AE, OM, IN, GB | |
| 28 | Acquisition_Vat_Id | String | ||
| 29 | Reverse_Charge_Vat_Id | String | ||
| 30 | Tax_Id | String | ✓ | |
| 31 | Tax_Name | String | ✓ | |
| 32 | Tax_Percentage | Number | ✓ | |
| 33 | Created_Time | Timestamp | ✓ | ✓ |
| 34 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 35 | Is_Inclusive_Tax | Boolean | ✓ | |
| 36 | Is_Billable | Boolean | ✓ | ✓ |
| 37 | Customer_Id | String | ✓ | |
| 38 | Currency_Id | String | ✓ | ✓ |
| 39 | Exchange_Rate | Number | ✓ | |
| 40 | Project_Id | String | ✓ | |
| 41 | Project_Name | String | ✓ | |
| 42 | Paid_Through_Account_Id | String | ✓ | |
| 43 | Paid_Through_Account_Name | String | ✓ | ✓ |
| 44 | Vendor_Id | String | ✓ | |
| 45 | Vendor_Name | String | ✓ | ✓ |
| 46 | Vendor_Country_Code | String | ✓ | |
| 47 | Tax_Exemption_Code | String | BH, DE, SA, AE, OM, AU, IN, GB | |
| 48 | Next_Expense_Date | Date | ✓ | ✓ |
| 49 | Last_Created_Date | Date | ✓ | ✓ |
| 50 | Markup_Percent | Number | ✓ | |
| 51 | Account_Id | String | ✓ | |
| 52 | Account_Name | String | ✓ | ✓ |
| 53 | Created_By_Id | String | ✓ | |
| 54 | Status | String | ✓ | ✓ |
| 55 | Currency_Code | String | ✓ | ✓ |
| 56 | Employee_Id | String | ✓ | |
| 57 | Employee_Name | String | ✓ | |
| 58 | Employee_Email | String | ✓ | |
| 59 | Tax_Amount | Number | ✓ | |
| 60 | Tax_Exemption_Id | String | BH, DE, SA, AE, OM, AU, IN, GB | |
| 61 | Customer_Vat_Treatment | String | GB | |
| 62 | Tax_Name_Formatted | String | ✓ | |
| 63 | Itc_Eligibility | String | BH, SA, AE, OM, IN, GB | |
| 64 | Description | String | ✓ | ✓ |
| 65 | Customer_Name | String | ✓ | ✓ |
| 66 | Last_Modified_By_Id | String | ✓ | |
| 67 | Mileage_Rate | Number | ✓ | |
| 68 | Mileage_Unit | String | ✓ | |
| 69 | Gst_Treatment_Code | String | IN | |
| 70 | Tax_Reg_No | String | BH, DE, SA, AE, OM | |
| 71 | Line_Items | Array | ✓ | |
| 72 | Acquisition_Vat_Summary | String | ||
| 73 | Reverse_Charge_Vat_Summary | String | ||
| 74 | Tags | Array | ✓ |
Recurring_Invoice
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Recurring_Invoice_Id | String | ✓ | ✓ |
| 1 | Recurrence_Name | String | ✓ | ✓ |
| 2 | Reference_Number | String | ✓ | ✓ |
| 3 | Status | String | ✓ | ✓ |
| 4 | Total | Number | ✓ | ✓ |
| 5 | Customer_Id | String | ✓ | ✓ |
| 6 | Customer_Name | String | ✓ | ✓ |
| 7 | Child_Entity_Type | String | ✓ | ✓ |
| 8 | Recurrence_Frequency | String | ✓ | ✓ |
| 9 | Repeat_Every | Number | ✓ | ✓ |
| 10 | Is_Pre_Gst | String | IN | |
| 11 | Gst_No | String | IN | |
| 12 | Gst_Treatment | String | IN | |
| 13 | Tax_Treatment | String | BH, DE, SA, AE, OM, IN, GB | |
| 14 | Cfdi_Usage | String | ||
| 15 | Vat_Treatment | String | GB | |
| 16 | Place_Of_Supply | String | BH, DE, SA, AE, OM, IN | |
| 17 | Currency_Id | String | ✓ | |
| 18 | Currency_Code | String | ✓ | |
| 19 | Currency_Symbol | String | ✓ | |
| 20 | Created_Time | Timestamp | ✓ | ✓ |
| 21 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 22 | Created_By_Id | String | ✓ | |
| 23 | Last_Modified_By_Id | String | ✓ | |
| 24 | Start_Date | Date | ✓ | ✓ |
| 25 | End_Date | Date | ✓ | ✓ |
| 26 | Last_Sent_Date | Date | ✓ | ✓ |
| 27 | Next_Invoice_Date | Date | ✓ | ✓ |
| 28 | Avatax_Exempt_No | String | ||
| 29 | Avatax_Use_Code | String | ||
| 30 | Salesperson_Id | String | ✓ | ✓ |
| 31 | Salesperson_Name | String | ✓ | ✓ |
| 32 | Last_Four_Digits | String | ✓ | |
| 33 | Subject_Content | String | ✓ | |
| 34 | Payment_Terms | Number | ✓ | |
| 35 | Payment_Terms_Label | String | ✓ | |
| 36 | Is_Taxable | String | All except GO, KW, QA | |
| 37 | Contact_Category | String | ✓ | |
| 38 | Customer_Email | String | ✓ | |
| 39 | Customer_Phone | String | ✓ | |
| 40 | Customer_Mobile_Phone | String | ✓ | |
| 41 | Photo_Url | String | ✓ | |
| 42 | Company_Name | String | ✓ | |
| 43 | Contact_Persons | Array | ✓ | |
| 44 | Price_Precision | Number | ✓ | |
| 45 | Exchange_Rate | Number | ✓ | |
| 46 | Discount | Number | ✓ | |
| 47 | Discount_Applied_On_Amount | Number | ✓ | |
| 48 | Is_Discount_Before_Tax | Boolean | ✓ | |
| 49 | Discount_Type | String | ✓ | |
| 50 | Tax_Rounding | String | ✓ | |
| 51 | Is_Inclusive_Tax | Boolean | ✓ | |
| 52 | Paid_Invoices_Total | Number | ✓ | |
| 53 | Unpaid_Invoices_Balance | Number | ✓ | |
| 54 | Is_Reverse_Charge_Applied | String | ||
| 55 | Bcy_Shipping_Charge | Number | ✓ | |
| 56 | Bcy_Adjustment | Number | ✓ | |
| 57 | Bcy_Sub_Total | Number | ✓ | |
| 58 | Bcy_Discount_Total | Number | ✓ | |
| 59 | Bcy_Tax_Total | Number | ✓ | |
| 60 | Bcy_Total | Number | ✓ | |
| 61 | Bcy_Shipping_Charge_Tax | String | DE, GO, AU, CA, IN, GB, US | |
| 62 | Discount_Percent | Number | ✓ | |
| 63 | Discount_Total | Number | ✓ | |
| 64 | Adjustment | Number | ✓ | |
| 65 | Adjustment_Description | String | ✓ | |
| 66 | Recurrence_Preferences | String | ✓ | |
| 67 | Is_General_Preference | Boolean | ✓ | |
| 68 | Shipping_Charge_Tax_Id | String | DE, GO, AU, CA, IN, GB, US | |
| 69 | Shipping_Charge_Tax_Name | String | DE, GO, AU, CA, IN, GB, US | |
| 70 | Shipping_Charge_Tax_Type | String | DE, GO, AU, CA, IN, GB, US | |
| 71 | Shipping_Charge_Tax_Percentage | String | DE, GO, AU, CA, IN, GB, US | |
| 72 | Shipping_Charge_Tax_Exemption_Id | String | DE, AU, CA, IN, GB, US | |
| 73 | Shipping_Charge_Tax_Exemption_Code | String | DE, AU, CA, IN, GB, US | |
| 74 | Shipping_Charge_Tax | String | DE, GO, AU, CA, IN, GB, US | |
| 75 | Shipping_Charge_Exclusive_Of_Tax | String | DE, GO, AU, CA, IN, GB, US | |
| 76 | Shipping_Charge_Inclusive_Of_Tax | String | DE, GO, AU, CA, IN, GB, US | |
| 77 | Shipping_Charge_Tax_Formatted | String | DE, GO, AU, CA, IN, GB, US | |
| 78 | Shipping_Charge_Exclusive_Of_Tax_Formatted | String | DE, GO, AU, CA, IN, GB, US | |
| 79 | Shipping_Charge_Inclusive_Of_Tax_Formatted | String | DE, GO, AU, CA, IN, GB, US | |
| 80 | Shipping_Charge | Number | ✓ | |
| 81 | Roundoff_Value | Number | ✓ | |
| 82 | Transaction_Rounding_Type | String | ✓ | |
| 83 | Sub_Total | Number | ✓ | |
| 84 | Sub_Total_Inclusive_Of_Tax | Number | ✓ | |
| 85 | Tax_Total | Number | ✓ | |
| 86 | Reverse_Charge_Tax_Total | String | BH, DE, IN, GB | |
| 87 | Allow_Partial_Payments | Boolean | ✓ | |
| 88 | Tds_Calculation_Type | String | ✓ | |
| 89 | Template_Id | String | ✓ | |
| 90 | Template_Name | String | ✓ | |
| 91 | Page_Width | String | ✓ | |
| 92 | Page_Height | String | ✓ | |
| 93 | Orientation | String | ✓ | |
| 94 | Notes | String | ✓ | |
| 95 | Terms | String | ✓ | |
| 96 | Actual_Child_Invoices_Count | Number | ✓ | |
| 97 | Manual_Child_Invoices_Count | Number | ✓ | |
| 98 | Is_Autobill_Enabled | Boolean | ✓ | |
| 99 | Unpaid_Child_Invoices_Count | String | ✓ | |
| 100 | Tax_Specification | String | IN | |
| 101 | Shipping_Charge_Sac_Code | String | IN | |
| 102 | Tds_Override_Preference | String | GO, IN | |
| 103 | Contact_Number | String | DE | |
| 104 | Tax_Exemption_Code | String | AU, CA, US | |
| 105 | Tax_Authority_Id | String | AU, CA, US | |
| 106 | Tax_Exemption_Id | String | AU, CA, US | |
| 107 | Tax_Authority_Name | String | AU, CA, US | |
| 108 | Tax_Override_Preference | String | GO, CA, US | |
| 109 | Tax_Reg_No | String | BH, DE, SA, AE, OM | |
| 110 | Billing_Address_Address | String | ✓ | |
| 111 | Billing_Address_Street2 | String | ✓ | |
| 112 | Billing_Address_City | String | ✓ | |
| 113 | Billing_Address_State | String | ✓ | |
| 114 | Billing_Address_Zip | String | ✓ | |
| 115 | Billing_Address_Country | String | ✓ | |
| 116 | Billing_Address_Fax | String | ✓ | |
| 117 | Billing_Address_Phone | String | ✓ | |
| 118 | Billing_Address_Attention | String | ✓ | |
| 119 | Shipping_Address_Address | String | ✓ | |
| 120 | Shipping_Address_Street2 | String | ✓ | |
| 121 | Shipping_Address_City | String | ✓ | |
| 122 | Shipping_Address_State | String | ✓ | |
| 123 | Shipping_Address_Zip | String | ✓ | |
| 124 | Shipping_Address_Country | String | ✓ | |
| 125 | Shipping_Address_Fax | String | ✓ | |
| 126 | Shipping_Address_Phone | String | ✓ | |
| 127 | Shipping_Address_Attention | String | ✓ | |
| 128 | Line_Items | Array | ✓ | |
| 129 | Payment_Options | Object | ✓ | |
| 130 | Taxes | Array | ✓ | |
| 131 | Comments | Array | ✓ | |
| 132 | Project_Details | Array | ✓ | |
| 133 | Tds_Summary | String | IN | |
| 134 | Payment_Options_Payment_Gateways | Array | ✓ |
Retainer_Invoice
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | RetainerInvoice_Id | String | ✓ | ✓ |
| 1 | Retainerinvoice_Number | String | ✓ | ✓ |
| 2 | Date | String | ✓ | ✓ |
| 3 | Status | String | ✓ | ✓ |
| 4 | Is_Pre_Gst | String | IN | |
| 5 | Place_Of_Supply | String | BH, DE, SA, AE, OM, IN | |
| 6 | Project_Id | String | ||
| 7 | Project_Name | String | ✓ | |
| 8 | Last_Payment_Date | Date | ✓ | ✓ |
| 9 | Reference_Number | String | ✓ | ✓ |
| 10 | Customer_Id | String | ✓ | ✓ |
| 11 | Customer_Name | String | ✓ | ✓ |
| 12 | Currency_Id | String | ✓ | ✓ |
| 13 | Currency_Code | String | ✓ | ✓ |
| 14 | Currency_Symbol | String | ✓ | |
| 15 | Exchange_Rate | Number | ✓ | |
| 16 | Is_Viewed_By_Client | Boolean | ✓ | ✓ |
| 17 | Client_Viewed_Time | Timestamp | ✓ | ✓ |
| 18 | Is_Inclusive_Tax | Boolean | ✓ | |
| 19 | Sub_Total | Number | ✓ | |
| 20 | Total | Number | ✓ | ✓ |
| 21 | Payment_Made | Number | ✓ | |
| 22 | Payment_Drawn | Number | ✓ | |
| 23 | Balance | Number | ✓ | ✓ |
| 24 | Allow_Partial_Payments | Boolean | ✓ | |
| 25 | Price_Precision | Number | ✓ | |
| 26 | Is_Emailed | Boolean | ✓ | ✓ |
| 27 | Notes | String | ✓ | |
| 28 | Terms | String | ✓ | |
| 29 | Template_Id | String | ✓ | |
| 30 | Template_Name | String | ✓ | |
| 31 | Page_Width | String | ✓ | |
| 32 | Page_Height | String | ✓ | |
| 33 | Orientation | String | ✓ | |
| 34 | Template_Type | String | ✓ | |
| 35 | Created_Time | Timestamp | ✓ | ✓ |
| 36 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 37 | Created_By_Id | String | ✓ | |
| 38 | Attachment_Name | String | ✓ | |
| 39 | Can_Send_In_Mail | Boolean | ✓ | |
| 40 | Invoice_Url | String | ✓ | |
| 41 | Roundoff_Value | Number | ✓ | |
| 42 | Current_Sub_Status | String | ✓ | ✓ |
| 43 | Vat_Treatment | String | GB | |
| 44 | Mail_Last_Viewed_Time | String | ||
| 45 | Color_Code | String | ✓ | ✓ |
| 46 | Payments | Array | ✓ | |
| 47 | Current_Sub_Status_Id | String | ✓ | ✓ |
| 48 | Unused_Retainer_Payments | Number | ✓ | |
| 49 | Tax_Treatment | String | DE, GB | |
| 50 | Transaction_Rounding_Type | String | ✓ | |
| 51 | Tax_Reg_No | String | BH, DE, SA, AE, OM, IN, GB | |
| 52 | Submitted_Date | Date | ✓ | |
| 53 | Tax_Rounding | String | ✓ | |
| 54 | Submitted_By_Photo_Url | String | ✓ | |
| 55 | Mail_First_Viewed_Time | String | ||
| 56 | Billing_Address_Address | String | ✓ | |
| 57 | Billing_Address_Street2 | String | ✓ | |
| 58 | Billing_Address_City | String | ✓ | |
| 59 | Billing_Address_State | String | ✓ | |
| 60 | Billing_Address_Zip | String | ✓ | |
| 61 | Billing_Address_Country | String | ✓ | |
| 62 | Billing_Address_Fax | String | ✓ | |
| 63 | Billing_Address_Phone | String | ✓ | |
| 64 | Billing_Address_Attention | String | ✓ | |
| 65 | Shipping_Address_Address | String | ✓ | |
| 66 | Shipping_Address_City | String | ✓ | |
| 67 | Shipping_Address_State | String | ✓ | |
| 68 | Shipping_Address_Zip | String | ✓ | |
| 69 | Shipping_Address_Country | String | ✓ | |
| 70 | Shipping_Address_Fax | String | ✓ | |
| 71 | Shipping_Address_Street2 | String | ✓ | |
| 72 | Shipping_Address_Phone | String | ✓ | |
| 73 | Shipping_Address_Attention | String | ✓ | |
| 74 | Last_Modified_By_Id | String | ✓ | |
| 75 | Submitted_By | String | ✓ | |
| 76 | Submitted_By_Name | String | ✓ | |
| 77 | Submitted_By_Email | String | ✓ | |
| 78 | Ach_Payment_Initiated | Boolean | ✓ | ✓ |
| 79 | Estimate_Number | String | ✓ | |
| 80 | Project_Or_Estimate_Name | String | ✓ | |
| 81 | Has_Attachment | Boolean | ✓ | |
| 82 | Tax_Specification | String | IN | |
| 83 | Special_Transaction_Type | String | SA | SA |
| 84 | Contact_Number | String | DE | |
| 85 | Contact_Persons | Array | ✓ | |
| 86 | Line_Items | Array | ✓ | |
| 87 | Taxes | Array | ✓ | |
| 88 | Documents | Array | ✓ | |
| 89 | Payment_Options | Object | ✓ | |
| 90 | Approvers_List | Array | ✓ | |
| 91 | Sub_Statuses | Array | ✓ | |
| 92 | Payment_Options_Payment_Gateways | Array | ✓ |
Salesorder
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Salesorder_Id | String | ✓ | ✓ |
| 1 | Is_Pre_Gst | String | IN | |
| 2 | Gst_No | String | IN | |
| 3 | Gst_Treatment | String | IN | |
| 4 | Place_Of_Supply | String | BH, DE, SA, AE, OM, IN | |
| 5 | Vat_Treatment | String | GB | |
| 6 | Tax_Treatment | String | BH, DE, SA, AE, OM, IN, GB | |
| 7 | Zcrm_Potential_Id | String | ✓ | ✓ |
| 8 | Zcrm_Potential_Name | String | ✓ | ✓ |
| 9 | Salesorder_Number | String | ✓ | ✓ |
| 10 | Date | String | ✓ | ✓ |
| 11 | Status | String | ✓ | ✓ |
| 12 | Shipment_Date | Date | ✓ | ✓ |
| 13 | Reference_Number | String | ✓ | ✓ |
| 14 | Customer_Id | String | ✓ | ✓ |
| 15 | Customer_Name | String | ✓ | ✓ |
| 16 | Currency_Id | String | ✓ | ✓ |
| 17 | Currency_Code | String | ✓ | ✓ |
| 18 | Currency_Symbol | String | ✓ | |
| 19 | Exchange_Rate | Number | ✓ | |
| 20 | Discount_Amount | String | ||
| 21 | Discount | Number | ✓ | |
| 22 | Discount_Applied_On_Amount | Number | ✓ | |
| 23 | Is_Discount_Before_Tax | Boolean | ✓ | |
| 24 | Discount_Type | String | ✓ | |
| 25 | Estimate_Id | String | ✓ | |
| 26 | Delivery_Method | String | ✓ | ✓ |
| 27 | Delivery_Method_Id | String | ✓ | ✓ |
| 28 | Is_Inclusive_Tax | Boolean | ✓ | |
| 29 | Shipping_Charge | Number | ✓ | |
| 30 | Adjustment | Number | ✓ | |
| 31 | Adjustment_Description | String | ✓ | |
| 32 | Sub_Total | Number | ✓ | |
| 33 | Tax_Total | Number | ✓ | |
| 34 | Total | Number | ✓ | ✓ |
| 35 | Price_Precision | Number | ✓ | |
| 36 | Is_Emailed | Boolean | ✓ | ✓ |
| 37 | Notes | String | ✓ | |
| 38 | Terms | String | ✓ | |
| 39 | Template_Id | String | ✓ | |
| 40 | Template_Name | String | ✓ | |
| 41 | Page_Width | String | ✓ | |
| 42 | Page_Height | String | ✓ | |
| 43 | Orientation | String | ✓ | |
| 44 | Template_Type | String | ✓ | |
| 45 | Created_Time | Timestamp | ✓ | ✓ |
| 46 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 47 | Created_By_Id | String | ✓ | |
| 48 | Attachment_Name | String | ✓ | |
| 49 | Can_Send_In_Mail | Boolean | ✓ | |
| 50 | Salesperson_Id | String | ✓ | |
| 51 | Salesperson_Name | String | ✓ | ✓ |
| 52 | Merchant_Id | String | ✓ | |
| 53 | Merchant_Name | String | ✓ | |
| 54 | Order_Status | String | ✓ | ✓ |
| 55 | Bcy_Shipping_Charge | Number | ✓ | |
| 56 | Discount_Percent | Number | ✓ | |
| 57 | Billing_Address_Phone | String | ✓ | |
| 58 | Billing_Address_Country_Code | String | ✓ | |
| 59 | Billing_Address_State_Code | String | ✓ | |
| 60 | Roundoff_Value | Number | ✓ | |
| 61 | Offline_Created_Date_With_Time | Date | ✓ | |
| 62 | Paid_Status | String | ✓ | ✓ |
| 63 | Tds_Calculation_Type | String | ✓ | |
| 64 | Tracking_Url | String | ✓ | |
| 65 | Has_Discount | Boolean | ✓ | |
| 66 | Approver_Id | String | ✓ | |
| 67 | Submitter_Id | String | ✓ | |
| 68 | Bcy_Shipping_Charge_Tax | String | DE, GO, AU, CA, IN, GB, US | |
| 69 | Color_Code | String | ✓ | ✓ |
| 70 | Submitted_By_Email | String | ✓ | |
| 71 | Tax_Rounding | String | ✓ | |
| 72 | Current_Sub_Status_Id | String | ✓ | ✓ |
| 73 | Payment_Terms_Label | String | ✓ | |
| 74 | Is_Taxable | String | All except GO, KW, QA | |
| 75 | Current_Sub_Status | String | ✓ | ✓ |
| 76 | Pickup_Location_Id | String | ✓ | ✓ |
| 77 | Source | String | ✓ | ✓ |
| 78 | Created_Date | Date | ✓ | |
| 79 | Contact_Category | String | ✓ | |
| 80 | Submitted_By_Name | String | ✓ | |
| 81 | Submitted_By | String | ✓ | |
| 82 | Has_Shipping_Address | Boolean | ✓ | |
| 83 | Bcy_Adjustment | Number | ✓ | |
| 84 | Sub_Total_Exclusive_Of_Discount | Number | ✓ | |
| 85 | Shipping_Charge_Tax | String | DE, GO, AU, CA, IN, GB, US | |
| 86 | Invoiced_Status | String | ✓ | ✓ |
| 87 | Shipping_Charge_Inclusive_Of_Tax_Formatted | String | DE, GO, AU, CA, IN, GB, US | |
| 88 | Account_Identifier | String | ✓ | |
| 89 | Shipping_Charge_Inclusive_Of_Tax | String | DE, GO, AU, CA, IN, GB, US | |
| 90 | Created_By_Email | String | ✓ | |
| 91 | Integration_Id | String | ✓ | |
| 92 | Last_Modified_By_Id | String | ✓ | |
| 93 | Shipping_Charge_Tax_Name | String | DE, GO, AU, CA, IN, GB, US | |
| 94 | Submitted_Date | Date | ✓ | |
| 95 | Has_Qty_Cancelled | Boolean | ✓ | |
| 96 | Is_Reverse_Charge_Applied | String | ||
| 97 | Created_By_Name | String | ✓ | |
| 98 | Total_Quantity | Number | ✓ | |
| 99 | Shipping_Address_Id | String | ✓ | |
| 100 | Entity_Tags | String | ✓ | |
| 101 | Submitted_By_Photo_Url | String | ✓ | |
| 102 | Bcy_Sub_Total | Number | ✓ | |
| 103 | Billing_Address_Id | String | ✓ | |
| 104 | Is_Test_Order | Boolean | ✓ | |
| 105 | Shipping_Charge_Tax_Percentage | String | DE, GO, AU, CA, IN, GB, US | |
| 106 | Payment_Terms | Number | ✓ | |
| 107 | Bcy_Total | Number | ✓ | ✓ |
| 108 | Is_Adv_Tracking_In_Package | Boolean | ✓ | |
| 109 | Shipping_Charge_Tax_Id | String | DE, GO, AU, CA, IN, GB, US | |
| 110 | Shipping_Charge_Tax_Type | String | DE, GO, AU, CA, IN, GB, US | |
| 111 | Shipping_Charge_Tax_Exemption_Id | String | DE, AU, CA, IN, GB, US | |
| 112 | Shipping_Charge_Tax_Exemption_Code | String | DE, AU, CA, IN, GB, US | |
| 113 | Shipping_Charge_Exclusive_Of_Tax | String | DE, GO, AU, CA, IN, GB, US | |
| 114 | Shipping_Charge_Tax_Formatted | String | DE, GO, AU, CA, IN, GB, US | |
| 115 | Shipping_Charge_Exclusive_Of_Tax_Formatted | String | DE, GO, AU, CA, IN, GB, US | |
| 116 | Transaction_Rounding_Type | String | ✓ | |
| 117 | Sub_Total_Inclusive_Of_Tax | Number | ✓ | |
| 118 | Discount_Total | Number | ✓ | |
| 119 | Bcy_Discount_Total | Number | ✓ | |
| 120 | Bcy_Tax_Total | Number | ✓ | |
| 121 | Computation_Type | String | ✓ | |
| 122 | Reverse_Charge_Tax_Total | String | BH, DE, IN, GB | |
| 123 | Contact_Unused_Customer_Credits | Number | ✓ | |
| 124 | Contact_Customer_Balance | Number | ✓ | |
| 125 | Contact_Credit_Limit | Number | ✓ | |
| 126 | Contact_Is_Credit_Limit_Migration_Completed | Boolean | ✓ | |
| 127 | Balance | Number | ✓ | |
| 128 | Billing_Address_Address | String | ✓ | |
| 129 | Billing_Address_Street2 | String | ✓ | |
| 130 | Billing_Address_City | String | ✓ | |
| 131 | Billing_Address_State | String | ✓ | |
| 132 | Billing_Address_Zip | String | ✓ | |
| 133 | Billing_Address_Country | String | ✓ | |
| 134 | Billing_Address_Fax | String | ✓ | |
| 135 | Billing_Address_Attention | String | ✓ | |
| 136 | Shipping_Address_Address | String | ✓ | |
| 137 | Shipping_Address_Street2 | String | ✓ | |
| 138 | Shipping_Address_City | String | ✓ | |
| 139 | Shipping_Address_State | String | ✓ | |
| 140 | Shipping_Address_Zip | String | ✓ | |
| 141 | Shipping_Address_Country | String | ✓ | |
| 142 | Shipping_Address_Phone | String | ✓ | |
| 143 | Shipping_Address_Country_Code | String | ✓ | |
| 144 | Shipping_Address_State_Code | String | ✓ | |
| 145 | Shipping_Address_Fax | String | ✓ | |
| 146 | Shipping_Address_Attention | String | ✓ | |
| 147 | Has_Attachment | Boolean | ✓ | |
| 148 | Delivery_Date | Date | ✓ | |
| 149 | String | ✓ | ||
| 150 | Company_Name | String | ✓ | |
| 151 | Custom_Fields_List | String | ✓ | |
| 152 | Due_By_Days | String | ✓ | |
| 153 | Shipment_Days | String | ✓ | |
| 154 | Due_In_Days | String | ✓ | |
| 155 | Total_Invoiced_Amount | Number | ✓ | |
| 156 | Quantity_Invoiced | Number | ✓ | |
| 157 | Order_Fulfillment_Type | String | ✓ | |
| 158 | Invoice_Conversion_Type | String | IN | |
| 159 | Tds_Override_Preference | String | GO, IN | |
| 160 | Tax_Specification | String | IN | |
| 161 | Tax_Override_Preference | String | GO, CA, US | |
| 162 | Shipping_Charge_Sac_Code | String | IN | |
| 163 | Merchant_Gst_No | String | IN | |
| 164 | Tax_Reg_No | String | BH, DE, SA, AE, OM | |
| 165 | Contact_Contact_Number | String | DE | |
| 166 | Documents | Array | ✓ | |
| 167 | Contact_Persons | Array | ✓ | |
| 168 | Line_Items | Array | ✓ | |
| 169 | Taxes | Array | ✓ | |
| 170 | Purchaseorders | Array | ✓ | |
| 171 | Sub_Statuses | Array | ✓ | |
| 172 | Contact_Person_Details | Array | ✓ | |
| 173 | Invoices | Array | ✓ | |
| 174 | Approvers_List | Array | ✓ | |
| 175 | Tds_Summary | String | IN |
Salesreceipt
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Sales_Receipt_Id | String | ✓ | ✓ |
| 1 | Notes | String | ✓ | ✓ |
| 2 | Reference_Number | String | ✓ | ✓ |
| 3 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 4 | Receipt_Number | String | ✓ | ✓ |
| 5 | Status | String | ✓ | ✓ |
| 6 | Salesperson_Name | String | ✓ | ✓ |
| 7 | Exchange_Rate | Number | ✓ | ✓ |
| 8 | Date | String | ✓ | ✓ |
| 9 | Txn_Posting_Date | Date | ✓ | ✓ |
| 10 | Payment_Mode | Number | ✓ | ✓ |
| 11 | Customer_Name | String | ✓ | ✓ |
| 12 | Currency_Id | String | ✓ | ✓ |
| 13 | Total | Number | ✓ | ✓ |
| 14 | Payment_Mode_Formatted | String | ✓ | |
| 15 | Company_Name | String | ✓ | |
| 16 | Payment_Mode_Name | String | ✓ | ✓ |
| 17 | Customer_Id | String | ✓ | ✓ |
| 18 | Currency_Code | String | ✓ | ✓ |
| 19 | Created_Time | Timestamp | ✓ | ✓ |
| 20 | Salesperson_Id | String | ✓ | ✓ |
| 21 | Created_By | String | ✓ | |
| 22 | Tax_Rounding | String | ✓ | |
| 23 | Discount_Applied_On_Amount | Number | ✓ | |
| 24 | Discount_Amount | String | ||
| 25 | Page_Width | String | ✓ | |
| 26 | Computation_Type | String | ✓ | |
| 27 | Can_Send_Sms | String | ✓ | |
| 28 | Bcy_Sub_Total | Number | ✓ | |
| 29 | Shipping_Charge_Exclusive_Of_Tax | Number | ✓ | |
| 30 | Shipping_Charge_Tax | String | ✓ | |
| 31 | Discount | Number | ✓ | |
| 32 | Bcy_Adjustment | Number | ✓ | |
| 33 | Shipping_Charge_Tax_Exemption_Code | String | CA, US | |
| 34 | Is_Discount_Before_Tax | Boolean | ✓ | |
| 35 | Bcy_Discount_Total | Number | ✓ | |
| 36 | Contact_Category | String | ✓ | |
| 37 | Shipping_Address_Address | String | ✓ | |
| 38 | Shipping_Address_Phone | String | ✓ | |
| 39 | Shipping_Address_Street2 | String | ✓ | |
| 40 | Shipping_Address_Fax | String | ✓ | |
| 41 | Shipping_Address_State | String | ✓ | |
| 42 | Shipping_Address_City | String | ✓ | |
| 43 | Shipping_Address_Zip | String | ✓ | |
| 44 | Shipping_Address_Country | String | ✓ | |
| 45 | Shipping_Address_Attention | String | ✓ | |
| 46 | Currency_Symbol | String | ✓ | |
| 47 | Adjustment_Description | String | ✓ | |
| 48 | Shipping_Charge_Tax_Exemption_Id | String | CA, US | |
| 49 | Shipping_Charge_Tax_Id | String | ✓ | |
| 50 | Payment_Discount | Number | ✓ | |
| 51 | Sub_Total_Inclusive_Of_Tax | Number | ✓ | |
| 52 | Roundoff_Value | Number | ✓ | |
| 53 | Shipping_Charge_Exclusive_Of_Tax_Formatted | String | ✓ | |
| 54 | Discount_Type | String | ✓ | |
| 55 | Is_Inclusive_Tax | Boolean | ✓ | |
| 56 | Bcy_Shipping_Charge_Tax | String | ✓ | |
| 57 | Shipping_Charge_Tax_Name | String | ✓ | |
| 58 | Shipping_Charge_Tax_Type | String | ✓ | |
| 59 | Page_Height | String | ✓ | |
| 60 | Shipping_Charge_Tax_Percentage | String | ✓ | |
| 61 | Shipping_Charge_Inclusive_Of_Tax | Number | ✓ | |
| 62 | Shipping_Charge_Tax_Formatted | String | ✓ | |
| 63 | Shipping_Charge_Inclusive_Of_Tax_Formatted | String | ✓ | |
| 64 | Bcy_Tax_Total | Number | ✓ | |
| 65 | Template_Name | String | ✓ | |
| 66 | Shipping_Charge | Number | ✓ | |
| 67 | Discount_Percent | Number | ✓ | |
| 68 | Adjustment | Number | ✓ | |
| 69 | Orientation | String | ✓ | |
| 70 | Transaction_Rounding_Type | String | ✓ | |
| 71 | Terms | String | ✓ | |
| 72 | Sub_Total | Number | ✓ | |
| 73 | Tax_Total | Number | ✓ | |
| 74 | Discount_Total | Number | ✓ | |
| 75 | Bcy_Shipping_Charge | Number | ✓ | |
| 76 | Deposit_To_Account_Name | String | ✓ | |
| 77 | Bcy_Total | Number | ✓ | |
| 78 | Tax_Amount_Withheld | Number | ✓ | |
| 79 | Price_Precision | Number | ✓ | |
| 80 | Template_Id | String | ✓ | |
| 81 | Status_Formatted | String | ✓ | ✓ |
| 82 | No_Of_Copies | String | GO | |
| 83 | Show_No_Of_Copies | String | GO | |
| 84 | Billing_Address_Address | String | ✓ | |
| 85 | Billing_Address_Phone | String | ✓ | |
| 86 | Billing_Address_Street2 | String | ✓ | |
| 87 | Billing_Address_Fax | String | ✓ | |
| 88 | Billing_Address_State | String | ✓ | |
| 89 | Billing_Address_City | String | ✓ | |
| 90 | Billing_Address_Zip | String | ✓ | |
| 91 | Billing_Address_Country | String | ✓ | |
| 92 | Billing_Address_Attention | String | ✓ | |
| 93 | Customer_Default_Billing_Address_Zip | String | ✓ | |
| 94 | Customer_Default_Billing_Address_Country | String | ✓ | |
| 95 | Customer_Default_Billing_Address_Address | String | ✓ | |
| 96 | Customer_Default_Billing_Address_Phone | String | ✓ | |
| 97 | Customer_Default_Billing_Address_City | String | ✓ | |
| 98 | Customer_Default_Billing_Address_Street2 | String | ✓ | |
| 99 | Customer_Default_Billing_Address_Fax | String | ✓ | |
| 100 | Customer_Default_Billing_Address_State | String | ✓ | |
| 101 | Customer_Default_Billing_Address_State_Code | String | ✓ | |
| 102 | Template_Type | String | ✓ | |
| 103 | Includes_Package_Tracking_Info | Boolean | ✓ | |
| 104 | Created_Date | Date | ✓ | |
| 105 | Created_By_Id | String | ✓ | |
| 106 | Last_Modified_By_Id | String | ✓ | |
| 107 | Can_Send_In_Mail | Boolean | ✓ | |
| 108 | Sales_Receipt_Url | String | ✓ | |
| 109 | Subject_Content | String | ✓ | |
| 110 | Deposit_To_Account_Id | String | ✓ | |
| 111 | Is_Taxable | String | CA, US | |
| 112 | Filed_In_Vat_Return_Id | String | CA | |
| 113 | Filed_In_Vat_Return_Type | String | CA | |
| 114 | Filed_In_Vat_Return_Name | String | CA | |
| 115 | Taxes | Array | ✓ | |
| 116 | Imported_Transactions | Array | ✓ | |
| 117 | Line_Items | Array | ✓ | |
| 118 | Contact_Persons | Array | ✓ | |
| 119 | Contact_Persons_Details | Array | ✓ | |
| 120 | Documents | Array | ✓ |
Task
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Project_Id | String | ✓ | ✓ |
| 1 | Task_Id | String | ✓ | ✓ |
| 2 | Currency_Id | String | ✓ | |
| 3 | Customer_Id | String | ✓ | |
| 4 | Task_Name | String | ✓ | ✓ |
| 5 | Project_Name | String | ✓ | ✓ |
| 6 | Customer_Name | String | ✓ | |
| 7 | Billed_Hours | String | ✓ | |
| 8 | Log_Time | Timestamp | ✓ | |
| 9 | Un_Billed_Hours | String | ✓ | |
| 10 | Is_Billable | Boolean | ✓ | ✓ |
| 11 | Description | String | ✓ | ✓ |
| 12 | Rate | Number | ✓ | |
| 13 | Status | String | ✓ | ✓ |
| 14 | Task_Custom_Fields | Array | ✓ | |
| 15 | Zohopeople_Job_Id | String | ✓ |
Tax
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Tax_Id | String | ✓ | ✓ |
| 1 | Tax_Name | String | ✓ | ✓ |
| 2 | Tax_Name_Formatted | String | ✓ | |
| 3 | Tax_Percentage | Number | ✓ | ✓ |
| 4 | Tax_Type | String | ✓ | ✓ |
| 5 | Tax_Factor | String | ||
| 6 | Tds_Payable_Account_Id | String | GO, IN | |
| 7 | Tax_Authority_Id | String | All except GO, IN | All except GO, IN |
| 8 | Tax_Authority_Name | String | All except GO, IN | All except GO, IN |
| 9 | Is_Value_Added | String | GO, CA, US | GO, CA, US |
| 10 | Tax_Specific_Type | String | ✓ | ✓ |
| 11 | Country | String | DE, SA, OM, GB | DE, SA, OM, GB |
| 12 | Country_Code | String | DE, SA, OM, GB | DE, SA, OM, GB |
| 13 | Purchase_Tax_Expense_Account_Id | String | US | |
| 14 | Is_State_Cess | String | IN | |
| 15 | End_Date | String | IN | IN |
| 16 | Start_Date | String | IN | IN |
| 17 | Tax_Specification | String | IN | IN |
| 18 | Diff_Rate_Reason | String | IN | IN |
| 19 | Tax_Account_Id | String | DE, GO, CA | DE, GO, CA |
| 20 | Tax_Account_Tracking | String | DE, GO, CA | |
| 21 | Purchase_Tax_Account_Id | String | DE, GO, CA | DE, GO, CA |
| 22 | Purchase_Tax_Account_Name | String | DE, GO, CA | DE, GO, CA |
| 23 | Output_Tax_Account_Name | String | DE, GO, CA | DE, GO, CA |
| 24 | Is_Editable | Boolean | ✓ | |
| 25 | Is_Inactive | Boolean | ✓ | |
| 26 | Is_Default_Tax | Boolean | ✓ | |
| 27 | Status | String | ✓ | |
| 28 | Last_Modified_Time | Timestamp | ✓ |
Time_Entry
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Time_Entry_Id | String | ✓ | ✓ |
| 1 | Project_Id | String | ✓ | ✓ |
| 2 | Project_Name | String | ✓ | ✓ |
| 3 | Customer_Id | String | ✓ | ✓ |
| 4 | Customer_Name | String | ✓ | ✓ |
| 5 | Task_Id | String | ✓ | ✓ |
| 6 | Task_Name | String | ✓ | ✓ |
| 7 | User_Id | String | ✓ | ✓ |
| 8 | User_Name | String | ✓ | ✓ |
| 9 | Is_Current_User | Boolean | ✓ | ✓ |
| 10 | Log_Date | Date | ✓ | ✓ |
| 11 | Begin_Time | Timestamp | ✓ | ✓ |
| 12 | End_Time | Timestamp | ✓ | ✓ |
| 13 | Log_Time | Timestamp | ✓ | ✓ |
| 14 | Is_Billable | Boolean | ✓ | ✓ |
| 15 | Is_Paused | Boolean | ✓ | ✓ |
| 16 | Billed_Status | String | ✓ | ✓ |
| 17 | Invoice_Id | String | ✓ | ✓ |
| 18 | Notes | String | ✓ | ✓ |
| 19 | Timer_Started_At | String | ✓ | ✓ |
| 20 | Timer_Started_At_Utc_Time | Timestamp | ✓ | |
| 21 | Timer_Duration_In_Minutes | Number | ✓ | ✓ |
| 22 | Timer_Duration_In_Seconds | Number | ✓ | |
| 23 | Created_Time | Timestamp | ✓ | ✓ |
| 24 | Timesheet_Custom_Fields | String | ✓ | |
| 25 | Zohopeople_Time_Entry_Id | Timestamp | ✓ | ✓ |
| 26 | Can_Create_User_Approval | Boolean | ✓ | |
| 27 | Project_Head_Name | String | ✓ | |
| 28 | Customer_First_Name | String | ✓ | |
| 29 | Can_Create_Client_Approval | Boolean | ✓ | |
| 30 | Project_Head_Id | String | ✓ | |
| 31 | Can_Be_Invoiced | Boolean | ✓ | |
| 32 | Logged_Day | Number | ✓ | |
| 33 | Can_Continue_Timer | Boolean | ✓ | |
| 34 | Billing_Rate_Frequency | String | ✓ | |
| 35 | Is_Client_Approval_Needed | Boolean | ✓ | |
| 36 | Invoice_Number | String | ✓ |
Users
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | User_Id | String | ✓ | ✓ |
| 1 | Role_Id | String | ✓ | ✓ |
| 2 | Name | String | ✓ | ✓ |
| 3 | String | ✓ | ✓ | |
| 4 | User_Role | String | ✓ | ✓ |
| 5 | Status | String | ✓ | ✓ |
| 6 | Is_Current_User | Boolean | ✓ | |
| 7 | Photo_Url | String | ✓ | ✓ |
| 8 | Is_Customer_Segmented | Boolean | ✓ | ✓ |
| 9 | Is_Vendor_Segmented | Boolean | ✓ | ✓ |
| 10 | User_Type | String | ✓ | ✓ |
| 11 | Mobile | String | ✓ | ✓ |
| 12 | Default_Branch_Id | String | ✓ | |
| 13 | Billing_Rate | Number | ✓ | |
| 14 | Is_Super_Admin | Boolean | ✓ | ✓ |
| 15 | Is_Accountant | Boolean | ✓ | |
| 16 | Role_Role | Object | ✓ | |
| 17 | Role_Role_Id | String | ✓ | |
| 18 | Role_Name | String | ✓ | |
| 19 | Role_Email | String | ✓ | |
| 20 | Role_Zuid | String | ✓ | |
| 21 | Is_Employee | Boolean | ✓ | ✓ |
| 22 | Is_Associated_For_Approval | Boolean | ✓ | |
| 23 | Is_Claimant | Boolean | ✓ | |
| 24 | Invitation_Type | String | ✓ | ✓ |
| 25 | Created_Time | Timestamp | ✓ | |
| 26 | Is_Associated_With_Org_Email | Boolean | ✓ | |
| 27 | Email_Ids | Array | ✓ | |
| 28 | Associated_Clients | Array | ✓ |
Vendor_Credit
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Vendor_Credit_Id | String | ✓ | ✓ |
| 1 | Vendor_Credit_Number | String | ✓ | ✓ |
| 2 | Date | String | ✓ | ✓ |
| 3 | Source_Of_Supply | String | IN | |
| 4 | Destination_Of_Supply | String | IN | |
| 5 | Place_Of_Supply | String | BH, DE, SA, AE, OM | |
| 6 | Gst_No | String | IN | |
| 7 | Gst_Treatment | String | IN | |
| 8 | Tax_Treatment | String | BH, DE, SA, AE, OM, IN, GB | |
| 9 | Pricebook_Id | String | ||
| 10 | Is_Reverse_Charge_Applied | String | BH, DE, SA, AE, OM, IN, GB | |
| 11 | Status | String | ✓ | ✓ |
| 12 | Reference_Number | String | ✓ | ✓ |
| 13 | Vendor_Id | String | ✓ | ✓ |
| 14 | Vendor_Name | String | ✓ | ✓ |
| 15 | Currency_Id | String | ✓ | ✓ |
| 16 | Currency_Code | String | ✓ | ✓ |
| 17 | Exchange_Rate | Number | ✓ | |
| 18 | Price_Precision | Number | ✓ | |
| 19 | Vat_Treatment | String | GB | |
| 20 | Filed_In_Vat_Return_Id | String | BH, DE, SA, AE, OM, AU, CA, IN, GB | |
| 21 | Filed_In_Vat_Return_Name | String | BH, DE, SA, AE, OM, AU, CA, IN, GB | |
| 22 | Filed_In_Vat_Return_Type | String | BH, DE, SA, AE, OM, AU, CA, IN, GB | |
| 23 | Is_Inclusive_Tax | Boolean | ✓ | |
| 24 | Acquisition_Vat_Total | String | ||
| 25 | Reverse_Charge_Vat_Total | String | ||
| 26 | Sub_Total | Number | ✓ | |
| 27 | Total | Number | ✓ | ✓ |
| 28 | Total_Credits_Used | Number | ✓ | |
| 29 | Total_Refunded_Amount | Number | ✓ | |
| 30 | Balance | Number | ✓ | ✓ |
| 31 | Notes | String | ✓ | |
| 32 | Created_Time | Timestamp | ✓ | ✓ |
| 33 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 34 | Submitter_Id | String | ✓ | |
| 35 | Discount_Setting | String | ✓ | |
| 36 | Current_Sub_Status | String | ✓ | ✓ |
| 37 | Bill_Id | String | BH, DE, SA, AE, KW, OM, QA, IN, GB | |
| 38 | Discount_Account_Id | String | ✓ | |
| 39 | Color_Code | String | ✓ | ✓ |
| 40 | Discount_Applied_On_Amount | Number | ✓ | |
| 41 | Bill_Number | String | BH, DE, SA, AE, KW, OM, QA, IN, GB | |
| 42 | Sub_Total_Inclusive_Of_Tax | Number | ✓ | |
| 43 | Current_Sub_Status_Id | String | ✓ | ✓ |
| 44 | Template_Name | String | ✓ | |
| 45 | Currency_Symbol | String | ✓ | |
| 46 | Tds_Calculation_Type | String | ✓ | |
| 47 | Discount | Number | ✓ | |
| 48 | Tax_Rounding | String | ✓ | |
| 49 | Subject_Content | String | ✓ | |
| 50 | Submitted_Date | Date | ✓ | |
| 51 | Template_Type | String | ✓ | |
| 52 | Contact_Category | String | ✓ | |
| 53 | Submitted_By | String | ✓ | |
| 54 | Submitted_By_Name | String | ✓ | |
| 55 | Adjustment_Description | String | ✓ | |
| 56 | Submitted_By_Email | String | ✓ | |
| 57 | Submitted_By_Photo_Url | String | ✓ | |
| 58 | Approver_Id | String | ✓ | |
| 59 | Adjustment | Number | ✓ | |
| 60 | Discount_Type | String | ✓ | |
| 61 | Discount_Amount | Number | ✓ | |
| 62 | Is_Discount_Before_Tax | Boolean | ✓ | |
| 63 | Tax_Override_Preference | String | GO, AU, CA, GB | |
| 64 | Template_Id | String | ✓ | |
| 65 | Page_Width | String | ✓ | |
| 66 | Page_Height | String | ✓ | |
| 67 | Orientation | String | ✓ | |
| 68 | Txn_Posting_Date | Date | ✓ | ✓ |
| 69 | Has_Attachment | Boolean | ✓ | |
| 70 | Tax_Override | String | IN | |
| 71 | Reference_Invoice_Type | String | IN | |
| 72 | Is_Pre_Gst | String | IN | |
| 73 | Can_Amend_Transaction | String | IN | |
| 74 | Reason_For_Debit_Note | String | IN | |
| 75 | Gst_Return_Details_Return_Period | String | IN | |
| 76 | Gst_Return_Details_Status | String | IN | |
| 77 | Tds_Override_Preference | String | GO, IN | |
| 78 | Is_Discount_Tax_Inclusive | String | AU | |
| 79 | Tax_On_Discount_Preference | String | AU | |
| 80 | Discount_Account_Name | String | ✓ | |
| 81 | Tax_Reg_No | String | BH, DE, SA, AE, OM | |
| 82 | Billing_Address_Id | String | ✓ | |
| 83 | Billing_Address_Fax | String | ✓ | |
| 84 | Billing_Address_Address | String | ✓ | |
| 85 | Billing_Address_Street2 | String | ✓ | |
| 86 | Billing_Address_City | String | ✓ | |
| 87 | Billing_Address_State | String | ✓ | |
| 88 | Billing_Address_Phone | String | ✓ | |
| 89 | Billing_Address_Zip | String | ✓ | |
| 90 | Billing_Address_Country | String | ✓ | |
| 91 | Billing_Address_Attention | String | ✓ | |
| 92 | Acquisition_Vat_Summary | String | ||
| 93 | Reverse_Charge_Vat_Summary | String | ||
| 94 | Documents | Array | ✓ | |
| 95 | Comments | Array | ✓ | |
| 96 | Vendor_Credit_Refunds | Array | ✓ | |
| 97 | Bills_Credited | Array | ✓ | |
| 98 | Line_Items | Array | ✓ | |
| 99 | Sub_Statuses | Array | ✓ | |
| 100 | Taxes | Array | ✓ | |
| 101 | Approvers_List | Array | ✓ | |
| 102 | Tds_Summary | String | IN |
Vendor_Payment
| # | Column | API type | LIST | GET |
|---|---|---|---|---|
| 0 | Payment_Id | String | ✓ | ✓ |
| 1 | Vendor_Id | String | ✓ | ✓ |
| 2 | Date | String | ✓ | ✓ |
| 3 | Exchange_Rate | Number | ✓ | ✓ |
| 4 | Amount | Number | ✓ | ✓ |
| 5 | Paid_Through_Account_Id | String | ✓ | ✓ |
| 6 | Payment_Mode | String | ✓ | ✓ |
| 7 | Description | String | ✓ | ✓ |
| 8 | Reference_Number | String | ✓ | ✓ |
| 9 | Is_Paid_Via_Print_Check | Boolean | ✓ | ✓ |
| 10 | Purpose_Code | String | ✓ | |
| 11 | Payment_Number | String | ✓ | ✓ |
| 12 | Last_Modified_Time | Timestamp | ✓ | ✓ |
| 13 | Tax_Account_Name | String | ✓ | |
| 14 | Credit_Account_Id | String | ✓ | |
| 15 | Is_Online_Payment | Boolean | ✓ | |
| 16 | Payment_Number_Suffix | String | ✓ | |
| 17 | Submitted_By_Name | String | ✓ | |
| 18 | Vendor_Name | String | ✓ | ✓ |
| 19 | Tax_Amount_Withheld | Number | ✓ | |
| 20 | Status | String | ✓ | ✓ |
| 21 | Currency_Id | String | ✓ | ✓ |
| 22 | Transfer_Type | String | ✓ | |
| 23 | Payment_Number_Prefix | String | ✓ | |
| 24 | Created_By_Id | String | ✓ | |
| 25 | Billing_Address_Address | String | ✓ | |
| 26 | Billing_Address_Street2 | String | ✓ | |
| 27 | Billing_Address_City | String | ✓ | |
| 28 | Billing_Address_Attention | String | ✓ | |
| 29 | Billing_Address_Phone | String | ✓ | |
| 30 | Billing_Address_State | String | ✓ | |
| 31 | Billing_Address_Country | String | ✓ | |
| 32 | Billing_Address_Zip | String | ✓ | |
| 33 | Billing_Address_Fax | String | ✓ | |
| 34 | Submitted_By_Photo_Url | String | ✓ | |
| 35 | Offset_Account_Name | String | ✓ | |
| 36 | Ach_Payment_Status | String | ✓ | ✓ |
| 37 | Is_Tds_Amount_In_Percent | Boolean | ✓ | |
| 38 | Tds_Tax_Id | String | ✓ | |
| 39 | Tds_Calculation_Type | String | ✓ | |
| 40 | Tax_Account_Id | String | ✓ | |
| 41 | Currency_Code | String | ✓ | ✓ |
| 42 | Created_Time | Timestamp | ✓ | ✓ |
| 43 | Balance | Number | ✓ | ✓ |
| 44 | Currency_Symbol | String | ✓ | |
| 45 | Created_By_Name | String | ✓ | |
| 46 | Paid_Through_Account_Name | String | ✓ | ✓ |
| 47 | Paid_Through_Account_Type | String | ✓ | |
| 48 | Offset_Account_Id | String | ✓ | |
| 49 | Tax_Treatment | String | BH, DE, SA, AE, OM, IN, GB | |
| 50 | Reverse_Charge_Tax_Id | String | BH, DE, IN, GB | |
| 51 | Is_Reverse_Charge_Applied | String | BH, DE, SA, AE, OM, IN, GB | |
| 52 | Bank_Charges | String | DE, KW, OM, QA, GO, AU, CA, US | |
| 53 | Check_Details_Check_Id | String | ✓ | ✓ |
| 54 | Check_Details_Check_Number | String | ✓ | ✓ |
| 55 | Check_Details_Template_Id | String | ✓ | |
| 56 | Check_Details_Check_Status | String | ✓ | ✓ |
| 57 | Check_Details_Memo | String | ✓ | ✓ |
| 58 | Check_Details_Amount_In_Words | String | ✓ | |
| 59 | Check_Details_Is_New_Check_Voucher | String | CA | |
| 60 | Check_Details_Is_New_Check_Voucher_Early_Access | String | CA | |
| 61 | Is_Ach_Payment | Boolean | ✓ | ✓ |
| 62 | Submitted_Date | Date | ✓ | |
| 63 | Submitted_By | String | ✓ | |
| 64 | Submitted_By_Email | String | ✓ | |
| 65 | Submitter_Id | String | ✓ | |
| 66 | Approver_Id | String | ✓ | |
| 67 | Total_Payment_Amount | String | IN | |
| 68 | Indirect_Tcs_Tax_Amount | String | IN | |
| 69 | Txn_Posting_Date | Date | ✓ | ✓ |
| 70 | Gst_No | String | IN | |
| 71 | Indirect_Tcs_Tax_Id | String | IN | |
| 72 | Gst_Return_Details_Return_Period | String | IN | |
| 73 | Gst_Return_Details_Status | String | IN | |
| 74 | Indirect_Tds_Tax_Id | String | IN | |
| 75 | Indirect_Tds_Tax_Amount | String | IN | |
| 76 | Tds_Override_Preference | String | GO, IN | |
| 77 | Product_Description | String | DE, IN | DE, IN |
| 78 | Is_Advance_Payment | String | IN | IN |
| 79 | Destination_Of_Supply | String | IN | |
| 80 | Is_Pre_Gst | String | IN | |
| 81 | Source_Of_Supply | String | IN | |
| 82 | Gst_Treatment | String | IN | |
| 83 | Place_Of_Supply | String | BH, DE, SA, AE, OM | |
| 84 | Ach_Gw_Transaction_Id | String | ✓ | |
| 85 | Bill_Numbers | String | ✓ | |
| 86 | Bcy_Amount | Number | ✓ | |
| 87 | Bcy_Balance | Number | ✓ | |
| 88 | Has_Attachment | Boolean | ✓ | |
| 89 | Bills | Array | ✓ | |
| 90 | Check_Detail | String | ||
| 91 | Documents | Array | ✓ | |
| 92 | Approvers_List | Array | ✓ | |
| 93 | Comments | Array | ✓ | |
| 94 | Vendorpayment_Refunds | Array | ✓ | |
| 95 | Imported_Transactions | Array | ✓ | |
| 96 | Indirect_Tcs_Tax_Details | String | IN | |
| 97 | Indirect_Tds_Tax_Details | String | IN | |
| 98 | Tds_Summary | String | IN |
Multilingual versions
Where a two digit country code is used, refer to this table:
| Region code | Country name |
|---|---|
AE |
United Arab Emirates |
AU |
Australia |
BH |
Bahrain |
CA |
Canada |
DE |
Germany |
GB |
United Kingdom |
GO |
Global GCC |
KW |
Kuwait |
IN |
India |
OM |
Oman |
QA |
Qatar |
SA |
Saudi Arabia |
US |
United States |
Global GCC is the generic Zoho Books API version you're given if you do not reside in a country they directly support.