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)Supported codes for UAE emirates are : Abu Dhabi -
AB
,Ajman - AJ
,Dubai - DU
,Fujairah - FU
,Ras al-Khaimah - RA
,Sharjah - SH
,Umm al-Quwain - UM
.Supported codes for the GCC countries are : United Arab Emirates -
AE
,Saudi Arabia - SA
,Bahrain - BH
,Kuwait - KW
,Oman - OM
,Qatar - QA
. business_gst
, business_none
, overseas
, consumer
.vat_registered
,vat_not_registered
,gcc_vat_not_registered
,gcc_vat_registered
,non_gcc
.dz_vat_registered
and dz_vat_not_registered
are supported only for UAE.home_country_mexico
,border_region_mexico
,non_mexico
supported only for MX.For Kenya Edition:
vat_registered
,vat_not_registered
,non_kenya
(A business that is located outside Kenya).For SouthAfrica Edition:
vat_registered
, vat_not_registered
, overseas
(A business that is located outside SouthAfrica).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,
"location_id": "460000000038080",
"location_name": "string",
"reverse_charge_tax_id": 460000000038056,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 100,
"description": "string",
"bcy_rate": 40,
"rate": 10,
"tags": [
{
"tag_id": "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"
}
]
}
],
"location_id": "460000000038080",
"location_name": "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)Supported codes for UAE emirates are : Abu Dhabi -
AB
,Ajman - AJ
,Dubai - DU
,Fujairah - FU
,Ras al-Khaimah - RA
,Sharjah - SH
,Umm al-Quwain - UM
.Supported codes for the GCC countries are : United Arab Emirates -
AE
,Saudi Arabia - SA
,Bahrain - BH
,Kuwait - KW
,Oman - OM
,Qatar - QA
. business_gst
, business_none
, overseas
, consumer
.vat_registered
,vat_not_registered
,gcc_vat_not_registered
,gcc_vat_registered
,non_gcc
.dz_vat_registered
and dz_vat_not_registered
are supported only for UAE.home_country_mexico
,border_region_mexico
,non_mexico
supported only for MX.For Kenya Edition:
vat_registered
,vat_not_registered
,non_kenya
(A business that is located outside Kenya).For SouthAfrica Edition:
vat_registered
, vat_not_registered
, overseas
(A business that is located outside SouthAfrica).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": " ",
"location_id": "460000000038080",
"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,
"location_id": "460000000038080",
"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,
"location_id": "460000000038080",
"location_name": "string",
"reverse_charge_tax_id": 460000000038056,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 100,
"description": "string",
"bcy_rate": 40,
"rate": 10,
"tags": [
{
"tag_id": "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"
}
]
}
],
"location_id": "460000000038080",
"location_name": "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)Supported codes for UAE emirates are : Abu Dhabi -
AB
,Ajman - AJ
,Dubai - DU
,Fujairah - FU
,Ras al-Khaimah - RA
,Sharjah - SH
,Umm al-Quwain - UM
.Supported codes for the GCC countries are : United Arab Emirates -
AE
,Saudi Arabia - SA
,Bahrain - BH
,Kuwait - KW
,Oman - OM
,Qatar - QA
. business_gst
, business_none
, overseas
, consumer
.vat_registered
,vat_not_registered
,gcc_vat_not_registered
,gcc_vat_registered
,non_gcc
.dz_vat_registered
and dz_vat_not_registered
are supported only for UAE.home_country_mexico
,border_region_mexico
,non_mexico
supported only for MX.For Kenya Edition:
vat_registered
,vat_not_registered
,non_kenya
(A business that is located outside Kenya).For SouthAfrica Edition:
vat_registered
, vat_not_registered
, overseas
(A business that is located outside SouthAfrica).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
Headers
parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("X-Unique-Identifier-Key", "cf_unique_cf");
headers_data.put("X-Unique-Identifier-Value", "unique Value");
headers_data.put("X-Upsert", "true");
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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,
"location_id": "460000000038080",
"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"
]
}
],
"location_id": "460000000038080",
"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,
"location_id": "460000000038080",
"location_name": "string",
"reverse_charge_tax_id": 460000000038056,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 100,
"description": "string",
"bcy_rate": 40,
"rate": 10,
"tags": [
{
"tag_id": "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"
}
]
}
],
"location_id": "460000000038080",
"location_name": "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
for prefix matching and bill_number_contains
for substring matching. Useful for finding bills by unique identifier or partial patterns.reference_number_startswith
for prefix matching and reference_number_contains
for substring matching. Useful for finding bills by external references or vendor invoice numbers.date_start
/date_end
for ranges, date_before
/date_after
for relative dates. Useful for billing periods and due date management.paid
, open
, overdue
, void
, or partially_paid
. Useful for payment status filtering, accounts payable management, and status-specific reporting.description_startswith
for prefix matching and description_contains
for substring matching. Useful for finding bills by line item descriptions or vendor notes.vendor_name_startswith
for prefix matching or vendor_name_contains
for substring matching. Useful for finding bills from specific suppliers.total_less_than
, total_less_equals
, total_greater_than
, or total_greater_equals
for amount-based filtering. Useful for finding bills within specific price ranges or above/below certain thresholds.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
for ascending order (A-Z, 0-9, earliest to latest) or D
for descending order (Z-A, 9-0, latest to earliest).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,
"location_id": "460000000038080",
"location_name": "string",
"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)Supported codes for UAE emirates are : Abu Dhabi -
AB
,Ajman - AJ
,Dubai - DU
,Fujairah - FU
,Ras al-Khaimah - RA
,Sharjah - SH
,Umm al-Quwain - UM
.Supported codes for the GCC countries are : United Arab Emirates -
AE
,Saudi Arabia - SA
,Bahrain - BH
,Kuwait - KW
,Oman - OM
,Qatar - QA
. business_gst
, business_none
, overseas
, consumer
.vat_registered
,vat_not_registered
,gcc_vat_not_registered
,gcc_vat_registered
,non_gcc
.dz_vat_registered
and dz_vat_not_registered
are supported only for UAE.home_country_mexico
,border_region_mexico
,non_mexico
supported only for MX.For Kenya Edition:
vat_registered
,vat_not_registered
,non_kenya
(A business that is located outside Kenya).For SouthAfrica Edition:
vat_registered
, vat_not_registered
, overseas
(A business that is located outside SouthAfrica).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
.Path Parameters
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,
"location_id": "460000000038080",
"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"
]
}
],
"location_id": "460000000038080",
"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,
"location_id": "460000000038080",
"location_name": "string",
"reverse_charge_tax_id": 460000000038056,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 100,
"description": "string",
"bcy_rate": 40,
"rate": 10,
"tags": [
{
"tag_id": "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"
}
]
}
],
"location_id": "460000000038080",
"location_name": "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
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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,
"location_id": "460000000038080",
"location_name": "string",
"reverse_charge_tax_id": 460000000038056,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 100,
"description": "string",
"bcy_rate": 40,
"rate": 10,
"tags": [
{
"tag_id": "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"
}
]
}
],
"location_id": "460000000038080",
"location_name": "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
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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
Path Parameters
Query Parameters
parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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
Path Parameters
Query Parameters
parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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
Path Parameters
Query Parameters
parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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
Path Parameters
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'
Get a bill attachment
Returns the file attached to the bill.
OAuth Scope : ZohoBooks.bills.READ
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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'
Delete an attachment
Delete the file attached to a bill.
OAuth Scope : ZohoBooks.bills.DELETE
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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'
Add comment
Add a comment for a bill.
OAuth Scope : ZohoBooks.bills.CREATE
Arguments
Path Parameters
Query Parameters
parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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"
}
List bill comments & history
Get the complete history and comments of a bill.
OAuth Scope : ZohoBooks.bills.READ
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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
Path Parameters
Query Parameters
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/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,
"location_id": "460000000038080",
"location_name": "string",
"reverse_charge_tax_id": 460000000038056,
"reverse_charge_tax_name": "inter",
"reverse_charge_tax_percentage": 10,
"reverse_charge_tax_amount": 100,
"description": "string",
"bcy_rate": 40,
"rate": 10,
"tags": [
{
"tag_id": "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"
}
]
}
],
"location_id": "460000000038080",
"location_name": "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
}
}
{ "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" } }