Querying, updating, and deleting data with the Easysoft Zoho Books ODBC driver
Contents
- Base tables
- Comment tables and views
-
WHERE
clause 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.
INSERT
ing 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'
When 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 Compter", "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. NULL
s 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
DELETE
s 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
:customer
Customer_Sub_Type
:business
Is_Linked_With_Zohocrm
:0
Payment_Terms:0
Payment_Terms_Label
:Due On Receipt
Currency_Id
:576438000000000059
Currency_Code
:USD
Outstanding_Receivable_Amount
:0
Outstanding_Receivable_Amount_Bcy
:0
Unused_Credits_Receivable_Amount
:0
Unused_Credits_Receivable_Amount_Bcy
:0
Status
:active
Track_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", "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/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", "annother@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":"UPDATE
d", "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":"UPDATE
d", "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":"UPDATE
d", "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.