Recurring Bills
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 Bills are those bills 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.home_country_mexico,border_region_mexico,non_mexico supported only for MX.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 Avalara: If you are doing sales in the European Union (EU) then provide VAT Registration Number of your customers here. This is used to calculate VAT for B2B sales, from Avalara.
uae_same_tax_group, uae_reimbursed_expense and uae_others. Supported values for Bahrain are bahrain_same_tax_group, bahrain_transfer_of_concern, bahrain_disbursement, bahrain_head_to_branch_transaction, bahrain_warranty_repair_services and bahrain_others. Supported values for KSA are ksa_reimbursed_expense. digital_service, goods and service.{
"recurring_bill_id": 982000000567240,
"vendor_id": "460000000038029",
"vendor_name": "string",
"status": "active",
"recurrence_name": "Monthly Rental",
"currency_id": "460000000000099",
"currency_code": "INR",
"currency_symbol": "string",
"start_date": "2013-11-18",
"end_date": "2013-12-18",
"source_of_supply": "AP",
"place_of_supply": "DU",
"destination_of_supply": "TN",
"gst_treatment": "business_gst",
"gst_no": "22AAAAA0000A1Z5",
"tax_treatment": "vat_registered",
"vat_treatment": "string",
"vat_reg_no": "string",
"is_abn_quoted": "string",
"abn": "string",
"is_reverse_charge_applied": true,
"pricebook_id": 460000000038090,
"pricebook_name": "string",
"is_inclusive_tax": false,
"location_id": "460000000038080",
"location_name": "string",
"line_items": [
{
"line_item_id": "460000000067009",
"item_id": "460000000054135",
"sku": "string",
"name": "string",
"account_id": "460000000000403",
"account_name": "Other Expenses",
"image_document_id": 460000000038067,
"location_id": "460000000038080",
"location_name": "string",
"reverse_charge_tax_id": 460000000038056,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 100,
"description": "string",
"bcy_rate": 40,
"rate": 10,
"tags": [
{
"tag_id": "460000000000567",
"tag_option_id": "460000000014044"
}
],
"quantity": 1,
"tax_id": "460000000027005",
"tds_tax_id": "460000000027001",
"tax_treatment_code": "uae_others",
"tax_exemption_id": "string",
"tax_exemption_code": "string",
"tax_name": "VAT (12.5%)",
"tax_type": "tax",
"tax_percentage": 0,
"item_total": 40,
"item_total_inclusive_of_tax": 40,
"item_order": 1,
"unit": "kgs",
"product_type": "string",
"hsn_or_sac": 80540,
"acquisition_vat_id": "string",
"acquisition_vat_name": "string",
"acquisition_vat_percentage": "string",
"acquisition_vat_amount": "string",
"reverse_charge_vat_id": "string",
"reverse_charge_vat_name": "string",
"reverse_charge_vat_percentage": "string",
"reverse_charge_vat_amount": "string",
"is_billable": false,
"customer_id": "string",
"customer_name": "string",
"project_id": "string",
"project_name": "string",
"item_custom_fields": [
{
"custom_field_id": "string",
"index": 0,
"value": "string",
"label": "string"
}
]
}
],
"is_tds_applied": true,
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"custom_fields": [
{
"custom_field_id": "string",
"index": 0,
"label": "string",
"value": "string"
}
],
"acquisition_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"reverse_charge_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_total": 0,
"reverse_charge_vat_total": 0,
"created_time": "2013-09-11T17:18:32+0530",
"created_by_id": "4600000053001",
"last_modified_time": "2013-09-11T17:18:32+0530",
"discount": "30%",
"discount_account_id": "460000000000403",
"is_discount_before_tax": true,
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
]
}
Create a recurring bill
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 bill.
OAuth Scope : ZohoBooks.bills.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. 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.home_country_mexico,border_region_mexico,non_mexico supported only for MX.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 Avalara: If you are doing sales in the European Union (EU) then provide VAT Registration Number of your customers here. This is used to calculate VAT for B2B sales, from Avalara.
uae_same_tax_group, uae_reimbursed_expense and uae_others. Supported values for Bahrain are bahrain_same_tax_group, bahrain_transfer_of_concern, bahrain_disbursement, bahrain_head_to_branch_transaction, bahrain_warranty_repair_services and bahrain_others. Supported values for KSA are ksa_reimbursed_expense. digital_service, goods and service.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/recurringbills?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/recurringbills?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/recurringbills?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/recurringbills?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/recurringbills?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/recurringbills?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
{
"vendor_id": "460000000038029",
"currency_id": "460000000000099",
"recurrence_name": "Monthly Rental",
"start_date": "2013-11-18",
"end_date": "2013-12-18",
"source_of_supply": "AP",
"place_of_supply": "DU",
"destination_of_supply": "TN",
"gst_treatment": "business_gst",
"gst_no": "22AAAAA0000A1Z5",
"tax_treatment": "vat_registered",
"vat_treatment": "string",
"vat_reg_no": "string",
"is_abn_quoted": "string",
"abn": "string",
"is_reverse_charge_applied": true,
"pricebook_id": 460000000038090,
"is_inclusive_tax": false,
"location_id": "460000000038080",
"line_items": [
{
"line_item_id": "460000000067009",
"item_id": "460000000054135",
"name": "string",
"account_id": "460000000000403",
"description": "string",
"rate": 10,
"hsn_or_sac": 80540,
"reverse_charge_tax_id": 460000000038056,
"location_id": "460000000038080",
"quantity": 1,
"tax_id": "460000000027005",
"tds_tax_id": "460000000027001",
"tax_treatment_code": "uae_others",
"tax_exemption_id": "string",
"tax_exemption_code": "string",
"item_order": 1,
"product_type": "string",
"acquisition_vat_id": "string",
"reverse_charge_vat_id": "string",
"unit": "kgs",
"tags": [
{
"tag_id": "460000000000567",
"tag_option_id": "460000000014044"
}
],
"is_billable": false,
"project_id": "string",
"customer_id": "string",
"item_custom_fields": [
{
"custom_field_id": "string",
"index": 0,
"value": "string",
"label": "string"
}
],
"serial_numbers": [
"string"
]
}
],
"is_tds_applied": true,
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"custom_fields": [
{
"index": 0,
"value": "string"
}
],
"discount": "30%",
"discount_account_id": "460000000000403",
"is_discount_before_tax": true,
"repeat_every": "",
"recurrence_frequency": "",
"tags": [
{
"tag_id": "460000000000567",
"tag_option_id": "460000000014044"
}
]
}
{
"code": 0,
"message": "success",
"recurring_bill": {
"recurring_bill_id": 982000000567240,
"vendor_id": "460000000038029",
"vendor_name": "string",
"status": "active",
"recurrence_name": "Monthly Rental",
"currency_id": "460000000000099",
"currency_code": "INR",
"currency_symbol": "string",
"start_date": "2013-11-18",
"end_date": "2013-12-18",
"source_of_supply": "AP",
"place_of_supply": "DU",
"destination_of_supply": "TN",
"gst_treatment": "business_gst",
"gst_no": "22AAAAA0000A1Z5",
"tax_treatment": "vat_registered",
"vat_treatment": "string",
"vat_reg_no": "string",
"is_abn_quoted": "string",
"abn": "string",
"is_reverse_charge_applied": true,
"pricebook_id": 460000000038090,
"pricebook_name": "string",
"is_inclusive_tax": false,
"location_id": "460000000038080",
"location_name": "string",
"line_items": [
{
"line_item_id": "460000000067009",
"item_id": "460000000054135",
"sku": "string",
"name": "string",
"account_id": "460000000000403",
"account_name": "Other Expenses",
"image_document_id": 460000000038067,
"location_id": "460000000038080",
"location_name": "string",
"reverse_charge_tax_id": 460000000038056,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 100,
"description": "string",
"bcy_rate": 40,
"rate": 10,
"tags": [
{
"tag_id": "460000000000567",
"tag_option_id": "460000000014044"
}
],
"quantity": 1,
"tax_id": "460000000027005",
"tds_tax_id": "460000000027001",
"tax_treatment_code": "uae_others",
"tax_exemption_id": "string",
"tax_exemption_code": "string",
"tax_name": "VAT (12.5%)",
"tax_type": "tax",
"tax_percentage": 0,
"item_total": 40,
"item_total_inclusive_of_tax": 40,
"item_order": 1,
"unit": "kgs",
"product_type": "string",
"hsn_or_sac": 80540,
"acquisition_vat_id": "string",
"acquisition_vat_name": "string",
"acquisition_vat_percentage": "string",
"acquisition_vat_amount": "string",
"reverse_charge_vat_id": "string",
"reverse_charge_vat_name": "string",
"reverse_charge_vat_percentage": "string",
"reverse_charge_vat_amount": "string",
"is_billable": false,
"customer_id": "string",
"customer_name": "string",
"project_id": "string",
"project_name": "string",
"item_custom_fields": [
{
"custom_field_id": "string",
"index": 0,
"value": "string",
"label": "string"
}
]
}
],
"is_tds_applied": true,
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"custom_fields": [
{
"custom_field_id": "string",
"index": 0,
"label": "string",
"value": "string"
}
],
"acquisition_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"reverse_charge_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_total": 0,
"reverse_charge_vat_total": 0,
"created_time": "2013-09-11T17:18:32+0530",
"created_by_id": "4600000053001",
"last_modified_time": "2013-09-11T17:18:32+0530",
"discount": "30%",
"discount_account_id": "460000000000403",
"is_discount_before_tax": true,
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
]
}
}
Update a recurring bill 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 bill 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 bill 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 bills, a new recurring bill will be created if the necessary payload details are available
OAuth Scope : ZohoBooks.settings.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. 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.home_country_mexico,border_region_mexico,non_mexico supported only for MX.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 Avalara: If you are doing sales in the European Union (EU) then provide VAT Registration Number of your customers here. This is used to calculate VAT for B2B sales, from Avalara.
uae_same_tax_group, uae_reimbursed_expense and uae_others. Supported values for Bahrain are bahrain_same_tax_group, bahrain_transfer_of_concern, bahrain_disbursement, bahrain_head_to_branch_transaction, bahrain_warranty_repair_services and bahrain_others. Supported values for KSA are ksa_reimbursed_expense. digital_service, goods and service.Query 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/recurringbills?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/recurringbills?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/recurringbills?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/recurringbills?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/recurringbills?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/recurringbills?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"}'
{
"recurring_bill_id": 982000000567240,
"vendor_id": "460000000038029",
"currency_id": "460000000000099",
"status": "active",
"recurrence_name": "Monthly Rental",
"start_date": "2013-11-18",
"end_date": "2013-12-18",
"source_of_supply": "AP",
"place_of_supply": "DU",
"destination_of_supply": "TN",
"gst_treatment": "business_gst",
"gst_no": "22AAAAA0000A1Z5",
"tax_treatment": "vat_registered",
"vat_treatment": "string",
"vat_reg_no": "string",
"is_abn_quoted": "string",
"abn": "string",
"is_reverse_charge_applied": true,
"pricebook_id": 460000000038090,
"pricebook_name": "string",
"is_inclusive_tax": false,
"location_id": "460000000038080",
"line_items": [
{
"line_item_id": "460000000067009",
"item_id": "460000000054135",
"name": "string",
"account_id": "460000000000403",
"description": "string",
"rate": 10,
"hsn_or_sac": 80540,
"reverse_charge_tax_id": 460000000038056,
"location_id": "460000000038080",
"quantity": 1,
"tax_id": "460000000027005",
"tds_tax_id": "460000000027001",
"tax_treatment_code": "uae_others",
"tax_exemption_id": "string",
"tax_exemption_code": "string",
"item_order": 1,
"product_type": "string",
"acquisition_vat_id": "string",
"reverse_charge_vat_id": "string",
"unit": "kgs",
"tags": [
{
"tag_id": "460000000000567",
"tag_option_id": "460000000014044"
}
],
"is_billable": false,
"project_id": "string",
"customer_id": "string",
"item_custom_fields": [
{
"custom_field_id": "string",
"index": 0,
"value": "string",
"label": "string"
}
],
"serial_numbers": [
"string"
]
}
],
"is_tds_applied": true,
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"custom_fields": [
{
"index": 0,
"value": "string"
}
],
"discount": "30%",
"discount_account_id": "460000000000403",
"is_discount_before_tax": true,
"repeat_every": "",
"recurrence_frequency": "",
"tags": [
{
"tag_id": "460000000000567",
"tag_option_id": "460000000014044"
}
]
}
{
"code": 0,
"message": "Recurring Bill information has been updated."
}
List recurring bills
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 recurring bills with pagination.
OAuth Scope : ZohoBooks.bills.READ
Query Parameters
vendor_name_startswith and vendor_name_containsactive, stopped, expiredrecurrence_name_startswith and recurrence_name_containsstart_date_start, start_date_end, start_date_before and start_date_afterplace 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.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 Avalara: If you are doing sales in the European Union (EU) then provide VAT Registration Number of your customers here. This is used to calculate VAT for B2B sales, from Avalara.
uae_same_tax_group, uae_reimbursed_expense and uae_others. Supported values for Bahrain are bahrain_same_tax_group, bahrain_transfer_of_concern, bahrain_disbursement, bahrain_head_to_branch_transaction, bahrain_warranty_repair_services and bahrain_others. Supported values for KSA are ksa_reimbursed_expense. digital_service, goods and service.headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/recurringbills?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/recurringbills?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/recurringbills?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/recurringbills?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/recurringbills?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/recurringbills?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "success",
"recurringbills": [
{
"recurring_bill_id": 982000000567240,
"vendor_id": "460000000038029",
"vendor_name": "string",
"status": "active",
"recurrence_name": "Monthly Rental",
"currency_id": "460000000000099",
"currency_code": "INR",
"currency_symbol": "string",
"start_date": "2013-11-18",
"end_date": "2013-12-18",
"source_of_supply": "AP",
"place_of_supply": "DU",
"destination_of_supply": "TN",
"gst_treatment": "business_gst",
"gst_no": "22AAAAA0000A1Z5",
"tax_treatment": "vat_registered",
"vat_treatment": "string",
"vat_reg_no": "string",
"is_abn_quoted": "string",
"abn": "string",
"is_reverse_charge_applied": true,
"pricebook_id": 460000000038090,
"pricebook_name": "string",
"is_inclusive_tax": false,
"location_id": "460000000038080",
"location_name": "string",
"line_items": [
{
"line_item_id": "460000000067009",
"item_id": "460000000054135",
"sku": "string",
"name": "string",
"account_id": "460000000000403",
"account_name": "Other Expenses",
"image_document_id": 460000000038067,
"location_id": "460000000038080",
"location_name": "string",
"reverse_charge_tax_id": 460000000038056,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 100,
"description": "string",
"bcy_rate": 40,
"rate": 10,
"tags": [
{
"tag_id": "460000000000567",
"tag_option_id": "460000000014044"
}
],
"quantity": 1,
"tax_id": "460000000027005",
"tds_tax_id": "460000000027001",
"tax_treatment_code": "uae_others",
"tax_exemption_id": "string",
"tax_exemption_code": "string",
"tax_name": "VAT (12.5%)",
"tax_type": "tax",
"tax_percentage": 0,
"item_total": 40,
"item_total_inclusive_of_tax": 40,
"item_order": 1,
"unit": "kgs",
"product_type": "string",
"hsn_or_sac": 80540,
"acquisition_vat_id": "string",
"acquisition_vat_name": "string",
"acquisition_vat_percentage": "string",
"acquisition_vat_amount": "string",
"reverse_charge_vat_id": "string",
"reverse_charge_vat_name": "string",
"reverse_charge_vat_percentage": "string",
"reverse_charge_vat_amount": "string",
"is_billable": false,
"customer_id": "string",
"customer_name": "string",
"project_id": "string",
"project_name": "string",
"item_custom_fields": [
{
"custom_field_id": "string",
"index": 0,
"value": "string",
"label": "string"
}
]
}
],
"is_tds_applied": true,
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"custom_fields": [
{
"custom_field_id": "string",
"index": 0,
"label": "string",
"value": "string"
}
],
"acquisition_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"reverse_charge_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_total": 0,
"reverse_charge_vat_total": 0,
"created_time": "2013-09-11T17:18:32+0530",
"created_by_id": "4600000053001",
"last_modified_time": "2013-09-11T17:18:32+0530",
"discount": "30%",
"discount_account_id": "460000000000403",
"is_discount_before_tax": true,
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
]
},
{...},
{...}
]
}
Update a recurring bill
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 bill. To delete a line item just remove it from the line_items list.
OAuth Scope : ZohoBooks.bills.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. 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.home_country_mexico,border_region_mexico,non_mexico supported only for MX.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 Avalara: If you are doing sales in the European Union (EU) then provide VAT Registration Number of your customers here. This is used to calculate VAT for B2B sales, from Avalara.
uae_same_tax_group, uae_reimbursed_expense and uae_others. Supported values for Bahrain are bahrain_same_tax_group, bahrain_transfer_of_concern, bahrain_disbursement, bahrain_head_to_branch_transaction, bahrain_warranty_repair_services and bahrain_others. Supported values for KSA are ksa_reimbursed_expense. digital_service, goods and service.Path 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/recurringbills/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/recurringbills/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/recurringbills/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/recurringbills/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/recurringbills/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/recurringbills/982000000567240?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
{
"recurring_bill_id": 982000000567240,
"vendor_id": "460000000038029",
"currency_id": "460000000000099",
"status": "active",
"recurrence_name": "Monthly Rental",
"start_date": "2013-11-18",
"end_date": "2013-12-18",
"source_of_supply": "AP",
"place_of_supply": "DU",
"destination_of_supply": "TN",
"gst_treatment": "business_gst",
"gst_no": "22AAAAA0000A1Z5",
"tax_treatment": "vat_registered",
"vat_treatment": "string",
"vat_reg_no": "string",
"is_abn_quoted": "string",
"abn": "string",
"is_reverse_charge_applied": true,
"pricebook_id": 460000000038090,
"pricebook_name": "string",
"is_inclusive_tax": false,
"location_id": "460000000038080",
"line_items": [
{
"line_item_id": "460000000067009",
"item_id": "460000000054135",
"name": "string",
"account_id": "460000000000403",
"description": "string",
"rate": 10,
"hsn_or_sac": 80540,
"reverse_charge_tax_id": 460000000038056,
"location_id": "460000000038080",
"quantity": 1,
"tax_id": "460000000027005",
"tds_tax_id": "460000000027001",
"tax_treatment_code": "uae_others",
"tax_exemption_id": "string",
"tax_exemption_code": "string",
"item_order": 1,
"product_type": "string",
"acquisition_vat_id": "string",
"reverse_charge_vat_id": "string",
"unit": "kgs",
"tags": [
{
"tag_id": "460000000000567",
"tag_option_id": "460000000014044"
}
],
"is_billable": false,
"project_id": "string",
"customer_id": "string",
"item_custom_fields": [
{
"custom_field_id": "string",
"index": 0,
"value": "string",
"label": "string"
}
],
"serial_numbers": [
"string"
]
}
],
"is_tds_applied": true,
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"custom_fields": [
{
"index": 0,
"value": "string"
}
],
"discount": "30%",
"discount_account_id": "460000000000403",
"is_discount_before_tax": true,
"repeat_every": "",
"recurrence_frequency": "",
"tags": [
{
"tag_id": "460000000000567",
"tag_option_id": "460000000014044"
}
]
}
{
"code": 0,
"message": "Recurring Bill information has been updated."
}
Get a recurring bill
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 a recurring bill.
OAuth Scope : ZohoBooks.bills.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/recurring_bills/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/recurring_bills/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/recurring_bills/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/recurring_bills/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/recurring_bills/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/recurring_bills/982000000567240?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "success",
"recurring_bill": {
"recurring_bill_id": 982000000567240,
"vendor_id": "460000000038029",
"vendor_name": "string",
"status": "active",
"recurrence_name": "Monthly Rental",
"currency_id": "460000000000099",
"currency_code": "INR",
"currency_symbol": "string",
"start_date": "2013-11-18",
"end_date": "2013-12-18",
"source_of_supply": "AP",
"place_of_supply": "DU",
"destination_of_supply": "TN",
"gst_treatment": "business_gst",
"gst_no": "22AAAAA0000A1Z5",
"tax_treatment": "vat_registered",
"vat_treatment": "string",
"vat_reg_no": "string",
"is_abn_quoted": "string",
"abn": "string",
"is_reverse_charge_applied": true,
"pricebook_id": 460000000038090,
"pricebook_name": "string",
"is_inclusive_tax": false,
"location_id": "460000000038080",
"location_name": "string",
"line_items": [
{
"line_item_id": "460000000067009",
"item_id": "460000000054135",
"sku": "string",
"name": "string",
"account_id": "460000000000403",
"account_name": "Other Expenses",
"image_document_id": 460000000038067,
"location_id": "460000000038080",
"location_name": "string",
"reverse_charge_tax_id": 460000000038056,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 100,
"description": "string",
"bcy_rate": 40,
"rate": 10,
"tags": [
{
"tag_id": "460000000000567",
"tag_option_id": "460000000014044"
}
],
"quantity": 1,
"tax_id": "460000000027005",
"tds_tax_id": "460000000027001",
"tax_treatment_code": "uae_others",
"tax_exemption_id": "string",
"tax_exemption_code": "string",
"tax_name": "VAT (12.5%)",
"tax_type": "tax",
"tax_percentage": 0,
"item_total": 40,
"item_total_inclusive_of_tax": 40,
"item_order": 1,
"unit": "kgs",
"product_type": "string",
"hsn_or_sac": 80540,
"acquisition_vat_id": "string",
"acquisition_vat_name": "string",
"acquisition_vat_percentage": "string",
"acquisition_vat_amount": "string",
"reverse_charge_vat_id": "string",
"reverse_charge_vat_name": "string",
"reverse_charge_vat_percentage": "string",
"reverse_charge_vat_amount": "string",
"is_billable": false,
"customer_id": "string",
"customer_name": "string",
"project_id": "string",
"project_name": "string",
"item_custom_fields": [
{
"custom_field_id": "string",
"index": 0,
"value": "string",
"label": "string"
}
]
}
],
"is_tds_applied": true,
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"custom_fields": [
{
"custom_field_id": "string",
"index": 0,
"label": "string",
"value": "string"
}
],
"acquisition_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"reverse_charge_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_total": 0,
"reverse_charge_vat_total": 0,
"created_time": "2013-09-11T17:18:32+0530",
"created_by_id": "4600000053001",
"last_modified_time": "2013-09-11T17:18:32+0530",
"discount": "30%",
"discount_account_id": "460000000000403",
"is_discount_before_tax": true,
"tags": [
{
"tag_id": "460000000000567",
"tag_name": "Business Unit",
"tag_option_id": "460000000014044",
"tag_option_name": "Sales",
"is_tag_mandatory": false
}
]
}
}
Delete a recurring bill
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
Delete an existing recurring bill.
OAuth Scope : ZohoBooks.bills.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/recurring_bills/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/recurring_bills/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/recurring_bills/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/recurring_bills/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/recurring_bills/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/recurring_bills/982000000567240?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "The recurring bill has been deleted."
}
Stop a recurring bill
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 bill.
OAuth Scope : ZohoBooks.bills.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/recurringbills/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/recurringbills/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/recurringbills/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/recurringbills/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/recurringbills/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/recurringbills/982000000567240/status/stop?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "The recurring bill has been stopped."
}
Resume a recurring Bill
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 bill.
OAuth Scope : ZohoBooks.bills.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/recurringbills/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/recurringbills/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/recurringbills/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/recurringbills/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/recurringbills/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/recurringbills/982000000567240/status/resume?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "The recurring bill has been activated."
}
List recurring bill 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 bill.
OAuth Scope : ZohoBooks.bills.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/recurringbills/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/recurringbills/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/recurringbills/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/recurringbills/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/recurringbills/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/recurringbills/982000000567240/comments?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "success"
}