API Docs
/
No Results Found
Recurring Bills

Recurring Bills

Recurring Bills are those bills that repeat itself after a fixed interval of time.

Attribute

recurring_bill_id
string
vendor_id
string
ID of the vendor the bill has to be created.
vendor_name
string
Name of the Vendor
status
string
Status of the Recurring Bill
recurrence_name
string
Name of the Recurring Bill. Max-length [100]
currency_id
string
ID of the Currency
currency_code
string
Code of the Currency
currency_symbol
string
Symbol of the Currency
start_date
string
Start date of the recurring bill. Bills will not be generated for dates prior to the current date. Format [yyyy-mm-dd].
end_date
string
Date on which recurring bill has to expire. Can be left as empty to run forever. Format [yyyy-mm-dd].
source_of_supply
string
🇮🇳 India
only
Place from where the goods/services are supplied. (If not given, place of contact given for the contact will be taken)
place_of_supply
string
GCC only
The place of supply is where a transaction is considered to have occurred for VAT purposes. For the supply of goods, the place of supply is the location of the goods when the supply occurs. For the supply of services, the place of supply should be where the supplier is established. (If not given, 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.
destination_of_supply
string
🇮🇳 India
only
Place where the goods/services are supplied to. (If not given, organisation's home state will be taken)
gst_treatment
string
🇮🇳 India
only
Choose whether the contact is GST registered/unregistered/consumer/overseas. Allowed values are business_gst , business_none , overseas , consumer .
gst_no
string
🇮🇳 India
only
15 digit GST identification number of the vendor.
tax_treatment
string
GCC , 🇲🇽 Mexico
only
VAT treatment for the bill. Choose whether the vendor falls under: 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.
vat_treatment
string
🇬🇧 United Kingdom
only
(Optional) VAT treatment for the bill. VAT treatment denotes the location of the vendor, if the vendor resides in UK then the VAT treatment is 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_reg_no
string
🇬🇧 United Kingdom
, Avalara Integration only
For UK Edition: VAT Registration number of a contact with length should be between 2 and 12 characters.
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.
is_abn_quoted
string
🇦🇺 Australia
only
abn
string
🇦🇺 Australia
only
is_reverse_charge_applied
boolean
🇮🇳 India
only
Applicable for transactions where you pay reverse charge
pricebook_id
string
Enter ID of the price book.
pricebook_name
string
Name of the price book
is_inclusive_tax
boolean
Not applicable 🇺🇸 United States
Used to specify whether the line item rates are inclusive or exclusive of tax.
line_items
array
Line items of a recurrence bill.
Show Sub-Attributes arrow
line_item_id
string
ID of the Line Item
item_id
string
ID of the Item
sku
string
SKU of the Item
name
string
account_id
string
ID of the account associated with the line item.
account_name
string
Name of the Account
image_document_id
string
🇮🇳 India
only
ID of the image document
warehouse_id
string
🇮🇳 India
only
Warehoude ID
warehouse_name
string
Name of the warehouse
reverse_charge_tax_id
string
🇮🇳 India
, GCC only
Reverse charge tax ID
reverse_charge_tax_name
string
🇮🇳 India
only
Name of the reverse charge tax
reverse_charge_tax_percentage
double
🇮🇳 India
only
Enter reverse charge percentage
reverse_charge_tax_amount
double
🇮🇳 India
only
Enter reverse charge amount
description
string
Description of the line item.
bcy_rate
integer
Rate in Base Currency of the Organization
rate
double
Rate of the line item.
tags
array
Show Sub-Attributes arrow
tag_id
long
ID of the Tag
tag_option_id
long
Id of the Tag Option
quantity
double
Quantity of the line item.
tax_id
string
Not applicable 🇺🇸 United States
ID of the tax or tax group applied to the line item.
tds_tax_id
string
🇲🇽 Mexico
only
TDS ID of the tax group applied to the line item
tax_treatment_code
string
GCC only
Specify reason for using out of scope.
Supported values for UAE are 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.
tax_exemption_id
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
only
ID of the Tax Exemption Applied
tax_exemption_code
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
only
Code of the Tax Exemption Applied
tax_name
string
Name of the Tax
tax_type
string
Type of tax
tax_percentage
integer
Percentage of Tax
item_total
integer
Total of the Item
item_total_inclusive_of_tax
double
Total of the Item Inclusive of Tax
item_order
integer
unit
string
Unit of the Item
product_type
string
Europe , 🇬🇧 United Kingdom
only
Type of the bill. This denotes whether the bill line item is to be treated as a goods or service purchase. This only need to be specified in case purchase order is not enabled. Allowed Values: digital_service, goods and service.
hsn_or_sac
string
🇮🇳 India
only
Add HSN/SAC code for your goods/services
acquisition_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is an EU - goods purchase and acquisition VAT needs to be reported.
acquisition_vat_name
string
🇬🇧 United Kingdom
, Europe only
Name of the VAT Acquistion
acquisition_vat_percentage
string
🇬🇧 United Kingdom
, Europe only
Percentage of the VAT Acquistion
acquisition_vat_amount
string
🇬🇧 United Kingdom
, Europe only
Amount of the VAT Acquistion
reverse_charge_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is a non UK - service purchase and reverse charge VAT needs to be reported.
reverse_charge_vat_name
string
🇬🇧 United Kingdom
, Europe only
Name of the Reverse Charge
reverse_charge_vat_percentage
string
🇬🇧 United Kingdom
, Europe only
Percentage of the Reverse Charge
reverse_charge_vat_amount
string
🇬🇧 United Kingdom
, Europe only
Percentage of the Reverse Charge
is_billable
boolean
Check if entity is Billable
customer_id
string
ID of the Customer
customer_name
string
Name of the Customer
project_id
string
ID of the Project
project_name
string
Name of the Project
item_custom_fields
array
Show Sub-Attributes arrow
custom_field_id
long
index
integer
Index of the custom field
value
string
Value of the Custom Field
label
string
Label of the Custom Field
is_tds_applied
boolean
🇮🇳 India
, 🌎 Global
, 🇦🇺 Australia
only
Check if TDS is applied
notes
string
Notes for the Bill
terms
string
Terms and Conditions for the Bill
payment_terms
integer
Number Referring to Payment Terms
payment_terms_label
string
Label of the Payment Terms
custom_fields
array
Show Sub-Attributes arrow
custom_field_id
long
index
integer
Index of the custom field
label
string
Label of the Custom Field
value
string
Value of the Custom Field
acquisition_vat_summary
array
🇬🇧 United Kingdom
, Europe only
Summary of the VAT Acquistion
Show Sub-Attributes arrow
tax_name
string
Name of the Tax
tax_amount
string
Amount of Tax in the Bill
reverse_charge_vat_summary
array
🇬🇧 United Kingdom
, Europe only
Summary of the Reverse Charge
Show Sub-Attributes arrow
tax_name
string
Name of the Tax
tax_amount
string
Amount of Tax in the Bill
acquisition_vat_total
double
🇬🇧 United Kingdom
, Europe only
Total of the VAT Acquistion
reverse_charge_vat_total
double
🇬🇧 United Kingdom
, Europe only
Total of the Reverse Charge
created_time
string
Created time of the bill
created_by_id
string
Name of User who created the Bill
last_modified_time
string
Last Modified Time of the Bill
discount
string
Discount applied to the recurrence. It can be either in % or in amount. E.g: 12.5% or 190.
discount_account_id
string
ID of the account associated with the discount account.
is_discount_before_tax
boolean
To specify discount applied in before /after tax.

Example

{ "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, "line_items": [ { "line_item_id": "460000000067009", "item_id": "460000000054135", "sku": "string", "name": "string", "account_id": "460000000000403", "account_name": "Other Expenses", "image_document_id": 460000000038067, "warehouse_id": 460000000038089, "warehouse_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": "460000000054178", "tag_option_id": "460000000054180" } ], "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": 0, "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": 0, "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.1, "reverse_charge_vat_total": 0.1, "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 }

Create a recurring bill

Create a recurring bill.
OAuth Scope : ZohoBooks.bills.CREATE

Arguments

vendor_id
string
(Required)
ID of the vendor the bill has to be created.
currency_id
string
ID of the Currency
recurrence_name
string
(Required)
Name of the Recurring Bill. Max-length [100]
start_date
string
(Required)
Start date of the recurring bill. Bills will not be generated for dates prior to the current date. Format [yyyy-mm-dd].
end_date
string
Date on which recurring bill has to expire. Can be left as empty to run forever. Format [yyyy-mm-dd].
source_of_supply
string
🇮🇳 India
only
Place from where the goods/services are supplied. (If not given, place of contact given for the contact will be taken)
place_of_supply
string
GCC only
The place of supply is where a transaction is considered to have occurred for VAT purposes. For the supply of goods, the place of supply is the location of the goods when the supply occurs. For the supply of services, the place of supply should be where the supplier is established. (If not given, 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.
destination_of_supply
string
🇮🇳 India
only
Place where the goods/services are supplied to. (If not given, organisation's home state will be taken)
gst_treatment
string
🇮🇳 India
only
Choose whether the contact is GST registered/unregistered/consumer/overseas. Allowed values are business_gst , business_none , overseas , consumer .
gst_no
string
🇮🇳 India
only
15 digit GST identification number of the vendor.
tax_treatment
string
GCC , 🇲🇽 Mexico
only
VAT treatment for the bill. Choose whether the vendor falls under: 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.
vat_treatment
string
🇬🇧 United Kingdom
only
(Optional) VAT treatment for the bill. VAT treatment denotes the location of the vendor, if the vendor resides in UK then the VAT treatment is 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_reg_no
string
🇬🇧 United Kingdom
, Avalara Integration only
For UK Edition: VAT Registration number of a contact with length should be between 2 and 12 characters.
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.
is_abn_quoted
string
🇦🇺 Australia
only
abn
string
🇦🇺 Australia
only
is_reverse_charge_applied
boolean
🇮🇳 India
only
Applicable for transactions where you pay reverse charge
pricebook_id
string
Enter ID of the price book.
is_inclusive_tax
boolean
Not applicable 🇺🇸 United States
Used to specify whether the line item rates are inclusive or exclusive of tax.
line_items
array
Line items of a recurrence bill.
Show Sub-Attributes arrow
line_item_id
string
ID of the Line Item
item_id
string
ID of the Item
name
string
account_id
string
ID of the account associated with the line item.
description
string
Description of the line item.
rate
double
Rate of the line item.
hsn_or_sac
string
🇮🇳 India
only
Add HSN/SAC code for your goods/services
reverse_charge_tax_id
string
🇮🇳 India
, GCC only
Reverse charge tax ID
warehouse_id
string
🇮🇳 India
only
Warehoude ID
quantity
double
Quantity of the line item.
tax_id
string
Not applicable 🇺🇸 United States
ID of the tax or tax group applied to the line item.
tds_tax_id
string
🇲🇽 Mexico
only
TDS ID of the tax group applied to the line item
tax_treatment_code
string
GCC only
Specify reason for using out of scope.
Supported values for UAE are 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.
tax_exemption_id
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
only
ID of the Tax Exemption Applied
tax_exemption_code
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
only
Code of the Tax Exemption Applied
item_order
integer
product_type
string
Europe , 🇬🇧 United Kingdom
only
Type of the bill. This denotes whether the bill line item is to be treated as a goods or service purchase. This only need to be specified in case purchase order is not enabled. Allowed Values: digital_service, goods and service.
acquisition_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is an EU - goods purchase and acquisition VAT needs to be reported.
reverse_charge_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is a non UK - service purchase and reverse charge VAT needs to be reported.
unit
string
Unit of the Item
tags
array
Show Sub-Attributes arrow
tag_id
long
ID of the Tag
tag_option_id
long
Id of the Tag Option
is_billable
boolean
Check if entity is Billable
project_id
string
ID of the Project
customer_id
string
ID of the Customer
item_custom_fields
array
Show Sub-Attributes arrow
custom_field_id
long
index
integer
Index of the custom field
value
string
Value of the Custom Field
label
string
Label of the Custom Field
serial_numbers
array
is_tds_applied
boolean
🇮🇳 India
, 🌎 Global
, 🇦🇺 Australia
only
Check if TDS is applied
notes
string
Notes for the Bill
terms
string
Terms and Conditions for the Bill
payment_terms
integer
Number Referring to Payment Terms
payment_terms_label
string
Label of the Payment Terms
custom_fields
array
Show Sub-Attributes arrow
index
integer
Index of the custom field
value
string
Value of the Custom Field
discount
string
Discount applied to the recurrence. It can be either in % or in amount. E.g: 12.5% or 190.
discount_account_id
string
ID of the account associated with the discount account.
is_discount_before_tax
boolean
To specify discount applied in before /after tax.
repeat_every
string
(Required)
Description for repeat_every
recurrence_frequency
string
(Required)
Description for recurrence_frequency

Request Example

Click to copy
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"}'

Body Parameters

Click to copy
{ "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, "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, "warehouse_id": 460000000038089, "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": "460000000054178", "tag_option_id": "460000000054180" } ], "is_billable": false, "project_id": "string", "customer_id": "string", "item_custom_fields": [ { "custom_field_id": 0, "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": "" }

Response Example

{ "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, "line_items": [ { "line_item_id": "460000000067009", "item_id": "460000000054135", "sku": "string", "name": "string", "account_id": "460000000000403", "account_name": "Other Expenses", "image_document_id": 460000000038067, "warehouse_id": 460000000038089, "warehouse_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": "460000000054178", "tag_option_id": "460000000054180" } ], "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": 0, "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": 0, "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.1, "reverse_charge_vat_total": 0.1, "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 } }

Update a recurring bill using a custom field's unique value

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

recurring_bill_id
string
vendor_id
string
(Required)
ID of the vendor the bill has to be created.
currency_id
string
ID of the Currency
status
string
Status of the Recurring Bill
recurrence_name
string
(Required)
Name of the Recurring Bill. Max-length [100]
start_date
string
(Required)
Start date of the recurring bill. Bills will not be generated for dates prior to the current date. Format [yyyy-mm-dd].
end_date
string
Date on which recurring bill has to expire. Can be left as empty to run forever. Format [yyyy-mm-dd].
source_of_supply
string
🇮🇳 India
only
Place from where the goods/services are supplied. (If not given, place of contact given for the contact will be taken)
place_of_supply
string
GCC only
The place of supply is where a transaction is considered to have occurred for VAT purposes. For the supply of goods, the place of supply is the location of the goods when the supply occurs. For the supply of services, the place of supply should be where the supplier is established. (If not given, 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.
destination_of_supply
string
🇮🇳 India
only
Place where the goods/services are supplied to. (If not given, organisation's home state will be taken)
gst_treatment
string
🇮🇳 India
only
Choose whether the contact is GST registered/unregistered/consumer/overseas. Allowed values are business_gst , business_none , overseas , consumer .
gst_no
string
🇮🇳 India
only
15 digit GST identification number of the vendor.
tax_treatment
string
GCC , 🇲🇽 Mexico
only
VAT treatment for the bill. Choose whether the vendor falls under: 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.
vat_treatment
string
🇬🇧 United Kingdom
only
(Optional) VAT treatment for the bill. VAT treatment denotes the location of the vendor, if the vendor resides in UK then the VAT treatment is 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_reg_no
string
🇬🇧 United Kingdom
, Avalara Integration only
For UK Edition: VAT Registration number of a contact with length should be between 2 and 12 characters.
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.
is_abn_quoted
string
🇦🇺 Australia
only
abn
string
🇦🇺 Australia
only
is_reverse_charge_applied
boolean
🇮🇳 India
only
Applicable for transactions where you pay reverse charge
pricebook_id
string
Enter ID of the price book.
pricebook_name
string
Name of the price book
is_inclusive_tax
boolean
Not applicable 🇺🇸 United States
Used to specify whether the line item rates are inclusive or exclusive of tax.
line_items
array
Line items of a recurrence bill.
Show Sub-Attributes arrow
line_item_id
string
ID of the Line Item
item_id
string
ID of the Item
name
string
account_id
string
ID of the account associated with the line item.
description
string
Description of the line item.
rate
double
Rate of the line item.
hsn_or_sac
string
🇮🇳 India
only
Add HSN/SAC code for your goods/services
reverse_charge_tax_id
string
🇮🇳 India
, GCC only
Reverse charge tax ID
warehouse_id
string
🇮🇳 India
only
Warehoude ID
quantity
double
Quantity of the line item.
tax_id
string
Not applicable 🇺🇸 United States
ID of the tax or tax group applied to the line item.
tds_tax_id
string
🇲🇽 Mexico
only
TDS ID of the tax group applied to the line item
tax_treatment_code
string
GCC only
Specify reason for using out of scope.
Supported values for UAE are 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.
tax_exemption_id
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
only
ID of the Tax Exemption Applied
tax_exemption_code
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
only
Code of the Tax Exemption Applied
item_order
integer
product_type
string
Europe , 🇬🇧 United Kingdom
only
Type of the bill. This denotes whether the bill line item is to be treated as a goods or service purchase. This only need to be specified in case purchase order is not enabled. Allowed Values: digital_service, goods and service.
acquisition_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is an EU - goods purchase and acquisition VAT needs to be reported.
reverse_charge_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is a non UK - service purchase and reverse charge VAT needs to be reported.
unit
string
Unit of the Item
tags
array
Show Sub-Attributes arrow
tag_id
long
ID of the Tag
tag_option_id
long
Id of the Tag Option
is_billable
boolean
Check if entity is Billable
project_id
string
ID of the Project
customer_id
string
ID of the Customer
item_custom_fields
array
Show Sub-Attributes arrow
custom_field_id
long
index
integer
Index of the custom field
value
string
Value of the Custom Field
label
string
Label of the Custom Field
serial_numbers
array
is_tds_applied
boolean
🇮🇳 India
, 🌎 Global
, 🇦🇺 Australia
only
Check if TDS is applied
notes
string
Notes for the Bill
terms
string
Terms and Conditions for the Bill
payment_terms
integer
Number Referring to Payment Terms
payment_terms_label
string
Label of the Payment Terms
custom_fields
array
Show Sub-Attributes arrow
index
integer
Index of the custom field
value
string
Value of the Custom Field
discount
string
Discount applied to the recurrence. It can be either in % or in amount. E.g: 12.5% or 190.
discount_account_id
string
ID of the account associated with the discount account.
is_discount_before_tax
boolean
To specify discount applied in before /after tax.
repeat_every
string
(Required)
Description for repeat_every
recurrence_frequency
string
(Required)
Description for recurrence_frequency

Request Example

Click to copy
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"}'

Body Parameters

Click to copy
{ "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, "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, "warehouse_id": 460000000038089, "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": "460000000054178", "tag_option_id": "460000000054180" } ], "is_billable": false, "project_id": "string", "customer_id": "string", "item_custom_fields": [ { "custom_field_id": 0, "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": "" }

Response Example

{ "code": 0, "message": "Recurring Bill information has been updated." }

List recurring bills

List all recurring bills with pagination.
OAuth Scope : ZohoBooks.bills.READ

Query Parameters

recurring_bill_id
vendor_id
Search recurring bills by Vendor ID
vendor_name
Search recurring bills by vendor name. Variants: vendor_name_startswith and vendor_name_contains
status
Search recurring bills by recurring bill status. Allowed Values: active, stopped, expired
recurrence_name
Search recurring bills by recurrence number. Variants: recurrence_name_startswith and recurrence_name_contains
currency_id
ID of the Currency
currency_code
Code of the Currency
currency_symbol
Symbol of the Currency
start_date
Search recurring bills by recurring bill start date. Variants: start_date_start, start_date_end, start_date_before and start_date_after
end_date
Date on which recurring bill has to expire. Can be left as empty to run forever. Format [yyyy-mm-dd].
source_of_supply
🇮🇳 India
only
Place from where the goods/services are supplied. (If not given, place of contact given for the contact will be taken)
place_of_supply
GCC only
The place of supply is where a transaction is considered to have occurred for VAT purposes. For the supply of goods, the place of supply is the location of the goods when the supply occurs. For the supply of services, the place of supply should be where the supplier is established. (If not given, 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.
destination_of_supply
🇮🇳 India
only
Place where the goods/services are supplied to. (If not given, organisation's home state will be taken)
gst_treatment
🇮🇳 India
only
Choose whether the contact is GST registered/unregistered/consumer/overseas. Allowed values are business_gst , business_none , overseas , consumer .
gst_no
🇮🇳 India
only
15 digit GST identification number of the vendor.
tax_treatment
GCC , 🇲🇽 Mexico
only
VAT treatment for the bill. Choose whether the vendor falls under: 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.
vat_treatment
🇬🇧 United Kingdom
only
(Optional) VAT treatment for the bill. VAT treatment denotes the location of the vendor, if the vendor resides in UK then the VAT treatment is 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_reg_no
🇬🇧 United Kingdom
, Avalara Integration only
For UK Edition: VAT Registration number of a contact with length should be between 2 and 12 characters.
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.
is_abn_quoted
🇦🇺 Australia
only
abn
🇦🇺 Australia
only
is_reverse_charge_applied
🇮🇳 India
only
Applicable for transactions where you pay reverse charge
pricebook_id
Enter ID of the price book.
pricebook_name
Name of the price book
is_inclusive_tax
only
Used to specify whether the line item rates are inclusive or exclusive of tax.
is_tds_applied
🇮🇳 India
, 🌎 Global
, 🇦🇺 Australia
only
Check if TDS is applied
notes
Notes for the Bill
terms
Terms and Conditions for the Bill
payment_terms
Number Referring to Payment Terms
payment_terms_label
Label of the Payment Terms
acquisition_vat_total
🇬🇧 United Kingdom
, Europe only
Total of the VAT Acquistion
reverse_charge_vat_total
🇬🇧 United Kingdom
, Europe only
Total of the Reverse Charge
created_time
Created time of the bill
created_by_id
Name of User who created the Bill
last_modified_time
Last Modified Time of the Bill
discount
Discount applied to the recurrence. It can be either in % or in amount. E.g: 12.5% or 190.
discount_account_id
ID of the account associated with the discount account.
is_discount_before_tax
To specify discount applied in before /after tax.

Request Example

Click to copy
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'

Response Example

{ "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, "line_items": [ { "line_item_id": "460000000067009", "item_id": "460000000054135", "sku": "string", "name": "string", "account_id": "460000000000403", "account_name": "Other Expenses", "image_document_id": 460000000038067, "warehouse_id": 460000000038089, "warehouse_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": "460000000054178", "tag_option_id": "460000000054180" } ], "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": 0, "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": 0, "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.1, "reverse_charge_vat_total": 0.1, "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 }, {...}, {...} ] }

Update a recurring bill

Update a recurring bill. To delete a line item just remove it from the line_items list.
OAuth Scope : ZohoBooks.bills.UPDATE

Arguments

recurring_bill_id
string
vendor_id
string
(Required)
ID of the vendor the bill has to be created.
currency_id
string
ID of the Currency
status
string
Status of the Recurring Bill
recurrence_name
string
(Required)
Name of the Recurring Bill. Max-length [100]
start_date
string
(Required)
Start date of the recurring bill. Bills will not be generated for dates prior to the current date. Format [yyyy-mm-dd].
end_date
string
Date on which recurring bill has to expire. Can be left as empty to run forever. Format [yyyy-mm-dd].
source_of_supply
string
🇮🇳 India
only
Place from where the goods/services are supplied. (If not given, place of contact given for the contact will be taken)
place_of_supply
string
GCC only
The place of supply is where a transaction is considered to have occurred for VAT purposes. For the supply of goods, the place of supply is the location of the goods when the supply occurs. For the supply of services, the place of supply should be where the supplier is established. (If not given, 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.
destination_of_supply
string
🇮🇳 India
only
Place where the goods/services are supplied to. (If not given, organisation's home state will be taken)
gst_treatment
string
🇮🇳 India
only
Choose whether the contact is GST registered/unregistered/consumer/overseas. Allowed values are business_gst , business_none , overseas , consumer .
gst_no
string
🇮🇳 India
only
15 digit GST identification number of the vendor.
tax_treatment
string
GCC , 🇲🇽 Mexico
only
VAT treatment for the bill. Choose whether the vendor falls under: 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.
vat_treatment
string
🇬🇧 United Kingdom
only
(Optional) VAT treatment for the bill. VAT treatment denotes the location of the vendor, if the vendor resides in UK then the VAT treatment is 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_reg_no
string
🇬🇧 United Kingdom
, Avalara Integration only
For UK Edition: VAT Registration number of a contact with length should be between 2 and 12 characters.
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.
is_abn_quoted
string
🇦🇺 Australia
only
abn
string
🇦🇺 Australia
only
is_reverse_charge_applied
boolean
🇮🇳 India
only
Applicable for transactions where you pay reverse charge
pricebook_id
string
Enter ID of the price book.
pricebook_name
string
Name of the price book
is_inclusive_tax
boolean
Not applicable 🇺🇸 United States
Used to specify whether the line item rates are inclusive or exclusive of tax.
line_items
array
Line items of a recurrence bill.
Show Sub-Attributes arrow
line_item_id
string
ID of the Line Item
item_id
string
ID of the Item
name
string
account_id
string
ID of the account associated with the line item.
description
string
Description of the line item.
rate
double
Rate of the line item.
hsn_or_sac
string
🇮🇳 India
only
Add HSN/SAC code for your goods/services
reverse_charge_tax_id
string
🇮🇳 India
, GCC only
Reverse charge tax ID
warehouse_id
string
🇮🇳 India
only
Warehoude ID
quantity
double
Quantity of the line item.
tax_id
string
Not applicable 🇺🇸 United States
ID of the tax or tax group applied to the line item.
tds_tax_id
string
🇲🇽 Mexico
only
TDS ID of the tax group applied to the line item
tax_treatment_code
string
GCC only
Specify reason for using out of scope.
Supported values for UAE are 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.
tax_exemption_id
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
only
ID of the Tax Exemption Applied
tax_exemption_code
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
only
Code of the Tax Exemption Applied
item_order
integer
product_type
string
Europe , 🇬🇧 United Kingdom
only
Type of the bill. This denotes whether the bill line item is to be treated as a goods or service purchase. This only need to be specified in case purchase order is not enabled. Allowed Values: digital_service, goods and service.
acquisition_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is an EU - goods purchase and acquisition VAT needs to be reported.
reverse_charge_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is a non UK - service purchase and reverse charge VAT needs to be reported.
unit
string
Unit of the Item
tags
array
Show Sub-Attributes arrow
tag_id
long
ID of the Tag
tag_option_id
long
Id of the Tag Option
is_billable
boolean
Check if entity is Billable
project_id
string
ID of the Project
customer_id
string
ID of the Customer
item_custom_fields
array
Show Sub-Attributes arrow
custom_field_id
long
index
integer
Index of the custom field
value
string
Value of the Custom Field
label
string
Label of the Custom Field
serial_numbers
array
is_tds_applied
boolean
🇮🇳 India
, 🌎 Global
, 🇦🇺 Australia
only
Check if TDS is applied
notes
string
Notes for the Bill
terms
string
Terms and Conditions for the Bill
payment_terms
integer
Number Referring to Payment Terms
payment_terms_label
string
Label of the Payment Terms
custom_fields
array
Show Sub-Attributes arrow
index
integer
Index of the custom field
value
string
Value of the Custom Field
discount
string
Discount applied to the recurrence. It can be either in % or in amount. E.g: 12.5% or 190.
discount_account_id
string
ID of the account associated with the discount account.
is_discount_before_tax
boolean
To specify discount applied in before /after tax.
repeat_every
string
(Required)
Description for repeat_every
recurrence_frequency
string
(Required)
Description for recurrence_frequency

Request Example

Click to copy
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"}'

Body Parameters

Click to copy
{ "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, "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, "warehouse_id": 460000000038089, "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": "460000000054178", "tag_option_id": "460000000054180" } ], "is_billable": false, "project_id": "string", "customer_id": "string", "item_custom_fields": [ { "custom_field_id": 0, "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": "" }

Response Example

{ "code": 0, "message": "Recurring Bill information has been updated." }

Get a recurring bill

Get the details of a recurring bill.
OAuth Scope : ZohoBooks.bills.READ

Request Example

Click to copy
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'

Response Example

{ "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, "line_items": [ { "line_item_id": "460000000067009", "item_id": "460000000054135", "sku": "string", "name": "string", "account_id": "460000000000403", "account_name": "Other Expenses", "image_document_id": 460000000038067, "warehouse_id": 460000000038089, "warehouse_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": "460000000054178", "tag_option_id": "460000000054180" } ], "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": 0, "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": 0, "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.1, "reverse_charge_vat_total": 0.1, "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 } }

Delete a recurring bill

Delete an existing recurring bill.
OAuth Scope : ZohoBooks.bills.DELETE

Request Example

Click to copy
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'

Response Example

{ "code": 0, "message": "The recurring bill has been deleted." }

Stop a recurring bill

Stop an active recurring bill.
OAuth Scope : ZohoBooks.bills.CREATE

Request Example

Click to copy
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'

Response Example

{ "code": 0, "message": "The recurring bill has been stopped." }

Resume a recurring Bill

Resume a stopped recurring bill.
OAuth Scope : ZohoBooks.bills.CREATE

Request Example

Click to copy
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'

Response Example

{ "code": 0, "message": "The recurring bill has been activated." }

List recurring bill history

Get history and comments of a recurring bill.
OAuth Scope : ZohoBooks.bills.READ

Request Example

Click to copy
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'

Response Example

{ "code": 0, "message": "success" }