Recurring Expenses
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Recurring expenses are those expenses that repeat itself after a fixed interval of time.
Attribute
place of contact given for the contact will be taken)place of contact given for the contact will be taken)Supported codes for UAE emirates are : Abu Dhabi -
AB,Ajman - AJ,Dubai - DU,Fujairah - FU,Ras al-Khaimah - RA,Sharjah - SH,Umm al-Quwain - UM.Supported codes for the GCC countries are : United Arab Emirates -
AE,Saudi Arabia - SA,Bahrain - BH,Kuwait - KW,Oman - OM,Qatar - QA. business_gst , business_none , overseas , consumer .vat_registered,vat_not_registered,gcc_vat_not_registered,gcc_vat_registered,non_gcc.dz_vat_registered and dz_vat_not_registered are supported only for UAE.For Kenya Edition:
vat_registered ,vat_not_registered ,non_kenya(A business that is located outside Kenya).For SouthAfrica Edition:
vat_registered, vat_not_registered, overseas(A business that is located outside SouthAfrica).uk. If the vendor is in an EU country & VAT registered, you are resides in Northen Ireland and purchasing Goods then his VAT treatment is eu_vat_registered and if he resides outside the UK then his VAT treatment is overseas(For Pre Brexit, this can be split as eu_vat_registered, eu_vat_not_registered and non_eu).For SouthAfrica edition:(Required if customer tax treatment is
vat_registered)Used to specify whether the transaction is applicable for Domestic Reverse Charge (DRC) or not.
For UK edition:
digital_service, goods and service.For SouthAfrica Edition:
service, goods, capital_service and capital_goodsFor SouthAfrica edition:(Required if customer tax treatment is
vat_registered)Used to specify whether the transaction is applicable for Domestic Reverse Charge (DRC) or not.
{
"account_id": 982000000561057,
"recurrence_name": "Monthly Rental",
"start_date": "2016-11-19T00:00:00.000Z",
"end_date": " ",
"is_pre_gst": false,
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"gst_no": "22AAAAA0000A1Z5",
"gst_treatment": "business_gst",
"tax_treatment": "vat_registered",
"destination_of_supply_state": "AP",
"hsn_or_sac": 80540,
"vat_treatment": "eu_vat_not_registered",
"reverse_charge_tax_id": 982000000567254,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 10,
"is_reverse_charge_applied": false,
"acquisition_vat_total": 0,
"reverse_charge_vat_total": 10,
"acquisition_vat_summary": [
{
"tax_name": "SalesTax",
"tax_amount": 11.85
}
],
"reverse_charge_vat_summary": [
{
"tax_name": "SalesTax",
"tax_amount": 11.85
}
],
"recurrence_frequency": "months",
"repeat_every": 1,
"amount": 112.5,
"total": 128.25,
"sub_total": 90,
"bcy_total": 100,
"product_type": "goods",
"acquisition_vat_id": " ",
"reverse_charge_vat_id": " ",
"tax_id": 982000000566007,
"tax_name": "SalesTax",
"tax_percentage": 10.5,
"created_time": "2013-11-18T02:17:40.080Z",
"last_modified_time": " ",
"is_inclusive_tax": false,
"is_billable": true,
"customer_id": 982000000567001,
"currency_id": 982000000567001,
"exchange_rate": 1,
"project_id": " ",
"project_name": " ",
"custom_fields": [
{
"customfield_id": "46000000012845",
"value": "Normal"
}
],
"location_id": "460000000038080",
"location_name": "string",
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
],
"line_item": {
"line_item_id": 10763000000140068,
"account_id": 982000000561057,
"account_name": "Rent",
"description": " ",
"tax_amount": 11.85,
"tax_id": 982000000566007,
"tax_name": "SalesTax",
"tax_type": "tax",
"tax_percentage": 10.5,
"item_total": 100,
"item_order": 1,
"hsn_or_sac": 80540,
"reverse_charge_tax_id": 982000000567254,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 10,
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
]
}
}
Create a recurring expense
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Create a recurring expense.
OAuth Scope : ZohoBooks.expenses.CREATE
Arguments
place of contact given for the contact will be taken)place of contact given for the contact will be taken)Supported codes for UAE emirates are : Abu Dhabi -
AB,Ajman - AJ,Dubai - DU,Fujairah - FU,Ras al-Khaimah - RA,Sharjah - SH,Umm al-Quwain - UM.Supported codes for the GCC countries are : United Arab Emirates -
AE,Saudi Arabia - SA,Bahrain - BH,Kuwait - KW,Oman - OM,Qatar - QA.For SouthAfrica edition:(Required if customer tax treatment is
vat_registered)Used to specify whether the transaction is applicable for Domestic Reverse Charge (DRC) or not.
For UK edition:
digital_service, goods and service.For SouthAfrica Edition:
service, goods, capital_service and capital_goodsFor SouthAfrica edition:(Required if customer tax treatment is
vat_registered)Used to specify whether the transaction is applicable for Domestic Reverse Charge (DRC) or not.
uk. If the vendor is in an EU country & VAT registered, you are resides in Northen Ireland and purchasing Goods then his VAT treatment is eu_vat_registered and if he resides outside the UK then his VAT treatment is overseas(For Pre Brexit, this can be split as eu_vat_registered, eu_vat_not_registered and non_eu).vat_registered,vat_not_registered,gcc_vat_not_registered,gcc_vat_registered,non_gcc.dz_vat_registered and dz_vat_not_registered are supported only for UAE.For Kenya Edition:
vat_registered ,vat_not_registered ,non_kenya(A business that is located outside Kenya).For SouthAfrica Edition:
vat_registered, vat_not_registered, overseas(A business that is located outside SouthAfrica).For UK edition:
digital_service, goods and service.For SouthAfrica Edition:
service, goods, capital_service and capital_goodsQuery Parameters
parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/recurringexpenses?organization_id=10234695"
type: POST
headers: headers_data
content-type: application/json
parameters: parameters_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}");
Request request = new Request.Builder()
.url("https://www.zohoapis.com/books/v3/recurringexpenses?organization_id=10234695")
.post(body)
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'POST',
headers: {
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f',
'content-type': 'application/json'
},
body: '{"field1":"value1","field2":"value2"}'
};
fetch('https://www.zohoapis.com/books/v3/recurringexpenses?organization_id=10234695', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}"
headers = {
'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f",
'content-type': "application/json"
}
conn.request("POST", "/books/v3/recurringexpenses?organization_id=10234695", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "POST",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/books/v3/recurringexpenses?organization_id=10234695",
"headers": {
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f",
"content-type": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({field1: 'value1', field2: 'value2'}));
req.end();
curl --request POST \
--url 'https://www.zohoapis.com/books/v3/recurringexpenses?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
{
"account_id": 982000000561057,
"recurrence_name": "Monthly Rental",
"start_date": "2016-11-19T00:00:00.000Z",
"end_date": " ",
"recurrence_frequency": "months",
"repeat_every": 1,
"gst_no": "22AAAAA0000A1Z5",
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"reverse_charge_tax_id": 982000000567254,
"location_id": "460000000038080",
"line_items": [
{
"line_item_id": 10763000000140068,
"account_id": 982000000561057,
"description": " ",
"amount": 112.5,
"tax_id": 982000000566007,
"item_order": 1,
"product_type": "goods",
"acquisition_vat_id": " ",
"reverse_charge_vat_id": " ",
"reverse_charge_tax_id": 982000000567254,
"tax_exemption_code": "string",
"tax_exemption_id": 982000000567267,
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
]
}
],
"amount": 112.5,
"vat_treatment": "eu_vat_not_registered",
"tax_treatment": "vat_registered",
"product_type": "goods",
"acquisition_vat_id": " ",
"reverse_charge_vat_id": " ",
"tax_id": 982000000566007,
"is_inclusive_tax": false,
"is_billable": true,
"customer_id": 982000000567001,
"project_id": " ",
"currency_id": 982000000567001,
"exchange_rate": 1,
"custom_fields": [
{
"customfield_id": "46000000012845",
"value": "Normal"
}
],
"tags": [
{
"tag_id": "460000000000567",
"tag_option_id": "460000000014044"
}
]
}
{
"code": 0,
"message": "The recurring expense has been created",
"recurring_expense": {
"account_id": 982000000561057,
"recurrence_name": "Monthly Rental",
"start_date": "2016-11-19T00:00:00.000Z",
"end_date": " ",
"is_pre_gst": false,
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"gst_no": "22AAAAA0000A1Z5",
"gst_treatment": "business_gst",
"tax_treatment": "vat_registered",
"destination_of_supply_state": "AP",
"hsn_or_sac": 80540,
"vat_treatment": "eu_vat_not_registered",
"reverse_charge_tax_id": 982000000567254,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 10,
"is_reverse_charge_applied": false,
"acquisition_vat_total": 0,
"reverse_charge_vat_total": 10,
"acquisition_vat_summary": [
{
"tax_name": "SalesTax",
"tax_amount": 11.85
}
],
"reverse_charge_vat_summary": [
{
"tax_name": "SalesTax",
"tax_amount": 11.85
}
],
"recurrence_frequency": "months",
"repeat_every": 1,
"amount": 112.5,
"total": 128.25,
"sub_total": 90,
"bcy_total": 100,
"product_type": "goods",
"acquisition_vat_id": " ",
"reverse_charge_vat_id": " ",
"tax_id": 982000000566007,
"tax_name": "SalesTax",
"tax_percentage": 10.5,
"created_time": "2013-11-18T02:17:40.080Z",
"last_modified_time": " ",
"is_inclusive_tax": false,
"is_billable": true,
"customer_id": 982000000567001,
"currency_id": 982000000567001,
"exchange_rate": 1,
"project_id": " ",
"project_name": " ",
"custom_fields": [
{
"customfield_id": "46000000012845",
"value": "Normal"
}
],
"location_id": "460000000038080",
"location_name": "string",
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
],
"line_item": {
"line_item_id": 10763000000140068,
"account_id": 982000000561057,
"account_name": "Rent",
"description": " ",
"tax_amount": 11.85,
"tax_id": 982000000566007,
"tax_name": "SalesTax",
"tax_type": "tax",
"tax_percentage": 10.5,
"item_total": 100,
"item_order": 1,
"hsn_or_sac": 80540,
"reverse_charge_tax_id": 982000000567254,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 10,
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
]
}
}
}
Update an recurring expense using a custom field's unique value
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
A custom field will have unique values if it's configured to not accept duplicate values. Now, you can use that custom field's value to update a recurring expense by providing its API name in the X-Unique-Identifier-Key header and its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding recurring expense will be retrieved and updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true and the custom field's unique value is not found in any of the existing recurring expenses, a new recurring expense will be created if the necessary payload details are available
OAuth Scope : ZohoBooks.expenses.UPDATE
Arguments
place of contact given for the contact will be taken)place of contact given for the contact will be taken)Supported codes for UAE emirates are : Abu Dhabi -
AB,Ajman - AJ,Dubai - DU,Fujairah - FU,Ras al-Khaimah - RA,Sharjah - SH,Umm al-Quwain - UM.Supported codes for the GCC countries are : United Arab Emirates -
AE,Saudi Arabia - SA,Bahrain - BH,Kuwait - KW,Oman - OM,Qatar - QA.For SouthAfrica edition:(Required if customer tax treatment is
vat_registered)Used to specify whether the transaction is applicable for Domestic Reverse Charge (DRC) or not.
For UK edition:
digital_service, goods and service.For SouthAfrica Edition:
service, goods, capital_service and capital_goodsFor SouthAfrica edition:(Required if customer tax treatment is
vat_registered)Used to specify whether the transaction is applicable for Domestic Reverse Charge (DRC) or not.
uk. If the vendor is in an EU country & VAT registered, you are resides in Northen Ireland and purchasing Goods then his VAT treatment is eu_vat_registered and if he resides outside the UK then his VAT treatment is overseas(For Pre Brexit, this can be split as eu_vat_registered, eu_vat_not_registered and non_eu).vat_registered,vat_not_registered,gcc_vat_not_registered,gcc_vat_registered,non_gcc.dz_vat_registered and dz_vat_not_registered are supported only for UAE.For Kenya Edition:
vat_registered ,vat_not_registered ,non_kenya(A business that is located outside Kenya).For SouthAfrica Edition:
vat_registered, vat_not_registered, overseas(A business that is located outside SouthAfrica).For UK edition:
digital_service, goods and service.For SouthAfrica Edition:
service, goods, capital_service and capital_goodsQuery Parameters
Headers
parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("X-Unique-Identifier-Key", "cf_unique_cf");
headers_data.put("X-Unique-Identifier-Value", "unique Value");
headers_data.put("X-Upsert", "true");
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/recurringexpenses?organization_id=10234695"
type: PUT
headers: headers_data
content-type: application/json
parameters: parameters_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}");
Request request = new Request.Builder()
.url("https://www.zohoapis.com/books/v3/recurringexpenses?organization_id=10234695")
.put(body)
.addHeader("X-Unique-Identifier-Key", "cf_unique_cf")
.addHeader("X-Unique-Identifier-Value", "unique Value")
.addHeader("X-Upsert", "true")
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'PUT',
headers: {
'X-Unique-Identifier-Key': 'cf_unique_cf',
'X-Unique-Identifier-Value': 'unique Value',
'X-Upsert': 'true',
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f',
'content-type': 'application/json'
},
body: '{"field1":"value1","field2":"value2"}'
};
fetch('https://www.zohoapis.com/books/v3/recurringexpenses?organization_id=10234695', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}"
headers = {
'X-Unique-Identifier-Key': "cf_unique_cf",
'X-Unique-Identifier-Value': "unique Value",
'X-Upsert': "true",
'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f",
'content-type': "application/json"
}
conn.request("PUT", "/books/v3/recurringexpenses?organization_id=10234695", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "PUT",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/books/v3/recurringexpenses?organization_id=10234695",
"headers": {
"X-Unique-Identifier-Key": "cf_unique_cf",
"X-Unique-Identifier-Value": "unique Value",
"X-Upsert": "true",
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f",
"content-type": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({field1: 'value1', field2: 'value2'}));
req.end();
curl --request PUT \
--url 'https://www.zohoapis.com/books/v3/recurringexpenses?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'X-Unique-Identifier-Key: cf_unique_cf' \
--header 'X-Unique-Identifier-Value: unique Value' \
--header 'X-Upsert: true' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
{
"account_id": 982000000561057,
"recurrence_name": "Monthly Rental",
"start_date": "2016-11-19T00:00:00.000Z",
"end_date": " ",
"recurrence_frequency": "months",
"repeat_every": 1,
"gst_no": "22AAAAA0000A1Z5",
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"reverse_charge_tax_id": 982000000567254,
"location_id": "460000000038080",
"line_items": [
{
"line_item_id": 10763000000140068,
"account_id": 982000000561057,
"description": " ",
"amount": 112.5,
"tax_id": 982000000566007,
"item_order": 1,
"product_type": "goods",
"acquisition_vat_id": " ",
"reverse_charge_vat_id": " ",
"reverse_charge_tax_id": 982000000567254,
"tax_exemption_code": "string",
"tax_exemption_id": 982000000567267,
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
]
}
],
"amount": 112.5,
"vat_treatment": "eu_vat_not_registered",
"tax_treatment": "vat_registered",
"product_type": "goods",
"acquisition_vat_id": " ",
"reverse_charge_vat_id": " ",
"tax_id": 982000000566007,
"is_inclusive_tax": false,
"is_billable": true,
"customer_id": 982000000567001,
"project_id": " ",
"currency_id": 982000000567001,
"exchange_rate": 1,
"custom_fields": [
{
"customfield_id": "46000000012845",
"value": "Normal"
}
],
"tags": [
{
"tag_id": "460000000000567",
"tag_option_id": "460000000014044"
}
]
}
{
"code": 0,
"message": "Recurring expense information has been updated",
"recurring_expense": {
"account_id": 982000000561057,
"recurrence_name": "Monthly Rental",
"start_date": "2016-11-19T00:00:00.000Z",
"end_date": " ",
"is_pre_gst": false,
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"gst_no": "22AAAAA0000A1Z5",
"gst_treatment": "business_gst",
"tax_treatment": "vat_registered",
"destination_of_supply_state": "AP",
"hsn_or_sac": 80540,
"vat_treatment": "eu_vat_not_registered",
"reverse_charge_tax_id": 982000000567254,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 10,
"is_reverse_charge_applied": false,
"acquisition_vat_total": 0,
"reverse_charge_vat_total": 10,
"acquisition_vat_summary": [
{
"tax_name": "SalesTax",
"tax_amount": 11.85
}
],
"reverse_charge_vat_summary": [
{
"tax_name": "SalesTax",
"tax_amount": 11.85
}
],
"recurrence_frequency": "months",
"repeat_every": 1,
"amount": 120.5,
"total": 128.25,
"sub_total": 90,
"bcy_total": 100,
"product_type": "goods",
"acquisition_vat_id": " ",
"reverse_charge_vat_id": " ",
"tax_id": 982000000566007,
"tax_name": "SalesTax",
"tax_percentage": 10.5,
"created_time": "2013-11-18T02:17:40.080Z",
"last_modified_time": " ",
"is_inclusive_tax": false,
"is_billable": true,
"customer_id": 982000000567001,
"currency_id": 982000000567001,
"exchange_rate": 1,
"project_id": " ",
"project_name": " ",
"location_id": "460000000038080",
"location_name": "string",
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
],
"line_item": {
"line_item_id": 10763000000140068,
"account_id": 982000000561057,
"account_name": "Rent",
"description": " ",
"tax_amount": 11.85,
"tax_id": 982000000566007,
"tax_name": "SalesTax",
"tax_type": "tax",
"tax_percentage": 10.5,
"item_total": 100,
"item_order": 1,
"hsn_or_sac": 80540,
"reverse_charge_tax_id": 982000000567254,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 10,
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
]
}
}
}
List recurring expenses
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
List all the Expenses with pagination.
OAuth Scope : ZohoBooks.expenses.READ
Query Parameters
recurrence_name_startswith and recurrence_name_contains. Max-length [100]last_created_date_start, last_created_date_end, last_created_date_before and last_created_date_after . Format [yyyy-mm-dd]next_expense_date_start, next_expense_date_end, next_expense_date_before and next_expense_date_after . Format [yyyy-mm-dd]active, stopped and expiredaccount_name_startswith and account_name_contains . Max-length [100]amount_less_than, amount_less_equals, amount_greater_than and amount_greater_thancustomer_name_startswith and customer_name_contains . Max-length [100]Status.All, Status.Active, Status.Expired and Status.Stoppedcustomer name or vendor name. Max-length [100] .next_expense_date, account_name, total, last_created_date, recurrence_name, customer_name and created_timeheaders_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/recurringexpenses?organization_id=10234695"
type: GET
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/books/v3/recurringexpenses?organization_id=10234695")
.get()
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'GET',
headers: {
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
}
};
fetch('https://www.zohoapis.com/books/v3/recurringexpenses?organization_id=10234695', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" }
conn.request("GET", "/books/v3/recurringexpenses?organization_id=10234695", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "GET",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/books/v3/recurringexpenses?organization_id=10234695",
"headers": {
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request GET \
--url 'https://www.zohoapis.com/books/v3/recurringexpenses?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "success",
"recurring_expenses": [
{
"recurring_expense_id": 982000000567240,
"recurrence_name": "Monthly Rental",
"recurrence_frequency": "months",
"repeat_every": 1,
"last_created_date": "2013-11-18T00:00:00.000Z",
"next_expense_date": "2013-12-18T00:00:00.000Z",
"account_name": "Rent",
"description": " ",
"currency_id": 982000000567001,
"currency_code": "USD",
"total": 128.25,
"is_billable": true,
"customer_name": "Bowman & Co",
"custom_fields": [
{
"customfield_id": "46000000012845",
"value": "Normal"
}
],
"status": "active",
"created_time": "2013-11-18T02:17:40.080Z",
"last_modified_time": " ",
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
]
},
{...},
{...}
],
"page_context": [
{
"sort_column": "account_name",
"filter_by": "Status.Billable",
"search_text": "Rent"
}
]
}
Update a recurring expense
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Update a recurring expense.
OAuth Scope : ZohoBooks.expenses.UPDATE
Arguments
place of contact given for the contact will be taken)place of contact given for the contact will be taken)Supported codes for UAE emirates are : Abu Dhabi -
AB,Ajman - AJ,Dubai - DU,Fujairah - FU,Ras al-Khaimah - RA,Sharjah - SH,Umm al-Quwain - UM.Supported codes for the GCC countries are : United Arab Emirates -
AE,Saudi Arabia - SA,Bahrain - BH,Kuwait - KW,Oman - OM,Qatar - QA.For SouthAfrica edition:(Required if customer tax treatment is
vat_registered)Used to specify whether the transaction is applicable for Domestic Reverse Charge (DRC) or not.
For UK edition:
digital_service, goods and service.For SouthAfrica Edition:
service, goods, capital_service and capital_goodsFor SouthAfrica edition:(Required if customer tax treatment is
vat_registered)Used to specify whether the transaction is applicable for Domestic Reverse Charge (DRC) or not.
uk. If the vendor is in an EU country & VAT registered, you are resides in Northen Ireland and purchasing Goods then his VAT treatment is eu_vat_registered and if he resides outside the UK then his VAT treatment is overseas(For Pre Brexit, this can be split as eu_vat_registered, eu_vat_not_registered and non_eu).vat_registered,vat_not_registered,gcc_vat_not_registered,gcc_vat_registered,non_gcc.dz_vat_registered and dz_vat_not_registered are supported only for UAE.For Kenya Edition:
vat_registered ,vat_not_registered ,non_kenya(A business that is located outside Kenya).For SouthAfrica Edition:
vat_registered, vat_not_registered, overseas(A business that is located outside SouthAfrica).For UK edition:
digital_service, goods and service.For SouthAfrica Edition:
service, goods, capital_service and capital_goodsPath Parameters
Query Parameters
parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240?organization_id=10234695"
type: PUT
headers: headers_data
content-type: application/json
parameters: parameters_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}");
Request request = new Request.Builder()
.url("https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240?organization_id=10234695")
.put(body)
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'PUT',
headers: {
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f',
'content-type': 'application/json'
},
body: '{"field1":"value1","field2":"value2"}'
};
fetch('https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240?organization_id=10234695', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}"
headers = {
'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f",
'content-type': "application/json"
}
conn.request("PUT", "/books/v3/recurringexpenses/982000000567240?organization_id=10234695", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "PUT",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/books/v3/recurringexpenses/982000000567240?organization_id=10234695",
"headers": {
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f",
"content-type": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({field1: 'value1', field2: 'value2'}));
req.end();
curl --request PUT \
--url 'https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
{
"account_id": 982000000561057,
"recurrence_name": "Monthly Rental",
"start_date": "2016-11-19T00:00:00.000Z",
"end_date": " ",
"recurrence_frequency": "months",
"repeat_every": 1,
"gst_no": "22AAAAA0000A1Z5",
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"reverse_charge_tax_id": 982000000567254,
"location_id": "460000000038080",
"line_items": [
{
"line_item_id": 10763000000140068,
"account_id": 982000000561057,
"description": " ",
"amount": 112.5,
"tax_id": 982000000566007,
"item_order": 1,
"product_type": "goods",
"acquisition_vat_id": " ",
"reverse_charge_vat_id": " ",
"reverse_charge_tax_id": 982000000567254,
"tax_exemption_code": "string",
"tax_exemption_id": 982000000567267,
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
]
}
],
"amount": 112.5,
"vat_treatment": "eu_vat_not_registered",
"tax_treatment": "vat_registered",
"product_type": "goods",
"acquisition_vat_id": " ",
"reverse_charge_vat_id": " ",
"tax_id": 982000000566007,
"is_inclusive_tax": false,
"is_billable": true,
"customer_id": 982000000567001,
"project_id": " ",
"currency_id": 982000000567001,
"exchange_rate": 1,
"custom_fields": [
{
"customfield_id": "46000000012845",
"value": "Normal"
}
],
"tags": [
{
"tag_id": "460000000000567",
"tag_option_id": "460000000014044"
}
]
}
{
"code": 0,
"message": "Recurring expense information has been updated",
"recurring_expense": {
"account_id": 982000000561057,
"recurrence_name": "Monthly Rental",
"start_date": "2016-11-19T00:00:00.000Z",
"end_date": " ",
"is_pre_gst": false,
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"gst_no": "22AAAAA0000A1Z5",
"gst_treatment": "business_gst",
"tax_treatment": "vat_registered",
"destination_of_supply_state": "AP",
"hsn_or_sac": 80540,
"vat_treatment": "eu_vat_not_registered",
"reverse_charge_tax_id": 982000000567254,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 10,
"is_reverse_charge_applied": false,
"acquisition_vat_total": 0,
"reverse_charge_vat_total": 10,
"acquisition_vat_summary": [
{
"tax_name": "SalesTax",
"tax_amount": 11.85
}
],
"reverse_charge_vat_summary": [
{
"tax_name": "SalesTax",
"tax_amount": 11.85
}
],
"recurrence_frequency": "months",
"repeat_every": 1,
"amount": 120.5,
"total": 128.25,
"sub_total": 90,
"bcy_total": 100,
"product_type": "goods",
"acquisition_vat_id": " ",
"reverse_charge_vat_id": " ",
"tax_id": 982000000566007,
"tax_name": "SalesTax",
"tax_percentage": 10.5,
"created_time": "2013-11-18T02:17:40.080Z",
"last_modified_time": " ",
"is_inclusive_tax": false,
"is_billable": true,
"customer_id": 982000000567001,
"currency_id": 982000000567001,
"exchange_rate": 1,
"project_id": " ",
"project_name": " ",
"location_id": "460000000038080",
"location_name": "string",
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
],
"line_item": {
"line_item_id": 10763000000140068,
"account_id": 982000000561057,
"account_name": "Rent",
"description": " ",
"tax_amount": 11.85,
"tax_id": 982000000566007,
"tax_name": "SalesTax",
"tax_type": "tax",
"tax_percentage": 10.5,
"item_total": 100,
"item_order": 1,
"hsn_or_sac": 80540,
"reverse_charge_tax_id": 982000000567254,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 10,
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
]
}
}
}
Get a recurring expense
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Get the details of the recurring expense.
OAuth Scope : ZohoBooks.expenses.READ
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240?organization_id=10234695"
type: GET
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240?organization_id=10234695")
.get()
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'GET',
headers: {
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
}
};
fetch('https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240?organization_id=10234695', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" }
conn.request("GET", "/books/v3/recurringexpenses/982000000567240?organization_id=10234695", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "GET",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/books/v3/recurringexpenses/982000000567240?organization_id=10234695",
"headers": {
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request GET \
--url 'https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "success",
"recurring_expense": {
"recurring_expense_id": 982000000567240,
"recurrence_name": "Monthly Rental",
"start_date": "2016-11-19T00:00:00.000Z",
"end_date": " ",
"is_pre_gst": false,
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"gst_no": "22AAAAA0000A1Z5",
"gst_treatment": "business_gst",
"destination_of_supply_state": "AP",
"hsn_or_sac": 80540,
"vat_treatment": "eu_vat_not_registered",
"reverse_charge_tax_id": 982000000567254,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 10,
"is_reverse_charge_applied": false,
"acquisition_vat_total": 0,
"reverse_charge_vat_total": 10,
"acquisition_vat_summary": [
{
"tax_name": "SalesTax",
"tax_amount": 11.85
}
],
"reverse_charge_vat_summary": [
{
"tax_name": "SalesTax",
"tax_amount": 11.85
}
],
"recurrence_frequency": "months",
"repeat_every": 1,
"last_created_date": "2013-11-18T00:00:00.000Z",
"next_expense_date": "2013-12-18T00:00:00.000Z",
"account_id": 982000000561057,
"account_name": "Rent",
"currency_id": 982000000567001,
"currency_code": "USD",
"exchange_rate": 1,
"tax_id": 982000000566007,
"tax_name": "SalesTax",
"tax_percentage": 10.5,
"tax_amount": 11.85,
"sub_total": 90,
"total": 128.25,
"bcy_total": 100,
"amount": 112.5,
"description": " ",
"is_inclusive_tax": false,
"is_billable": true,
"customer_id": 982000000567001,
"customer_name": "Bowman & Co",
"status": "active",
"created_time": "2013-11-18T02:17:40.080Z",
"last_modified_time": " ",
"project_id": " ",
"project_name": " ",
"location_id": "460000000038080",
"location_name": "string",
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
],
"line_item": {
"line_item_id": 10763000000140068,
"account_id": 982000000561057,
"account_name": "Rent",
"description": " ",
"tax_amount": 11.85,
"tax_id": 982000000566007,
"tax_name": "SalesTax",
"tax_type": "tax",
"tax_percentage": 10.5,
"item_total": 100,
"item_order": 1,
"hsn_or_sac": 80540,
"reverse_charge_tax_id": 982000000567254,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 10,
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
]
}
}
}
Delete a recurring expense
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Deleting an existing recurring expense.
OAuth Scope : ZohoBooks.expenses.DELETE
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240?organization_id=10234695"
type: DELETE
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240?organization_id=10234695")
.delete(null)
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'DELETE',
headers: {
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
}
};
fetch('https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240?organization_id=10234695', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" }
conn.request("DELETE", "/books/v3/recurringexpenses/982000000567240?organization_id=10234695", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "DELETE",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/books/v3/recurringexpenses/982000000567240?organization_id=10234695",
"headers": {
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request DELETE \
--url 'https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "The recurring expense has been deleted."
}
Stop a recurring expense
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Stop an active recurring expense.
OAuth Scope : ZohoBooks.expenses.CREATE
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/status/stop?organization_id=10234695"
type: POST
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/status/stop?organization_id=10234695")
.post(null)
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'POST',
headers: {
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
}
};
fetch('https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/status/stop?organization_id=10234695', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" }
conn.request("POST", "/books/v3/recurringexpenses/982000000567240/status/stop?organization_id=10234695", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "POST",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/books/v3/recurringexpenses/982000000567240/status/stop?organization_id=10234695",
"headers": {
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request POST \
--url 'https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/status/stop?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "The recurring expense has been stopped."
}
Resume a recurring Expense
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Resume a stopped recurring expense.
OAuth Scope : ZohoBooks.expenses.CREATE
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/status/resume?organization_id=10234695"
type: POST
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/status/resume?organization_id=10234695")
.post(null)
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'POST',
headers: {
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
}
};
fetch('https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/status/resume?organization_id=10234695', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" }
conn.request("POST", "/books/v3/recurringexpenses/982000000567240/status/resume?organization_id=10234695", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "POST",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/books/v3/recurringexpenses/982000000567240/status/resume?organization_id=10234695",
"headers": {
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request POST \
--url 'https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/status/resume?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "The recurring expense has been activated."
}
List child expenses created
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
List child expenses created from recurring expense.
OAuth Scope : ZohoBooks.expenses.READ
Path Parameters
Query Parameters
next_expense_date, account_name, total, last_created_date, recurrence_name, customer_name and created_timeheaders_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/expenses?organization_id=10234695"
type: GET
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/expenses?organization_id=10234695")
.get()
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'GET',
headers: {
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
}
};
fetch('https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/expenses?organization_id=10234695', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" }
conn.request("GET", "/books/v3/recurringexpenses/982000000567240/expenses?organization_id=10234695", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "GET",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/books/v3/recurringexpenses/982000000567240/expenses?organization_id=10234695",
"headers": {
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request GET \
--url 'https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/expenses?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "success",
"expensehistory": [
{
"expense_id": 982000000567250,
"date": "string",
"account_name": "Rent",
"customer_name": "Bowman & Co",
"total": 128.25,
"status": "active",
"vendor_name": " ",
"paid_through_account_name": "Undeposited Funds"
},
{...},
{...}
],
"page_context": [
{
"sort_column": "account_name",
"filter_by": "Status.Billable",
"search_text": "Rent"
}
]
}
List recurring expense history
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Get history and comments of a recurring expense.
OAuth Scope : ZohoBooks.expenses.READ
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/comments?organization_id=10234695"
type: GET
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/comments?organization_id=10234695")
.get()
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'GET',
headers: {
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
}
};
fetch('https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/comments?organization_id=10234695', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" }
conn.request("GET", "/books/v3/recurringexpenses/982000000567240/comments?organization_id=10234695", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "GET",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/books/v3/recurringexpenses/982000000567240/comments?organization_id=10234695",
"headers": {
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request GET \
--url 'https://www.zohoapis.com/books/v3/recurringexpenses/982000000567240/comments?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "success",
"comments": {
"comment_id": 982000000567272,
"recurring_expense_id": 982000000567240,
"description": " ",
"commented_by_id": 982000000554041,
"commented_by": "John David",
"date": "string",
"time": "2.41 AM",
"operation_type": "Added",
"transaction_id": " ",
"transaction_type": "expense"
}
}