Bills
When your vendor supplies goods/services to you on credit, you’re sent an invoice that details the amount of money you owe him. You can record this as a bill in Zoho Books and track it until it’s paid.
Attribute
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
, if he resides outside of 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.
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.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
and bahrain_others
. Supported values for KSA are ksa_reimbursed_expense
. digital_service
, goods
and service
.{
"bill_id": "460000000098765",
"purchaseorder_ids": [
460000000068231,
460000000068233
],
"vendor_id": "460000000038029",
"vendor_name": "string",
"vat_treatment": "string",
"vat_reg_no": "string",
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"permit_number": "string",
"gst_no": "22AAAAA0000A1Z5",
"gst_treatment": "business_gst",
"tax_treatment": "vat_registered",
"is_pre_gst": false,
"pricebook_id": 460000000038090,
"pricebook_name": "string",
"is_reverse_charge_applied": true,
"unused_credits_payable_amount": 187,
"status": "open",
"bill_number": "00454",
"date": "2013-09-11",
"due_date": "2013-09-26",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"payment_expected_date": "string",
"reference_number": "4321133",
"recurring_bill_id": "string",
"due_by_days": "string",
"due_in_days": 0,
"currency_id": "460000000000099",
"currency_code": "INR",
"currency_symbol": "string",
"documents": [
{
"document_id": 0,
"file_name": "string"
}
],
"price_precision": 2,
"exchange_rate": 1.23,
"adjustment": 0,
"adjustment_description": " ",
"custom_fields": [
{
"custom_field_id": 0,
"index": 0,
"label": "string",
"value": "string"
}
],
"is_tds_applied": true,
"is_item_level_tax_calc": false,
"is_inclusive_tax": false,
"filed_in_vat_return_id": "string",
"filed_in_vat_return_name": "string",
"filed_in_vat_return_type": "string",
"is_abn_quoted": "string",
"line_items": [
{
"purchaseorder_item_id": "string",
"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": "460000000027009",
"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",
"invoice_id": "string",
"invoice_number": "string",
"item_custom_fields": [
{
"custom_field_id": 0,
"index": 0,
"value": "string",
"label": "string"
}
]
}
],
"sub_total": 40,
"tax_total": 0,
"total": 40,
"payment_made": 0,
"vendor_credits_applied": 0,
"is_line_item_invoiced": false,
"purchaseorders": [
{
"purchaseorder_id": "460000000068231",
"purchaseorder_number": "PO-0001",
"purchaseorder_date": "19 Jan 2017",
"purchaseorder_status": "billed"
}
],
"taxes": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_total": 0.1,
"reverse_charge_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"reverse_charge_vat_total": 0.1,
"balance": 40,
"billing_address": {
"address": "string",
"street2": "Suite 310",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"fax": "string",
"attention": "string"
},
"payments": [
{
"payment_id": "460000000042059",
"bill_id": "460000000098765",
"bill_payment_id": "460000000042061",
"payment_mode": "Cash",
"payment_number": "string",
"description": "string",
"date": "2013-09-11",
"reference_number": "4321133",
"exchange_rate": 1.23,
"amount": 31.25,
"paid_through_account_id": "460000000000358",
"paid_through_account_name": "Undeposited Funds",
"is_single_bill_payment": true,
"is_paid_via_print_check": false,
"check_details": [
{
"check_status": "string",
"check_number": "string"
}
],
"is_ach_payment": false,
"ach_payment_status": "string",
"ach_gw_transaction_id": "string",
"filed_in_vat_return_id": "string",
"filed_in_vat_return_name": "string",
"filed_in_vat_return_type": "string"
}
],
"vendor_credits": [
{
"vendor_credit_id": "4600000053221",
"vendor_credit_bill_id": "4600000211221",
"vendor_credit_number": "DN-001",
"date": "27 Dec 2016",
"amount": 10
}
],
"created_time": "2013-09-11T17:18:32+0530",
"created_by_id": "4600000053001",
"last_modified_time": "2013-09-11T17:18:32+0530",
"reference_id": "string",
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"attachment_name": "string",
"open_purchaseorders_count": 1
}
Create a bill
Create a bill received from your vendor.
OAuth Scope : ZohoBooks.bills.CREATE
Arguments
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
, if he resides outside of 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
).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.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
and bahrain_others
. Supported values for KSA are ksa_reimbursed_expense
. digital_service
, goods
and service
.Query Parameters
gif
, png
, jpeg
, jpg
, bmp
and pdf
.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/bills?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/bills?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/bills?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/bills?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/bills?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/bills?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",
"vat_treatment": "string",
"is_update_customer": false,
"purchaseorder_ids": [
460000000068231,
460000000068233
],
"bill_number": "00454",
"documents": [
{
"document_id": 0,
"file_name": "string"
}
],
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"permit_number": "string",
"gst_treatment": "business_gst",
"tax_treatment": "vat_registered",
"gst_no": "22AAAAA0000A1Z5",
"pricebook_id": 460000000038090,
"reference_number": "4321133",
"date": "2013-09-11",
"due_date": "2013-09-26",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"recurring_bill_id": "string",
"exchange_rate": 1.23,
"is_item_level_tax_calc": false,
"is_inclusive_tax": false,
"adjustment": 0,
"adjustment_description": " ",
"custom_fields": [
{
"index": 0,
"value": "string"
}
],
"line_items": [
{
"purchaseorder_item_id": "string",
"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": "460000000027009",
"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"
]
}
],
"taxes": [
{
"tax_id": "460000000027005",
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"approvers": [
{
"approver_id": 0,
"order": 0
}
]
}
{
"code": 0,
"message": "success",
"bill": {
"bill_id": "460000000098765",
"purchaseorder_ids": [
460000000068231,
460000000068233
],
"vendor_id": "460000000038029",
"vendor_name": "string",
"vat_treatment": "string",
"vat_reg_no": "string",
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"permit_number": "string",
"gst_no": "22AAAAA0000A1Z5",
"gst_treatment": "business_gst",
"tax_treatment": "vat_registered",
"is_pre_gst": false,
"pricebook_id": 460000000038090,
"pricebook_name": "string",
"is_reverse_charge_applied": true,
"unused_credits_payable_amount": 187,
"status": "open",
"bill_number": "00454",
"date": "2013-09-11",
"due_date": "2013-09-26",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"payment_expected_date": "string",
"reference_number": "4321133",
"recurring_bill_id": "string",
"due_by_days": "string",
"due_in_days": 0,
"currency_id": "460000000000099",
"currency_code": "INR",
"currency_symbol": "string",
"documents": [
{
"document_id": 0,
"file_name": "string"
}
],
"price_precision": 2,
"exchange_rate": 1.23,
"adjustment": 0,
"adjustment_description": " ",
"custom_fields": [
{
"custom_field_id": 0,
"index": 0,
"label": "string",
"value": "string"
}
],
"is_tds_applied": true,
"is_item_level_tax_calc": false,
"is_inclusive_tax": false,
"filed_in_vat_return_id": "string",
"filed_in_vat_return_name": "string",
"filed_in_vat_return_type": "string",
"is_abn_quoted": "string",
"line_items": [
{
"purchaseorder_item_id": "string",
"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": "460000000027009",
"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",
"invoice_id": "string",
"invoice_number": "string",
"item_custom_fields": [
{
"custom_field_id": 0,
"index": 0,
"value": "string",
"label": "string"
}
]
}
],
"sub_total": 40,
"tax_total": 0,
"total": 40,
"payment_made": 0,
"vendor_credits_applied": 0,
"is_line_item_invoiced": false,
"purchaseorders": [
{
"purchaseorder_id": "460000000068231",
"purchaseorder_number": "PO-0001",
"purchaseorder_date": "19 Jan 2017",
"purchaseorder_status": "billed"
}
],
"taxes": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_total": 0.1,
"reverse_charge_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"reverse_charge_vat_total": 0.1,
"balance": 40,
"billing_address": {
"address": "string",
"street2": "Suite 310",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"fax": "string",
"attention": "string"
},
"payments": [
{
"payment_id": "460000000042059",
"bill_id": "460000000098765",
"bill_payment_id": "460000000042061",
"payment_mode": "Cash",
"payment_number": "string",
"description": "string",
"date": "2013-09-11",
"reference_number": "4321133",
"exchange_rate": 1.23,
"amount": 31.25,
"paid_through_account_id": "460000000000358",
"paid_through_account_name": "Undeposited Funds",
"is_single_bill_payment": true,
"is_paid_via_print_check": false,
"check_details": [
{
"check_status": "string",
"check_number": "string"
}
],
"is_ach_payment": false,
"ach_payment_status": "string",
"ach_gw_transaction_id": "string",
"filed_in_vat_return_id": "string",
"filed_in_vat_return_name": "string",
"filed_in_vat_return_type": "string"
}
],
"vendor_credits": [
{
"vendor_credit_id": "4600000053221",
"vendor_credit_bill_id": "4600000211221",
"vendor_credit_number": "DN-001",
"date": "27 Dec 2016",
"amount": 10
}
],
"created_time": "2013-09-11T17:18:32+0530",
"created_by_id": "4600000053001",
"last_modified_time": "2013-09-11T17:18:32+0530",
"reference_id": "string",
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"attachment_name": "string",
"open_purchaseorders_count": 1
}
}
Update a 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 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 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 bills, a new bill will be created if the necessary payload details are available
OAuth Scope : ZohoBooks.bills.UPDATE
Arguments
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
, if he resides outside of 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
).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.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
and bahrain_others
. Supported values for KSA are ksa_reimbursed_expense
. digital_service
, goods
and service
.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/bills?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/bills?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/bills?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/bills?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/bills?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/bills?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"}'
{
"vendor_id": "460000000038029",
"currency_id": "460000000000099",
"vat_treatment": "string",
"is_update_customer": false,
"purchaseorder_ids": [
460000000068231,
460000000068233
],
"bill_number": "00454",
"documents": [
{
"document_id": 0,
"file_name": "string"
}
],
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"permit_number": "string",
"gst_treatment": "business_gst",
"tax_treatment": "vat_registered",
"gst_no": "22AAAAA0000A1Z5",
"pricebook_id": 460000000038090,
"reference_number": "4321133",
"date": "2013-09-11",
"due_date": "2013-09-26",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"recurring_bill_id": "string",
"exchange_rate": 1.23,
"is_item_level_tax_calc": false,
"is_inclusive_tax": false,
"adjustment": 0,
"adjustment_description": " ",
"custom_fields": [
{
"index": 0,
"value": "string"
}
],
"line_items": [
{
"purchaseorder_item_id": "string",
"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": "460000000027009",
"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"
]
}
],
"taxes": [
{
"tax_id": "460000000027005",
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"approvers": [
{
"approver_id": 0,
"order": 0
}
]
}
{
"code": 0,
"message": "Bill information has been updated.",
"bill": {
"bill_id": "460000000098765",
"purchaseorder_ids": [
460000000068231,
460000000068233
],
"vendor_id": "460000000038029",
"vendor_name": "string",
"vat_treatment": "string",
"vat_reg_no": "string",
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"permit_number": "string",
"gst_no": "22AAAAA0000A1Z5",
"gst_treatment": "business_gst",
"tax_treatment": "vat_registered",
"is_pre_gst": false,
"pricebook_id": 460000000038090,
"pricebook_name": "string",
"is_reverse_charge_applied": true,
"unused_credits_payable_amount": 187,
"status": "open",
"bill_number": "00454",
"date": "2013-09-11",
"due_date": "2013-09-26",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"payment_expected_date": "string",
"reference_number": "4321133",
"recurring_bill_id": "string",
"due_by_days": "string",
"due_in_days": 0,
"currency_id": "460000000000099",
"currency_code": "INR",
"currency_symbol": "string",
"documents": [
{
"document_id": 0,
"file_name": "string"
}
],
"price_precision": 2,
"exchange_rate": 1.23,
"adjustment": 0,
"adjustment_description": " ",
"custom_fields": [
{
"custom_field_id": 0,
"index": 0,
"label": "string",
"value": "string"
}
],
"is_tds_applied": true,
"is_item_level_tax_calc": false,
"is_inclusive_tax": false,
"filed_in_vat_return_id": "string",
"filed_in_vat_return_name": "string",
"filed_in_vat_return_type": "string",
"is_abn_quoted": "string",
"line_items": [
{
"purchaseorder_item_id": "string",
"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": "460000000027009",
"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",
"invoice_id": "string",
"invoice_number": "string",
"item_custom_fields": [
{
"custom_field_id": 0,
"index": 0,
"value": "string",
"label": "string"
}
]
}
],
"sub_total": 40,
"tax_total": 0,
"total": 40,
"payment_made": 0,
"vendor_credits_applied": 0,
"is_line_item_invoiced": false,
"purchaseorders": [
{
"purchaseorder_id": "460000000068231",
"purchaseorder_number": "PO-0001",
"purchaseorder_date": "19 Jan 2017",
"purchaseorder_status": "billed"
}
],
"taxes": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_total": 0.1,
"reverse_charge_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"reverse_charge_vat_total": 0.1,
"balance": 40,
"billing_address": {
"address": "string",
"street2": "Suite 310",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"fax": "string",
"attention": "string"
},
"payments": [
{
"payment_id": "460000000042059",
"bill_id": "460000000098765",
"bill_payment_id": "460000000042061",
"payment_mode": "Cash",
"payment_number": "string",
"description": "string",
"date": "2013-09-11",
"reference_number": "4321133",
"exchange_rate": 1.23,
"amount": 31.25,
"paid_through_account_id": "460000000000358",
"paid_through_account_name": "Undeposited Funds",
"is_single_bill_payment": true,
"is_paid_via_print_check": false,
"check_details": [
{
"check_status": "string",
"check_number": "string"
}
],
"is_ach_payment": false,
"ach_payment_status": "string",
"ach_gw_transaction_id": "string",
"filed_in_vat_return_id": "string",
"filed_in_vat_return_name": "string",
"filed_in_vat_return_type": "string"
}
],
"vendor_credits": [
{
"vendor_credit_id": "4600000053221",
"vendor_credit_bill_id": "4600000211221",
"vendor_credit_number": "DN-001",
"date": "27 Dec 2016",
"amount": 10
}
],
"created_time": "2013-09-11T17:18:32+0530",
"created_by_id": "4600000053001",
"last_modified_time": "2013-09-11T17:18:32+0530",
"reference_id": "string",
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"attachment_name": "string",
"open_purchaseorders_count": 1
}
}
List bills
List all bills with pagination.
OAuth Scope : ZohoBooks.bills.READ
Query Parameters
bill_number_startswith
and bill_number_contains
reference_number_startswith
and reference_number_contains
date_start
, date_end
, date_before
and date.after
paid
, open
, overdue
, void
and partially_paid
description_startswith
and description_contains
vendor_name_startswith
and vendor_name_contains
total_less_than
, total_less_equals
, total_greater_than
and total_greater_equals
Status.All
, Status.PartiallyPaid
, Status.Paid
, Status.Overdue
, Status.Void
and Status.Open
.vendor_name
, bill_number
, date
, due_date
, total
, balance
and created_time
.A/D
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/bills?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/bills?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/bills?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/bills?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/bills?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/bills?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "success",
"bills": [
{
"bill_id": "460000000098765",
"vendor_id": "460000000038029",
"vendor_name": "string",
"status": "open",
"bill_number": "00454",
"reference_number": "4321133",
"date": "2013-09-11",
"due_date": "2013-09-26",
"due_days": "string",
"currency_id": "460000000000099",
"currency_code": "INR",
"price_precision": 2,
"exchange_rate": 1.23,
"total": 40,
"balance": 40,
"created_time": "2013-09-11T17:18:32+0530",
"last_modified_time": "2013-09-11T17:18:32+0530",
"attachment_name": "string",
"has_attachment": false,
"is_tds_applied": true,
"is_abn_quoted": "string"
},
{...},
{...}
],
"page_context": {
"page": 1,
"per_page": 200,
"has_more_page": false,
"report_name": "Bills",
"applied_filter": "Status.All",
"sort_column": "string",
"sort_order": "D"
}
}
Update a bill
Update a bill. To delete a line item just remove it from the line_items list.
OAuth Scope : ZohoBooks.bills.UPDATE
Arguments
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
, if he resides outside of 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
).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.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
and bahrain_others
. Supported values for KSA are ksa_reimbursed_expense
. digital_service
, goods
and service
.Query Parameters
gif
, png
, jpeg
, jpg
, bmp
and pdf
.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/bills/460000000098765?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/bills/460000000098765?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/bills/460000000098765?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/bills/460000000098765?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/bills/460000000098765?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/bills/460000000098765?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",
"vat_treatment": "string",
"is_update_customer": false,
"purchaseorder_ids": [
460000000068231,
460000000068233
],
"bill_number": "00454",
"documents": [
{
"document_id": 0,
"file_name": "string"
}
],
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"permit_number": "string",
"gst_treatment": "business_gst",
"tax_treatment": "vat_registered",
"gst_no": "22AAAAA0000A1Z5",
"pricebook_id": 460000000038090,
"reference_number": "4321133",
"date": "2013-09-11",
"due_date": "2013-09-26",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"recurring_bill_id": "string",
"exchange_rate": 1.23,
"is_item_level_tax_calc": false,
"is_inclusive_tax": false,
"adjustment": 0,
"adjustment_description": " ",
"custom_fields": [
{
"index": 0,
"value": "string"
}
],
"line_items": [
{
"purchaseorder_item_id": "string",
"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": "460000000027009",
"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"
]
}
],
"taxes": [
{
"tax_id": "460000000027005",
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"approvers": [
{
"approver_id": 0,
"order": 0
}
]
}
{
"code": 0,
"message": "Bill information has been updated.",
"bill": {
"bill_id": "460000000098765",
"purchaseorder_ids": [
460000000068231,
460000000068233
],
"vendor_id": "460000000038029",
"vendor_name": "string",
"vat_treatment": "string",
"vat_reg_no": "string",
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"permit_number": "string",
"gst_no": "22AAAAA0000A1Z5",
"gst_treatment": "business_gst",
"tax_treatment": "vat_registered",
"is_pre_gst": false,
"pricebook_id": 460000000038090,
"pricebook_name": "string",
"is_reverse_charge_applied": true,
"unused_credits_payable_amount": 187,
"status": "open",
"bill_number": "00454",
"date": "2013-09-11",
"due_date": "2013-09-26",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"payment_expected_date": "string",
"reference_number": "4321133",
"recurring_bill_id": "string",
"due_by_days": "string",
"due_in_days": 0,
"currency_id": "460000000000099",
"currency_code": "INR",
"currency_symbol": "string",
"documents": [
{
"document_id": 0,
"file_name": "string"
}
],
"price_precision": 2,
"exchange_rate": 1.23,
"adjustment": 0,
"adjustment_description": " ",
"custom_fields": [
{
"custom_field_id": 0,
"index": 0,
"label": "string",
"value": "string"
}
],
"is_tds_applied": true,
"is_item_level_tax_calc": false,
"is_inclusive_tax": false,
"filed_in_vat_return_id": "string",
"filed_in_vat_return_name": "string",
"filed_in_vat_return_type": "string",
"is_abn_quoted": "string",
"line_items": [
{
"purchaseorder_item_id": "string",
"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": "460000000027009",
"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",
"invoice_id": "string",
"invoice_number": "string",
"item_custom_fields": [
{
"custom_field_id": 0,
"index": 0,
"value": "string",
"label": "string"
}
]
}
],
"sub_total": 40,
"tax_total": 0,
"total": 40,
"payment_made": 0,
"vendor_credits_applied": 0,
"is_line_item_invoiced": false,
"purchaseorders": [
{
"purchaseorder_id": "460000000068231",
"purchaseorder_number": "PO-0001",
"purchaseorder_date": "19 Jan 2017",
"purchaseorder_status": "billed"
}
],
"taxes": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_total": 0.1,
"reverse_charge_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"reverse_charge_vat_total": 0.1,
"balance": 40,
"billing_address": {
"address": "string",
"street2": "Suite 310",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"fax": "string",
"attention": "string"
},
"payments": [
{
"payment_id": "460000000042059",
"bill_id": "460000000098765",
"bill_payment_id": "460000000042061",
"payment_mode": "Cash",
"payment_number": "string",
"description": "string",
"date": "2013-09-11",
"reference_number": "4321133",
"exchange_rate": 1.23,
"amount": 31.25,
"paid_through_account_id": "460000000000358",
"paid_through_account_name": "Undeposited Funds",
"is_single_bill_payment": true,
"is_paid_via_print_check": false,
"check_details": [
{
"check_status": "string",
"check_number": "string"
}
],
"is_ach_payment": false,
"ach_payment_status": "string",
"ach_gw_transaction_id": "string",
"filed_in_vat_return_id": "string",
"filed_in_vat_return_name": "string",
"filed_in_vat_return_type": "string"
}
],
"vendor_credits": [
{
"vendor_credit_id": "4600000053221",
"vendor_credit_bill_id": "4600000211221",
"vendor_credit_number": "DN-001",
"date": "27 Dec 2016",
"amount": 10
}
],
"created_time": "2013-09-11T17:18:32+0530",
"created_by_id": "4600000053001",
"last_modified_time": "2013-09-11T17:18:32+0530",
"reference_id": "string",
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"attachment_name": "string",
"open_purchaseorders_count": 1
}
}
Get a bill
Get the details of a bill.
OAuth Scope : ZohoBooks.bills.READ
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/bills/460000000098765?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/bills/460000000098765?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/bills/460000000098765?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/bills/460000000098765?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/bills/460000000098765?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/bills/460000000098765?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "success",
"bill": {
"bill_id": "460000000098765",
"purchaseorder_ids": [
460000000068231,
460000000068233
],
"vendor_id": "460000000038029",
"vendor_name": "string",
"vat_treatment": "string",
"vat_reg_no": "string",
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"permit_number": "string",
"gst_no": "22AAAAA0000A1Z5",
"gst_treatment": "business_gst",
"tax_treatment": "vat_registered",
"is_pre_gst": false,
"pricebook_id": 460000000038090,
"pricebook_name": "string",
"is_reverse_charge_applied": true,
"unused_credits_payable_amount": 187,
"status": "open",
"bill_number": "00454",
"date": "2013-09-11",
"due_date": "2013-09-26",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"payment_expected_date": "string",
"reference_number": "4321133",
"recurring_bill_id": "string",
"due_by_days": "string",
"due_in_days": 0,
"currency_id": "460000000000099",
"currency_code": "INR",
"currency_symbol": "string",
"documents": [
{
"document_id": 0,
"file_name": "string"
}
],
"price_precision": 2,
"exchange_rate": 1.23,
"adjustment": 0,
"adjustment_description": " ",
"custom_fields": [
{
"custom_field_id": 0,
"index": 0,
"label": "string",
"value": "string"
}
],
"is_tds_applied": true,
"is_item_level_tax_calc": false,
"is_inclusive_tax": false,
"filed_in_vat_return_id": "string",
"filed_in_vat_return_name": "string",
"filed_in_vat_return_type": "string",
"is_abn_quoted": "string",
"line_items": [
{
"purchaseorder_item_id": "string",
"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": "460000000027009",
"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",
"invoice_id": "string",
"invoice_number": "string",
"item_custom_fields": [
{
"custom_field_id": 0,
"index": 0,
"value": "string",
"label": "string"
}
]
}
],
"sub_total": 40,
"tax_total": 0,
"total": 40,
"payment_made": 0,
"vendor_credits_applied": 0,
"is_line_item_invoiced": false,
"purchaseorders": [
{
"purchaseorder_id": "460000000068231",
"purchaseorder_number": "PO-0001",
"purchaseorder_date": "19 Jan 2017",
"purchaseorder_status": "billed"
}
],
"taxes": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_total": 0.1,
"reverse_charge_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"reverse_charge_vat_total": 0.1,
"balance": 40,
"billing_address": {
"address": "string",
"street2": "Suite 310",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"fax": "string",
"attention": "string"
},
"payments": [
{
"payment_id": "460000000042059",
"bill_id": "460000000098765",
"bill_payment_id": "460000000042061",
"payment_mode": "Cash",
"payment_number": "string",
"description": "string",
"date": "2013-09-11",
"reference_number": "4321133",
"exchange_rate": 1.23,
"amount": 31.25,
"paid_through_account_id": "460000000000358",
"paid_through_account_name": "Undeposited Funds",
"is_single_bill_payment": true,
"is_paid_via_print_check": false,
"check_details": [
{
"check_status": "string",
"check_number": "string"
}
],
"is_ach_payment": false,
"ach_payment_status": "string",
"ach_gw_transaction_id": "string",
"filed_in_vat_return_id": "string",
"filed_in_vat_return_name": "string",
"filed_in_vat_return_type": "string"
}
],
"vendor_credits": [
{
"vendor_credit_id": "4600000053221",
"vendor_credit_bill_id": "4600000211221",
"vendor_credit_number": "DN-001",
"date": "27 Dec 2016",
"amount": 10
}
],
"created_time": "2013-09-11T17:18:32+0530",
"created_by_id": "4600000053001",
"last_modified_time": "2013-09-11T17:18:32+0530",
"reference_id": "string",
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"attachment_name": "string",
"open_purchaseorders_count": 1
}
}
Delete a bill
Delete an existing bill. Bills which have payments applied cannot be deleted.
OAuth Scope : ZohoBooks.bills.DELETE
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/bills/460000000098765?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/bills/460000000098765?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/bills/460000000098765?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/bills/460000000098765?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/bills/460000000098765?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/bills/460000000098765?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "The bill has been deleted."
}
Update custom field in existing bills
Update the value of the custom field in existing bills.
OAuth Scope : ZohoBooks.bills.UPDATE
Arguments
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/bill/460000000098765/customfields?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/bill/460000000098765/customfields?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/bill/460000000098765/customfields?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/bill/460000000098765/customfields?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/bill/460000000098765/customfields?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/bill/460000000098765/customfields?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
[
{
"custom_field_id": 0,
"index": 0,
"label": "string",
"value": "string"
}
]
{
"code": 0,
"message": "Custom Fields Updated Successfully"
}
Void a bill
Mark a bill status as void.
OAuth Scope : ZohoBooks.bills.CREATE
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/bills/460000000098765/status/void?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/bills/460000000098765/status/void?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/bills/460000000098765/status/void?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/bills/460000000098765/status/void?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/bills/460000000098765/status/void?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/bills/460000000098765/status/void?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "The bill has been marked as void."
}
Mark a bill as open
Mark a void bill as open.
OAuth Scope : ZohoBooks.bills.CREATE
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/bills/460000000098765/status/open?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/bills/460000000098765/status/open?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/bills/460000000098765/status/open?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/bills/460000000098765/status/open?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/bills/460000000098765/status/open?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/bills/460000000098765/status/open?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "The status of the bill has been chaged to open."
}
Submit a bill for approval
Submit a bill for approval.
OAuth Scope : ZohoBooks.bills.CREATE
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/bills/460000000098765/submit?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/bills/460000000098765/submit?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/bills/460000000098765/submit?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/bills/460000000098765/submit?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/bills/460000000098765/submit?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/bills/460000000098765/submit?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "The bill has been submitted for approval successfully."
}
Approve a bill
Approve a bill.
OAuth Scope : ZohoBooks.bills.CREATE
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/bills/460000000098765/approve?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/bills/460000000098765/approve?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/bills/460000000098765/approve?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/bills/460000000098765/approve?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/bills/460000000098765/approve?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/bills/460000000098765/approve?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "success"
}
Update billing address
Updates the billing address for this bill.
OAuth Scope : ZohoBooks.bills.UPDATE
Arguments
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/bills/460000000098765/address/billing?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/bills/460000000098765/address/billing?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/bills/460000000098765/address/billing?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/bills/460000000098765/address/billing?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/bills/460000000098765/address/billing?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/bills/460000000098765/address/billing?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
{
"address": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"fax": "string",
"attention": "string",
"is_update_customer": false
}
{
"code": 0,
"message": "Billing address updated.",
"billing_address": {
"address": "string",
"street2": "Suite 310",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"fax": "string",
"attention": "string"
}
}
List bill payments
Get the list of payments made for a bill.
OAuth Scope : ZohoBooks.bills.READ
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/bills/460000000098765/payments?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/bills/460000000098765/payments?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/bills/460000000098765/payments?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/bills/460000000098765/payments?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/bills/460000000098765/payments?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/bills/460000000098765/payments?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "success",
"payments": [
{
"payment_id": "460000000042059",
"bill_id": "460000000098765",
"bill_payment_id": "460000000042061",
"vendor_id": "460000000038029",
"vendor_name": "string",
"payment_mode": "Cash",
"description": "string",
"date": "2013-09-11",
"reference_number": "4321133",
"exchange_rate": 1.23,
"amount": 31.25,
"paid_through": "Petty Cash",
"is_single_bill_payment": true
},
{...},
{...}
]
}
Apply credits
Apply the vendor credits from excess vendor payments to a bill. Multiple credits can be applied at once.
OAuth Scope : ZohoBooks.bills.CREATE
Arguments
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/bills/460000000098765/credits?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/bills/460000000098765/credits?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/bills/460000000098765/credits?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/bills/460000000098765/credits?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/bills/460000000098765/credits?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/bills/460000000098765/credits?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
{
"bill_payments": [
{
"payment_id": "460000000042059",
"amount_applied": 31.25
}
],
"apply_vendor_credits": [
{
"vendor_credit_id": "4600000053221",
"amount_applied": 31.25
}
]
}
{
"code": 0,
"message": "Credits have been applied to the bill(s).\""
}
Delete a payment
Delete a payment made to a bill.
OAuth Scope : ZohoBooks.bills.DELETE
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/bills/460000000098765/payments/460000000042061?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/bills/460000000098765/payments/460000000042061?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/bills/460000000098765/payments/460000000042061?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/bills/460000000098765/payments/460000000042061?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/bills/460000000098765/payments/460000000042061?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/bills/460000000098765/payments/460000000042061?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "The payment has been deleted."
}
Add attachment to a bill
Attach a file to a bill.
OAuth Scope : ZohoBooks.bills.CREATE
Query Parameters
gif
, png
, jpeg
, jpg
, bmp
and pdf
.headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/bills/460000000098765/attachment?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/bills/460000000098765/attachment?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/bills/460000000098765/attachment?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/bills/460000000098765/attachment?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/bills/460000000098765/attachment?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/bills/460000000098765/attachment?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "The document has been attached."
}
Get a bill attachment
Returns the file attached to the bill.
OAuth Scope : ZohoBooks.bills.READ
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/bills/460000000098765/attachment?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/bills/460000000098765/attachment?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/bills/460000000098765/attachment?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/bills/460000000098765/attachment?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/bills/460000000098765/attachment?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/bills/460000000098765/attachment?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "success"
}
Delete an attachment
Delete the file attached to a bill.
OAuth Scope : ZohoBooks.bills.DELETE
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/bills/460000000098765/attachment?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/bills/460000000098765/attachment?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/bills/460000000098765/attachment?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/bills/460000000098765/attachment?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/bills/460000000098765/attachment?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/bills/460000000098765/attachment?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "The attachment has been deleted."
}
Add comment
Add a comment for a bill.
OAuth Scope : ZohoBooks.bills.CREATE
Arguments
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/bills/460000000098765/comments?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/bills/460000000098765/comments?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/bills/460000000098765/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")
payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}"
headers = {
'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f",
'content-type': "application/json"
}
conn.request("POST", "/books/v3/bills/460000000098765/comments?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/bills/460000000098765/comments?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/bills/460000000098765/comments?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
{
"description": "string"
}
{
"code": 0,
"message": "Comments added.",
"comment": {
"comment_id": "460000000069037",
"bill_id": "460000000098765",
"description": "string",
"commented_by_id": "460000000053001",
"commented_by": "John Roberts",
"comment_type": "internal",
"date": "2013-09-11",
"date_description": "few seconds ago",
"time": "12:09 PM"
}
}
List bill comments & history
Get the complete history and comments of a bill.
OAuth Scope : ZohoBooks.bills.READ
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/bills/460000000098765/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/bills/460000000098765/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/bills/460000000098765/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/bills/460000000098765/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/bills/460000000098765/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/bills/460000000098765/comments?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "success",
"comments": [
{
"comment_id": "460000000069037",
"bill_id": "460000000098765",
"description": "string",
"commented_by_id": "460000000053001",
"commented_by": "John Roberts",
"comment_type": "internal",
"date": "17 Nov 2016",
"date_description": "few seconds ago",
"time": "12:09 PM",
"operation_type": "Added",
"transaction_id": "460000000068015",
"transaction_type": "bill_payment"
},
{...},
{...}
]
}
Delete a comment
Delete a bill comment.
OAuth Scope : ZohoBooks.bills.DELETE
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/bills/460000000098765/comments/460000000069037?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/bills/460000000098765/comments/460000000069037?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/bills/460000000098765/comments/460000000069037?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/bills/460000000098765/comments/460000000069037?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/bills/460000000098765/comments/460000000069037?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/bills/460000000098765/comments/460000000069037?organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "The comment has been deleted."
}
Convert PO to Bill
Create a bill for the selected purchase orders. Use the create bill call to create a bill and pass the purchaseorder_item_id field to Body parameters > line items > purchaseorder_item_id of bill field.
OAuth Scope : ZohoBooks.bills.READ
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/bills/editpage/frompurchaseorders?purchaseorder_ids=460000000098765&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/bills/editpage/frompurchaseorders?purchaseorder_ids=460000000098765&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/bills/editpage/frompurchaseorders?purchaseorder_ids=460000000098765&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/bills/editpage/frompurchaseorders?purchaseorder_ids=460000000098765&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/bills/editpage/frompurchaseorders?purchaseorder_ids=460000000098765&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/bills/editpage/frompurchaseorders?purchaseorder_ids=460000000098765&organization_id=10234695' \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
{
"code": 0,
"message": "success",
"purchaseorder_ids": [
460000000068231,
460000000068233,
{...},
{...}
],
"bill": {
"bill_id": "460000000098765",
"purchaseorder_ids": [
460000000068231,
460000000068233,
{...},
{...}
],
"vendor_id": "460000000038029",
"vendor_name": "string",
"vat_treatment": "string",
"vat_reg_no": "string",
"source_of_supply": "AP",
"destination_of_supply": "TN",
"place_of_supply": "DU",
"permit_number": "string",
"gst_no": "22AAAAA0000A1Z5",
"gst_treatment": "business_gst",
"tax_treatment": "vat_registered",
"is_pre_gst": false,
"pricebook_id": 460000000038090,
"pricebook_name": "string",
"is_reverse_charge_applied": true,
"unused_credits_payable_amount": 187,
"status": "open",
"bill_number": "00454",
"date": "2013-09-11",
"due_date": "2013-09-26",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"payment_expected_date": "string",
"reference_number": "4321133",
"recurring_bill_id": "string",
"due_by_days": "string",
"due_in_days": 0,
"currency_id": "460000000000099",
"currency_code": "INR",
"currency_symbol": "string",
"documents": [
{
"document_id": 0,
"file_name": "string"
}
],
"price_precision": 2,
"exchange_rate": 1.23,
"adjustment": 0,
"adjustment_description": " ",
"custom_fields": [
{
"custom_field_id": 0,
"index": 0,
"label": "string",
"value": "string"
}
],
"is_tds_applied": true,
"is_item_level_tax_calc": false,
"is_inclusive_tax": false,
"filed_in_vat_return_id": "string",
"filed_in_vat_return_name": "string",
"filed_in_vat_return_type": "string",
"is_abn_quoted": "string",
"line_items": [
{
"purchaseorder_item_id": "string",
"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": "460000000027009",
"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",
"invoice_id": "string",
"invoice_number": "string",
"item_custom_fields": [
{
"custom_field_id": 0,
"index": 0,
"value": "string",
"label": "string"
}
]
}
],
"sub_total": 40,
"tax_total": 0,
"total": 40,
"payment_made": 0,
"vendor_credits_applied": 0,
"is_line_item_invoiced": false,
"purchaseorders": [
{
"purchaseorder_id": "460000000068231",
"purchaseorder_number": "PO-0001",
"purchaseorder_date": "19 Jan 2017",
"purchaseorder_status": "billed"
}
],
"taxes": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"acquisition_vat_total": 0.1,
"reverse_charge_vat_summary": [
{
"tax_name": "VAT (12.5%)",
"tax_amount": 1.25
}
],
"reverse_charge_vat_total": 0.1,
"balance": 40,
"billing_address": {
"address": "string",
"street2": "Suite 310",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"fax": "string",
"attention": "string"
},
"payments": [
{
"payment_id": "460000000042059",
"bill_id": "460000000098765",
"bill_payment_id": "460000000042061",
"payment_mode": "Cash",
"payment_number": "string",
"description": "string",
"date": "2013-09-11",
"reference_number": "4321133",
"exchange_rate": 1.23,
"amount": 31.25,
"paid_through_account_id": "460000000000358",
"paid_through_account_name": "Undeposited Funds",
"is_single_bill_payment": true,
"is_paid_via_print_check": false,
"check_details": [
{
"check_status": "string",
"check_number": "string"
}
],
"is_ach_payment": false,
"ach_payment_status": "string",
"ach_gw_transaction_id": "string",
"filed_in_vat_return_id": "string",
"filed_in_vat_return_name": "string",
"filed_in_vat_return_type": "string"
}
],
"vendor_credits": [
{
"vendor_credit_id": "4600000053221",
"vendor_credit_bill_id": "4600000211221",
"vendor_credit_number": "DN-001",
"date": "27 Dec 2016",
"amount": 10
}
],
"created_time": "2013-09-11T17:18:32+0530",
"created_by_id": "4600000053001",
"last_modified_time": "2013-09-11T17:18:32+0530",
"reference_id": "string",
"notes": "Thanks for your business.",
"terms": "Terms and conditions apply.",
"attachment_name": "string",
"open_purchaseorders_count": 1
}
}